Timeline



May 15, 2017:

11:19 PM Changeset in webkit [216907] by matthew_hanson@apple.com
  • 15 edits in branches/safari-604.1.21-branch/Source/WebCore

Cherry-pick r216882. rdar://problem/32109397

11:19 PM Changeset in webkit [216906] by matthew_hanson@apple.com
  • 2 edits in branches/safari-604.1.21-branch/Source/WebCore

Cherry-pick r216863. rdar://problem/31963192

11:19 PM Changeset in webkit [216905] by matthew_hanson@apple.com
  • 39 edits
    2 adds in branches/safari-604.1.21-branch

Cherry-pick r216836. rdar://problem/31899730

11:19 PM Changeset in webkit [216904] by matthew_hanson@apple.com
  • 8 edits in branches/safari-604.1.21-branch/Source/WebCore

Cherry-pick r216323. rdar://problem/31899730

11:06 PM Changeset in webkit [216903] by aestes@apple.com
  • 17 edits
    1 move
    1 add in trunk/Source

Make the application PID available to WebCore
https://bugs.webkit.org/show_bug.cgi?id=172133

Reviewed by Andreas Kling.

Source/WebCore:

  • CMakeLists.txt:
  • PlatformMac.cmake:
  • WebCore.xcodeproj/project.pbxproj:
  • platform/RuntimeApplicationChecks.cpp: Added.

(WebCore::presentingApplicationPIDOverride):
(WebCore::presentingApplicationPID): Returns the override PID if set, or getCurrentProcessID()
otherwise.
(WebCore::setPresentingApplicationPID):

  • platform/RuntimeApplicationChecks.h:
  • platform/cocoa/RuntimeApplicationChecksCocoa.mm: Renamed from Source/WebCore/platform/RuntimeApplicationChecks.mm.

Source/WebKit2:

Added uiProcessPID to Web and Networking process creation parameters. The UI process
initializes these to getpid(), and the child processes call WebCore::setPresentingApplicationPID()
at initialization time.

This replaces presenterApplicationPid.

  • NetworkProcess/NetworkProcess.cpp:

(WebKit::NetworkProcess::initializeNetworkProcess):

  • NetworkProcess/NetworkProcessCreationParameters.cpp:

(WebKit::NetworkProcessCreationParameters::encode):
(WebKit::NetworkProcessCreationParameters::decode):

  • NetworkProcess/NetworkProcessCreationParameters.h:
  • Shared/WebProcessCreationParameters.cpp:

(WebKit::WebProcessCreationParameters::encode):
(WebKit::WebProcessCreationParameters::decode):

  • Shared/WebProcessCreationParameters.h:
  • UIProcess/Cocoa/WebProcessPoolCocoa.mm:

(WebKit::WebProcessPool::platformInitializeWebProcess):

  • UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::ensureNetworkProcess):
(WebKit::WebProcessPool::createNewWebProcess):

  • WebProcess/WebPage/mac/WebPageMac.mm:

(WebKit::WebPage::platformInitialize):

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::initializeWebProcess):

  • WebProcess/WebProcess.h:

(WebKit::WebProcess::presenterApplicationPid): Deleted.

  • WebProcess/cocoa/WebProcessCocoa.mm:

(WebKit::WebProcess::platformInitializeWebProcess):

10:35 PM Changeset in webkit [216902] by Antti Koivisto
  • 37 edits in trunk/Source

RenderTheme does not need to be per-page
https://bugs.webkit.org/show_bug.cgi?id=172116
<rdar://problem/30426457>

Reviewed by Zalan Bujtas.

There are no implementations of RenderTheme::themeForPage that actually care about the page.
It can be replaced with a singleton, simplifying a bunch of code.

  • Modules/mediacontrols/MediaControlsHost.cpp:

(WebCore::MediaControlsHost::shadowRootCSSText):
(WebCore::MediaControlsHost::base64StringForIconNameAndType):

  • css/CSSDefaultStyleSheets.cpp:

(WebCore::CSSDefaultStyleSheets::loadFullDefaultStyle):
(WebCore::CSSDefaultStyleSheets::ensureDefaultStyleSheetsForElement):

Fix a potential crash if we get here when page is null (though it doesn't appear to repro on trunk).

  • css/StyleColor.cpp:

(WebCore::StyleColor::colorFromKeyword):

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::adjustRenderStyle):

  • css/parser/CSSParser.cpp:

(WebCore::CSSParser::parseSystemColor):

  • css/parser/CSSParser.h:
  • css/parser/CSSPropertyParser.cpp:

(WebCore::CSSPropertyParser::consumeSystemFont):

  • editing/FrameSelection.cpp:

(WebCore::FrameSelection::updateAppearance):

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::ensureMediaControlsInjectedScript):

  • html/HTMLMeterElement.cpp:

(WebCore::HTMLMeterElement::createElementRenderer):

  • html/HTMLSelectElement.cpp:

(WebCore::HTMLSelectElement::usesMenuList):
(WebCore::HTMLSelectElement::platformHandleKeydownEvent):
(WebCore::HTMLSelectElement::menuListDefaultEventHandler):

  • html/HTMLTextFormControlElement.cpp:

(WebCore::HTMLTextFormControlElement::adjustInnerTextStyle):

  • html/InputType.cpp:

(WebCore::InputType::themeSupportsDataListUI):

  • html/TextFieldInputType.cpp:

(WebCore::TextFieldInputType::shouldHaveSpinButton):
(WebCore::TextFieldInputType::shouldHaveCapsLockIndicator):

  • html/canvas/CanvasRenderingContext2D.cpp:

(WebCore::CanvasRenderingContext2D::setStrokeColor):
(WebCore::CanvasRenderingContext2D::setFillColor):

  • html/canvas/CanvasStyle.cpp:

(WebCore::parseColor):
(WebCore::parseColorOrCurrentColor):
(WebCore::CanvasStyle::createFromString):

  • html/canvas/CanvasStyle.h:
  • html/shadow/MediaControlElements.cpp:

(WebCore::MediaControlPanelElement::startTimer):
(WebCore::MediaControlPanelElement::makeOpaque):
(WebCore::MediaControlPanelElement::makeTransparent):

  • html/shadow/MediaControls.cpp:

(WebCore::MediaControls::reset):
(WebCore::MediaControls::reportedError):
(WebCore::MediaControls::updateCurrentTimeDisplay):

  • html/shadow/mac/ImageControlsButtonElementMac.cpp:

(WebCore::ImageControlsButtonElementMac::tryCreate):

  • page/MemoryRelease.cpp:

(WebCore::releaseNoncriticalMemory):

  • page/Page.cpp:

(WebCore::Page::Page):

  • page/Page.h:

(WebCore::Page::theme): Deleted.

  • platform/wpe/RenderThemeWPE.cpp:

(WebCore::RenderTheme::singleton):
(WebCore::RenderTheme::themeForPage): Deleted.

  • rendering/RenderEmbeddedObject.cpp:

(WebCore::RenderEmbeddedObject::getReplacementTextGeometry):

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::theme):

  • rendering/RenderTheme.cpp:

(WebCore::RenderTheme::focusRingColor):

  • rendering/RenderTheme.h:

(WebCore::RenderTheme::defaultTheme): Deleted.

  • rendering/RenderThemeGtk.cpp:

(WebCore::RenderTheme::singleton):
(WebCore::RenderTheme::themeForPage): Deleted.

  • rendering/RenderThemeIOS.mm:

(WebCore::RenderTheme::singleton):
(WebCore::RenderTheme::themeForPage): Deleted.

  • rendering/RenderThemeMac.mm:

(WebCore::RenderTheme::singleton):
(WebCore::RenderTheme::themeForPage): Deleted.

  • rendering/RenderThemeWin.cpp:

(WebCore::RenderTheme::singleton):
(WebCore::RenderTheme::themeForPage): Deleted.

  • rendering/TextPaintStyle.cpp:

(WebCore::computeTextPaintStyle):

10:14 PM Changeset in webkit [216901] by commit-queue@webkit.org
  • 32 edits in trunk

Do not delete asynchronously decoded frames for large images if their clients are in the viewport
https://bugs.webkit.org/show_bug.cgi?id=170640

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2017-05-15
Reviewed by Simon Fraser.

Source/WebCore:

The image flickering problem happens when a large image is visible in the
view port and for some reason, the decoded frame gets destroyed. When this
image is repainted, BitmapImage::draw() does not find a valid decoded frame
for that image. It then requests an async decoding for the image and just
draws nothing in the image rectangle. Drawing no content between two drawing
phases in which the image is drawn causes the unwanted flickering.

To fix this issue we need to protect the decoded frames of all the images
in the view port from being destroyed. When BitmapImage::destroyDecodedData()
is called, it is going to check, through the ImageObserver, whether any
of its clients is visible. And if so, the current decoded frame won't be
destroyed.

Tests: Modifying existing tests.

  • loader/cache/CachedImage.cpp:

(WebCore::CachedImage::CachedImageObserver::decodedSizeChanged):
(WebCore::CachedImage::CachedImageObserver::didDraw):
(WebCore::CachedImage::CachedImageObserver::canDestroyDecodedData):
(WebCore::CachedImage::CachedImageObserver::imageFrameAvailable):
(WebCore::CachedImage::CachedImageObserver::changedInRect):
(WebCore::CachedImage::decodedSizeChanged):
(WebCore::CachedImage::didDraw):
(WebCore::CachedImage::canDestroyDecodedData): Finds out whether it's okay
to discard the image decoded data or not.
(WebCore::CachedImage::imageFrameAvailable):
(WebCore::CachedImage::changedInRect):

  • loader/cache/CachedImage.h:
  • loader/cache/CachedImageClient.h:

(WebCore::CachedImageClient::canDestroyDecodedData):

  • loader/cache/MemoryCache.cpp:

(WebCore::MemoryCache::destroyDecodedDataForAllImages): This function is
currently not used. Use in the internal destroyDecodedDataForAllImages()
but unlike what CachedImage::destroyDecodedData() does, make it destroy
the decoded frames without deleting the image itself.

  • loader/cache/MemoryCache.h:
  • platform/graphics/BitmapImage.cpp:

(WebCore::BitmapImage::destroyDecodedData):
(WebCore::BitmapImage::draw):
(WebCore::BitmapImage::canDestroyCurrentFrameDecodedData):
(WebCore::BitmapImage::advanceAnimation):
(WebCore::BitmapImage::internalAdvanceAnimation):
(WebCore::BitmapImage::imageFrameAvailableAtIndex):

  • platform/graphics/BitmapImage.h:
  • platform/graphics/GraphicsContext3D.cpp:

(WebCore::GraphicsContext3D::packImageData):

  • platform/graphics/ImageFrameCache.cpp:

(WebCore::ImageFrameCache::decodedSizeChanged):
(ImageFrameCache::cacheAsyncFrameNativeImageAtIndex): The assertion in this
function is wrong. frameIsCompleteAtIndex() can be false when the an image
decoding is requested but can be true when the decoding finishes.

  • platform/graphics/ImageObserver.h:
  • platform/graphics/cairo/ImageCairo.cpp:

(WebCore::Image::drawPattern):

  • platform/graphics/cg/ImageCG.cpp:

(WebCore::Image::drawPattern):

  • platform/graphics/cg/ImageDecoderCG.cpp:

(WebCore::ImageDecoder::frameIsCompleteAtIndex):

  • platform/graphics/cg/PDFDocumentImage.cpp:

(WebCore::PDFDocumentImage::decodedSizeChanged):
(WebCore::PDFDocumentImage::draw):

  • platform/graphics/texmap/TextureMapperTiledBackingStore.cpp:

(WebCore::TextureMapperTiledBackingStore::updateContentsFromImageIfNeeded):

  • platform/graphics/win/ImageDirect2D.cpp:

(WebCore::Image::drawPattern):

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::isVisibleInDocumentRect):
(WebCore::RenderElement::isVisibleInViewport):
(WebCore::RenderElement::imageFrameAvailable):
(WebCore::RenderElement::repaintForPausedImageAnimationsIfNeeded):
(WebCore::RenderElement::shouldRepaintInVisibleRect): Deleted. Function
is renamed to isVisibleInViewport() for better readability.

  • rendering/RenderElement.h:
  • svg/graphics/SVGImage.cpp:

(WebCore::SVGImage::draw):

  • svg/graphics/SVGImageClients.h:
  • testing/Internals.cpp:

(WebCore::Internals::destroyDecodedDataForAllImages):

  • testing/Internals.h:
  • testing/Internals.idl:

Source/WebKit/mac:

Enable the async decoding for large images.

  • WebView/WebView.mm:

(-[WebView _preferencesChanged:]):

Source/WebKit2:

Enable the async decoding for large images.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::updatePreferences):

LayoutTests:

  • fast/images/async-image-background-image-repeated.html:
  • fast/images/async-image-background-image.html:
  • fast/images/sprite-sheet-image-draw.html:
8:41 PM Changeset in webkit [216900] by commit-queue@webkit.org
  • 3 edits in trunk/Tools

WPT test importer should not account for slow manual tests
https://bugs.webkit.org/show_bug.cgi?id=172127

Patch by Youenn Fablet <youenn@apple.com> on 2017-05-15
Reviewed by Ryosuke Niwa.

Making sure manual tests are not triggering updating tests-options.json file.

  • Scripts/webkitpy/w3c/test_importer.py:

(TestImporter.find_importable_tests):
(TestImporter._already_identified_as_resource_file):
(TestImporter.update_tests_options):

  • Scripts/webkitpy/w3c/test_importer_unittest.py:

(test_manual_slow_test):

8:19 PM Changeset in webkit [216899] by Jonathan Bedard
  • 3 edits in trunk/Tools

webkitpy: Some versions of simctl do not place parenthesis around runtime identifiers
https://bugs.webkit.org/show_bug.cgi?id=172142

Reviewed by Tim Horton.

  • Scripts/webkitpy/xcode/simulator.py:

(Simulator._parse_runtimes): Newer versions of simctl output do not put parenthesis
around runtime identifiers.

  • Scripts/webkitpy/xcode/simulator_unittest.py: Add tests for new simctl output.
7:45 PM Changeset in webkit [216898] by commit-queue@webkit.org
  • 30 edits in trunk/Source

Simplify RealtimeMediaSource data production and state
https://bugs.webkit.org/show_bug.cgi?id=171999

Patch by Youenn Fablet <youenn@apple.com> on 2017-05-15
Reviewed by Eric Carlson.

Source/WebCore:

RealtimeMediaSource takes 3 booleans:

  • m_isProducingData tells whether data is produced or not. In the case of capturing, it tells whether capture happens.
  • m_muted/m_enabled allows JS or WebKit level to start/stop the source.

Changed MediaStream capture state computation so that capture is reported as follows:

  • m_isProducing is true, capture is happenning and is active
  • m_muted is true, capture is happening but is inactive.

Except in the case of WebRTC incoming sources, for which sources may be created as muted as per the spec,
all sources are unmuted, enabled and not producing data when created.

RealtimeMediaSource is now activable either by calling start/stop or by calling setMuted/setEnabled.
This in turns will set the boolean values accordingly and will call the underlying
startProducingData/stopProducingData methods doing the actual stuff.

Removing from all RealtimeMediaSource subclasses the handling of producing data.
Making more methods non-virtual/member fields private to simplify the model.

  • Modules/mediastream/CanvasCaptureMediaStreamTrack.cpp:

(WebCore::CanvasCaptureMediaStreamTrack::Source::create):
(WebCore::CanvasCaptureMediaStreamTrack::Source::startProducingData):
(WebCore::CanvasCaptureMediaStreamTrack::Source::stopProducingData):
(WebCore::CanvasCaptureMediaStreamTrack::Source::canvasDestroyed):
(WebCore::CanvasCaptureMediaStreamTrack::Source::captureCanvas):

  • Modules/mediastream/CanvasCaptureMediaStreamTrack.h:
  • Modules/mediastream/MediaStream.cpp:

(WebCore::MediaStream::mediaState):

  • platform/mediastream/MediaStreamTrackPrivate.h:

(WebCore::MediaStreamTrackPrivate::startProducingData):
(WebCore::MediaStreamTrackPrivate::stopProducingData):

  • platform/mediastream/RealtimeMediaSource.cpp:

(WebCore::RealtimeMediaSource::setMuted):
(WebCore::RealtimeMediaSource::notifyMutedChange):
(WebCore::RealtimeMediaSource::setEnabled):
(WebCore::RealtimeMediaSource::start):
(WebCore::RealtimeMediaSource::stop):
(WebCore::RealtimeMediaSource::requestStop):
(WebCore::RealtimeMediaSource::reset): Deleted.

  • platform/mediastream/RealtimeMediaSource.h:
  • platform/mediastream/mac/AVMediaCaptureSource.h:
  • platform/mediastream/mac/AVMediaCaptureSource.mm:

(WebCore::AVMediaCaptureSource::AVMediaCaptureSource):
(WebCore::AVMediaCaptureSource::captureSessionIsRunningDidChange):
(WebCore::AVMediaCaptureSource::reset): Deleted.
(WebCore::AVMediaCaptureSource::isProducingData): Deleted.

  • platform/mediastream/mac/CoreAudioCaptureSource.cpp:

(WebCore::CoreAudioCaptureSource::CoreAudioCaptureSource):
(WebCore::CoreAudioCaptureSource::startProducingData):
(WebCore::CoreAudioCaptureSource::stopProducingData):
(WebCore::CoreAudioCaptureSource::audioSourceProvider):

  • platform/mediastream/mac/CoreAudioCaptureSource.h:
  • platform/mediastream/mac/MockRealtimeAudioSourceMac.mm:

(WebCore::MockRealtimeAudioSourceMac::render):
(WebCore::MockRealtimeAudioSource::createMuted): Deleted.

  • platform/mediastream/mac/MockRealtimeVideoSourceMac.mm:

(WebCore::MockRealtimeVideoSource::createMuted): Deleted.

  • platform/mediastream/mac/RealtimeIncomingAudioSource.cpp:

(WebCore::RealtimeIncomingAudioSource::create):
(WebCore::RealtimeIncomingAudioSource::RealtimeIncomingAudioSource):
(WebCore::RealtimeIncomingAudioSource::~RealtimeIncomingAudioSource):
(WebCore::RealtimeIncomingAudioSource::startProducingData):
(WebCore::RealtimeIncomingAudioSource::stopProducingData):
(WebCore::RealtimeIncomingAudioSource::setSourceTrack):

  • platform/mediastream/mac/RealtimeIncomingAudioSource.h:
  • platform/mediastream/mac/RealtimeIncomingVideoSource.cpp:

(WebCore::RealtimeIncomingVideoSource::create):
(WebCore::RealtimeIncomingVideoSource::RealtimeIncomingVideoSource):
(WebCore::RealtimeIncomingVideoSource::startProducingData):
(WebCore::RealtimeIncomingVideoSource::setSourceTrack):
(WebCore::RealtimeIncomingVideoSource::stopProducingData):
(WebCore::RealtimeIncomingVideoSource::OnFrame):

  • platform/mediastream/mac/RealtimeIncomingVideoSource.h:
  • platform/mediastream/mac/WebAudioSourceProviderAVFObjC.mm:

(WebCore::WebAudioSourceProviderAVFObjC::setClient):

  • platform/mock/MockMediaEndpoint.cpp:

(WebCore::MockMediaEndpoint::createMutedRemoteSource):
(WebCore::MockMediaEndpoint::unmuteTimerFired):

  • platform/mock/MockRealtimeAudioSource.cpp:

(WebCore::MockRealtimeAudioSource::createMuted):
(WebCore::MockRealtimeAudioSource::startProducingData):
(WebCore::MockRealtimeAudioSource::stopProducingData):

  • platform/mock/MockRealtimeAudioSource.h:
  • platform/mock/MockRealtimeMediaSource.cpp:

(WebCore::MockRealtimeMediaSource::startProducingData): Deleted.
(WebCore::MockRealtimeMediaSource::stopProducingData): Deleted.

  • platform/mock/MockRealtimeMediaSource.h:
  • platform/mock/MockRealtimeVideoSource.cpp:

(WebCore::MockRealtimeVideoSource::createMuted):
(WebCore::MockRealtimeVideoSource::startProducingData):
(WebCore::MockRealtimeVideoSource::stopProducingData):
(WebCore::MockRealtimeVideoSource::generateFrame):

  • platform/mock/MockRealtimeVideoSource.h:

Source/WebKit2:

  • UIProcess/Cocoa/UserMediaCaptureManagerProxy.cpp:

(WebKit::UserMediaCaptureManagerProxy::startProducingData):
(WebKit::UserMediaCaptureManagerProxy::stopProducingData):

  • WebProcess/cocoa/UserMediaCaptureManager.cpp:
6:59 PM Changeset in webkit [216897] by rniwa@webkit.org
  • 1 edit
    1 move in trunk/Websites/browserbench.org

browserbench.org/Speedometer/ should show the benchmark not an index of files
https://bugs.webkit.org/show_bug.cgi?id=172141

Reviewed by Alexey Proskuryakov.

Renamed Speedometer/Full.html to Speedometer/index.html.
We used to have a .htaccess but it's better to use the same file name convention as other benchmarks.

  • Speedometer/index.html: Renamed from Websites/browserbench.org/Speedometer/Full.html.
6:37 PM Changeset in webkit [216896] by mmaxfield@apple.com
  • 14 edits in trunk/Source/WebCore

Migrate Font constructor from bools to enums
https://bugs.webkit.org/show_bug.cgi?id=172140

Reviewed by Tim Horton.

In https://bugs.webkit.org/show_bug.cgi?id=168487, I'm adding a new flag to Font. We can't
keep having just a pile of bools in this class. Instead, we should be using enums.

No new tests because there is no behavior change.

  • css/CSSFontFace.cpp:

(WebCore::CSSFontFace::font):

  • css/CSSFontFaceSource.cpp:

(WebCore::CSSFontFaceSource::font):

  • css/CSSSegmentedFontFace.cpp:
  • loader/cache/CachedFont.cpp:

(WebCore::CachedFont::createFont):

  • platform/graphics/Font.cpp:

(WebCore::Font::Font):
(WebCore::Font::verticalRightOrientationFont):
(WebCore::Font::uprightOrientationFont):
(WebCore::Font::brokenIdeographFont):
(WebCore::Font::description):
(WebCore::Font::mathData):

  • platform/graphics/Font.h:

(WebCore::Font::create):
(WebCore::Font::origin):
(WebCore::Font::isInterstitial):
(WebCore::Font::widthForGlyph):
(WebCore::Font::isCustomFont): Deleted.
(WebCore::Font::isLoading): Deleted.

  • platform/graphics/FontRanges.cpp:
  • platform/graphics/cocoa/FontCocoa.mm:

(WebCore::Font::platformInit):

  • platform/graphics/freetype/SimpleFontDataFreeType.cpp:

(WebCore::Font::platformCreateScaledFont):

  • platform/graphics/win/SimpleFontDataCGWin.cpp:

(WebCore::Font::platformInit):

  • platform/graphics/win/SimpleFontDataDirect2D.cpp:

(WebCore::Font::platformInit):

  • platform/graphics/win/SimpleFontDataWin.cpp:

(WebCore::Font::platformCreateScaledFont):
(WebCore::Font::determinePitch):

  • rendering/SimpleLineLayout.cpp:

(WebCore::SimpleLineLayout::canUseForFontAndText):

6:29 PM Changeset in webkit [216895] by ggaren@apple.com
  • 2 edits in trunk/Source/bmalloc

bmalloc: Bump the size of the deallocator log to 512
https://bugs.webkit.org/show_bug.cgi?id=172143

Reviewed by Michael Saboff.

This is a speedup on parallel workloads for machines with lots of CPUs.

  • bmalloc/Sizes.h:
5:58 PM Changeset in webkit [216894] by Michael Catanzaro
  • 2 edits in trunk/Source/WebCore/platform/gtk/po

[GTK] [l10n] Updated French translation for Webkit/GTK
https://bugs.webkit.org/show_bug.cgi?id=172093

Patch by Alexandre Franke <afranke@gnome.org> on 2017-05-15
Rubber-stamped by Michael Catanzaro.

  • fr.po:
5:50 PM Changeset in webkit [216893] by Brent Fulgham
  • 2 edits in trunk/Source/WebKit2

Correct typo (part of r216790).

  • PluginProcess/mac/com.apple.WebKit.plugin-common.sb.in: The check-in missed part of a

regular expression needed to fix the audio playback.

5:41 PM Changeset in webkit [216892] by commit-queue@webkit.org
  • 7 edits in trunk

WebRTC outgoing muted video sources should send black frames
https://bugs.webkit.org/show_bug.cgi?id=170627
<rdar://problem/31513869>

Patch by Youenn Fablet <youenn@apple.com> on 2017-05-15
Reviewed by Eric Carlson.

Source/WebCore:

Covered by updated test.

Instead of sending one black frame and then another one asynchronously,
we use the timer to send a black frame every second when outgoing source is muted.

  • platform/mediastream/mac/RealtimeOutgoingVideoSource.cpp:

(WebCore::RealtimeOutgoingVideoSource::sourceMutedChanged):
(WebCore::RealtimeOutgoingVideoSource::sourceEnabledChanged):
(WebCore::RealtimeOutgoingVideoSource::sendBlackFrames):
(WebCore::RealtimeOutgoingVideoSource::sendBlackFrame): Deleted.

  • platform/mediastream/mac/RealtimeOutgoingVideoSource.h:
  • testing/Internals.cpp:

(WebCore::Internals::videoSampleAvailable):

LayoutTests:

  • webrtc/video-mute-expected.txt:
  • webrtc/video-mute.html:
5:21 PM Changeset in webkit [216891] by mark.lam@apple.com
  • 22 edits
    2 deletes in trunk

Rolling out r214038 and r213697: Crashes when using computed properties with rest destructuring and object spread.
https://bugs.webkit.org/show_bug.cgi?id=172147

Rubber-stamped by Saam Barati.

JSTests:

  • stress/object-rest-deconstruct.js: Removed.
  • stress/object-spread.js: Removed.

Source/JavaScriptCore:

I rolled out every thing in those 2 patches except for the change to make
CodeBlock::finishCreation() return a bool plus its clients that depend on this.
I made this exception because r214931 relies on this change, and this part of
the change looks correct.

  • builtins/BuiltinNames.h:
  • builtins/GlobalOperations.js:

(globalPrivate.speciesConstructor):
(globalPrivate.copyDataProperties): Deleted.

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::finishCreation):
(JSC::CodeBlock::setConstantIdentifierSetRegisters): Deleted.

  • bytecode/CodeBlock.h:
  • bytecode/UnlinkedCodeBlock.h:

(JSC::UnlinkedCodeBlock::addBitVector):
(JSC::UnlinkedCodeBlock::constantRegisters):
(JSC::UnlinkedCodeBlock::addSetConstant): Deleted.
(JSC::UnlinkedCodeBlock::constantIdentifierSets): Deleted.

  • bytecompiler/BytecodeGenerator.cpp:
  • bytecompiler/BytecodeGenerator.h:
  • bytecompiler/NodesCodegen.cpp:

(JSC::PropertyListNode::emitBytecode):
(JSC::ObjectPatternNode::bindValue):
(JSC::ObjectSpreadExpressionNode::emitBytecode): Deleted.

  • parser/ASTBuilder.h:

(JSC::ASTBuilder::createProperty):
(JSC::ASTBuilder::appendObjectPatternEntry):
(JSC::ASTBuilder::createObjectSpreadExpression): Deleted.
(JSC::ASTBuilder::appendObjectPatternRestEntry): Deleted.
(JSC::ASTBuilder::setContainsObjectRestElement): Deleted.

  • parser/NodeConstructors.h:

(JSC::PropertyNode::PropertyNode):
(JSC::SpreadExpressionNode::SpreadExpressionNode):
(JSC::ObjectSpreadExpressionNode::ObjectSpreadExpressionNode): Deleted.

  • parser/Nodes.h:

(JSC::ObjectPatternNode::appendEntry):
(JSC::ObjectSpreadExpressionNode::expression): Deleted.
(JSC::ObjectPatternNode::setContainsRestElement): Deleted.

  • parser/Parser.cpp:

(JSC::Parser<LexerType>::parseDestructuringPattern):
(JSC::Parser<LexerType>::parseProperty):

  • parser/SyntaxChecker.h:

(JSC::SyntaxChecker::createSpreadExpression):
(JSC::SyntaxChecker::createProperty):
(JSC::SyntaxChecker::operatorStackPop):
(JSC::SyntaxChecker::createObjectSpreadExpression): Deleted.

  • runtime/ObjectConstructor.cpp:

(JSC::ObjectConstructor::finishCreation):

  • runtime/SetPrototype.cpp:

(JSC::SetPrototype::finishCreation):

Source/WTF:

  • wtf/HashSet.h:

(WTF::=):

LayoutTests:

  • js/parser-syntax-check-expected.txt:
  • js/script-tests/parser-syntax-check.js:
5:07 PM Changeset in webkit [216890] by matthew_hanson@apple.com
  • 15 edits
    3 moves in branches/safari-604.1.21-branch

Cherry-pick r216249. rdar://problem/31764764

4:54 PM Changeset in webkit [216889] by ddkilzer@apple.com
  • 3 edits in trunk/Source/WebCore

Crash in libxml2.2.dylib: xmlDictReference
<https://webkit.org/b/172086>
<rdar://problem/23643436>

Reviewed by Daniel Bates.

Speculative fix and code clean-up based on source code
inspection. The fix for the crash is in two parts that change
XSLStyleSheet::parseString():

  1. Always set m_stylesheetDoc to nullptr after freeing it via XSLStyleSheet::clearXSLStylesheetDocument().
  2. Add nullptr check before using m_stylesheetDoc from parent.

Broadly speaking, the changes are:

  • Extract code to reset m_stylesheetDoc into new private XSLStyleSheet::clearXSLStylesheetDocument() method. There is a special contract between m_stylesheetDoc and m_stylesheetDocTaken that wasn't being followed every time. See comment in XSLStyleSheet::compileStyleSheet().
  • XSLStyleSheet::clearDocuments() now calls new clearXSLStylesheetDocument() method. Previously, it was not checking or resetting m_stylesheetDocTaken, and it might have leaked an xmlDocPtr if m_stylesheetDoc was set and m_stylesheetDocTaken was false.
  • XSLStyleSheet::parseString() now calls new clearXSLStylesheetDocument() method. Previously, it did not clear m_stylesheetDoc after freeing it, and it could return early due to a failure in xmlCreateMemoryParserCtxt().
  • In XSLStyleSheet::parseString() use checked arithmetic when calculating 'size' for xmlCreateMemoryParserCtxt() and xmlCtxtReadMemory(). This code used to do an implicit unsigned -> signed integer conversion that could overflow.
  • Always iterate m_children using an 'auto& import' variable.
  • xml/XSLStyleSheet.h:

(WebCore::XSLStyleSheet::clearXSLStylesheetDocument): Add declaration.
(WebCore::XSLStyleSheet::m_disabled): Add default initializer.
(WebCore::XSLStyleSheet::m_stylesheetDoc): Ditto.
(WebCore::XSLStyleSheet::m_stylesheetDocTaken): Ditto.
(WebCore::XSLStyleSheet::m_parentStyleSheet): Ditto.

  • xml/XSLStyleSheetLibxslt.cpp:

(WebCore::XSLStyleSheet::XSLStyleSheet): Get rid of redundant
initializers. Set m_parentStyleSheet if needed.
(WebCore::XSLStyleSheet::~XSLStyleSheet): Call
clearXSLStylesheetDocument() instead of custom code. Switch
m_children fast iteration to use 'auto& import' variable.
(WebCore::XSLStyleSheet::isLoading): Switch m_children fast
iteration to use 'auto& import' variable.
(WebCore::XSLStyleSheet::clearDocuments): Call
clearXSLStylesheetDocument() instead of setting m_stylesheetDoc
to nullptr. This might fix an occasional xmlDocPtr leak.
(WebCore::XSLStyleSheet::clearXSLStylesheetDocument): Add. This
method always sets m_stylesheetDoc to nullptr (after freeing it
if necessary) and sets m_stylesheetDocTaken to false.
(WebCore::XSLStyleSheet::parseString): Call
clearXSLStylesheetDocument(). Prior to this, m_stylesheetDoc
might be left pointing to a freed value, and this method could
return early if xmlCreateMemoryParserCtxt() failed. Switch to
using Checked<> to compute required buffer size to parse XSL
stylesheet, and return early on overflow. Clean up existing
return statements to use boolean expressions. Add nullptr check
for m_parentStyleSheet->m_stylesheetDoc before using it.
(WebCore::XSLStyleSheet::loadChildSheet): Get rid of local
variable by calling loadSheet() from last array element.
(WebCore::XSLStyleSheet::compileStyleSheet): Add debug assert
that m_stylesheetDoc is not nullptr.

4:36 PM Changeset in webkit [216888] by Chris Dumez
  • 3 edits in trunk/LayoutTests

Unreviewed, rebaseline platform/ios/ios/css/construct-WebKitCSSMatrix.html after r216881.

  • platform/ios/ios/css/construct-WebKitCSSMatrix-expected.txt:
  • platform/ios/ios/css/resources/construct-WebKitCSSMatrix.js:
4:24 PM Changeset in webkit [216887] by rniwa@webkit.org
  • 2 edits in trunk/Tools

Update ARES-6 plan file to use the latest version
https://bugs.webkit.org/show_bug.cgi?id=172139

Reviewed by Keith Miller.

Include r216538.

  • Scripts/webkitpy/benchmark_runner/data/plans/ares6.plan:
3:46 PM Changeset in webkit [216886] by jer.noble@apple.com
  • 22 edits
    2 adds in trunk

Add experimental setting to allow document gesture interaction to fulfill media playback gesture requirement
https://bugs.webkit.org/show_bug.cgi?id=172131

Reviewed by Eric Carlson.

Source/WebCore:

Test: media/restricted-audio-playback-with-document-gesture.html

Move all calls to ScriptController::processingUserGestureForMedia() to the new Document equivalent. In Document,
if the new setting is enabled, return true from processingUserGestureForMedia() if the top-level document has had
a user gesture interaction.

  • Modules/mediastream/MediaStream.cpp:

(WebCore::MediaStream::processingUserGestureForMedia):

  • Modules/mediastream/MediaStream.h:
  • Modules/webaudio/AudioContext.cpp:

(WebCore::AudioContext::processingUserGestureForMedia):
(WebCore::AudioContext::willBeginPlayback):
(WebCore::AudioContext::willPausePlayback):

  • Modules/webaudio/AudioContext.h:
  • dom/Document.cpp:

(WebCore::Document::processingUserGestureForMedia):

  • dom/Document.h:
  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::load):
(WebCore::HTMLMediaElement::audioTrackEnabledChanged):
(WebCore::HTMLMediaElement::seekWithTolerance):
(WebCore::HTMLMediaElement::play):
(WebCore::HTMLMediaElement::playInternal):
(WebCore::HTMLMediaElement::pause):
(WebCore::HTMLMediaElement::pauseInternal):
(WebCore::HTMLMediaElement::setMuted):
(WebCore::HTMLMediaElement::webkitShowPlaybackTargetPicker):
(WebCore::HTMLMediaElement::processingUserGestureForMedia):

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

(WebCore::MediaElementSession::playbackPermitted):
(WebCore::MediaElementSession::dataLoadingPermitted):
(WebCore::MediaElementSession::fullscreenPermitted):
(WebCore::MediaElementSession::canShowControlsManager):
(WebCore::MediaElementSession::showPlaybackTargetPicker):

  • page/Settings.in:
  • platform/audio/PlatformMediaSession.h:

Source/WebKit/mac:

  • WebView/WebPreferenceKeysPrivate.h:
  • WebView/WebPreferences.mm:

(+[WebPreferences initialize]):
(-[WebPreferences mediaUserGestureInheritsFromDocument]):
(-[WebPreferences setMediaUserGestureInheritsFromDocument:]):

  • WebView/WebPreferencesPrivate.h:

Source/WebKit2:

  • Shared/WebPreferencesDefinitions.h:
  • UIProcess/API/C/WKPreferences.cpp:

(WKPreferencesSetMediaUserGestureInheritsFromDocument):
(WKPreferencesGetMediaUserGestureInheritsFromDocument):

  • UIProcess/API/C/WKPreferencesRefPrivate.h:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::updatePreferences):

LayoutTests:

  • media/restricted-audio-playback-with-document-gesture-expected.txt: Added.
  • media/restricted-audio-playback-with-document-gesture.html: Added.
3:40 PM Changeset in webkit [216885] by pvollan@apple.com
  • 3 edits in trunk/LayoutTests

LayoutTest http/tests/media/track-in-band-hls-metadata-crash.html is a flaky timeout
https://bugs.webkit.org/show_bug.cgi?id=167749

Reviewed by Eric Carlson.

Start video playback when the 'canplaythrough' event is handled, and stop logging the event,
since the event sequence is not identical on all bots.

  • http/tests/media/track-in-band-hls-metadata-crash-expected.txt:
  • http/tests/media/track-in-band-hls-metadata-crash.html:
3:34 PM Changeset in webkit [216884] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebCore

Only ever initialize LibWebRTCProvider's staticFactoryAndThreads() factories once.
https://bugs.webkit.org/show_bug.cgi?id=172047

Reviewed by Youenn Fablet.

Wrap the initilization of the factories contained in staticFactoryAndThreads() in a call_once to ensure
new factories aren't created every time it's called.

  • platform/mediastream/libwebrtc/LibWebRTCProvider.cpp:

(WebCore::staticFactoryAndThreads):

3:32 PM Changeset in webkit [216883] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

Web Inspector: CRASH seen with DOM.setOuterHTML when there is no documentElement
https://bugs.webkit.org/show_bug.cgi?id=172135
<rdar://problem/32175860>

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2017-05-15
Reviewed by Brian Burg.

Source/WebCore:

Test: inspector/dom/setOuterHTML-no-document-element.html

  • inspector/DOMPatchSupport.cpp:

(WebCore::DOMPatchSupport::patchDocument):
Null check the document element which might not exist.

LayoutTests:

  • inspector/dom/setOuterHTML-no-document-element-expected.txt: Added.
  • inspector/dom/setOuterHTML-no-document-element.html: Added.
3:10 PM Changeset in webkit [216882] by commit-queue@webkit.org
  • 15 edits in trunk/Source/WebCore

REGRESSION (216471): Infinite repaint-drawing loop when asynchronously decoding incomplete image frames
https://bugs.webkit.org/show_bug.cgi?id=171900

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2017-05-15
Reviewed by Tim Horton.

-- Don't destroy incomplete decoded image frames for large images. This
is to avoid flickering while decoding another image frame with the new
data. The old incomplete image frame will be destroyed once the newer one
finishes decoding.

-- Extend the enum ImageFrame::DecodingStatus by adding a new value called
'Decoding'. This new value will never be cached in the ImageFrame::
m_decodingStatus. Add a member m_currentFrameDecodingStatus to BitmapImage.
The purpose of this member is to invalidate the current frame, without
deleting it, when new encoded data is received.

-- Don't wait until the native image is decoded to cache the ImageFrame
decodingStatus. There is a big chance that more data arrives between
starting the decoding and finishing it such that the decoding changes
from Partial to Complete. We need to prevent keeping incomplete ImageFrames
cached because we mistakenly assume they are complete. To fix this issue
we need to know the ImageFrame decodingStatus when the decoding is requested.

  • platform/graphics/BitmapImage.cpp:

(WebCore::BitmapImage::destroyDecodedData):
(WebCore::BitmapImage::dataChanged):
(WebCore::BitmapImage::draw):
(WebCore::BitmapImage::internalStartAnimation): At the beginning of this
function we check whether the next frame is being decoded or not and we
return DecodingActive if it is. Let's handle the second check here also
before requesting the decoding of nextFrame. We need to check whether the
nextFrame has a native image with decoded with the native size or not.
(WebCore::BitmapImage::internalAdvanceAnimation):
(WebCore::BitmapImage::imageFrameAvailableAtIndex):

  • platform/graphics/BitmapImage.h:
  • platform/graphics/ImageFrame.cpp:

(WebCore::ImageFrame::operator=):
(WebCore::ImageFrame::setDecodingStatus):
(WebCore::ImageFrame::decodingStatus):

  • platform/graphics/ImageFrame.h:

(WebCore::ImageFrame::isInvalid):
(WebCore::ImageFrame::isPartial):
(WebCore::ImageFrame::isComplete):
(WebCore::ImageFrame::setDecoding): Deleted.
(WebCore::ImageFrame::decoding): Deleted.
(WebCore::ImageFrame::isEmpty): Deleted.

  • platform/graphics/ImageFrameCache.cpp:

(WebCore::ImageFrameCache::setNativeImage):
(WebCore::ImageFrameCache::cacheMetadataAtIndex):
(WebCore::ImageFrameCache::cacheNativeImageAtIndex):
(WebCore::ImageFrameCache::cacheNativeImageAtIndexAsync):
(WebCore::ImageFrameCache::startAsyncDecodingQueue):
(WebCore::ImageFrameCache::requestFrameAsyncDecodingAtIndex):
(WebCore::ImageFrameCache::stopAsyncDecodingQueue):
(WebCore::ImageFrameCache::frameAtIndexCacheIfNeeded):
(WebCore::ImageFrameCache::frameDecodingStatusAtIndex):
(WebCore::ImageFrameCache::cacheFrameMetadataAtIndex): Deleted.
(WebCore::ImageFrameCache::cacheFrameNativeImageAtIndex): Deleted.
(WebCore::ImageFrameCache::cacheAsyncFrameNativeImageAtIndex): Deleted.
(WebCore::ImageFrameCache::frameIsCompleteAtIndex): Deleted.

  • platform/graphics/ImageFrameCache.h:

(WebCore::ImageFrameCache::ImageFrameRequest::operator==):

  • platform/graphics/ImageSource.cpp:

(WebCore::ImageSource::dataChanged):

  • platform/graphics/ImageSource.h:

(WebCore::ImageSource::destroyIncompleteDecodedData):
(WebCore::ImageSource::requestFrameAsyncDecodingAtIndex): Let the caller
decide whether another request for the same image frame is allowed or not.
(WebCore::ImageSource::frameDecodingStatusAtIndex):
(WebCore::ImageSource::frameIsCompleteAtIndex): Deleted.

  • platform/image-decoders/ImageDecoder.cpp:

(WebCore::ImageDecoder::frameDurationAtIndex):
(WebCore::ImageDecoder::createFrameImageAtIndex):

  • platform/image-decoders/bmp/BMPImageReader.cpp:

(WebCore::BMPImageReader::decodeBMP):

  • platform/image-decoders/gif/GIFImageDecoder.cpp:

(WebCore::GIFImageDecoder::clearFrameBufferCache):
(WebCore::GIFImageDecoder::haveDecodedRow):
(WebCore::GIFImageDecoder::frameComplete):
(WebCore::GIFImageDecoder::initFrameBuffer):

  • platform/image-decoders/jpeg/JPEGImageDecoder.cpp:

(WebCore::JPEGImageDecoder::outputScanlines):
(WebCore::JPEGImageDecoder::jpegComplete):

  • platform/image-decoders/png/PNGImageDecoder.cpp:

(WebCore::PNGImageDecoder::rowAvailable):
(WebCore::PNGImageDecoder::pngComplete):
(WebCore::PNGImageDecoder::clearFrameBufferCache):
(WebCore::PNGImageDecoder::frameComplete):

  • platform/image-decoders/webp/WEBPImageDecoder.cpp:

(WebCore::WEBPImageDecoder::decode):

3:07 PM Changeset in webkit [216881] by Chris Dumez
  • 9 edits
    2 adds in trunk

Align WebKitCSSMatrix stringifier with spec for DOMMatrix
https://bugs.webkit.org/show_bug.cgi?id=172114

Reviewed by Simon Fraser.

Source/WebCore:

Align WebKitCSSMatrix stringifier with spec for DOMMatrix after:

The following changes were made:

  • Use EcmaScript's ToString() to convert floating point values to string
  • Throw an invalid state error if the matrix contains non-finite values
  • Made WebKitCSSMatrix.toString enumerable as per [1].

[1] https://heycam.github.io/webidl/#es-stringifier

Test: fast/css/matrix-stringifier.html

  • css/WebKitCSSMatrix.cpp:

(WebCore::WebKitCSSMatrix::toString):

  • css/WebKitCSSMatrix.h:
  • css/WebKitCSSMatrix.idl:
  • platform/graphics/transforms/TransformationMatrix.cpp:

(WebCore::TransformationMatrix::containsOnlyFiniteValues):

  • platform/graphics/transforms/TransformationMatrix.h:

LayoutTests:

  • fast/css/matrix-stringifier-expected.txt: Added.
  • fast/css/matrix-stringifier.html: Added.

Add layout test coverage.

  • fast/dom/Window/custom-constructors-expected.txt:
  • fast/dom/Window/custom-constructors.html:

Rebaseline existing test to reflect behavior change.

2:51 PM Changeset in webkit [216880] by ddkilzer@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

JSEnvironmentRecord::allocationSizeForScopeSize() and offsetOfVariable(ScopeOffset) should used checked arithmetic
<https://webkit.org/b/172134>

Reviewed by Saam Barati.

  • runtime/JSEnvironmentRecord.h:

(JSC::JSEnvironmentRecord::offsetOfVariable): Change to return
size_t and use checked arithmetic.
(JSC::JSEnvironmentRecord::allocationSizeForScopeSize): Change
to use checked arithmetic.

2:36 PM Changeset in webkit [216879] by jcraig@apple.com
  • 4 edits in trunk/Websites/webkit.org

AX: Inaccessible content on webkit.org main page
https://bugs.webkit.org/show_bug.cgi?id=172106

Reviewed by Joseph Pecoraro.

  • wp-content/themes/webkit/widgets/icon.php: Resolved link title.
  • wp-content/themes/webkit/widgets/post.php: Resolved link title.
  • wp-content/themes/webkit/widgets/twitter.php: Resolved link titles. Suppressed unlabeled images with alt="".
2:23 PM Changeset in webkit [216878] by Chris Dumez
  • 2 edits
    35 adds in trunk/LayoutTests/imported/w3c

Import css/geometry-1 web-platform-tests
https://bugs.webkit.org/show_bug.cgi?id=172130

Reviewed by Youenn Fablet.

Import css/geometry-1 web-platform-tests to gain better test coverage.

  • resources/import-expectations.json:
  • web-platform-tests/css/geometry-1/DOMMatrix-001-expected.txt: Added.
  • web-platform-tests/css/geometry-1/DOMMatrix-001.html: Added.
  • web-platform-tests/css/geometry-1/DOMMatrix-002-expected.txt: Added.
  • web-platform-tests/css/geometry-1/DOMMatrix-002.html: Added.
  • web-platform-tests/css/geometry-1/DOMMatrix-003-expected.txt: Added.
  • web-platform-tests/css/geometry-1/DOMMatrix-003.html: Added.
  • web-platform-tests/css/geometry-1/DOMMatrix-a-f-alias-expected.txt: Added.
  • web-platform-tests/css/geometry-1/DOMMatrix-a-f-alias.html: Added.
  • web-platform-tests/css/geometry-1/DOMMatrix-css-string.worker-expected.txt: Added.
  • web-platform-tests/css/geometry-1/DOMMatrix-css-string.worker.html: Added.
  • web-platform-tests/css/geometry-1/DOMMatrix-css-string.worker.js: Added.

(string_appeared_here.forEach.constr.test):
(string_appeared_here.forEach.constr.assert_equals):
(test):

  • web-platform-tests/css/geometry-1/DOMMatrix-newobject-expected.txt: Added.
  • web-platform-tests/css/geometry-1/DOMMatrix-newobject.html: Added.
  • web-platform-tests/css/geometry-1/DOMPoint-001-expected.txt: Added.
  • web-platform-tests/css/geometry-1/DOMPoint-001.html: Added.
  • web-platform-tests/css/geometry-1/DOMPoint-002-expected.txt: Added.
  • web-platform-tests/css/geometry-1/DOMPoint-002.html: Added.
  • web-platform-tests/css/geometry-1/DOMQuad-001-expected.txt: Added.
  • web-platform-tests/css/geometry-1/DOMQuad-001.html: Added.
  • web-platform-tests/css/geometry-1/DOMQuad-002-expected.txt: Added.
  • web-platform-tests/css/geometry-1/DOMQuad-002.html: Added.
  • web-platform-tests/css/geometry-1/DOMRect-001-expected.txt: Added.
  • web-platform-tests/css/geometry-1/DOMRect-001.html: Added.
  • web-platform-tests/css/geometry-1/OWNERS: Added.
  • web-platform-tests/css/geometry-1/WebKitCSSMatrix-expected.txt: Added.
  • web-platform-tests/css/geometry-1/WebKitCSSMatrix.html: Added.
  • web-platform-tests/css/geometry-1/WebKitCSSMatrix.worker-expected.txt: Added.
  • web-platform-tests/css/geometry-1/WebKitCSSMatrix.worker.html: Added.
  • web-platform-tests/css/geometry-1/WebKitCSSMatrix.worker.js: Added.

(test):

  • web-platform-tests/css/geometry-1/historical-expected.txt: Added.
  • web-platform-tests/css/geometry-1/historical.html: Added.
  • web-platform-tests/css/geometry-1/structured-serialization-expected.txt: Added.
  • web-platform-tests/css/geometry-1/structured-serialization.html: Added.
  • web-platform-tests/css/geometry-1/w3c-import.log: Added.
2:21 PM Changeset in webkit [216877] by Brent Fulgham
  • 3 edits in trunk/Source/WebKit2

[WK2][macOS][iOS] Allow Network process to access nsurlstoraged's top level domain data cache
https://bugs.webkit.org/show_bug.cgi?id=172128
<rdar://problem/30871490>

Reviewed by Alex Christensen.

  • NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in:
  • Resources/SandboxProfiles/ios/com.apple.WebKit.Networking.sb:
1:34 PM Changeset in webkit [216876] by mark.lam@apple.com
  • 15 edits in trunk

WorkerRunLoop::Task::performTask() should check !scriptController->isTerminatingExecution().
https://bugs.webkit.org/show_bug.cgi?id=171775
<rdar://problem/30975761>

Reviewed by Filip Pizlo.

Source/JavaScriptCore:

Increased the number of frames captured in VM::nativeStackTraceOfLastThrow()
from 25 to 100. From experience, I found that 25 is sometimes not sufficient
for our debugging needs.

Also added VM::throwingThread() to track which thread an exception was thrown in.
This may be useful if the client is entering the VM from different threads.

  • runtime/ExceptionScope.cpp:

(JSC::ExceptionScope::unexpectedExceptionMessage):

  • runtime/ExceptionScope.h:

(JSC::ExceptionScope::exception):
(JSC::ExceptionScope::unexpectedExceptionMessage):

  • runtime/Options.h:
  • Added the unexpectedExceptionStackTraceLimit option.
  • runtime/VM.cpp:

(JSC::VM::throwException):

  • runtime/VM.h:

(JSC::VM::throwingThread):
(JSC::VM::clearException):

Source/WebCore:

Currently, WorkerThread::stop() calls scheduleExecutionTermination() to terminate
JS execution first, followed by posting a cleanup task to the worker, and lastly,
it invokes terminate() on the WorkerRunLoop.

As a result, before the run loop is terminated, the worker thread may observe the
TerminatedExecutionException in JS code, bail out, see another JS task to run,
re-enters the VM to run said JS code, and fails with an assertion due to the
TerminatedExecutionException still being pending on VM entry.

WorkerRunLoop::Task::performTask() already has a check to only allow a task to
run if and only if !runLoop.terminated() and the task is not a clean up task.
We'll fix the above race by changing WorkerRunLoop::Task::performTask() to check
!context->script()->isTerminatingExecution() instead of !runLoop.terminated().
Since WorkerThread::stop() always scheduleExecutionTermination() before it
terminates the run loop, !context->script()->isTerminatingExecution() implies
!runLoop.terminated().

The only time that runLoop is terminated without scheduleExecutionTermination()
being called is when WorkerThread::stop() is called before the WorkerThread has
finished creating its WorkerGlobalScope. In this scenario, WorkerThread::stop()
will still terminate the run loop. Hence, after the WorkerGlobalScope is created
(in WorkerThread::workerThread()), we will check if the run loop has been
terminated (i.e. stop() was called). If so, we'll scheduleExecutionTermination()
there, and guarantee that if runloop.terminated() is true, then
context->script()->isTerminatingExecution() is also true.

Solutions that were considered but did not work (recorded for future reference):

  1. In WorkerThread::stop(), call scheduleExecutionTermination() only after it posts the cleanup task and terminate the run loop.

This did not work because this creates a race where the worker thread may run
the cleanup task before WorkerThread::stop() finishes. As a result, the
scriptController may be deleted before we get to invoke scheduleExecutionTermination()
on it, thereby resulting in a use after free.

To make this work, we would have to change the life cycle management strategy
of the WorkerScriptController. This is a more risky change that we would
want to take on at this time, and may also not be worth the gain.

  1. Break scheduleExecutionTermination() up into 2 parts i.e. WorkerThread::stop() will:
    1. set the scriptControllers m_isTerminatingExecution flag before posting the cleanup task and terminating the run loop, and
    2. invoke VM::notifyNeedsTermination() after posting the cleanup task and terminating the run loop.

This requires that we protect the liveness of the VM until we can invoke
notifyNeedsTermination() on it.

This did not work because:

  1. We may end up destructing the VM in WorkerThread::stop() i.e. in the main web frame, but only the worker thread holds the JS lock for the VM.

We can make the WorkerThread::stop() acquire the JS lock just before it
releases the protected VM's RefPtr, but that would mean the main thread
may be stuck waiting a bit for the worker thread to release its JSLock.
This is not desirable.

  1. In practice, changing the liveness period of the Worker VM relative to its WorkerScriptController and WorkerGlobalScope also has unexpected ramifications. We observed many worker tests failing with assertion failures and crashes due to this change.

Hence, this approach is also a more risky change than it appears on the
surface, and is not worth exploring at this time.

In the end, changing WorkerRunLoop::Task::performTask() to check for
!scriptController->isTerminatingExecution() is the most straight forward solution
that is easy to prove correct.

Also fixed a race in WorkerThread::workerThread() where it can delete the
WorkerGlobalScope while WorkerThread::stop() is in the midst of accessing it.
We now guard the the nullifying of m_workerGlobalScope with the
m_threadCreationAndWorkerGlobalScopeMutex as well.

UPDATE: the only new thing in this patch for re-landing (vs one previously landed)
is that instead of nullifying m_workerGlobalScope directly (thereby deleting the
WorkerGlobalScope context), we'll swap it out and delete it only after we've
unlocked the m_threadCreationAndWorkerGlobalScopeMutex. This is needed because
the destruction of the WorkerGlobalScope will cause the main thread to race against
the worker thread to delete the WorkerThread object, and the WorkerThread object
owns the mutex that we need to unlock after nullifying the m_workerGlobalScope
field.

This issue is covered by an existing test that I just unskipped in TestExpectations.

  • bindings/js/JSDOMPromiseDeferred.cpp:

(WebCore::DeferredPromise::callFunction):

  • bindings/js/WorkerScriptController.cpp:

(WebCore::WorkerScriptController::scheduleExecutionTermination):

  • Added a check to do nothing and return early if the scriptController is already terminating execution.
  • workers/WorkerRunLoop.cpp:

(WebCore::WorkerRunLoop::runInMode):
(WebCore::WorkerRunLoop::runCleanupTasks):
(WebCore::WorkerRunLoop::Task::performTask):

  • workers/WorkerRunLoop.h:
  • Made Task::performTask() private and make Task befriend the WorkerRunLoop class. This ensures that only the WorkerRunLoop may call performTask(). Note: this change only formalizes and hardens a relationship that was already in place before this.
  • workers/WorkerThread.cpp:

(WebCore::WorkerThread::start):
(WebCore::WorkerThread::workerThread):
(WebCore::WorkerThread::stop):

  • workers/WorkerThread.h:
  • Renamed m_threadCreationMutex to m_threadCreationAndWorkerGlobalScopeMutex so that it more accurately describes what it guards.

LayoutTests:

1:20 PM Changeset in webkit [216875] by ddkilzer@apple.com
  • 3 edits in trunk/Source/WebKit2

Update json.hpp to v2.1.1
<https://webkit.org/b/172085>
<rdar://problem/32180980>

Reviewed by Alex Christensen.

  • NetworkProcess/capture/NetworkCaptureEvent.cpp:
  • Define JSON_NOEXCEPTION as 1 to disable exceptions in json.hpp.

(WebKit::NetworkCapture::JSONCoder<String>::encode):
(WebKit::NetworkCapture::JSONCoder<WebCore::SharedBuffer>::encode):

  • Build std::string passing in length to avoid the need for a custom basic_json() constructor, and for efficiency.
  • NetworkProcess/capture/json.hpp:
  • Update to v2.1.1 and remove customizations.
1:16 PM Changeset in webkit [216874] by mmaxfield@apple.com
  • 4 edits
    4 adds in trunk

Unicode characters which can't be rendered in any font are invisible
https://bugs.webkit.org/show_bug.cgi?id=171942
<rdar://problem/32054234>

Reviewed by Tim Horton.

Source/WebCore:

There are some Unicode characters which don't have any font on the system which can render them.
These characters should be drawn as the .notdef "tofu." This is for security and usability, as
well as what Firefox and Chrome do. However, we still shouldn't draw characters with the
Default_Ignorable_Code_Point property, because this is what CoreText does.

This behavior is also what the Unicode spec recommends: In UTR #36 Unicode Security Considerations:
http://www.unicode.org/reports/tr36/#Recommendations_General
"If there is no available glyph for a character, never show a simple "?" or omit the character."

Also relevant is the Unicode Standard section 5.3 Unknown and MIssing Characters, starting at page
marked 203 in the following: http://www.unicode.org/versions/Unicode9.0.0/ch05.pdf

Tests: fast/text/default-ignorable.html

fast/text/unknown-char-notdef.html

  • platform/graphics/WidthIterator.cpp:

(WebCore::characterMustDrawSomething):

LayoutTests:

  • fast/text/default-ignorable-expected.html: Added.
  • fast/text/default-ignorable.html: Added.
  • fast/text/unknown-char-notdef-expected-mismatch.html: Added.
  • fast/text/unknown-char-notdef.html: Added.
12:54 PM Changeset in webkit [216873] by jmarcell@apple.com
  • 5 edits in tags/Safari-603.3.1.0.1/Source

Versioning.

12:50 PM Changeset in webkit [216872] by matthew_hanson@apple.com
  • 5 edits in branches/safari-603-branch/Source

Versioning.

12:44 PM Changeset in webkit [216871] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

Disable Picture In Picture API tests on unsupported platforms.
https://bugs.webkit.org/show_bug.cgi?id=172125
rdar://problem/32199477

Patch by Jeremy Jones <jeremyj@apple.com> on 2017-05-15
Reviewed by Simon Fraser.

The callbacks and allowing picture-in-picture require new SPI.

  • TestWebKitAPI/Tests/WebKit2Cocoa/PictureInPictureDelegate.mm:
12:38 PM Changeset in webkit [216870] by jmarcell@apple.com
  • 1 copy in tags/Safari-603.3.1.0.1

New tag.

12:34 PM Changeset in webkit [216869] by beidson@apple.com
  • 2 edits in trunk/Tools

[ios-simulator] API test WKWebView.ClearAppCache is failing.
https://bugs.webkit.org/show_bug.cgi?id=172120

Unreviewed test gardening.

  • TestWebKitAPI/Tests/WebKit2Cocoa/LocalStorageClear.mm:

(TEST): ios-sim needs explicit deleting of the app cache paths that I'd removed in 216805.

Restoring that code fixes this.

12:21 PM Changeset in webkit [216868] by timothy_horton@apple.com
  • 4 edits in trunk

Null deref under WebContentReader::readURL when interacting with a file URL
https://bugs.webkit.org/show_bug.cgi?id=172045
<rdar://problem/25880647>

Reviewed by Wenson Hsieh.

  • editing/ios/EditorIOS.mm:

(WebCore::Editor::WebContentReader::readURL):
The AppSupport soft link was wrong, as there is no such framework in /System/Library/Frameworks.
Thus, any time we hit this codepath, the soft linked function would be null, and calling it would crash.
Instead of just fixing the soft link, remove the code, because it does not seem necessary to
special-case fileURLs to images in the media directory.

  • TestWebKitAPI/Tests/ios/DataInteractionTests.mm:

(TestWebKitAPI::TEST):
The text of the file URL is pasted because a textual version of it gets
onto the pasteboard. However, this test would have crashed before. Also
tests that we don't make an <a>.

11:31 AM Changeset in webkit [216867] by Brent Fulgham
  • 2 edits in trunk/Source/WebKit2

Unreviewed build fix.

Debugging code was accidentally left in the Plugin sandbox profile.

  • PluginProcess/mac/com.apple.WebKit.plugin-common.sb.in:
11:26 AM Changeset in webkit [216866] by eric.carlson@apple.com
  • 5 edits in trunk/Source/WebCore

ASSERTION FAILED: wasRemoved in WebCore::RealtimeMediaSourceCenter::removeDevicesChangedObserver(DevicesChangedObserverToken)
https://bugs.webkit.org/show_bug.cgi?id=171529
<rdar://problem/31945791>

Reviewed by Jer Noble.

No new tests, fixes a crash in existing tests.

  • Modules/mediastream/MediaDevices.cpp:

(WebCore::MediaDevices::MediaDevices): Use a weak ptr.

  • platform/mediastream/RealtimeMediaSourceCenter.cpp:
  • platform/mediastream/RealtimeMediaSourceCenter.cpp:

(WebCore::observerMap): Use a static hash map for observers because the
source center can change at runtime.
(WebCore::RealtimeMediaSourceCenter::addDevicesChangedObserver):
(WebCore::RealtimeMediaSourceCenter::removeDevicesChangedObserver):
(WebCore::RealtimeMediaSourceCenter::captureDevicesChanged):

11:14 AM Changeset in webkit [216865] by commit-queue@webkit.org
  • 1 edit
    1 add in trunk/Source/WebInspectorUI

[GTK] Web Inspector: Add new GTK+ icons for Search icon of Quick Open dialog
https://bugs.webkit.org/show_bug.cgi?id=172110

Patch by Fujii Hironori <Fujii Hironori> on 2017-05-15
Reviewed by Michael Catanzaro.

Add a free icon for the Web Inspector in GTK+.

  • UserInterface/Images/gtk/Search.svg: Added.
11:11 AM Changeset in webkit [216864] by commit-queue@webkit.org
  • 2 edits
    4 adds in trunk/Source/WebInspectorUI

[GTK] Web Inspector: Add new GTK+ icons for Worker Scripts / Web Sockets
https://bugs.webkit.org/show_bug.cgi?id=164138

Patch by Fujii Hironori <Fujii Hironori> on 2017-05-15
Reviewed by Michael Catanzaro.

Add more free icons for the Web Inspector in GTK+.

  • UserInterface/Images/gtk/WorkerScript.png: Added.
  • UserInterface/Images/gtk/WorkerScript@2x.png: Added.
  • UserInterface/Images/gtk/WorkerScriptLarge.png: Added.
  • UserInterface/Images/gtk/WorkerScriptLarge@2x.png: Added.
  • UserInterface/Views/ResourceIcons.css:

(.script.worker-icon .icon):
(.large .script.worker-icon .icon):
(body:matches(.mac-platform, .windows-platform) .script.worker-icon .icon): Deleted.
(body:matches(.mac-platform, .windows-platform) .large .script.worker-icon .icon): Deleted.

10:24 AM Changeset in webkit [216863] by Brent Fulgham
  • 2 edits in trunk/Source/WebCore

[iOS WK1] Do not try to dispatch messages to subframes if their documents have not been constructed yet.
https://bugs.webkit.org/show_bug.cgi?id=172059
<rdar://problem/31963192>

Reviewed by Zalan Bujtas.

On iOS WK1 we can end up in an inconsistent state, where

  1. The web thread is inside a newly-injected iframe's document's constructor and
  2. waiting on a delegate callback on the main thread

while the main thread
(a) Evaluates arbitrary JavaScript that modifies storage which
(b) Triggers an event dispatch.

  • storage/StorageEventDispatcher.cpp:

(WebCore::StorageEventDispatcher::dispatchSessionStorageEvents): If the sub-frame's document
is in an inconsistent state, skip it.
(WebCore::StorageEventDispatcher::dispatchLocalStorageEvents): Ditto.
(WebCore::StorageEventDispatcher::dispatchSessionStorageEventsToFrames): Ditto.
(WebCore::StorageEventDispatcher::dispatchLocalStorageEventsToFrames): Ditto.

8:26 AM Changeset in webkit [216862] by yoon@igalia.com
  • 3 edits in trunk/Source/WebKit2

[WPE] Unreviewed debug build fix
https://bugs.webkit.org/show_bug.cgi?id=172118

Unreviewed, remove a dead code accidentally committed in r215259.

  • Shared/CoordinatedGraphics/threadedcompositor/CompositingRunLoop.h:

Remove deprecated CompositingRunLoop::isCurrent.

  • Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp:

(WebKit::ThreadedCompositor::frameComplete):

7:21 AM Changeset in webkit [216861] by Alan Bujtas
  • 3 edits
    2 adds in trunk

Simple line layout: Leading whitespace followed by a <br> produces an extra linebreak.
https://bugs.webkit.org/show_bug.cgi?id=172076

Reviewed by Antti Koivisto.

Source/WebCore:

When the collapsed whitespace does not fit the line, we need to push it to the next line
so that we can decide whether any soft/hard linebreak should be skipped (to avoid double line breaks) or not.

Test: fast/text/simple-line-layout-leading-whitespace-with-soft-hard-linebreak.html

  • rendering/SimpleLineLayout.cpp:

(WebCore::SimpleLineLayout::consumeLineBreakIfNeeded): special handling <br>
(WebCore::SimpleLineLayout::firstFragment): Now we need to deal with leading collapsed whitespace.
(WebCore::SimpleLineLayout::createLineRuns): We need to push even the collapsed whitespace to the next line.

LayoutTests:

  • fast/text/simple-line-layout-leading-whitespace-with-soft-hard-linebreak-expected.html: Added.
  • fast/text/simple-line-layout-leading-whitespace-with-soft-hard-linebreak.html: Added.
2:14 AM Changeset in webkit [216860] by nael.ouedraogo@crf.canon.fr
  • 7 edits
    1 copy
    2 adds in trunk

Invalid MediaSource duration value should throw TyperError instead of InvalidStateError
https://bugs.webkit.org/show_bug.cgi?id=171653

Reviewed by Chris Dumez.

LayoutTests/imported/w3c:

Rebaseline test results.

  • web-platform-tests/media-source/mediasource-duration-boundaryconditions-expected.txt:

Source/WebCore:

Modify MediaSource::setDuration to throw a TypeError when duration value is invalid as per MSE specification
(https://www.w3.org/TR/2016/REC-media-source-20161117/#dom-mediasource-duration).

Update expectations of corresponding WPT test.

  • Modules/mediasource/MediaSource.cpp:

(WebCore::MediaSource::setDuration):
(WebCore::MediaSource::setDurationInternal):

LayoutTests:

Modify MediaSource::setDuration to throw a TypeError when duration value is invalid as per MSE specification
(https://www.w3.org/TR/2016/REC-media-source-20161117/#dom-mediasource-duration).

Update expectations of corresponding WPT test.

  • platform/gtk/TestExpectations:
  • platform/gtk/imported/w3c/web-platform-tests/media-source/mediasource-duration-boundaryconditions-expected.txt: Added.
  • platform/mac-elcapitan/imported/w3c/web-platform-tests/media-source/mediasource-duration-boundaryconditions-expected.txt: Added.
  • platform/mac/TestExpectations:
2:06 AM Changeset in webkit [216859] by yoon@igalia.com
  • 3 edits
    2 adds in trunk

[CAIRO] Painting an image mask with a matrix above Pixman's limit breaks internal states of Cairo
https://bugs.webkit.org/show_bug.cgi?id=169094

Reviewed by Žan Doberšek.

Source/WebCore:

It is the same problem which addressed in r212431.
In HiDPI situation, it happens easily due to the size of coordinates.
Also, if this bug happens, it will break the rendering continuously
since we are reusing graphics contexts to render webpages in same
webview.

Test: fast/hidpi/hidpi-long-page-with-inset-element.html

  • platform/graphics/cairo/PlatformContextCairo.cpp:

(WebCore::PlatformContextCairo::pushImageMask):
We can avoid the limit of the Pixman by reducing the source surface's
size, and it will create a minimal pattern matrix.

LayoutTests:

  • fast/hidpi/hidpi-long-page-with-inset-element-expected.html: Added.
  • fast/hidpi/hidpi-long-page-with-inset-element.html: Added.
12:01 AM Changeset in webkit [216858] by jcraig@apple.com
  • 2 edits
    11 adds
    1 delete in trunk/Websites/webkit.org

2017-05-14 James Craig <jcraig@apple.com>

Upload poster images and working captioned video
https://bugs.webkit.org/show_bug.cgi?id=172102

Unreviewed. More resources for prefers-reduced-motion post.

  • blog-files/prefers-reduced-motion/axi.htm: Added.
  • blog-files/prefers-reduced-motion/axi.png: Removed.
  • blog-files/prefers-reduced-motion/posters: Added.
  • blog-files/prefers-reduced-motion/posters/apple_env_load.jpg: Added.
  • blog-files/prefers-reduced-motion/posters/apple_env_planeshift.jpg: Added.
  • blog-files/prefers-reduced-motion/posters/apple_ios10.jpg: Added.
  • blog-files/prefers-reduced-motion/posters/apple_shoot.jpg: Added.
  • blog-files/prefers-reduced-motion/posters/apple_shoot_reduced.jpg: Added.
  • blog-files/prefers-reduced-motion/posters/apple_sierra.jpg: Added.
  • blog-files/prefers-reduced-motion/posters/apple_sierra_reduced.jpg: Added.
  • blog-files/prefers-reduced-motion/posters/axi.jpg: Added.
  • blog-files/prefers-reduced-motion/posters/viljami.jpg: Added.
  • blog-files/prefers-reduced-motion/prm.htm: Link to axi.htm video demo.

May 14, 2017:

11:20 PM Changeset in webkit [216857] by pvollan@apple.com
  • 6 edits in trunk

[Win] fast/cookies/local-file-can-set-cookies.html is flaky.
https://bugs.webkit.org/show_bug.cgi?id=172071

Reviewed by Alexey Proskuryakov.

Source/WebKit/win:

We need to delete all cookies after each test.

  • Interfaces/IWebPreferencesPrivate.idl:
  • WebPreferences.cpp:

(WebPreferences::linkPreloadEnabled):
(WebPreferences::clearNetworkLoaderSession):

  • WebPreferences.h:

Tools:

  • DumpRenderTree/win/DumpRenderTree.cpp:

(resetWebPreferencesToConsistentValues):

10:51 PM Changeset in webkit [216856] by zandobersek@gmail.com
  • 2 edits in trunk/Source/WebCore

Unreviewed build fix with newer Perl versions.

  • bindings/scripts/CodeGeneratorJS.pm:

(AddLegacyCallerOperationIfNeeded): Support for experimental push on scalar (and
other auto-dereferencing) was removed in Perl 5.24. Instead, the LegacyCallers array
has to be dereferenced when pushing new values to it.

10:00 PM Changeset in webkit [216855] by jcraig@apple.com
  • 2 edits in trunk/Websites/webkit.org

2017-05-14 James Craig <jcraig@apple.com>

AX: All the articles on the WebKit blog are called 'Clickable Link' by VoiceOver
https://bugs.webkit.org/show_bug.cgi?id=172096
<rdar://problem/31624323>

Unreviewed. Fixing broken link titles for screen readers.

  • wp-content/themes/webkit/loop.php: Adding relevant link label for accessibility.
8:45 PM Changeset in webkit [216854] by bshafiei@apple.com
  • 3 edits in tags/Safari-604.1.22.0.1/Source/WebCore

Merged r216807. rdar://problem/32169232

8:44 PM Changeset in webkit [216853] by bshafiei@apple.com
  • 7 edits in tags/Safari-604.1.22.0.1/Source

Versioning.

8:42 PM Changeset in webkit [216852] by bshafiei@apple.com
  • 1 copy in tags/Safari-604.1.22.0.1

New tag.

6:09 PM Changeset in webkit [216851] by weinig@apple.com
  • 22 edits
    2 adds
    1 delete in trunk

[WebIDL/DOM] Remove need for custom bindings for HTMLAllCollection and bring up to spec
https://bugs.webkit.org/show_bug.cgi?id=172095

Reviewed by Darin Adler.

LayoutTests/imported/w3c:

  • web-platform-tests/html/infrastructure/common-dom-interfaces/collections/htmlallcollection-expected.txt:

Update results.

Source/WebCore:

  • Adds support for the legacycaller WebIDL special annotation.
  • Updates implementation of HTMLAllCollection to match the current HTML spec.

Test: fast/dom/document-all.html

  • CMakeLists.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/JSBindingsAllInOne.cpp:
  • bindings/js/JSHTMLAllCollectionCustom.cpp: Removed.

Removed JSHTMLAllCollectionCustom.cpp

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateInterface):
(AddLegacyCallerOperationIfNeeded):
Before code generation, clone all the legacycaller operations and put them
in their own set, so they can form an overload set.

(AddStringifierOperationIfNeeded):
Use IDLParser::cloneType as the FIXME suggested.

(GenerateHeader):
Group call related functionality together and use new IsCallable predicate.

(GenerateOverloadedFunctionOrConstructor):
Generalize a little bit to allow the function being overloaded to be an overloaded legacycaller.

(GenerateImplementation):
Add call to generate the legacycaller code.

(GenerateLegacyCallerDefinitions):
(GenerateLegacyCallerDefinition):
Generate the legacycaller definition, using GenerateArgumentsCountCheck, GenerateParametersCheck
and GenerateImplementationFunctionCall to do all the heavy lifting.

(IsCallable):
Add helper predicate for both custom calls and legacycaller.

  • bindings/scripts/IDLParser.pm:

(cloneType):.
(cloneArgument):.
(cloneOperation):
Add cloning functions for IDLArgument and IDLOperation, and make IDLType's
clone feasible for calling outside the package by removing the unneeded
self parameter.

  • bindings/scripts/test/JS/JSTestObj.cpp
  • bindings/scripts/test/JS/JSTestObj.h
  • bindings/scripts/test/TestObj.idl:

Add testing of legacycaller overloading.

  • dom/Document.cpp:

(WebCore::Document::allFilteredByName):

  • dom/Document.h:

Add new collection access for the HTMLAllNamedSubCollection.

  • html/CachedHTMLCollection.h:

(WebCore::nameShouldBeVisibleInDocumentAll):
Update list of tags to match the current spec.

  • html/CollectionType.h:

Add new type for HTMLAllNamedSubCollection.

  • html/GenericCachedHTMLCollection.cpp:

(WebCore::GenericCachedHTMLCollection<traversalType>::elementMatches):
Specify that DocumentAllNamedItems does not want
the default elementMatches.

  • html/HTMLAllCollection.cpp:

(WebCore::HTMLAllCollection::namedOrIndexedItemOrItems):
(WebCore::HTMLAllCollection::namedItemOrItems):
(WebCore::HTMLAllNamedSubCollection::~HTMLAllNamedSubCollection):
(WebCore::HTMLAllNamedSubCollection::elementMatches):

  • html/HTMLAllCollection.h:

Move implementations from the custom binding, and re-implement to
match the spec. Alternate names to item/namedItem were needed to not
shadow the existing ones in HTMLCollection. HTMLAllNamedSubCollection
is a simple HTMLCollection that matches on a name, following the rules
of document.all about which tags can have name attributes.

  • html/HTMLAllCollection.idl:

Remove custom annotations and add legacycaller which is now supported.

  • html/HTMLCollection.cpp:

(WebCore::invalidationTypeExcludingIdAndNameAttributes):
(WebCore::HTMLCollection::~HTMLCollection):
Add DocumentAllNamedItems.

LayoutTests:

  • fast/dom/collection-null-like-arguments-expected.txt:

Update results.

  • fast/dom/document-all-expected.txt: Added.
  • fast/dom/document-all.html: Added.

New test that covers a bunch of missing coverage.

5:46 PM Changeset in webkit [216850] by commit-queue@webkit.org
  • 3 edits
    6 deletes in trunk/Source/WebKit2

[CoordinatedGraphics] Remove unused files and lines
https://bugs.webkit.org/show_bug.cgi?id=172080

Patch by Daewoong Jang <daewoong.jang@navercorp.com> on 2017-05-14
Reviewed by Darin Adler.

  • Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp: Removed.
  • Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.h: Removed.
  • Shared/CoordinatedGraphics/WebCoordinatedSurface.cpp: Removed.
  • Shared/CoordinatedGraphics/WebCoordinatedSurface.h: Removed.
  • UIProcess/CoordinatedGraphics/WKCoordinatedSceneAPICast.h: Removed.
  • UIProcess/WebPageProxy.h:
  • WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
  • WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.messages.in: Removed.
2:16 PM Changeset in webkit [216849] by Alan Bujtas
  • 3 edits in trunk/Source/WebCore

Remove unused lambda in TextFragmentIterator::TextFragment::split() and cleanup dependencies.
https://bugs.webkit.org/show_bug.cgi?id=172089

Reviewed by David Kilzer.

  • rendering/SimpleLineLayout.cpp:

(WebCore::SimpleLineLayout::splitFragmentToFitLine):

  • rendering/SimpleLineLayoutTextFragmentIterator.h:

(WebCore::SimpleLineLayout::TextFragmentIterator::TextFragment::split):
(WebCore::SimpleLineLayout::TextFragmentIterator::TextFragment::splitWithHyphen):

1:10 PM Changeset in webkit [216848] by jmarcell@apple.com
  • 7 edits in branches/safari-604.1.21-branch/Source

Versioning.

12:27 PM Changeset in webkit [216847] by akling@apple.com
  • 2 edits in trunk/Source/WebKit2

Always reset the assisted node when the main frame commits a new load.
https://bugs.webkit.org/show_bug.cgi?id=172088

Reviewed by Antti Koivisto.

WebPage::m_assistedNode could extend the lifetime of the document it pointed into
if the main frame was navigated while the assisted node was in one of its subframes.
The life-supported document wouldn't be reachable from JavaScript but nevertheless
would consume memory and other resources.

This patch fixes the issue by always clearing WebPage::m_assistedNode when the main
frame commits a new load.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::resetAssistedNodeForFrame):

10:43 AM Changeset in webkit [216846] by ddkilzer@apple.com
  • 3 edits in trunk/LayoutTests

[iOS/macOS Debug WK2] LayoutTests/imported/w3c/web-platform-tests/webrtc/interfaces.html is a flaky crash due to assertion failure
<https://bugs.webkit.org/show_bug.cgi?id=172094>
<rdar://problem/32184256>

Unreviewed test gardening.

  • platform/ios-wk2/TestExpectations:
  • platform/mac-wk2/TestExpectations:
  • Mark test as flaky crash on Debug WK2 builds.
9:36 AM Changeset in webkit [216845] by matthew_hanson@apple.com
  • 1 copy in tags/Safari-604.1.21.3

Tag Safari-604.1.21.3.

6:27 AM Changeset in webkit [216844] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WebKit2

Unreviewed Mac cmake buildfix after r216690, just for fun.

  • PlatformMac.cmake:
4:28 AM Changeset in webkit [216843] by ddkilzer@apple.com
  • 2 edits in trunk/LayoutTests

[macOS Debug WK1] fast/parser/adoption-agency-unload-iframe-4.html is a flaky timeout (always on iOS 10 Release WK1)
<https://webkit.org/b/172092>

Unreviewed test gardening.

  • platform/ios-wk1/TestExpectations:
  • This only times out on Release builds.
4:16 AM Changeset in webkit [216842] by ddkilzer@apple.com
  • 3 edits in trunk/LayoutTests

[macOS Debug WK1] fast/parser/adoption-agency-unload-iframe-4.html is a flaky timeout (always on iOS 10 Release WK1)
<https://webkit.org/b/172092>

Unreviewed test gardening.

See also Bug 169211 for a similar GTK WK1 timeout.

  • platform/ios-wk1/TestExpectations:
  • Mark as always timing out on all builds.
  • platform/mac-wk1/TestExpectations:
  • Mark flaky on Debug builds.
3:41 AM Changeset in webkit [216841] by ddkilzer@apple.com
  • 9 edits in trunk/Source/WebKit2

Fix unused lambdas in WebKit2
<https://webkit.org/b/172090>

Reviewed by Chris Dumez.

Fixes unused lambda warnings found with newer clang.

  • NetworkProcess/cache/NetworkCache.cpp:

(WebKit::NetworkCache::Cache::retrieve):

  • NetworkProcess/cache/NetworkCacheStatistics.cpp:

(WebKit::NetworkCache::Statistics::initialize):

  • Use UNUSED_PARAM() to silence unused lambda warning since 'startTime' is used in Debug builds.
  • NetworkProcess/capture/NetworkCaptureManager.cpp:

(WebKit::NetworkCapture::Manager::fuzzyMatchURLs):

  • Remove unused 'this' from lambda capture.
  • NetworkProcess/cocoa/NetworkSessionCocoa.mm:

(-[WKNetworkSessionDelegate URLSession:task:willPerformHTTPRedirection:newRequest:completionHandler:]):
(-[WKNetworkSessionDelegate URLSession:task:_schemeUpgraded:completionHandler:]):
(-[WKNetworkSessionDelegate URLSession:task:didReceiveChallenge:completionHandler:]):
(-[WKNetworkSessionDelegate URLSession:dataTask:didReceiveResponse:completionHandler:]):

  • Use UNUSED_PARAM() to silence unused lambda warning since 'taskIdentifier' is used in Debug builds.
  • UIProcess/WebResourceLoadStatisticsStore.cpp:

(WebKit::WebResourceLoadStatisticsStore::registerSharedResourceLoadObserver):
(WebKit::WebResourceLoadStatisticsStore::applicationWillTerminate):

  • Remove unused 'this' from lambda captures.
  • UIProcess/WebsiteData/WebsiteDataStore.cpp:

(WebKit::WebsiteDataStore::fetchData):

  • Remove unused 'fetchOptions' from lambda capture.

(WebKit::WebsiteDataStore::fetchDataForTopPrivatelyControlledDomains):

  • Remove unused 'this' from lambda capture.
  • UIProcess/mac/ViewGestureControllerMac.mm:

(WebKit::ViewGestureController::forceRepaintIfNeeded):

  • Remove unused 'this' from lambda capture.
  • WebProcess/cocoa/WebVideoFullscreenManager.mm:

(WebKit::WebVideoFullscreenManager::didExitFullscreen):

  • Remove unused 'this' from nested lambda captures.
1:18 AM Changeset in webkit [216840] by rniwa@webkit.org
  • 2 edits in trunk/Websites/perf.webkit.org

Build fix. Added a missing null check.

  • public/v3/pages/analysis-task-page.js:

(AnalysisTaskConfiguratorPane.prototype.setTestGroups):

12:31 AM Changeset in webkit [216839] by Chris Dumez
  • 11 edits
    1 delete in trunk

Drop PassRefPtr class from WTF
https://bugs.webkit.org/show_bug.cgi?id=172091

Reviewed by Alex Christensen.

Source/WTF:

Drop PassRefPtr class from WTF as it is no longer used or needed.
Also drop RefPtr::release() for the same reasons.

  • WTF.xcodeproj/project.pbxproj:
  • wtf/CMakeLists.txt:
  • wtf/CrossThreadCopier.cpp:
  • wtf/CrossThreadCopier.h:
  • wtf/Forward.h:
  • wtf/PassRefPtr.h: Removed.
  • wtf/RefPtr.h:

(WTF::refIfNotNull):
(WTF::derefIfNotNull):
(WTF::RefPtr::RefPtr):
(WTF::RefPtr::release): Deleted.

  • wtf/SizeLimits.cpp:
  • wtf/Vector.h:

Tools:

Drop API test coverage.

  • TestWebKitAPI/Tests/WTF/Ref.cpp:

(TestWebKitAPI::TEST):
(TestWebKitAPI::passWithPassRefPtr): Deleted.

May 13, 2017:

11:05 PM Changeset in webkit [216838] by ddkilzer@apple.com
  • 2 edits in trunk/Source/WebCore

Unused lambda in JSWebKitSubtleCrypto::wrapKey()
<https://webkit.org/b/172087>

Reviewed by Chris Dumez.

Fixes the following warning with newer clang:

Source/WebCore/bindings/js/JSWebKitSubtleCryptoCustom.cpp:594:35: error: lambda capture 'keyFormat' is not used [-Werror,-Wunused-lambda-capture]

auto exportSuccessCallback = [keyFormat, algorithm, parameters, wrappingKey, wrapper](const Vector<uint8_t>& exportedKeyData) mutable {


  • bindings/js/JSWebKitSubtleCryptoCustom.cpp:

(WebCore::JSWebKitSubtleCrypto::wrapKey): Remove unused lambda.

10:37 PM Changeset in webkit [216837] by ddkilzer@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Unused lambda capture in JSContextGroupAddMarkingConstraint()
<https://webkit.org/b/172084>

Reviewed by Saam Barati.

Fixes the following warning with newer clang:

Source/JavaScriptCore/API/JSMarkingConstraintPrivate.cpp:78:11: error: lambda capture 'vm' is not used [-Werror,-Wunused-lambda-capture]

[&vm, constraintCallback, userData]


  • API/JSMarkingConstraintPrivate.cpp:

(JSContextGroupAddMarkingConstraint): Remove unused lambda
capture for '&vm'.

10:27 PM Changeset in webkit [216836] by eric.carlson@apple.com
  • 39 edits
    2 adds in trunk

[MediaStream] deviceId constraint doesn't work with getUserMedia
https://bugs.webkit.org/show_bug.cgi?id=171877
<rdar://problem/31899730>

Reviewed by Jer Noble.

Source/WebCore:

Test: fast/mediastream/get-user-media-device-id.html

  • Modules/mediastream/MediaConstraintsImpl.h:

(WebCore::MediaConstraintsData::MediaConstraintsData): Add a constructor that
takes a const MediaConstraints&.

  • Modules/mediastream/MediaDevices.cpp:

(WebCore::MediaDevices::~MediaDevices): m_deviceChangedToken is a std::optional<>.

  • Modules/mediastream/MediaDevices.h:
  • Modules/mediastream/MediaDevicesEnumerationRequest.cpp:

(WebCore::MediaDevicesEnumerationRequest::topLevelDocumentOrigin): Don't return
NULL for the main frame so the origin matches that returned for a UserMediaRequest.

  • Modules/mediastream/UserMediaController.h:

(WebCore::UserMediaController::setDeviceIDHashSalt): Deleted, not used.
(WebCore::UserMediaController::deviceIDHashSalt): Deleted, not used.

  • Modules/mediastream/UserMediaRequest.cpp:

(WebCore::UserMediaRequest::allow): Add device ID hash salt parameter, set it on
constraints.

  • Modules/mediastream/UserMediaRequest.h:
  • platform/mediastream/MediaConstraints.h:
  • platform/mediastream/RealtimeMediaSource.cpp:

(WebCore::RealtimeMediaSource::fitnessDistance): ASSERT if called for DeviceId.
(WebCore::RealtimeMediaSource::selectSettings): Special case DeviceId because it
we have to hash the device ID before comparing, and because the DeviceId can't be
changed so it should never be added to the flattened constraints.
(WebCore::RealtimeMediaSource::supportsConstraints):
(WebCore::RealtimeMediaSource::applyConstraints):

  • platform/mediastream/RealtimeMediaSource.h:
  • platform/mediastream/RealtimeMediaSourceCenter.cpp:

(WebCore::RealtimeMediaSourceCenter::validateRequestConstraints): Implement.

  • platform/mediastream/RealtimeMediaSourceCenter.h:
  • platform/mediastream/RealtimeMediaSourceSupportedConstraints.cpp:

(WebCore::RealtimeMediaSourceSupportedConstraints::nameForConstraint): Deleted, unused.
(WebCore::RealtimeMediaSourceSupportedConstraints::constraintFromName): Deleted, unused.

  • platform/mediastream/RealtimeMediaSourceSupportedConstraints.h:
  • platform/mediastream/mac/AVVideoCaptureSource.mm:
  • platform/mediastream/mac/RealtimeMediaSourceCenterMac.cpp:

(WebCore::RealtimeMediaSourceCenterMac::bestSourcesForTypeAndConstraints): Pass device
id, not empty string.
(WebCore::RealtimeMediaSourceCenterMac::validateRequestConstraints): Deleted.

  • platform/mediastream/mac/RealtimeMediaSourceCenterMac.h:
  • platform/mock/MockRealtimeMediaSourceCenter.cpp:

(WebCore::MockRealtimeMediaSourceCenter::validateRequestConstraints): Deleted.

  • platform/mock/MockRealtimeMediaSourceCenter.h:

Source/WebKit2:

  • Shared/WebCoreArgumentCoders.cpp:

(IPC::ArgumentCoder<MediaConstraintsData>::encode): Encode deviceIDHashSalt.
(IPC::ArgumentCoder<MediaConstraintsData>::decode): Decode deviceIDHashSalt.

  • UIProcess/UserMediaPermissionCheckProxy.cpp:

(WebKit::UserMediaPermissionCheckProxy::UserMediaPermissionCheckProxy): Initialize
completion handler, frame ID, and security origins.
(WebKit::UserMediaPermissionCheckProxy::setUserMediaAccessInfo): Complete by calling
completion handler because we now sometimes request access info before calling gUM.
(WebKit::UserMediaPermissionCheckProxy::invalidate): Clear completion handler.

  • UIProcess/UserMediaPermissionCheckProxy.h:
  • UIProcess/UserMediaPermissionRequestManagerProxy.cpp:

(WebKit::FrameAuthorizationState::FrameAuthorizationState): Take security origins, not
UserMediaPermissionRequestProxy, so it can be constructed with a UserMediaPermissionCheckProxy.
(WebKit::FrameAuthorizationState::ensureSecurityOriginsAreEqual): Ditto. Clear has salt
when origins don't match.
(WebKit::UserMediaPermissionRequestManagerProxy::stateForRequest): Templatize.
(WebKit::UserMediaPermissionRequestManagerProxy::userMediaAccessWasDenied): Fix typo.
(WebKit::UserMediaPermissionRequestManagerProxy::userMediaAccessWasGranted): Ditto.
Don't set state for empty UIDs. Pass hash salt to web process.
(WebKit::UserMediaPermissionRequestManagerProxy::requestUserMediaPermissionForFrame):
The device ID hash salt is now required to validate constraints, so get it first.
(WebKit::UserMediaPermissionRequestManagerProxy::getUserMediaPermissionInfo): Helper
method used to get the device ID hash salt.
(WebKit::UserMediaPermissionRequestManagerProxy::enumerateMediaDevicesForFrame): Restructure
to use getUserMediaPermissionInfo.
(WebKit::UserMediaPermissionRequestManagerProxy::didCompleteUserMediaPermissionCheck): Deleted.

  • UIProcess/UserMediaPermissionRequestManagerProxy.h:
  • WebProcess/MediaStream/UserMediaPermissionRequestManager.cpp:

(WebKit::UserMediaPermissionRequestManager::userMediaAccessWasGranted): Add device ID
hash salt parameter.

  • WebProcess/MediaStream/UserMediaPermissionRequestManager.h:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::userMediaAccessWasGranted): Ditto.

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/WebPage.messages.in:
  • WebProcess/cocoa/UserMediaCaptureManager.cpp:

(WebKit::UserMediaCaptureManager::createCaptureSource): Use new MediaConstraintsData
constructor.

Tools:

The device ID hash salt is now required for getUserMedia to check deviceId constraint, so
implement the "checkUserMediaPermission" callback.

  • TestWebKitAPI/Tests/WebKit2/UserMedia.cpp:

(TestWebKitAPI::decidePolicyForUserMediaPermissionRequestCallBack):
(TestWebKitAPI::checkUserMediaPermissionCallback):
(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/WebKit2Cocoa/UserMediaDisabled.mm:

(-[UserMediaUIDelegate _webView:checkUserMediaPermissionForURL:mainFrameURL:frameIdentifier:decisionHandler:]):

LayoutTests:

  • fast/mediastream/get-user-media-device-id-expected.txt: Added.
  • fast/mediastream/get-user-media-device-id.html: Added.
  • fast/mediastream/apply-constraints-video-expected.txt: Updated.
  • fast/mediastream/apply-constraints-video.html: Ditto.
10:21 PM Changeset in webkit [216835] by ddkilzer@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

[JSC] config.rb fails when checking some clang versions
<https://webkit.org/b/172082>

Reviewed by Mark Lam.

  • offlineasm/config.rb:
  • Add support for quad-dotted version of Apple clang (800.0.12.1).
  • Add support for checking open source clang version (5.0.0).
9:27 PM Changeset in webkit [216834] by ddkilzer@apple.com
  • 2 edits in trunk/LayoutTests

TestExpectations: Remove last refereneces to Legacy Notifications

Unreviewed test gardening fixes these lint warnings:

LayoutTests/TestExpectations:1222 Path does not exist. fast/notifications/notifications-event-stop-propagation.html
LayoutTests/TestExpectations:1223 Path does not exist. fast/notifications/notifications-multi-events.html

Notification support was removed in r216641.

9:04 PM Changeset in webkit [216833] by Chris Dumez
  • 28 edits in trunk

Stop using RefPtr::release()
https://bugs.webkit.org/show_bug.cgi?id=172074

Reviewed by Geoffrey Garen.

Source/WebCore:

  • css/parser/CSSPropertyParser.cpp:

(WebCore::FontVariantLigaturesParser::finalizeValue):
(WebCore::FontVariantNumericParser::finalizeValue):

  • css/parser/CSSPropertyParserHelpers.cpp:

(WebCore::CSSPropertyParserHelpers::CalcParser::consumeValue):

  • loader/SubresourceLoader.cpp:

(WebCore::SubresourceLoader::create):

  • loader/archive/mhtml/MHTMLArchive.cpp:

(WebCore::MHTMLArchive::generateMHTMLData):

  • loader/archive/mhtml/MHTMLArchive.h:
  • loader/archive/mhtml/MHTMLParser.cpp:

(WebCore::MHTMLParser::parseArchiveWithHeader):

  • platform/audio/ios/AudioFileReaderIOS.cpp:

(WebCore::AudioFileReader::createBus):

  • platform/glib/SharedBufferGlib.cpp:

(WebCore::SharedBuffer::createFromReadingFile):

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

(WebCore::CACFLayerTreeHost::create):

  • platform/graphics/cairo/CairoUtilities.cpp:

(WebCore::copyCairoImageSurface):

  • platform/graphics/cairo/ImageBufferCairo.cpp:

(WebCore::getImageData):

  • platform/graphics/gtk/IconGtk.cpp:

(WebCore::Icon::createIconForFiles):

  • platform/graphics/win/FontCacheWin.cpp:

(WebCore::FontCache::systemFallbackForCharacters):

  • platform/win/SharedBufferWin.cpp:

(WebCore::SharedBuffer::createFromReadingFile):

Source/WebKit/win:

  • WebFrame.cpp:

(WebFrame::loadPlainTextString):
(WebFrame::loadHTMLString):

  • WebFramePolicyListener.cpp:

(WebFramePolicyListener::receivedPolicyDecision):

Source/WebKit2:

  • Platform/unix/SharedMemoryUnix.cpp:

(WebKit::SharedMemory::create):

  • Shared/CoordinatedGraphics/CoordinatedGraphicsScene.cpp:

(WebKit::CoordinatedGraphicsScene::createImageBacking):

  • Shared/cairo/ShareableBitmapCairo.cpp:

(WebKit::ShareableBitmap::createCairoSurface):

  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMNodeFilter.cpp:

(WebKit::core):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::getContentsAsMHTMLData):

Source/WTF:

  • wtf/win/WorkQueueWin.cpp:

(WTF::WorkQueue::dispatchAfter):

Tools:

  • TestWebKitAPI/Tests/WTF/RefPtr.cpp:

(TestWebKitAPI::TEST):

7:20 PM Changeset in webkit [216832] by Ryan Haddad
  • 2 edits in branches/safari-603-branch/LayoutTests

Unreviewed test gardening.

  • platform/ios-simulator/TestExpectations:
7:18 PM Changeset in webkit [216831] by Ryan Haddad
  • 3 edits in branches/safari-603-branch/LayoutTests

Merge r216614.

6:07 PM Changeset in webkit [216830] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Remove flaky expectation for LayoutTest media/media-controls-clone-crash.html.
https://bugs.webkit.org/show_bug.cgi?id=171978

Unreviewed test gardening.

  • platform/mac-wk2/TestExpectations:
2:36 PM Changeset in webkit [216829] by jfernandez@igalia.com
  • 7 edits
    2 adds in trunk

[css-align] Implement the place-self shorthand
https://bugs.webkit.org/show_bug.cgi?id=168846

Reviewed by Zalan Bujtas.

Source/WebCore:

The CSS Box Alignment specification defines a new shorthand to set the
Content Alignment properties (align-self and justify-self) at the
same time.

This patch provides the implementation of the CSS parsing logic and the
required regression tests.

Test: css3/parse-place-self.html

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::ComputedStyleExtractor::propertyValue):

  • css/CSSProperties.json:
  • css/StyleProperties.cpp:

(WebCore::StyleProperties::getPropertyValue):

  • css/parser/CSSPropertyParser.cpp:

(WebCore::CSSPropertyParser::consumePlaceSelfShorthand):
(WebCore::CSSPropertyParser::parseShorthand):

  • css/parser/CSSPropertyParser.h:

LayoutTests:

Regression tests for the new place-self alignment shorthand.

  • css3/parse-place-self-expected.txt: Added.
  • css3/parse-place-self.html: Added.
1:46 PM Changeset in webkit [216828] by jmarcell@apple.com
  • 6 edits
    2 adds in branches/safari-603-branch/Source

Cherry-pick r214313. rdar://problem/32080658

1:32 PM Changeset in webkit [216827] by commit-queue@webkit.org
  • 24 edits
    1 delete in trunk

Unreviewed, rolling out r216808.
https://bugs.webkit.org/show_bug.cgi?id=172075

caused lldb to hang when debugging (Requested by smfr on
#webkit).

Reverted changeset:

"Use Mach exceptions instead of signals where possible"
https://bugs.webkit.org/show_bug.cgi?id=171865
http://trac.webkit.org/changeset/216808

12:10 PM Changeset in webkit [216826] by commit-queue@webkit.org
  • 15 edits in trunk

Unreviewed, rolling out r216801.
https://bugs.webkit.org/show_bug.cgi?id=172072

Many memory corruption crashes on worker threads (Requested by
ap on #webkit).

Reverted changeset:

"WorkerRunLoop::Task::performTask() should check
!scriptController->isTerminatingExecution()."
https://bugs.webkit.org/show_bug.cgi?id=171775
http://trac.webkit.org/changeset/216801

11:43 AM Changeset in webkit [216825] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore

AccessibilityRenderObject::textUnderElement needs to assert on unclean tree.
https://bugs.webkit.org/show_bug.cgi?id=172065

Reviewed by Simon Fraser.

r192103 changed the assert logic incorrectly. If the tree is dirty, regardless of the renderer's type,
TextIterator will end up forcing style update/layout on the render tree.
The original assert would have hit with bug 171546 prior to r216726.

  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::textUnderElement):

11:24 AM Changeset in webkit [216824] by Simon Fraser
  • 7 edits
    2 adds in trunk

event.clientX/clientY should be in layout viewport coordinates
https://bugs.webkit.org/show_bug.cgi?id=172018

Reviewed by Zalan Bujtas.
Source/WebCore:

Fix clientX and clientY on mouse events to be relative to the layout viewport, to match
getBoundingClientRect(), getClientRects() and fixed-position objects.

Also minor cleanup of MouseRelatedEvent to use initializers.

Test: fast/visual-viewport/client-coordinates-relative-to-layout-viewport.html

  • dom/MouseRelatedEvent.cpp:

(WebCore::MouseRelatedEvent::MouseRelatedEvent):
(WebCore::MouseRelatedEvent::init):
(WebCore::MouseRelatedEvent::initCoordinates):
(WebCore::contentsScrollOffset): Deleted.

  • dom/MouseRelatedEvent.h:

LayoutTests:

  • fast/events/clientXY-in-zoom-and-scroll.html:
  • fast/visual-viewport/client-coordinates-relative-to-layout-viewport-expected.txt: Added.
  • fast/visual-viewport/client-coordinates-relative-to-layout-viewport.html: Added.
  • platform/ios/TestExpectations:
  • platform/mac/fast/events/clientXY-in-zoom-and-scroll-expected.txt:
10:33 AM Changeset in webkit [216823] by Chris Dumez
  • 37 edits in trunk/Source/WebKit/win

Drop uses of PassRefPtr in WebKit/win
https://bugs.webkit.org/show_bug.cgi?id=172067

Reviewed by Yusuke Suzuki.

  • DOMEventsClasses.cpp:

(DOMEvent::DOMEvent):
(DOMEvent::createInstance):

  • DOMEventsClasses.h:

(DOMUIEvent::DOMUIEvent):
(DOMKeyboardEvent::DOMKeyboardEvent):
(DOMMouseEvent::DOMMouseEvent):
(DOMMutationEvent::DOMMutationEvent):
(DOMOverflowEvent::DOMOverflowEvent):
(DOMWheelEvent::DOMWheelEvent):

  • MemoryStream.cpp:

(MemoryStream::MemoryStream):
(MemoryStream::createInstance):

  • MemoryStream.h:
  • Plugins/PluginDatabase.cpp:

(WebCore::PluginDatabase::refresh):
(WebCore::PluginDatabase::add):
(WebCore::PluginDatabase::loadPersistentMetadataCache):

  • Plugins/PluginDatabase.h:
  • Plugins/PluginPackage.cpp:

(WebCore::PluginPackage::createPackage):
(WebCore::PluginPackage::createPackageFromCache):

  • Plugins/PluginPackage.h:
  • Plugins/PluginStream.h:

(WebCore::PluginStream::create):

  • WebActionPropertyBag.cpp:

(WebActionPropertyBag::WebActionPropertyBag):
(WebActionPropertyBag::createInstance):

  • WebActionPropertyBag.h:
  • WebArchive.cpp:

(WebArchive::createInstance):
(WebArchive::WebArchive):

  • WebArchive.h:
  • WebBackForwardList.cpp:

(WebBackForwardList::WebBackForwardList):
(WebBackForwardList::createInstance):

  • WebBackForwardList.h:
  • WebCoreSupport/EmbeddedWidget.cpp:

(EmbeddedWidget::create):

  • WebCoreSupport/EmbeddedWidget.h:
  • WebCoreSupport/WebChromeClient.h:
  • WebFrame.cpp:

(WebFrame::loadData):
(WebFrame::createSubframeWithOwnerElement):

  • WebFrame.h:
  • WebFramePolicyListener.cpp:

(WebFramePolicyListener::WebFramePolicyListener):
(WebFramePolicyListener::createInstance):

  • WebFramePolicyListener.h:
  • WebGeolocationPolicyListener.cpp:

(WebGeolocationPolicyListener::createInstance):
(WebGeolocationPolicyListener::WebGeolocationPolicyListener):

  • WebGeolocationPolicyListener.h:
  • WebHistoryItem.cpp:

(WebHistoryItem::WebHistoryItem):
(WebHistoryItem::createInstance):

  • WebHistoryItem.h:
  • WebMutableURLRequest.cpp:

(WebMutableURLRequest::setFormData):
(WebMutableURLRequest::formData):

  • WebMutableURLRequest.h:
  • WebResource.cpp:

(WebResource::createInstance):

  • WebResource.h:
  • WebScriptWorld.cpp:

(WebScriptWorld::WebScriptWorld):
(WebScriptWorld::createInstance):

  • WebScriptWorld.h:
  • WebURLAuthenticationChallengeSender.cpp:

(WebURLAuthenticationChallengeSender::WebURLAuthenticationChallengeSender):
(WebURLAuthenticationChallengeSender::createInstance):

  • WebURLAuthenticationChallengeSender.h:
  • WebView.cpp:

(WebView::setFullScreenElement):

  • WebView.h:

May 12, 2017:

11:51 PM Changeset in webkit [216822] by jmarcell@apple.com
  • 36 edits
    15 moves
    1 add
    1 delete in branches/safari-604.1.21-branch

Cherry-pick r216809. rdar://problem/32141005

11:51 PM Changeset in webkit [216821] by jmarcell@apple.com
  • 2 edits in branches/safari-604.1.21-branch/Source/WebCore

Cherry-pick r216792. rdar://problem/32084098

11:51 PM Changeset in webkit [216820] by jmarcell@apple.com
  • 2 edits in branches/safari-604.1.21-branch/Source/WebKit2

Cherry-pick r216774. rdar://problem/31587957

11:39 PM Changeset in webkit [216819] by commit-queue@webkit.org
  • 9 edits
    1 delete in trunk/Source/WebCore

[WebIDL] Remove need for custom binding for Worker constructor
https://bugs.webkit.org/show_bug.cgi?id=172050

Patch by Sam Weinig <sam@webkit.org> on 2017-05-12
Reviewed by Chris Dumez.

  • CMakeLists.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/JSWorkerCustom.cpp: Removed.

Remove JSWorkerCustom.cpp

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateCallWith):

  • bindings/scripts/IDLAttributes.json:

Add RuntimeFlags as a new option for the ConstructorCallWith extended attribute.

  • workers/Worker.cpp:

(WebCore::Worker::create):

  • workers/Worker.h:

Update order of arguments to appease the generator.

  • workers/Worker.idl:

Add extended attributes for the constructor.

11:23 PM Changeset in webkit [216818] by jmarcell@apple.com
  • 8 edits
    2 adds in branches/safari-603-branch

Cherry-pick r216599. rdar://problem/32081484

10:41 PM Changeset in webkit [216817] by Simon Fraser
  • 21 edits in trunk

The rects returned by Element/Range.getClientRects() should not be rounded
https://bugs.webkit.org/show_bug.cgi?id=172057

Reviewed by Chris Dumez.

Source/WebCore:

Fix createDOMRectVector() to not expand the rects to integer boundaries (which
quad.enclosingBoundingBox() does), but to return rects with floating point
values. This matches Chrome and Firefox, and matches getBoundingClientRect(),
which does not integral snap.

  • dom/DOMRect.cpp:

(WebCore::createDOMRectVector):

LayoutTests:

Fix tests that were sensitive to rounding. I had to mark fast/text/multiglyph-characters.html
as failing (webkit.org/b/172056).

  • TestExpectations:
  • fast/dom/Document/CaretRangeFromPoint/caretRangeFromPoint-in-zoom-and-scroll.html:
  • fast/dom/Range/getClientRects-expected.txt:
  • fast/dom/Range/getClientRects.html:
  • fast/dom/Range/simple-line-layout-getclientrects-expected.html:
  • fast/dom/Range/simple-line-layout-getclientrects.html:
  • fast/visual-viewport/client-rects-relative-to-layout-viewport-expected.txt:
  • platform/ios/TestExpectations:
  • platform/ios/fast/multicol/client-rects-expected.txt:
  • platform/ios/fast/multicol/client-rects-spanners-complex-expected.txt:
  • platform/ios/fast/multicol/client-rects-spanners-expected.txt:
  • platform/ios/fast/multicol/newmulticol/client-rects-expected.txt:
  • platform/ios/fast/transforms/bounding-rect-zoom-expected.txt:
  • platform/mac/fast/multicol/client-rects-expected.txt:
  • platform/mac/fast/multicol/client-rects-spanners-complex-expected.txt:
  • platform/mac/fast/multicol/client-rects-spanners-expected.txt:
  • platform/mac/fast/multicol/newmulticol/client-rects-expected.txt:
  • platform/mac/fast/transforms/bounding-rect-zoom-expected.txt:
10:26 PM Changeset in webkit [216816] by Chris Dumez
  • 43 edits in trunk/Source/WebKit

Drop uses of PassRefPtr in WebKit/mac
https://bugs.webkit.org/show_bug.cgi?id=172066

Reviewed by Sam Weinig.

Source/WebKit/ios:

Build fix.

  • Misc/WebGeolocationProviderIOS.mm:

Source/WebKit/mac:

  • History/WebBackForwardListInternal.h:
  • History/WebHistoryItem.mm:

(kit):
(-[WebHistoryItem initWithWebCoreHistoryItem:]):

  • History/WebHistoryItemInternal.h:
  • Plugins/Hosted/HostedNetscapePluginStream.h:

(WebKit::HostedNetscapePluginStream::create):

  • Plugins/Hosted/NetscapePluginHostManager.h:
  • Plugins/Hosted/NetscapePluginHostManager.mm:

(WebKit::NetscapePluginHostManager::instantiatePlugin):

  • Plugins/Hosted/NetscapePluginInstanceProxy.h:
  • Plugins/Hosted/NetscapePluginInstanceProxy.mm:

(WebKit::NetscapePluginInstanceProxy::PluginRequest::create):
(WebKit::NetscapePluginInstanceProxy::create):
(WebKit::NetscapePluginInstanceProxy::setManualStream):

  • Plugins/Hosted/ProxyInstance.h:

(WebKit::ProxyInstance::create):

  • Plugins/Hosted/ProxyInstance.mm:

(WebKit::ProxyInstance::ProxyInstance):
(WebKit::ProxyInstance::newRuntimeObject):

  • Plugins/Hosted/ProxyRuntimeObject.h:

(WebKit::ProxyRuntimeObject::create):

  • Plugins/Hosted/ProxyRuntimeObject.mm:

(WebKit::ProxyRuntimeObject::ProxyRuntimeObject):

  • Plugins/Hosted/WebHostedNetscapePluginView.h:
  • Plugins/Hosted/WebHostedNetscapePluginView.mm:

(-[WebHostedNetscapePluginView initWithFrame:pluginPackage:URL:baseURL:MIMEType:attributeKeys:attributeValues:loadManually:element:]):

  • Plugins/WebBaseNetscapePluginView.h:
  • Plugins/WebBaseNetscapePluginView.mm:

(-[WebBaseNetscapePluginView initWithFrame:pluginPackage:URL:baseURL:MIMEType:attributeKeys:attributeValues:loadManually:element:]):

  • Plugins/WebNetscapePluginStream.h:

(WebNetscapePluginStream::create):

  • Plugins/WebNetscapePluginView.h:
  • Plugins/WebNetscapePluginView.mm:

(-[WebNetscapePluginView initWithFrame:pluginPackage:URL:baseURL:MIMEType:attributeKeys:attributeValues:loadManually:element:]):

  • WebCoreSupport/WebChromeClient.mm:
  • WebCoreSupport/WebEditorClient.mm:
  • WebCoreSupport/WebNotificationClient.mm:

(WebNotificationClient::requestPermission):
(-[WebNotificationPolicyListener initWithCallback:]):

  • WebCoreSupport/WebOpenPanelResultListener.mm:
  • WebCoreSupport/WebUserMediaClient.mm:

(WebUserMediaClient::requestUserMediaAccess):
(WebUserMediaClient::enumerateMediaDevices):
(-[WebUserMediaPolicyListener initWithUserMediaRequest:]):
(-[WebUserMediaPolicyCheckerListener initWithMediaDevicesEnumerationRequest:]):

  • WebView/WebArchive.mm:

(-[WebArchivePrivate initWithCoreArchive:]):
(-[WebArchivePrivate setCoreArchive:]):
(-[WebArchive initWithData:]):
(-[WebArchive subframeArchives]):
(-[WebArchive _initWithCoreLegacyWebArchive:]):

  • WebView/WebArchiveInternal.h:
  • WebView/WebDataSource.mm:

(WebDataSourcePrivate::WebDataSourcePrivate):
(WebDataSourcePrivate::~WebDataSourcePrivate):
(-[WebDataSource _initWithDocumentLoader:]):

  • WebView/WebDataSourceInternal.h:
  • WebView/WebDeviceOrientation.mm:

(-[WebDeviceOrientation initWithCoreDeviceOrientation:]):

  • WebView/WebDeviceOrientationInternal.h:
  • WebView/WebFrame.mm:

(-[WebFrame _convertToDOMRange:]):
(-[WebFrame _convertToDOMRange:rangeIsRelativeTo:]):

  • WebView/WebFrameInternal.h:
  • WebView/WebFullScreenController.h:
  • WebView/WebFullScreenController.mm:

(-[WebFullScreenController setElement:]):

  • WebView/WebGeolocationPosition.mm:

(-[WebGeolocationPositionInternal initWithCoreGeolocationPosition:]):
(-[WebGeolocationPosition initWithGeolocationPosition:]):

  • WebView/WebHTMLView.mm:

(currentKeyboardEvent):

  • WebView/WebResource.mm:
  • WebView/WebScriptWorld.mm:

(-[WebScriptWorld initWithWorld:]):
(+[WebScriptWorld standardWorld]):
(+[WebScriptWorld findOrCreateWorld:]):

  • WebView/WebViewData.h:

(LayerFlushController::create):

9:59 PM Changeset in webkit [216815] by ggaren@apple.com
  • 14 edits
    3 deletes in trunk/Source/JavaScriptCore

[JSC] DFG::Node should not have its own allocator
https://bugs.webkit.org/show_bug.cgi?id=160098

Reviewed by Saam Barati.

I just rebased the patch from <http://trac.webkit.org/changeset/203808>.

I ran Octane and JetStream locally on a MacBook Air and I wasn't able to
reproduce a regression. Let's land this again and see what the bots say.

(JSC::B3::SparseCollection::packIndices):

  • dfg/DFGAllocator.h: Removed.
  • dfg/DFGDriver.cpp:

(JSC::DFG::compileImpl):

  • dfg/DFGGraph.cpp:

(JSC::DFG::Graph::Graph):
(JSC::DFG::Graph::~Graph):
(JSC::DFG::Graph::deleteNode):
(JSC::DFG::Graph::packNodeIndices):
(JSC::DFG::Graph::addNodeToMapByIndex): Deleted.

  • dfg/DFGGraph.h:

(JSC::DFG::Graph::addNode):
(JSC::DFG::Graph::maxNodeCount):
(JSC::DFG::Graph::nodeAt):

  • dfg/DFGLongLivedState.cpp: Removed.
  • dfg/DFGLongLivedState.h: Removed.
  • dfg/DFGNode.h:
  • dfg/DFGNodeAllocator.h:
  • dfg/DFGPlan.cpp:

(JSC::DFG::Plan::compileInThread):
(JSC::DFG::Plan::compileInThreadImpl):

  • dfg/DFGPlan.h:
  • dfg/DFGWorklist.cpp:
  • runtime/VM.cpp:

(JSC::VM::VM):

  • runtime/VM.h:
8:09 PM Changeset in webkit [216814] by jmarcell@apple.com
  • 3 edits
    2 adds in branches/safari-603-branch

Cherry-pick r216307. rdar://problem/32119568

8:03 PM Changeset in webkit [216813] by jiewen_tan@apple.com
  • 3 edits
    2 adds in trunk

Elements should be inserted into a template element as its content's last child
https://bugs.webkit.org/show_bug.cgi?id=171373
<rdar://problem/31862949>

Reviewed by Ryosuke Niwa.

Source/WebCore:

Before this change, our HTML parser obeys the following premises:
1) A fostering child whose parent is a table should be inserted before its parent and under its grandparent.
2) When inserting into a template element, an element should be inserted into its content.

Let's walk through the example:
a) Before eventhandler takes place
template
table

svg <- parser

b) After eventhandler takes place
template

table

svg <- parser

c) after parsing svg
template

content

svg
(table)

table

Finally, in the example, the svg element will be inserted into the content of the template element while
having its next sibling point to the table element. However, the table element is actually under the
template element not its content.

This messy tree is constructed because the second premise is incompleted. It should be: When inserting into
a template element, an element should be inserted into its content as its last child.
Quoted from Step 3 of https://html.spec.whatwg.org/multipage/syntax.html#appropriate-place-for-inserting-a-node
A correct tree will then looks like:
template

content

svg

table

Tests: fast/dom/HTMLTemplateElement/insert-fostering-child-crash.html

fast/dom/HTMLTemplateElement/insert-fostering-child.html

  • html/parser/HTMLConstructionSite.cpp:

(WebCore::insert):
By nullifying task.nextChild, it will force the parser to append the element as task.parent's last child.

LayoutTests:

  • fast/dom/HTMLTemplateElement/insert-fostering-child-expected.txt: Added.
  • fast/dom/HTMLTemplateElement/insert-fostering-child.html: Added.
7:05 PM Changeset in webkit [216812] by jmarcell@apple.com
  • 7 edits in branches/safari-604.1.21-branch/Source

Versioning.

7:02 PM Changeset in webkit [216811] by rniwa@webkit.org
  • 699 adds in trunk/Websites/browserbench.org

Add Websites/browserbench.org
https://bugs.webkit.org/show_bug.cgi?id=172049

Rubber-stamped by Geoffrey Garen.

Added the current contents of browserbench.org.

  • ARES-6/ARES-6.svg: Added.
  • ARES-6/Air/README.md: Added.
  • ARES-6/Air/airjs-tests.yaml: Added.
  • ARES-6/Air/all.js: Added.
  • ARES-6/Air/allocate_stack.js: Added.
  • ARES-6/Air/arg.js: Added.
  • ARES-6/Air/basic_block.js: Added.
  • ARES-6/Air/benchmark.js: Added.
  • ARES-6/Air/code.js: Added.
  • ARES-6/Air/custom.js: Added.
  • ARES-6/Air/frequented_block.js: Added.
  • ARES-6/Air/insertion_set.js: Added.
  • ARES-6/Air/inst.js: Added.
  • ARES-6/Air/liveness.js: Added.
  • ARES-6/Air/make_dist.sh: Added.
  • ARES-6/Air/opcode.js: Added.
  • ARES-6/Air/payload-airjs-ACLj8C.js: Added.
  • ARES-6/Air/payload-gbemu-executeIteration.js: Added.
  • ARES-6/Air/payload-imaging-gaussian-blur-gaussianBlur.js: Added.
  • ARES-6/Air/payload-typescript-scanIdentifier.js: Added.
  • ARES-6/Air/reg.js: Added.
  • ARES-6/Air/stack_slot.js: Added.
  • ARES-6/Air/stress-test.js: Added.
  • ARES-6/Air/strip-hash.rb: Added.
  • ARES-6/Air/symbols.js: Added.
  • ARES-6/Air/test.html: Added.
  • ARES-6/Air/test.js: Added.
  • ARES-6/Air/tmp.js: Added.
  • ARES-6/Air/tmp_base.js: Added.
  • ARES-6/Air/util.js: Added.
  • ARES-6/Babylon/AUTHORS: Added.
  • ARES-6/Babylon/air-blob.js: Added.
  • ARES-6/Babylon/babylon-blob.js: Added.
  • ARES-6/Babylon/basic-blob.js: Added.
  • ARES-6/Babylon/benchmark.js: Added.
  • ARES-6/Babylon/index.js: Added.
  • ARES-6/Babylon/inspector-blob.js: Added.
  • ARES-6/Basic/ast.js: Added.
  • ARES-6/Basic/basic-tests.yaml: Added.
  • ARES-6/Basic/basic.js: Added.
  • ARES-6/Basic/benchmark.js: Added.
  • ARES-6/Basic/caseless_map.js: Added.
  • ARES-6/Basic/lexer.js: Added.
  • ARES-6/Basic/number.js: Added.
  • ARES-6/Basic/parser.js: Added.
  • ARES-6/Basic/random.js: Added.
  • ARES-6/Basic/state.js: Added.
  • ARES-6/Basic/stress-test.js: Added.
  • ARES-6/Basic/test.html: Added.
  • ARES-6/Basic/test.js: Added.
  • ARES-6/Basic/util.js: Added.
  • ARES-6/about.html: Added.
  • ARES-6/air_benchmark.js: Added.
  • ARES-6/babylon_benchmark.js: Added.
  • ARES-6/basic_benchmark.js: Added.
  • ARES-6/cli.js: Added.
  • ARES-6/driver.js: Added.
  • ARES-6/glue.js: Added.
  • ARES-6/index.html: Added.
  • ARES-6/ml/benchmark.js: Added.
  • ARES-6/ml/index.js: Added.
  • ARES-6/ml_benchmark.js: Added.
  • ARES-6/results.js: Added.
  • ARES-6/stats.js: Added.
  • ARES-6/styles.css: Added.
  • ARES-6/swoop.svg: Added.
  • JetStream/CDjsSetup.js: Added.
  • JetStream/JetStream-Logo.png: Added.
  • JetStream/JetStream-Logo@2x.png: Added.
  • JetStream/JetStream.css: Added.
  • JetStream/JetStreamDriver.js: Added.
  • JetStream/LLVM-test-suite-LICENSE.txt: Added.
  • JetStream/Octane/base.js: Added.
  • JetStream/Octane/code-load.js: Added.
  • JetStream/Octane2/base.js: Added.
  • JetStream/Octane2/box2d.js: Added.
  • JetStream/Octane2/code-load.js: Added.
  • JetStream/Octane2/crypto.js: Added.
  • JetStream/Octane2/deltablue.js: Added.
  • JetStream/Octane2/earley-boyer.js: Added.
  • JetStream/Octane2/gbemu-part1.js: Added.
  • JetStream/Octane2/gbemu-part2.js: Added.
  • JetStream/Octane2/mandreel.js: Added.
  • JetStream/Octane2/navier-stokes.js: Added.
  • JetStream/Octane2/pdfjs.js: Added.
  • JetStream/Octane2/raytrace.js: Added.
  • JetStream/Octane2/regexp.js: Added.
  • JetStream/Octane2/richards.js: Added.
  • JetStream/Octane2/run.js: Added.
  • JetStream/Octane2/splay.js: Added.
  • JetStream/Octane2/typescript-compiler.js: Added.
  • JetStream/Octane2/typescript-input.js: Added.
  • JetStream/Octane2/typescript.js: Added.
  • JetStream/Octane2/zlib-data.js: Added.
  • JetStream/Octane2/zlib.js: Added.
  • JetStream/Octane2Setup.js: Added.
  • JetStream/OctaneSetup.js: Added.
  • JetStream/Reference.js: Added.
  • JetStream/SimplePayload.js: Added.
  • JetStream/SimpleSetup.js: Added.
  • JetStream/SunSpiderPayload.js: Added.
  • JetStream/SunSpiderSetup.js: Added.
  • JetStream/Swoosh.png: Added.
  • JetStream/Swoosh@2x.png: Added.
  • JetStream/TestingSetup.js: Added.
  • JetStream/cdjs/benchmark.js: Added.
  • JetStream/cdjs/call_sign.js: Added.
  • JetStream/cdjs/collision.js: Added.
  • JetStream/cdjs/collision_detector.js: Added.
  • JetStream/cdjs/constants.js: Added.
  • JetStream/cdjs/motion.js: Added.
  • JetStream/cdjs/red_black_tree.js: Added.
  • JetStream/cdjs/reduce_collision_set.js: Added.
  • JetStream/cdjs/simulator.js: Added.
  • JetStream/cdjs/util.js: Added.
  • JetStream/cdjs/vector_2d.js: Added.
  • JetStream/cdjs/vector_3d.js: Added.
  • JetStream/in-depth.html: Added.
  • JetStream/index.html: Added.
  • JetStream/simple/bigfib.cpp: Added.
  • JetStream/simple/bigfib.cpp.js: Added.
  • JetStream/simple/container.cpp: Added.
  • JetStream/simple/container.cpp.js: Added.
  • JetStream/simple/dry.c: Added.
  • JetStream/simple/dry.c.js: Added.
  • JetStream/simple/float-mm.c: Added.
  • JetStream/simple/float-mm.c.js: Added.
  • JetStream/simple/gcc-loops.cpp: Added.
  • JetStream/simple/gcc-loops.cpp.js: Added.
  • JetStream/simple/hash-map.js: Added.
  • JetStream/simple/n-body.c: Added.
  • JetStream/simple/n-body.c.js: Added.
  • JetStream/simple/quicksort.c: Added.
  • JetStream/simple/quicksort.c.js: Added.
  • JetStream/simple/towers.c: Added.
  • JetStream/simple/towers.c.js: Added.
  • JetStream/sources/3d-cube.js: Added.
  • JetStream/sources/3d-raytrace.js: Added.
  • JetStream/sources/base64.js: Added.
  • JetStream/sources/bigfib.cpp: Added.
  • JetStream/sources/bigfib.cpp.js: Added.
  • JetStream/sources/box2d.js: Added.
  • JetStream/sources/cdjs-benchmark.js: Added.
  • JetStream/sources/cdjs-call_sign.js: Added.
  • JetStream/sources/cdjs-collision.js: Added.
  • JetStream/sources/cdjs-collision_detector.js: Added.
  • JetStream/sources/cdjs-constants.js: Added.
  • JetStream/sources/cdjs-motion.js: Added.
  • JetStream/sources/cdjs-red_black_tree.js: Added.
  • JetStream/sources/cdjs-reduce_collision_set.js: Added.
  • JetStream/sources/cdjs-simulator.js: Added.
  • JetStream/sources/cdjs-util.js: Added.
  • JetStream/sources/cdjs-vector_2d.js: Added.
  • JetStream/sources/cdjs-vector_3d.js: Added.
  • JetStream/sources/code-first-load-code-load.js: Added.
  • JetStream/sources/code-multi-load-code-load.js: Added.
  • JetStream/sources/container.cpp: Added.
  • JetStream/sources/container.cpp.js: Added.
  • JetStream/sources/crypto-aes.js: Added.
  • JetStream/sources/crypto-md5.js: Added.
  • JetStream/sources/crypto-sha1.js: Added.
  • JetStream/sources/crypto.js: Added.
  • JetStream/sources/date-format-tofte.js: Added.
  • JetStream/sources/date-format-xparb.js: Added.
  • JetStream/sources/deltablue.js: Added.
  • JetStream/sources/dry.c: Added.
  • JetStream/sources/dry.c.js: Added.
  • JetStream/sources/earley-boyer.js: Added.
  • JetStream/sources/float-mm.c: Added.
  • JetStream/sources/float-mm.c.js: Added.
  • JetStream/sources/gbemu-part1.js: Added.
  • JetStream/sources/gbemu-part2.js: Added.
  • JetStream/sources/gcc-loops.cpp: Added.
  • JetStream/sources/gcc-loops.cpp.js: Added.
  • JetStream/sources/hash-map.js: Added.
  • JetStream/sources/mandreel.js: Added.
  • JetStream/sources/n-body.c: Added.
  • JetStream/sources/n-body.c.js: Added.
  • JetStream/sources/n-body.js: Added.
  • JetStream/sources/navier-stokes.js: Added.
  • JetStream/sources/pdfjs.js: Added.
  • JetStream/sources/quicksort.c: Added.
  • JetStream/sources/quicksort.c.js: Added.
  • JetStream/sources/raytrace.js: Added.
  • JetStream/sources/regex-dna.js: Added.
  • JetStream/sources/regexp.js: Added.
  • JetStream/sources/richards.js: Added.
  • JetStream/sources/splay.js: Added.
  • JetStream/sources/tagcloud.js: Added.
  • JetStream/sources/towers.c: Added.
  • JetStream/sources/towers.c.js: Added.
  • JetStream/sources/typescript-compiler.js: Added.
  • JetStream/sources/typescript-input.js: Added.
  • JetStream/sources/typescript.js: Added.
  • JetStream/sources/zlib-data.js: Added.
  • JetStream/sources/zlib.js: Added.
  • JetStream/sunspider/3d-cube.js: Added.
  • JetStream/sunspider/3d-raytrace.js: Added.
  • JetStream/sunspider/base64.js: Added.
  • JetStream/sunspider/crypto-aes.js: Added.
  • JetStream/sunspider/crypto-md5.js: Added.
  • JetStream/sunspider/crypto-sha1.js: Added.
  • JetStream/sunspider/date-format-tofte.js: Added.
  • JetStream/sunspider/date-format-xparb.js: Added.
  • JetStream/sunspider/n-body.js: Added.
  • JetStream/sunspider/regex-dna.js: Added.
  • JetStream/sunspider/tagcloud.js: Added.
  • MotionMark/about.html: Added.
  • MotionMark/developer.html: Added.
  • MotionMark/index.html: Added.
  • MotionMark/resources/debug-runner/animometer.css: Added.
  • MotionMark/resources/debug-runner/animometer.js: Added.
  • MotionMark/resources/debug-runner/d3.min.js: Added.
  • MotionMark/resources/debug-runner/graph.js: Added.
  • MotionMark/resources/debug-runner/tests.js: Added.
  • MotionMark/resources/extensions.js: Added.
  • MotionMark/resources/runner/animometer.css: Added.
  • MotionMark/resources/runner/animometer.js: Added.
  • MotionMark/resources/runner/benchmark-runner.js: Added.
  • MotionMark/resources/runner/crystal.svg: Added.
  • MotionMark/resources/runner/lines.svg: Added.
  • MotionMark/resources/runner/logo.svg: Added.
  • MotionMark/resources/runner/tests.js: Added.
  • MotionMark/resources/statistics.js: Added.
  • MotionMark/resources/strings.js: Added.
  • MotionMark/tests/3d/resources/webgl.js: Added.
  • MotionMark/tests/3d/webgl.html: Added.
  • MotionMark/tests/bouncing-particles/bouncing-canvas-images.html: Added.
  • MotionMark/tests/bouncing-particles/bouncing-canvas-shapes.html: Added.
  • MotionMark/tests/bouncing-particles/bouncing-css-images.html: Added.
  • MotionMark/tests/bouncing-particles/bouncing-css-shapes.html: Added.
  • MotionMark/tests/bouncing-particles/bouncing-svg-images.html: Added.
  • MotionMark/tests/bouncing-particles/bouncing-svg-shapes.html: Added.
  • MotionMark/tests/bouncing-particles/bouncing-tagged-images.html: Added.
  • MotionMark/tests/bouncing-particles/resources/bouncing-canvas-images.js: Added.
  • MotionMark/tests/bouncing-particles/resources/bouncing-canvas-particles.js: Added.
  • MotionMark/tests/bouncing-particles/resources/bouncing-canvas-shapes.js: Added.
  • MotionMark/tests/bouncing-particles/resources/bouncing-css-images.js: Added.
  • MotionMark/tests/bouncing-particles/resources/bouncing-css-shapes.js: Added.
  • MotionMark/tests/bouncing-particles/resources/bouncing-particles.js: Added.
  • MotionMark/tests/bouncing-particles/resources/bouncing-svg-images.js: Added.
  • MotionMark/tests/bouncing-particles/resources/bouncing-svg-particles.js: Added.
  • MotionMark/tests/bouncing-particles/resources/bouncing-svg-shapes.js: Added.
  • MotionMark/tests/bouncing-particles/resources/bouncing-tagged-images.js: Added.
  • MotionMark/tests/bouncing-particles/resources/image1.jpg: Added.
  • MotionMark/tests/bouncing-particles/resources/image2.jpg: Added.
  • MotionMark/tests/bouncing-particles/resources/image3.jpg: Added.
  • MotionMark/tests/bouncing-particles/resources/image4.jpg: Added.
  • MotionMark/tests/bouncing-particles/resources/image5.jpg: Added.
  • MotionMark/tests/dom/compositing-transforms.html: Added.
  • MotionMark/tests/dom/focus.html: Added.
  • MotionMark/tests/dom/leaves.html: Added.
  • MotionMark/tests/dom/particles.html: Added.
  • MotionMark/tests/dom/resources/compositing-transforms.js: Added.
  • MotionMark/tests/dom/resources/dom-particles.js: Added.
  • MotionMark/tests/dom/resources/focus.js: Added.
  • MotionMark/tests/dom/resources/leaves.js: Added.
  • MotionMark/tests/master/canvas-stage.html: Added.
  • MotionMark/tests/master/focus.html: Added.
  • MotionMark/tests/master/image-data.html: Added.
  • MotionMark/tests/master/leaves.html: Added.
  • MotionMark/tests/master/multiply.html: Added.
  • MotionMark/tests/master/resources/canvas-stage.js: Added.
  • MotionMark/tests/master/resources/canvas-tests.js: Added.
  • MotionMark/tests/master/resources/compass.svg: Added.
  • MotionMark/tests/master/resources/compass100.png: Added.
  • MotionMark/tests/master/resources/console.svg: Added.
  • MotionMark/tests/master/resources/console100.png: Added.
  • MotionMark/tests/master/resources/contribute.svg: Added.
  • MotionMark/tests/master/resources/contribute100.png: Added.
  • MotionMark/tests/master/resources/debugger.svg: Added.
  • MotionMark/tests/master/resources/debugger100.png: Added.
  • MotionMark/tests/master/resources/focus.js: Added.
  • MotionMark/tests/master/resources/image-data.js: Added.
  • MotionMark/tests/master/resources/inspector.svg: Added.
  • MotionMark/tests/master/resources/inspector100.png: Added.
  • MotionMark/tests/master/resources/layout.svg: Added.
  • MotionMark/tests/master/resources/layout100.png: Added.
  • MotionMark/tests/master/resources/leaves.js: Added.
  • MotionMark/tests/master/resources/multiply.js: Added.
  • MotionMark/tests/master/resources/particles.js: Added.
  • MotionMark/tests/master/resources/performance.svg: Added.
  • MotionMark/tests/master/resources/performance100.png: Added.
  • MotionMark/tests/master/resources/script.svg: Added.
  • MotionMark/tests/master/resources/script100.png: Added.
  • MotionMark/tests/master/resources/shortcuts.svg: Added.
  • MotionMark/tests/master/resources/shortcuts100.png: Added.
  • MotionMark/tests/master/resources/standards.svg: Added.
  • MotionMark/tests/master/resources/standards100.png: Added.
  • MotionMark/tests/master/resources/storage.svg: Added.
  • MotionMark/tests/master/resources/storage100.png: Added.
  • MotionMark/tests/master/resources/styles.svg: Added.
  • MotionMark/tests/master/resources/styles100.png: Added.
  • MotionMark/tests/master/resources/svg-particles.js: Added.
  • MotionMark/tests/master/resources/text.js: Added.
  • MotionMark/tests/master/resources/timeline.svg: Added.
  • MotionMark/tests/master/resources/timeline100.png: Added.
  • MotionMark/tests/master/svg-particles.html: Added.
  • MotionMark/tests/master/text.html: Added.
  • MotionMark/tests/resources/main.js: Added.
  • MotionMark/tests/resources/math.js: Added.
  • MotionMark/tests/resources/stage.css: Added.
  • MotionMark/tests/resources/star.svg: Added.
  • MotionMark/tests/resources/yin-yang.png: Added.
  • MotionMark/tests/resources/yin-yang.svg: Added.
  • MotionMark/tests/simple/resources/simple-canvas-paths.js: Added.
  • MotionMark/tests/simple/resources/simple-canvas.js: Added.
  • MotionMark/tests/simple/resources/tiled-canvas-image.js: Added.
  • MotionMark/tests/simple/simple-canvas-paths.html: Added.
  • MotionMark/tests/simple/tiled-canvas-image.html: Added.
  • MotionMark/tests/template/resources/template-canvas.js: Added.
  • MotionMark/tests/template/resources/template-css.js: Added.
  • MotionMark/tests/template/resources/template-svg.js: Added.
  • MotionMark/tests/template/template-canvas.html: Added.
  • MotionMark/tests/template/template-css.html: Added.
  • MotionMark/tests/template/template-svg.html: Added.
  • MotionMark/version: Added.
  • Speedometer/Full.html: Added.
  • Speedometer/InteractiveRunner.html: Added.
  • Speedometer/resources/benchmark-report.js: Added.
  • Speedometer/resources/benchmark-runner.js: Added.
  • Speedometer/resources/flightjs-example-app/LICENSE.md: Added.
  • Speedometer/resources/flightjs-example-app/README.md: Added.
  • Speedometer/resources/flightjs-example-app/app/boot/page.js: Added.
  • Speedometer/resources/flightjs-example-app/app/component_data/compose_box.js: Added.
  • Speedometer/resources/flightjs-example-app/app/component_data/mail_items.js: Added.
  • Speedometer/resources/flightjs-example-app/app/component_data/move_to.js: Added.
  • Speedometer/resources/flightjs-example-app/app/component_ui/compose_box.js: Added.
  • Speedometer/resources/flightjs-example-app/app/component_ui/folders.js: Added.
  • Speedometer/resources/flightjs-example-app/app/component_ui/mail_controls.js: Added.
  • Speedometer/resources/flightjs-example-app/app/component_ui/mail_items.js: Added.
  • Speedometer/resources/flightjs-example-app/app/component_ui/move_to_selector.js: Added.
  • Speedometer/resources/flightjs-example-app/app/component_ui/with_select.js: Added.
  • Speedometer/resources/flightjs-example-app/app/css/custom.css: Added.
  • Speedometer/resources/flightjs-example-app/app/data.js: Added.
  • Speedometer/resources/flightjs-example-app/app/templates.js: Added.
  • Speedometer/resources/flightjs-example-app/components/bootstrap/css/bootstrap-responsive.css: Added.
  • Speedometer/resources/flightjs-example-app/components/bootstrap/css/bootstrap-responsive.min.css: Added.
  • Speedometer/resources/flightjs-example-app/components/bootstrap/css/bootstrap.css: Added.
  • Speedometer/resources/flightjs-example-app/components/bootstrap/css/bootstrap.min.css: Added.
  • Speedometer/resources/flightjs-example-app/components/bootstrap/img/glyphicons-halflings-white.png: Added.
  • Speedometer/resources/flightjs-example-app/components/bootstrap/img/glyphicons-halflings.png: Added.
  • Speedometer/resources/flightjs-example-app/components/bootstrap/js/bootstrap.js: Added.
  • Speedometer/resources/flightjs-example-app/components/bootstrap/js/bootstrap.min.js: Added.
  • Speedometer/resources/flightjs-example-app/components/es5-shim/.gitignore: Added.
  • Speedometer/resources/flightjs-example-app/components/es5-shim/CHANGES: Added.
  • Speedometer/resources/flightjs-example-app/components/es5-shim/CONTRIBUTORS.md: Added.
  • Speedometer/resources/flightjs-example-app/components/es5-shim/LICENSE: Added.
  • Speedometer/resources/flightjs-example-app/components/es5-shim/README.md: Added.
  • Speedometer/resources/flightjs-example-app/components/es5-shim/component.json: Added.
  • Speedometer/resources/flightjs-example-app/components/es5-shim/es5-sham.js: Added.
  • Speedometer/resources/flightjs-example-app/components/es5-shim/es5-sham.min.js: Added.
  • Speedometer/resources/flightjs-example-app/components/es5-shim/es5-shim.js: Added.
  • Speedometer/resources/flightjs-example-app/components/es5-shim/es5-shim.min.js: Added.
  • Speedometer/resources/flightjs-example-app/components/es5-shim/package.json: Added.
  • Speedometer/resources/flightjs-example-app/components/es5-shim/tests/helpers/h-kill.js: Added.
  • Speedometer/resources/flightjs-example-app/components/es5-shim/tests/helpers/h-matchers.js: Added.
  • Speedometer/resources/flightjs-example-app/components/es5-shim/tests/helpers/h.js: Added.
  • Speedometer/resources/flightjs-example-app/components/es5-shim/tests/index.html: Added.
  • Speedometer/resources/flightjs-example-app/components/es5-shim/tests/lib/jasmine-html.js: Added.
  • Speedometer/resources/flightjs-example-app/components/es5-shim/tests/lib/jasmine.css: Added.
  • Speedometer/resources/flightjs-example-app/components/es5-shim/tests/lib/jasmine.js: Added.
  • Speedometer/resources/flightjs-example-app/components/es5-shim/tests/lib/jasmine_favicon.png: Added.
  • Speedometer/resources/flightjs-example-app/components/es5-shim/tests/lib/json2.js: Added.
  • Speedometer/resources/flightjs-example-app/components/es5-shim/tests/spec/s-array.js: Added.
  • Speedometer/resources/flightjs-example-app/components/es5-shim/tests/spec/s-date.js: Added.
  • Speedometer/resources/flightjs-example-app/components/es5-shim/tests/spec/s-function.js: Added.
  • Speedometer/resources/flightjs-example-app/components/es5-shim/tests/spec/s-object.js: Added.
  • Speedometer/resources/flightjs-example-app/components/es5-shim/tests/spec/s-string.js: Added.
  • Speedometer/resources/flightjs-example-app/components/flight/.travis.yml: Added.
  • Speedometer/resources/flightjs-example-app/components/flight/lib/advice.js: Added.
  • Speedometer/resources/flightjs-example-app/components/flight/lib/component.js: Added.
  • Speedometer/resources/flightjs-example-app/components/flight/lib/compose.js: Added.
  • Speedometer/resources/flightjs-example-app/components/flight/lib/index.js: Added.
  • Speedometer/resources/flightjs-example-app/components/flight/lib/logger.js: Added.
  • Speedometer/resources/flightjs-example-app/components/flight/lib/registry.js: Added.
  • Speedometer/resources/flightjs-example-app/components/flight/lib/utils.js: Added.
  • Speedometer/resources/flightjs-example-app/components/flight/tools/debug/debug.js: Added.
  • Speedometer/resources/flightjs-example-app/components/jasmine-flight/LICENSE.md: Added.
  • Speedometer/resources/flightjs-example-app/components/jasmine-flight/README.md: Added.
  • Speedometer/resources/flightjs-example-app/components/jasmine-flight/bower.json: Added.
  • Speedometer/resources/flightjs-example-app/components/jasmine-flight/lib/jasmine-flight.js: Added.
  • Speedometer/resources/flightjs-example-app/components/jasmine-jquery/lib/jasmine-jquery.js: Added.
  • Speedometer/resources/flightjs-example-app/components/jquery/component.json: Added.
  • Speedometer/resources/flightjs-example-app/components/jquery/composer.json: Added.
  • Speedometer/resources/flightjs-example-app/components/jquery/jquery.js: Added.
  • Speedometer/resources/flightjs-example-app/components/jquery/jquery.min.js: Added.
  • Speedometer/resources/flightjs-example-app/components/mustache/mustache.js: Added.
  • Speedometer/resources/flightjs-example-app/components/requirejs/require.js: Added.
  • Speedometer/resources/flightjs-example-app/index.html: Added.
  • Speedometer/resources/flightjs-example-app/karma.conf.js: Added.
  • Speedometer/resources/flightjs-example-app/package.json: Added.
  • Speedometer/resources/flightjs-example-app/requireMain.js: Added.
  • Speedometer/resources/gauge.png: Added.
  • Speedometer/resources/gauge@2x.png: Added.
  • Speedometer/resources/logo.png: Added.
  • Speedometer/resources/logo@2x.png: Added.
  • Speedometer/resources/main.css: Added.
  • Speedometer/resources/main.js: Added.
  • Speedometer/resources/statistics.js: Added.
  • Speedometer/resources/tests.js: Added.
  • Speedometer/resources/todomvc/architecture-examples/angularjs/bower.json: Added.
  • Speedometer/resources/todomvc/architecture-examples/angularjs/bower_components/angular-mocks/angular-mocks.js: Added.
  • Speedometer/resources/todomvc/architecture-examples/angularjs/bower_components/angular/angular.js: Added.
  • Speedometer/resources/todomvc/architecture-examples/angularjs/bower_components/todomvc-common/base.css: Added.
  • Speedometer/resources/todomvc/architecture-examples/angularjs/bower_components/todomvc-common/base.js: Added.
  • Speedometer/resources/todomvc/architecture-examples/angularjs/bower_components/todomvc-common/bg.png: Added.
  • Speedometer/resources/todomvc/architecture-examples/angularjs/index.html: Added.
  • Speedometer/resources/todomvc/architecture-examples/angularjs/js/app.js: Added.
  • Speedometer/resources/todomvc/architecture-examples/angularjs/js/controllers/todoCtrl.js: Added.
  • Speedometer/resources/todomvc/architecture-examples/angularjs/js/directives/todoBlur.js: Added.
  • Speedometer/resources/todomvc/architecture-examples/angularjs/js/directives/todoEscape.js: Added.
  • Speedometer/resources/todomvc/architecture-examples/angularjs/js/directives/todoFocus.js: Added.
  • Speedometer/resources/todomvc/architecture-examples/angularjs/js/services/todoStorage.js: Added.
  • Speedometer/resources/todomvc/architecture-examples/angularjs/readme.md: Added.
  • Speedometer/resources/todomvc/architecture-examples/angularjs/test/config/testacular.conf.js: Added.
  • Speedometer/resources/todomvc/architecture-examples/angularjs/test/package.json: Added.
  • Speedometer/resources/todomvc/architecture-examples/angularjs/test/readme.md: Added.
  • Speedometer/resources/todomvc/architecture-examples/angularjs/test/unit/directivesSpec.js: Added.
  • Speedometer/resources/todomvc/architecture-examples/angularjs/test/unit/todoCtrlSpec.js: Added.
  • Speedometer/resources/todomvc/architecture-examples/backbone/bower.json: Added.
  • Speedometer/resources/todomvc/architecture-examples/backbone/bower_components/backbone.localStorage/backbone.localStorage.js: Added.
  • Speedometer/resources/todomvc/architecture-examples/backbone/bower_components/backbone/backbone.js: Added.
  • Speedometer/resources/todomvc/architecture-examples/backbone/bower_components/jquery/jquery.js: Added.
  • Speedometer/resources/todomvc/architecture-examples/backbone/bower_components/todomvc-common/base.css: Added.
  • Speedometer/resources/todomvc/architecture-examples/backbone/bower_components/todomvc-common/base.js: Added.
  • Speedometer/resources/todomvc/architecture-examples/backbone/bower_components/todomvc-common/bg.png: Added.
  • Speedometer/resources/todomvc/architecture-examples/backbone/bower_components/underscore/underscore.js: Added.
  • Speedometer/resources/todomvc/architecture-examples/backbone/index.html: Added.
  • Speedometer/resources/todomvc/architecture-examples/backbone/js/app.js: Added.
  • Speedometer/resources/todomvc/architecture-examples/backbone/js/collections/todos.js: Added.
  • Speedometer/resources/todomvc/architecture-examples/backbone/js/models/todo.js: Added.
  • Speedometer/resources/todomvc/architecture-examples/backbone/js/routers/router.js: Added.
  • Speedometer/resources/todomvc/architecture-examples/backbone/js/views/app-view.js: Added.
  • Speedometer/resources/todomvc/architecture-examples/backbone/js/views/todo-view.js: Added.
  • Speedometer/resources/todomvc/architecture-examples/backbone/readme.md: Added.
  • Speedometer/resources/todomvc/architecture-examples/emberjs/bower.json: Added.
  • Speedometer/resources/todomvc/architecture-examples/emberjs/bower_components/ember-data/ember-data.js: Added.
  • Speedometer/resources/todomvc/architecture-examples/emberjs/bower_components/ember-localstorage-adapter/localstorage_adapter.js: Added.
  • Speedometer/resources/todomvc/architecture-examples/emberjs/bower_components/ember/ember.js: Added.
  • Speedometer/resources/todomvc/architecture-examples/emberjs/bower_components/handlebars/handlebars.js: Added.
  • Speedometer/resources/todomvc/architecture-examples/emberjs/bower_components/jquery/jquery.js: Added.
  • Speedometer/resources/todomvc/architecture-examples/emberjs/bower_components/todomvc-common/base.css: Added.
  • Speedometer/resources/todomvc/architecture-examples/emberjs/bower_components/todomvc-common/base.js: Added.
  • Speedometer/resources/todomvc/architecture-examples/emberjs/bower_components/todomvc-common/bg.png: Added.
  • Speedometer/resources/todomvc/architecture-examples/emberjs/index.html: Added.
  • Speedometer/resources/todomvc/architecture-examples/emberjs/js/app.js: Added.
  • Speedometer/resources/todomvc/architecture-examples/emberjs/js/controllers/todo_controller.js: Added.
  • Speedometer/resources/todomvc/architecture-examples/emberjs/js/controllers/todos_controller.js: Added.
  • Speedometer/resources/todomvc/architecture-examples/emberjs/js/helpers/pluralize.js: Added.
  • Speedometer/resources/todomvc/architecture-examples/emberjs/js/models/todo.js: Added.
  • Speedometer/resources/todomvc/architecture-examples/emberjs/js/router.js: Added.
  • Speedometer/resources/todomvc/architecture-examples/emberjs/js/views/edit_todo_view.js: Added.
  • Speedometer/resources/todomvc/architecture-examples/emberjs/js/views/todos_view.js: Added.
  • Speedometer/resources/todomvc/architecture-examples/emberjs/readme.md: Added.
  • Speedometer/resources/todomvc/architecture-examples/emberjs/test.html: Added.
  • Speedometer/resources/todomvc/architecture-examples/jquery/bower.json: Added.
  • Speedometer/resources/todomvc/architecture-examples/jquery/bower_components/handlebars/handlebars.js: Added.
  • Speedometer/resources/todomvc/architecture-examples/jquery/bower_components/jquery/jquery.js: Added.
  • Speedometer/resources/todomvc/architecture-examples/jquery/bower_components/todomvc-common/base.css: Added.
  • Speedometer/resources/todomvc/architecture-examples/jquery/bower_components/todomvc-common/base.js: Added.
  • Speedometer/resources/todomvc/architecture-examples/jquery/bower_components/todomvc-common/bg.png: Added.
  • Speedometer/resources/todomvc/architecture-examples/jquery/css/app.css: Added.
  • Speedometer/resources/todomvc/architecture-examples/jquery/index.html: Added.
  • Speedometer/resources/todomvc/architecture-examples/jquery/js/app.js: Added.
  • Speedometer/resources/todomvc/architecture-examples/jquery/readme.md: Added.
  • Speedometer/resources/todomvc/dependency-examples/flight/.gitignore: Added.
  • Speedometer/resources/todomvc/dependency-examples/flight/.jshintrc: Added.
  • Speedometer/resources/todomvc/dependency-examples/flight/app/js/app.js: Added.
  • Speedometer/resources/todomvc/dependency-examples/flight/app/js/data/stats.js: Added.
  • Speedometer/resources/todomvc/dependency-examples/flight/app/js/data/todos.js: Added.
  • Speedometer/resources/todomvc/dependency-examples/flight/app/js/main.js: Added.
  • Speedometer/resources/todomvc/dependency-examples/flight/app/js/store.js: Added.
  • Speedometer/resources/todomvc/dependency-examples/flight/app/js/ui/main_selector.js: Added.
  • Speedometer/resources/todomvc/dependency-examples/flight/app/js/ui/new_item.js: Added.
  • Speedometer/resources/todomvc/dependency-examples/flight/app/js/ui/stats.js: Added.
  • Speedometer/resources/todomvc/dependency-examples/flight/app/js/ui/todo_list.js: Added.
  • Speedometer/resources/todomvc/dependency-examples/flight/app/js/ui/toggle_all.js: Added.
  • Speedometer/resources/todomvc/dependency-examples/flight/app/js/ui/with_filters.js: Added.
  • Speedometer/resources/todomvc/dependency-examples/flight/app/js/utils.js: Added.
  • Speedometer/resources/todomvc/dependency-examples/flight/app/templates/stats.html: Added.
  • Speedometer/resources/todomvc/dependency-examples/flight/app/templates/todo.html: Added.
  • Speedometer/resources/todomvc/dependency-examples/flight/bower.json: Added.
  • Speedometer/resources/todomvc/dependency-examples/flight/bower_components/depot/depot.js: Added.
  • Speedometer/resources/todomvc/dependency-examples/flight/bower_components/es5-shim/es5-sham.js: Added.
  • Speedometer/resources/todomvc/dependency-examples/flight/bower_components/es5-shim/es5-shim.js: Added.
  • Speedometer/resources/todomvc/dependency-examples/flight/bower_components/flight/lib/advice.js: Added.
  • Speedometer/resources/todomvc/dependency-examples/flight/bower_components/flight/lib/base.js: Added.
  • Speedometer/resources/todomvc/dependency-examples/flight/bower_components/flight/lib/component.js: Added.
  • Speedometer/resources/todomvc/dependency-examples/flight/bower_components/flight/lib/compose.js: Added.
  • Speedometer/resources/todomvc/dependency-examples/flight/bower_components/flight/lib/debug.js: Added.
  • Speedometer/resources/todomvc/dependency-examples/flight/bower_components/flight/lib/index.js: Added.
  • Speedometer/resources/todomvc/dependency-examples/flight/bower_components/flight/lib/logger.js: Added.
  • Speedometer/resources/todomvc/dependency-examples/flight/bower_components/flight/lib/registry.js: Added.
  • Speedometer/resources/todomvc/dependency-examples/flight/bower_components/flight/lib/utils.js: Added.
  • Speedometer/resources/todomvc/dependency-examples/flight/bower_components/jquery/jquery.js: Added.
  • Speedometer/resources/todomvc/dependency-examples/flight/bower_components/requirejs-text/text.js: Added.
  • Speedometer/resources/todomvc/dependency-examples/flight/bower_components/requirejs/require.js: Added.
  • Speedometer/resources/todomvc/dependency-examples/flight/bower_components/todomvc-common/base.css: Added.
  • Speedometer/resources/todomvc/dependency-examples/flight/bower_components/todomvc-common/base.js: Added.
  • Speedometer/resources/todomvc/dependency-examples/flight/bower_components/todomvc-common/bg.png: Added.
  • Speedometer/resources/todomvc/dependency-examples/flight/index.html: Added.
  • Speedometer/resources/todomvc/dependency-examples/flight/karma.conf.js: Added.
  • Speedometer/resources/todomvc/dependency-examples/flight/package.json: Added.
  • Speedometer/resources/todomvc/dependency-examples/flight/readme.md: Added.
  • Speedometer/resources/todomvc/dependency-examples/flight/test/.jshintrc: Added.
  • Speedometer/resources/todomvc/dependency-examples/flight/test/fixture/footer.html: Added.
  • Speedometer/resources/todomvc/dependency-examples/flight/test/fixture/new_todo.html: Added.
  • Speedometer/resources/todomvc/dependency-examples/flight/test/fixture/toggle_all.html: Added.
  • Speedometer/resources/todomvc/dependency-examples/flight/test/mock/datastore.js: Added.
  • Speedometer/resources/todomvc/dependency-examples/flight/test/spec/data/stats_spec.js: Added.
  • Speedometer/resources/todomvc/dependency-examples/flight/test/spec/data/todos_spec.js: Added.
  • Speedometer/resources/todomvc/dependency-examples/flight/test/spec/ui/new_item_spec.js: Added.
  • Speedometer/resources/todomvc/dependency-examples/flight/test/spec/ui/stats_spec.js: Added.
  • Speedometer/resources/todomvc/dependency-examples/flight/test/spec/ui/toggle_all_spec.js: Added.
  • Speedometer/resources/todomvc/dependency-examples/flight/test/test-main.js: Added.
  • Speedometer/resources/todomvc/labs/architecture-examples/react/bower.json: Added.
  • Speedometer/resources/todomvc/labs/architecture-examples/react/bower_components/director/LICENSE: Added.
  • Speedometer/resources/todomvc/labs/architecture-examples/react/bower_components/director/README.md: Added.
  • Speedometer/resources/todomvc/labs/architecture-examples/react/bower_components/react/JSXTransformer.js: Added.
  • Speedometer/resources/todomvc/labs/architecture-examples/react/bower_components/react/bower.json: Added.
  • Speedometer/resources/todomvc/labs/architecture-examples/react/bower_components/react/react.js: Added.
  • Speedometer/resources/todomvc/labs/architecture-examples/react/bower_components/react/react.min.js: Added.
  • Speedometer/resources/todomvc/labs/architecture-examples/react/bower_components/todomvc-common/base.css: Added.
  • Speedometer/resources/todomvc/labs/architecture-examples/react/bower_components/todomvc-common/base.js: Added.
  • Speedometer/resources/todomvc/labs/architecture-examples/react/bower_components/todomvc-common/bg.png: Added.
  • Speedometer/resources/todomvc/labs/architecture-examples/react/index.html: Added.
  • Speedometer/resources/todomvc/labs/architecture-examples/react/js/app.jsx: Added.
  • Speedometer/resources/todomvc/labs/architecture-examples/react/js/footer.jsx: Added.
  • Speedometer/resources/todomvc/labs/architecture-examples/react/js/todoItem.jsx: Added.
  • Speedometer/resources/todomvc/labs/architecture-examples/react/js/utils.jsx: Added.
  • Speedometer/resources/todomvc/labs/architecture-examples/react/readme.md: Added.
  • Speedometer/resources/todomvc/learn.json: Added.
  • Speedometer/resources/todomvc/license.md: Added.
  • Speedometer/resources/todomvc/readme.md: Added.
  • Speedometer/resources/todomvc/vanilla-examples/vanillajs/bower.json: Added.
  • Speedometer/resources/todomvc/vanilla-examples/vanillajs/bower_components/todomvc-common/base.css: Added.
  • Speedometer/resources/todomvc/vanilla-examples/vanillajs/bower_components/todomvc-common/base.js: Added.
  • Speedometer/resources/todomvc/vanilla-examples/vanillajs/bower_components/todomvc-common/bg.png: Added.
  • Speedometer/resources/todomvc/vanilla-examples/vanillajs/index.html: Added.
  • Speedometer/resources/todomvc/vanilla-examples/vanillajs/js/app.js: Added.
  • Speedometer/resources/todomvc/vanilla-examples/vanillajs/js/controller.js: Added.
  • Speedometer/resources/todomvc/vanilla-examples/vanillajs/js/helpers.js: Added.
  • Speedometer/resources/todomvc/vanilla-examples/vanillajs/js/model.js: Added.
  • Speedometer/resources/todomvc/vanilla-examples/vanillajs/js/store.js: Added.
  • Speedometer/resources/todomvc/vanilla-examples/vanillajs/js/view.js: Added.
  • Speedometer/resources/todomvc/vanilla-examples/vanillajs/readme.md: Added.
  • index.html: Added.
  • resources/ARES-6-Logo.png: Added.
  • resources/ARES-6-Logo@2x.png: Added.
  • resources/JetStream-Logo.png: Added.
  • resources/JetStream-Logo@2x.png: Added.
  • resources/MotionMark-Logo.png: Added.
  • resources/MotionMark-Logo@2x.png: Added.
  • resources/Speedometer-Logo.png: Added.
  • resources/Speedometer-Logo@2x.png: Added.
  • resources/main.css: Added.
6:55 PM Changeset in webkit [216810] by Chris Dumez
  • 44 edits in trunk/Source/WebKit2

Drop remaining uses of PassRefPtr in WebKit2/WebProcess
https://bugs.webkit.org/show_bug.cgi?id=172055

Reviewed by Alex Christensen.

  • WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInScriptWorld.mm:

(+[WKWebProcessPlugInScriptWorld normalWorld]):

  • WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:

(contextMenuItems):

  • WebProcess/InjectedBundle/API/c/WKBundleScriptWorld.cpp:

(WKBundleScriptWorldNormalWorld):

  • WebProcess/InjectedBundle/API/gtk/WebKitScriptWorld.cpp:

(webkitScriptWorldCreate):

  • WebProcess/InjectedBundle/DOM/InjectedBundleCSSStyleDeclarationHandle.cpp:

(WebKit::InjectedBundleCSSStyleDeclarationHandle::getOrCreate):

  • WebProcess/InjectedBundle/DOM/InjectedBundleCSSStyleDeclarationHandle.h:
  • WebProcess/InjectedBundle/DOM/InjectedBundleRangeHandle.cpp:

(WebKit::InjectedBundleRangeHandle::getOrCreate):
(WebKit::InjectedBundleRangeHandle::create):
(WebKit::InjectedBundleRangeHandle::coreRange):
(WebKit::InjectedBundleRangeHandle::renderedImage):

  • WebProcess/InjectedBundle/DOM/InjectedBundleRangeHandle.h:
  • WebProcess/InjectedBundle/InjectedBundle.cpp:

(WebKit::InjectedBundle::create):
(WebKit::InjectedBundle::createWebDataFromUint8Array):

  • WebProcess/InjectedBundle/InjectedBundle.h:
  • WebProcess/InjectedBundle/InjectedBundleBackForwardList.cpp:

(WebKit::InjectedBundleBackForwardList::itemAtIndex):

  • WebProcess/InjectedBundle/InjectedBundleBackForwardList.h:

(WebKit::InjectedBundleBackForwardList::detach):

  • WebProcess/InjectedBundle/InjectedBundleBackForwardListItem.h:

(WebKit::InjectedBundleBackForwardListItem::create):
(WebKit::InjectedBundleBackForwardListItem::InjectedBundleBackForwardListItem):

  • WebProcess/InjectedBundle/InjectedBundleHitTestResult.cpp:

(WebKit::InjectedBundleHitTestResult::nodeHandle):
(WebKit::InjectedBundleHitTestResult::urlElementHandle):

  • WebProcess/InjectedBundle/InjectedBundleHitTestResult.h:
  • WebProcess/InjectedBundle/InjectedBundleNavigationAction.cpp:

(WebKit::InjectedBundleNavigationAction::create):
(WebKit::InjectedBundleNavigationAction::InjectedBundleNavigationAction):

  • WebProcess/InjectedBundle/InjectedBundleNavigationAction.h:
  • WebProcess/InjectedBundle/InjectedBundleScriptWorld.cpp:

(WebKit::InjectedBundleScriptWorld::getOrCreate):
(WebKit::InjectedBundleScriptWorld::normalWorld):

  • WebProcess/InjectedBundle/InjectedBundleScriptWorld.h:
  • WebProcess/Plugins/Netscape/NetscapePlugin.cpp:

(WebKit::NetscapePlugin::create):
(WebKit::NetscapePlugin::NetscapePlugin):
(WebKit::NetscapePlugin::supportsSnapshotting):

  • WebProcess/Plugins/Netscape/NetscapePlugin.h:
  • WebProcess/Plugins/PDF/PDFPluginAnnotation.h:
  • WebProcess/Plugins/PDF/PDFPluginAnnotation.mm:

(WebKit::PDFPluginAnnotation::create):

  • WebProcess/Plugins/PDF/PDFPluginChoiceAnnotation.h:
  • WebProcess/Plugins/PDF/PDFPluginChoiceAnnotation.mm:

(WebKit::PDFPluginChoiceAnnotation::createAnnotationElement):

  • WebProcess/Plugins/PDF/PDFPluginPasswordField.h:
  • WebProcess/Plugins/PDF/PDFPluginPasswordField.mm:

(WebKit::PDFPluginPasswordField::createAnnotationElement):

  • WebProcess/Plugins/PDF/PDFPluginTextAnnotation.h:
  • WebProcess/Plugins/PDF/PDFPluginTextAnnotation.mm:

(WebKit::PDFPluginTextAnnotation::createAnnotationElement):

  • WebProcess/UserContent/WebUserContentController.cpp:

(WebKit::worldMap):
(WebKit::WebUserMessageHandlerDescriptorProxy::create):

  • WebProcess/WebCoreSupport/mac/WebDragClientMac.mm:

(WebKit::convertImageToBitmap):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::addUserScript):
(WebKit::WebPage::addUserStyleSheet):

  • WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp:

(WebKit::WebPrintOperationGtk::create):

  • WebProcess/WebPage/gtk/WebPrintOperationGtk.h:
  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::rangeForPosition):
(WebKit::rangeAtWordBoundaryForPosition):

  • WebProcess/WebPage/mac/PlatformCAAnimationRemote.h:
6:33 PM Changeset in webkit [216809] by achristensen@apple.com
  • 36 edits
    16 moves in trunk

Rename WKContentExtension to WKContentRuleList
https://bugs.webkit.org/show_bug.cgi?id=172053
<rdar://problem/32141005>

Reviewed by Geoffrey Garen.

Source/WebCore:

Covered by existing API tests.

  • English.lproj/Localizable.strings:

Source/WebKit2:

  • Shared/API/APIObject.h:
  • Shared/API/Cocoa/WebKit.h:
  • Shared/API/c/WKDeprecatedFunctions.cpp:

(WKPageGroupAddUserContentFilter):
(WKPageGroupRemoveUserContentFilter):

  • Shared/Cocoa/APIObject.mm:

(API::Object::newObject):

  • Shared/WebCompiledContentExtension.cpp: Removed.
  • Shared/WebCompiledContentExtension.h: Removed.
  • Shared/WebCompiledContentExtensionData.cpp: Removed.
  • Shared/WebCompiledContentExtensionData.h: Removed.
  • Shared/WebCompiledContentRuleList.cpp: Copied from Source/WebKit2/Shared/WebCompiledContentExtension.cpp.

(WebKit::WebCompiledContentRuleList::create):
(WebKit::WebCompiledContentRuleList::WebCompiledContentRuleList):
(WebKit::WebCompiledContentRuleList::~WebCompiledContentRuleList):
(WebKit::WebCompiledContentRuleList::conditionsApplyOnlyToDomain):
(WebKit::WebCompiledContentRuleList::filtersWithoutConditionsBytecode):
(WebKit::WebCompiledContentRuleList::filtersWithoutConditionsBytecodeLength):
(WebKit::WebCompiledContentRuleList::filtersWithConditionsBytecode):
(WebKit::WebCompiledContentRuleList::filtersWithConditionsBytecodeLength):
(WebKit::WebCompiledContentRuleList::topURLFiltersBytecode):
(WebKit::WebCompiledContentRuleList::topURLFiltersBytecodeLength):
(WebKit::WebCompiledContentRuleList::actions):
(WebKit::WebCompiledContentRuleList::actionsLength):
(WebKit::WebCompiledContentExtension::create): Deleted.
(WebKit::WebCompiledContentExtension::WebCompiledContentExtension): Deleted.
(WebKit::WebCompiledContentExtension::~WebCompiledContentExtension): Deleted.
(WebKit::WebCompiledContentExtension::conditionsApplyOnlyToDomain): Deleted.
(WebKit::WebCompiledContentExtension::filtersWithoutConditionsBytecode): Deleted.
(WebKit::WebCompiledContentExtension::filtersWithoutConditionsBytecodeLength): Deleted.
(WebKit::WebCompiledContentExtension::filtersWithConditionsBytecode): Deleted.
(WebKit::WebCompiledContentExtension::filtersWithConditionsBytecodeLength): Deleted.
(WebKit::WebCompiledContentExtension::topURLFiltersBytecode): Deleted.
(WebKit::WebCompiledContentExtension::topURLFiltersBytecodeLength): Deleted.
(WebKit::WebCompiledContentExtension::actions): Deleted.
(WebKit::WebCompiledContentExtension::actionsLength): Deleted.

  • Shared/WebCompiledContentRuleList.h: Copied from Source/WebKit2/Shared/WebCompiledContentExtension.h.
  • Shared/WebCompiledContentRuleListData.cpp: Copied from Source/WebKit2/Shared/WebCompiledContentExtensionData.cpp.

(WebKit::WebCompiledContentRuleListData::encode):
(WebKit::WebCompiledContentRuleListData::decode):
(WebKit::WebCompiledContentExtensionData::encode): Deleted.
(WebKit::WebCompiledContentExtensionData::decode): Deleted.

  • Shared/WebCompiledContentRuleListData.h: Copied from Source/WebKit2/Shared/WebCompiledContentExtensionData.h.

(WebKit::WebCompiledContentRuleListData::WebCompiledContentRuleListData):
(WebKit::WebCompiledContentExtensionData::WebCompiledContentExtensionData): Deleted.

  • Shared/WebPageCreationParameters.cpp:

(WebKit::WebPageCreationParameters::encode):
(WebKit::WebPageCreationParameters::decode):

  • Shared/WebPageCreationParameters.h:
  • UIProcess/API/APIContentExtension.cpp: Removed.
  • UIProcess/API/APIContentExtension.h: Removed.
  • UIProcess/API/APIContentExtensionStore.cpp: Removed.
  • UIProcess/API/APIContentExtensionStore.h: Removed.
  • UIProcess/API/APIContentRuleList.cpp: Copied from Source/WebKit2/UIProcess/API/APIContentExtension.cpp.

(API::ContentRuleList::ContentRuleList):
(API::ContentRuleList::~ContentRuleList):
(API::ContentExtension::ContentExtension): Deleted.
(API::ContentExtension::~ContentExtension): Deleted.

  • UIProcess/API/APIContentRuleList.h: Copied from Source/WebKit2/UIProcess/API/APIContentExtension.h.
  • UIProcess/API/APIContentRuleListStore.cpp: Copied from Source/WebKit2/UIProcess/API/APIContentExtensionStore.cpp.

(API::ContentRuleListStore::legacyDefaultStore):
(API::ContentRuleListStore::nonLegacyDdefaultStore):
(API::ContentRuleListStore::defaultStore):
(API::ContentRuleListStore::storeWithPath):
(API::ContentRuleListStore::ContentRuleListStore):
(API::ContentRuleListStore::~ContentRuleListStore):
(API::constructedPathPrefix):
(API::ContentRuleListMetaData::fileSize):
(API::encodeContentRuleListMetaData):
(API::decodeContentRuleListMetaData):
(API::openAndMapContentRuleList):
(API::compiledToFile):
(API::createExtension):
(API::ContentRuleListStore::lookupContentRuleList):
(API::ContentRuleListStore::getAvailableContentRuleListIdentifiers):
(API::ContentRuleListStore::compileContentRuleList):
(API::ContentRuleListStore::removeContentRuleList):
(API::ContentRuleListStore::synchronousRemoveAllContentRuleLists):
(API::ContentRuleListStore::invalidateContentRuleListVersion):
(API::ContentRuleListStore::getContentRuleListSource):
(API::contentRuleListStoreErrorCategory):
(API::ContentExtensionStore::defaultStore): Deleted.
(API::ContentExtensionStore::storeWithPath): Deleted.
(API::ContentExtensionStore::ContentExtensionStore): Deleted.
(API::ContentExtensionStore::~ContentExtensionStore): Deleted.
(API::ContentExtensionMetaData::fileSize): Deleted.
(API::encodeContentExtensionMetaData): Deleted.
(API::decodeContentExtensionMetaData): Deleted.
(API::openAndMapContentExtension): Deleted.
(API::ContentExtensionStore::lookupContentExtension): Deleted.
(API::ContentExtensionStore::getAvailableContentExtensionIdentifiers): Deleted.
(API::ContentExtensionStore::compileContentExtension): Deleted.
(API::ContentExtensionStore::removeContentExtension): Deleted.
(API::ContentExtensionStore::synchronousRemoveAllContentExtensions): Deleted.
(API::ContentExtensionStore::invalidateContentExtensionVersion): Deleted.
(API::ContentExtensionStore::getContentExtensionSource): Deleted.
(API::contentExtensionStoreErrorCategory): Deleted.

  • UIProcess/API/APIContentRuleListStore.h: Copied from Source/WebKit2/UIProcess/API/APIContentExtensionStore.h.

(API::make_error_code):

  • UIProcess/API/C/WKAPICast.h:
  • UIProcess/API/C/WKPageGroup.cpp:
  • UIProcess/API/C/WKUserContentControllerRef.cpp:

(WKUserContentControllerAddUserContentFilter):
(WKUserContentControllerRemoveAllUserContentFilters):

  • UIProcess/API/C/WKUserContentExtensionStoreRef.cpp:

(WKUserContentExtensionStoreGetTypeID):

  • UIProcess/API/Cocoa/APIUserContentExtensionStoreCocoa.mm:

(API::ContentRuleListStore::defaultStorePath):
(API::ContentExtensionStore::defaultStorePath): Deleted.

  • UIProcess/API/Cocoa/WKContentExtension.h: Removed.
  • UIProcess/API/Cocoa/WKContentExtension.mm: Removed.
  • UIProcess/API/Cocoa/WKContentExtensionInternal.h: Removed.
  • UIProcess/API/Cocoa/WKContentExtensionStore.h: Removed.
  • UIProcess/API/Cocoa/WKContentExtensionStore.mm: Removed.
  • UIProcess/API/Cocoa/WKContentExtensionStoreInternal.h: Removed.
  • UIProcess/API/Cocoa/WKContentExtensionStorePrivate.h: Removed.
  • UIProcess/API/Cocoa/WKContentRuleList.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKContentExtension.h.
  • UIProcess/API/Cocoa/WKContentRuleList.mm: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKContentExtension.mm.

(-[WKContentRuleList dealloc]):
(-[WKContentRuleList _apiObject]):
(-[WKContentRuleList identifier]):
(-[WKContentExtension dealloc]): Deleted.
(-[WKContentExtension _apiObject]): Deleted.
(-[WKContentExtension identifier]): Deleted.

  • UIProcess/API/Cocoa/WKContentRuleListInternal.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKContentExtensionInternal.h.

(WebKit::wrapper):

  • UIProcess/API/Cocoa/WKContentRuleListStore.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKContentExtensionStore.h.
  • UIProcess/API/Cocoa/WKContentRuleListStore.mm: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKContentExtensionStore.mm.

(toWKErrorCode):
(-[WKContentRuleListStore dealloc]):
(+[WKContentRuleListStore defaultStore]):
(+[WKContentRuleListStore storeWithURL:]):
(-[WKContentRuleListStore compileContentRuleListForIdentifier:encodedContentRuleList:completionHandler:]):
(-[WKContentRuleListStore _compileContentRuleListForIdentifier:encodedContentRuleList:completionHandler:releasesArgument:]):
(-[WKContentRuleListStore lookUpContentRuleListForIdentifier:completionHandler:]):
(-[WKContentRuleListStore getAvailableContentRuleListIdentifiers:]):
(-[WKContentRuleListStore removeContentRuleListForIdentifier:completionHandler:]):
(-[WKContentRuleListStore _apiObject]):
(-[WKContentRuleListStore _removeAllContentRuleLists]):
(-[WKContentRuleListStore _invalidateContentRuleListVersionForIdentifier:]):
(-[WKContentRuleListStore _getContentRuleListSourceForIdentifier:completionHandler:]):
(-[WKContentRuleListStore _compileContentRuleListForIdentifier:encodedContentRuleList:completionHandler:]):
(-[WKContentExtensionStore dealloc]): Deleted.
(+[WKContentExtensionStore defaultStore]): Deleted.
(+[WKContentExtensionStore storeWithURL:]): Deleted.
(-[WKContentExtensionStore compileContentExtensionForIdentifier:encodedContentExtension:completionHandler:]): Deleted.
(-[WKContentExtensionStore _compileContentExtensionForIdentifier:encodedContentExtension:completionHandler:releasesArgument:]): Deleted.
(-[WKContentExtensionStore lookUpContentExtensionForIdentifier:completionHandler:]): Deleted.
(-[WKContentExtensionStore getAvailableContentExtensionIdentifiers:]): Deleted.
(-[WKContentExtensionStore removeContentExtensionForIdentifier:completionHandler:]): Deleted.
(-[WKContentExtensionStore _apiObject]): Deleted.
(-[WKContentExtensionStore _removeAllContentExtensions]): Deleted.
(-[WKContentExtensionStore _invalidateContentExtensionVersionForIdentifier:]): Deleted.
(-[WKContentExtensionStore _getContentExtensionSourceForIdentifier:completionHandler:]): Deleted.
(-[WKContentExtensionStore _compileContentExtensionForIdentifier:encodedContentExtension:completionHandler:]): Deleted.

  • UIProcess/API/Cocoa/WKContentRuleListStoreInternal.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKContentExtensionStoreInternal.h.

(WebKit::wrapper):

  • UIProcess/API/Cocoa/WKContentRuleListStorePrivate.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKContentExtensionStorePrivate.h.
  • UIProcess/API/Cocoa/WKError.h:
  • UIProcess/API/Cocoa/WKError.mm:

(localizedDescriptionForErrorCode):

  • UIProcess/API/Cocoa/WKUserContentController.h:
  • UIProcess/API/Cocoa/WKUserContentController.mm:

(-[WKUserContentController addContentRuleList:]):
(-[WKUserContentController removeContentRuleList:]):
(-[WKUserContentController removeAllContentRuleLists]):
(-[WKUserContentController _addUserContentFilter:]):
(-[WKUserContentController _removeUserContentFilter:]):
(-[WKUserContentController _removeAllUserContentFilters]):
(-[WKUserContentController addContentExtension:]): Deleted.
(-[WKUserContentController removeContentExtension:]): Deleted.
(-[WKUserContentController removeAllContentExtensions]): Deleted.

  • UIProcess/API/Cocoa/_WKUserContentExtensionStore.mm:

(toUserContentRuleListStoreError):
(+[_WKUserContentExtensionStore defaultStore]):
(+[_WKUserContentExtensionStore storeWithURL:]):
(-[_WKUserContentExtensionStore compileContentExtensionForIdentifier:encodedContentExtension:completionHandler:]):
(-[_WKUserContentExtensionStore lookupContentExtensionForIdentifier:completionHandler:]):
(-[_WKUserContentExtensionStore removeContentExtensionForIdentifier:completionHandler:]):
(-[_WKUserContentExtensionStore _apiObject]):
(-[_WKUserContentExtensionStore _removeAllContentExtensions]):
(-[_WKUserContentExtensionStore _invalidateContentExtensionVersionForIdentifier:]):
(-[_WKUserContentExtensionStore _initWithWKContentRuleListStore:]):
(toUserContentExtensionStoreError): Deleted.
(-[_WKUserContentExtensionStore _initWithWKContentExtensionStore:]): Deleted.

  • UIProcess/API/Cocoa/_WKUserContentExtensionStoreInternal.h:
  • UIProcess/API/Cocoa/_WKUserContentExtensionStorePrivate.h:
  • UIProcess/API/Cocoa/_WKUserContentFilter.mm:

(-[_WKUserContentFilter _apiObject]):
(-[_WKUserContentFilter _initWithWKContentRuleList:]):
(-[_WKUserContentFilter _initWithWKContentExtension:]): Deleted.

  • UIProcess/API/Cocoa/_WKUserContentFilterInternal.h:
  • UIProcess/API/Cocoa/_WKUserContentFilterPrivate.h:
  • UIProcess/UserContent/WebUserContentControllerProxy.cpp:

(WebKit::WebUserContentControllerProxy::addProcess):
(WebKit::WebUserContentControllerProxy::addContentRuleList):
(WebKit::WebUserContentControllerProxy::removeContentRuleList):
(WebKit::WebUserContentControllerProxy::removeAllContentRuleLists):
(WebKit::WebUserContentControllerProxy::addContentExtension): Deleted.
(WebKit::WebUserContentControllerProxy::removeContentExtension): Deleted.
(WebKit::WebUserContentControllerProxy::removeAllContentExtensions): Deleted.

  • UIProcess/UserContent/WebUserContentControllerProxy.h:
  • UIProcess/WebPageGroup.cpp:
  • WebKit2.xcodeproj/project.pbxproj:
  • WebProcess/UserContent/WebUserContentController.cpp:

(WebKit::WebUserContentController::addContentRuleLists):
(WebKit::WebUserContentController::removeContentRuleList):
(WebKit::WebUserContentController::removeAllContentRuleLists):
(WebKit::WebUserContentController::addContentExtensions): Deleted.
(WebKit::WebUserContentController::removeContentExtension): Deleted.
(WebKit::WebUserContentController::removeAllContentExtensions): Deleted.

  • WebProcess/UserContent/WebUserContentController.h:
  • WebProcess/UserContent/WebUserContentController.messages.in:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::m_backgroundCPULimit):

Tools:

  • TestWebKitAPI/Tests/WebKit2Cocoa/WKContentExtensionStore.mm:

(WKContentRuleListStoreTest::SetUp):
(TEST_F):
(-[ContentRuleListDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
(WKContentExtensionStoreTest::SetUp): Deleted.
(-[ContentExtensionDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]): Deleted.

6:30 PM Changeset in webkit [216808] by keith_miller@apple.com
  • 24 edits
    1 copy in trunk

Use Mach exceptions instead of signals where possible
https://bugs.webkit.org/show_bug.cgi?id=171865

Reviewed by Mark Lam.

Source/JavaScriptCore:

This patch adds some new JSC options. The first is an option that
enables or disables web assembly tier up. The second controls
whether or not we use mach exceptions (where available).

  • API/tests/ExecutionTimeLimitTest.cpp:

(dispatchTermitateCallback):
(testExecutionTimeLimit):

  • runtime/JSLock.cpp:

(JSC::JSLock::didAcquireLock):

  • runtime/Options.cpp:

(JSC::overrideDefaults):
(JSC::Options::initialize):

  • runtime/Options.h:
  • runtime/VMTraps.cpp:

(JSC::SignalContext::SignalContext):
(JSC::SignalContext::adjustPCToPointToTrappingInstruction):
(JSC::installSignalHandler):
(JSC::VMTraps::SignalSender::send):

  • tools/SigillCrashAnalyzer.cpp:

(JSC::SignalContext::SignalContext):
(JSC::SignalContext::dump):
(JSC::installCrashHandler):

  • wasm/WasmBBQPlan.cpp:

(JSC::Wasm::BBQPlan::compileFunctions):

  • wasm/WasmFaultSignalHandler.cpp:

(JSC::Wasm::trapHandler):
(JSC::Wasm::enableFastMemory):

  • wasm/WasmMachineThreads.cpp:

(JSC::Wasm::resetInstructionCacheOnAllThreads):

Source/WTF:

This patch enables using mach exceptions on darwin. The way the
mach exception api works is that we create a mach port, which is
like a file descriptor. We then wait for a message to arrive on
that port in a thread. When another thread raises an exception (say
due to a bad memory access) the OS sends our thread a message. The
payload of that message is the register file of the crashing
thread. We then call our custom handlers that change the state as
needed. In order to restart the thread we send a payload back to
the OS with an updated register file along with a success message
header.

This patch also makes thread messages work without signals by
simply suspending the thread, and then running the message at that
time.

You can read more about mach exceptions here:
http://www.cs.cmu.edu/afs/cs/project/mach/public/doc/unpublished/exception.ps
and the Mach interface Generator (MiG) here:
http://www.cs.cmu.edu/afs/cs/project/mach/public/doc/unpublished/mig.ps

  • Configurations/WTF.xcconfig:
  • WTF.xcodeproj/project.pbxproj:
  • wtf/Platform.h:
  • wtf/PlatformRegisters.h:

(WTF::registersFromUContext):

  • wtf/StackBounds.h:

(WTF::StackBounds::StackBounds):

  • wtf/ThreadHolder.cpp:

(WTF::ThreadHolder::~ThreadHolder):

  • wtf/ThreadMessage.cpp:

(WTF::sendMessageUsingSignal):
(WTF::sendMessageUsingMach):
(WTF::deliverMessagesUsingMach):
(WTF::sendMessageScoped):

  • wtf/ThreadMessage.h:

(WTF::sendMessage):

  • wtf/Threading.h:

(WTF::Thread::machThread):

  • wtf/mac/MachExceptions.defs: Copied from Source/WTF/wtf/ThreadMessage.h.
  • wtf/threads/Signals.cpp:

(WTF::startMachExceptionHandlerThread):
(WTF::fromMachException):
(WTF::toMachMask):
(WTF::handleSignalsWithMach):
(WTF::setExceptionPorts):
(WTF::activeThreads):
(WTF::registerThreadForMachExceptionHandling):
(WTF::unregisterThreadForMachExceptionHandling):
(WTF::installSignalHandler):
(WTF::jscSignalHandler):

  • wtf/threads/Signals.h:

Tools:

  • TestWebKitAPI/Tests/WTF/ThreadMessages.cpp:

(runThreadMessageTest):
(TEST):

6:00 PM Changeset in webkit [216807] by timothy_horton@apple.com
  • 3 edits in trunk/Source/WebCore

Don't use LinkPresentation URL shortening if it's not available
https://bugs.webkit.org/show_bug.cgi?id=172064
<rdar://problem/32169232>

Rubber-stamped by Wenson Hsieh.

  • platform/mac/DragImageMac.mm:

(WebCore::LinkImageLayout::LinkImageLayout):

  • platform/spi/cocoa/LinkPresentationSPI.h:
5:32 PM Changeset in webkit [216806] by commit-queue@webkit.org
  • 13 edits in trunk

Add objc version of WK2 UIPageClient setHasVideoInPictureInPicture and rename it to hasVideoInPictureInPictureDidChange.
https://bugs.webkit.org/show_bug.cgi?id=172048
rdar://problem/32163054

Patch by Jeremy Jones <jeremyj@apple.com> on 2017-05-12
Reviewed by Simon Fraser.

Source/WebKit2:

Rename UIPageClient setHasVideoInPictureInPicture to hasVideoInPictureInPictureDidChange.
Add missing _allowsPictureInPictureMediaPlayback property to WKPreferences.
Add -hasVideoInPictureInPictureDidChange to UIDelegate.

  • UIProcess/API/APIUIClient.h:

(API::UIClient::hasVideoInPictureInPictureDidChange):

  • UIProcess/API/C/WKPage.cpp:

(WKPageSetPageUIClient):

  • UIProcess/API/C/WKPageUIClient.h:
  • UIProcess/API/Cocoa/WKPreferences.mm:

(-[WKPreferences _allowsPictureInPictureMediaPlayback]):
(-[WKPreferences _setAllowsPictureInPictureMediaPlayback:]):

  • UIProcess/API/Cocoa/WKPreferencesPrivate.h:
  • UIProcess/API/Cocoa/WKUIDelegatePrivate.h:
  • UIProcess/Cocoa/UIDelegate.h:
  • UIProcess/Cocoa/UIDelegate.mm:

(WebKit::UIDelegate::setDelegate):
(WebKit::UIDelegate::UIClient::hasVideoInPictureInPictureDidChange):

  • UIProcess/Cocoa/WebVideoFullscreenManagerProxy.mm:

(WebKit::WebVideoFullscreenManagerProxy::setupFullscreenWithID):
(WebKit::WebVideoFullscreenManagerProxy::fullscreenModeChanged):

Tools:

Add a WKWebView test for hasVideoInPictureInPictureDidChange UIDelegate callback.

  • TestWebKitAPI/Tests/WebKit2Cocoa/PictureInPictureDelegate.html:
  • TestWebKitAPI/Tests/WebKit2Cocoa/PictureInPictureDelegate.mm:

(hasVideoInPictureInPictureDidChange):
(-[PictureInPictureUIDelegate _webView:hasVideoInPictureInPictureDidChange:]):
(-[PictureInPictureUIDelegate userContentController:didReceiveScriptMessage:]):
(TestWebKitAPI::TEST):

5:31 PM Changeset in webkit [216805] by beidson@apple.com
  • 2 edits in trunk/Tools

REGRESSION (r216711): API test WKWebView.ClearAppCache is failing.
https://bugs.webkit.org/show_bug.cgi?id=172030

Unreviewed - Test gardening

Try to resolve this once and for all by using the WebsiteDataStore API to nuke everything
before the test starts.

  • TestWebKitAPI/Tests/WebKit2Cocoa/LocalStorageClear.mm:

(defaultWebsiteCacheDirectory):
(defaultApplicationCacheDirectory):
(TEST):
(defaultWebsiteDataDirectory): Deleted.

5:00 PM Changeset in webkit [216804] by bshafiei@apple.com
  • 7 edits in trunk/Source

Versioning.

4:48 PM Changeset in webkit [216803] by Simon Fraser
  • 19 edits
    5 adds in trunk

Incorrect position when dragging jQuery Draggable elements with position fixed after pinch zoom
https://bugs.webkit.org/show_bug.cgi?id=171113
Source/WebCore:

rdar://problem/31746516

Reviewed by Tim Horton.

Make getBoundingClientRect() and getClientRects() return rects which are relative to the layout
viewport, rather than the visual viewport. This goes part of the way to fixing webkit.org/b/170981,
which aims to make pinch-zoom invisible to web pages ("inert visual viewport"). It fixes issues on various
sites like Facebook when zoomed.

Factor coordinate conversion code into functions on FrameView, which now documents
the various coordinate systems in a big comment. Document::adjustFloatQuadsForScrollAndAbsoluteZoomAndFrameScale()
and Document::adjustFloatRectForScrollAndAbsoluteZoomAndFrameScale() are renamed and factored
to use these helpers.

There are two behavior changes here:

  1. FrameView::documentToClientOffset() now uses the origin of the layout viewport in the "document to client" coordinate mapping.
  1. The two document functions would apply the scale and offset in the wrong order. We need to first undo the effects of CSS zoom, page zoom and page scale, and then map from document to client coordinates.

Tests: fast/visual-viewport/client-rects-relative-to-layout-viewport.html

fast/zooming/client-rects-with-css-and-page-zoom.html

  • dom/Document.cpp:

(WebCore::Document::convertAbsoluteToClientQuads):
(WebCore::Document::convertAbsoluteToClientRect):
(WebCore::Document::adjustFloatQuadsForScrollAndAbsoluteZoomAndFrameScale): Deleted.
(WebCore::Document::adjustFloatRectForScrollAndAbsoluteZoomAndFrameScale): Deleted.

  • dom/Document.h:
  • dom/Element.cpp:

(WebCore::Element::getClientRects):
(WebCore::Element::getBoundingClientRect):

  • dom/Range.cpp:

(WebCore::Range::borderAndTextQuads):

  • page/FrameView.cpp:

(WebCore::FrameView::absoluteToDocumentScaleFactor):
(WebCore::FrameView::absoluteToDocumentRect):
(WebCore::FrameView::absoluteToDocumentPoint):
(WebCore::FrameView::documentToClientOffset):
(WebCore::FrameView::documentToClientRect):
(WebCore::FrameView::documentToClientPoint):

  • page/FrameView.h:
  • platform/ScrollableArea.h: #pragma once
  • platform/Scrollbar.h: #pragma once
  • platform/Widget.h: #pragma once

LayoutTests:

Reviewed by Tim Horton.

Rebaseline tests which dumped the getBoundingClientRect for fixed elements; now that these
are layout viewport-relative, getBoundingClientRect() for a fixed element is unchanging.

New test that exercises getBoundingClientRect() and getClientRects() for fixed and absolute
elements after zooming.

  • fast/events/autoscroll-when-zoomed.html: Adjust to account for behavior change.
  • fast/visual-viewport/client-rects-relative-to-layout-viewport-expected.txt: Added.
  • fast/visual-viewport/client-rects-relative-to-layout-viewport.html: Added.
  • fast/visual-viewport/zoomed-fixed-expected.txt:
  • fast/visual-viewport/zoomed-fixed-header-and-footer-expected.txt:
  • fast/zooming/client-rect-in-fixed-zoomed-expected.txt:
  • fast/zooming/client-rect-in-fixed-zoomed.html:
  • fast/zooming/client-rects-with-css-and-page-zoom-expected.txt: Added.
  • fast/zooming/client-rects-with-css-and-page-zoom.html: Added.
  • platform/ios-wk2/fast/visual-viewport/client-rects-relative-to-layout-viewport-expected.txt: Added.
  • platform/ios/TestExpectations: Mark imported/w3c/web-platform-tests/cssom-view/elementFromPoint.html as failing;

it will be fixed via webkit.org/b/172019

  • platform/ios/fast/visual-viewport/zoomed-fixed-expected.txt:
  • platform/ios/fast/visual-viewport/zoomed-fixed-header-and-footer-expected.txt:
4:29 PM Changeset in webkit [216802] by commit-queue@webkit.org
  • 5 edits
    1 add in trunk

Add SPI for overriding WKWebView's clipping behavior for _visibleContentRect
https://bugs.webkit.org/show_bug.cgi?id=172000
rdar://problem/32144756

Patch by David Quesada <david_quesada@apple.com> on 2017-05-12
Reviewed by Simon Fraser.

Source/WebKit2:

Extract -[WKWebView _visibleContentRect]'s use of -_scroller to a new property
_enclosingViewForExposedRectComputation, which is declared in the private
header for subclasses to implement custom logic for determining the view to
clip rendering to.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _enclosingViewForExposedRectComputation]):
(-[WKWebView _visibleRectInEnclosingView:]):
(-[WKWebView _visibleContentRect]):
(-[WKWebView _visibleRectInEnclosingScrollView:]): Deleted.

  • UIProcess/API/Cocoa/WKWebViewPrivate.h:

Tools:

Added API tests to verify that WKWebView provides the expected value for
_visibleContentRect in various configurations. (i.e. not inside a scrollview,
inside a scrollview but not clipped, clipped by an ancestor scrollview,
clipped by the webview's _enclosingViewForExposedRectComputation)

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebKit2Cocoa/VisibleContentRect.mm: Added.

(-[TestWKWebViewWithEnclosingView _enclosingViewForExposedRectComputation]):
(TestWebKitAPI::TEST):

4:12 PM Changeset in webkit [216801] by mark.lam@apple.com
  • 15 edits in trunk

WorkerRunLoop::Task::performTask() should check !scriptController->isTerminatingExecution().
https://bugs.webkit.org/show_bug.cgi?id=171775
<rdar://problem/30975761>

Reviewed by Saam Barati.

Source/JavaScriptCore:

Increased the number of frames captured in VM::nativeStackTraceOfLastThrow()
from 25 to 100. From experience, I found that 25 is sometimes not sufficient
for our debugging needs.

Also added VM::throwingThread() to track which thread an exception was thrown in.
This may be useful if the client is entering the VM from different threads.

  • runtime/ExceptionScope.cpp:

(JSC::ExceptionScope::unexpectedExceptionMessage):

  • runtime/ExceptionScope.h:

(JSC::ExceptionScope::exception):
(JSC::ExceptionScope::unexpectedExceptionMessage):

  • runtime/Options.h:
  • Added the unexpectedExceptionStackTraceLimit option.
  • runtime/VM.cpp:

(JSC::VM::throwException):

  • runtime/VM.h:

(JSC::VM::throwingThread):
(JSC::VM::clearException):

Source/WebCore:

Currently, WorkerThread::stop() calls scheduleExecutionTermination() to terminate
JS execution first, followed by posting a cleanup task to the worker, and lastly,
it invokes terminate() on the WorkerRunLoop.

As a result, before the run loop is terminated, the worker thread may observe the
TerminatedExecutionException in JS code, bail out, see another JS task to run,
re-enters the VM to run said JS code, and fails with an assertion due to the
TerminatedExecutionException still being pending on VM entry.

WorkerRunLoop::Task::performTask() already has a check to only allow a task to
run if and only if !runLoop.terminated() and the task is not a clean up task.
We'll fix the above race by changing WorkerRunLoop::Task::performTask() to check
!context->script()->isTerminatingExecution() instead of !runLoop.terminated().
Since WorkerThread::stop() always scheduleExecutionTermination() before it
terminates the run loop, !context->script()->isTerminatingExecution() implies
!runLoop.terminated().

The only time that runLoop is terminated without scheduleExecutionTermination()
being called is when WorkerThread::stop() is called before the WorkerThread has
finished creating its WorkerGlobalScope. In this scenario, WorkerThread::stop()
will still terminate the run loop. Hence, after the WorkerGlobalScope is created
(in WorkerThread::workerThread()), we will check if the run loop has been
terminated (i.e. stop() was called). If so, we'll scheduleExecutionTermination()
there, and guarantee that if runloop.terminated() is true, then
context->script()->isTerminatingExecution() is also true.

Solutions that were considered but did not work (recorded for future reference):

  1. In WorkerThread::stop(), call scheduleExecutionTermination() only after it posts the cleanup task and terminate the run loop.

This did not work because this creates a race where the worker thread may run
the cleanup task before WorkerThread::stop() finishes. As a result, the
scriptController may be deleted before we get to invoke scheduleExecutionTermination()
on it, thereby resulting in a use after free.

To make this work, we would have to change the life cycle management strategy
of the WorkerScriptController. This is a more risky change that we would
want to take on at this time, and may also not be worth the gain.

  1. Break scheduleExecutionTermination() up into 2 parts i.e. WorkerThread::stop() will:
    1. set the scriptControllers m_isTerminatingExecution flag before posting the cleanup task and terminating the run loop, and
    2. invoke VM::notifyNeedsTermination() after posting the cleanup task and terminating the run loop.

This requires that we protect the liveness of the VM until we can invoke
notifyNeedsTermination() on it.

This did not work because:

  1. We may end up destructing the VM in WorkerThread::stop() i.e. in the main web frame, but only the worker thread holds the JS lock for the VM.

We can make the WorkerThread::stop() acquire the JS lock just before it
releases the protected VM's RefPtr, but that would mean the main thread
may be stuck waiting a bit for the worker thread to release its JSLock.
This is not desirable.

  1. In practice, changing the liveness period of the Worker VM relative to its WorkerScriptController and WorkerGlobalScope also has unexpected ramifications. We observed many worker tests failing with assertion failures and crashes due to this change.

Hence, this approach is also a more risky change than it appears on the
surface, and is not worth exploring at this time.

In the end, changing WorkerRunLoop::Task::performTask() to check for
!scriptController->isTerminatingExecution() is the most straight forward solution
that is easy to prove correct.

Also fixed a race in WorkerThread::workerThread() where it can delete the
WorkerGlobalScope while WorkerThread::stop() is in the midst of accessing it.
We now guard the the nullifying of m_workerGlobalScope with the
m_threadCreationAndWorkerGlobalScopeMutex as well.

This issue is covered by an existing test that I just unskipped in TestExpectations.

  • bindings/js/JSDOMPromiseDeferred.cpp:

(WebCore::DeferredPromise::callFunction):

  • bindings/js/WorkerScriptController.cpp:

(WebCore::WorkerScriptController::scheduleExecutionTermination):

  • Added a check to do nothing and return early if the scriptController is already terminating execution.
  • workers/WorkerRunLoop.cpp:

(WebCore::WorkerRunLoop::runInMode):
(WebCore::WorkerRunLoop::runCleanupTasks):
(WebCore::WorkerRunLoop::Task::performTask):

  • workers/WorkerRunLoop.h:
  • Made Task::performTask() private and make Task befriend the WorkerRunLoop class. This ensures that only the WorkerRunLoop may call performTask(). Note: this change only formalizes and hardens a relationship that was already in place before this.
  • workers/WorkerThread.cpp:

(WebCore::WorkerThread::start):
(WebCore::WorkerThread::workerThread):
(WebCore::WorkerThread::stop):

  • workers/WorkerThread.h:
  • Renamed m_threadCreationMutex to m_threadCreationAndWorkerGlobalScopeMutex so that it more accurately describes what it guards.

LayoutTests:

3:51 PM Changeset in webkit [216800] by beidson@apple.com
  • 2 edits in trunk/Tools

REGRESSION (r216711): API test WKWebView.ClearAppCache is failing.
https://bugs.webkit.org/show_bug.cgi?id=172030

Unreviewed - Test gardening, in effect...

More exploration as to why this continues to fail on the bots.

This change should give us a smoking gun.

  • TestWebKitAPI/Tests/WebKit2Cocoa/LocalStorageClear.mm:

(TEST):

3:47 PM Changeset in webkit [216799] by dbates@webkit.org
  • 2 edits in trunk/LayoutTests

Attempt to fix timeout failure of test plugins/navigator-plugin-crash.html in WebKit1
following <http://trac.webkit.org/changeset/216789>
(https://bugs.webkit.org/show_bug.cgi?id=171712)

In r216798 I inadvertently added testRunner.setPopupBlockingEnabled(true) instead
instead of testRunner.setPopupBlockingEnabled(false) to disable the popup blocker.

  • plugins/navigator-plugin-crash.html:
3:43 PM Changeset in webkit [216798] by dbates@webkit.org
  • 2 edits in trunk/LayoutTests

Attempt to fix timeout failure of test plugins/navigator-plugin-crash.html in WebKit1
following <http://trac.webkit.org/changeset/216789>
(https://bugs.webkit.org/show_bug.cgi?id=171712)

On WebKit1 we need to explicitly allow the test tool to open windows by calling
testRunner.setCanOpenWindows(). We should also call testRunner.setCloseRemainingWindowsWhenComplete(true)
to have the test tool close any open windows after running the test.

It is also good practice to explicitly disable the popup blocker by calling
testRunner.setPopupBlockingEnabled(true);.

  • plugins/navigator-plugin-crash.html:
3:15 PM Changeset in webkit [216797] by bshafiei@apple.com
  • 1 copy in tags/Safari-604.1.22

Tag Safari-604.1.22.

3:05 PM Changeset in webkit [216796] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WTF

Include algorithm before using std::min
https://bugs.webkit.org/show_bug.cgi?id=171733

Patch by Ting-Wei Lan <Ting-Wei Lan> on 2017-05-12
Reviewed by Chris Dumez.

  • wtf/text/StringCommon.h:
3:02 PM Changeset in webkit [216795] by hyungwook.lee@navercorp.com
  • 2 edits in trunk/Tools

[GTK] Fix compile warnings in PlatformImageCairo.cpp
https://bugs.webkit.org/show_bug.cgi?id=171850

Reviewed by Michael Catanzaro.

  • ImageDiff/cairo/PlatformImageCairo.cpp:

(ImageDiff::PlatformImage::createFromStdin):
(ImageDiff::PlatformImage::writeAsPNGToStdout):

3:00 PM Changeset in webkit [216794] by Chris Dumez
  • 52 edits in trunk/Source/WebKit2

Stop using PassRefPtr under WebKit2/UIProcess
https://bugs.webkit.org/show_bug.cgi?id=172029

Reviewed by Alex Christensen.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _takeViewSnapshot]):

  • UIProcess/API/Cocoa/WKWebViewInternal.h:
  • UIProcess/API/gtk/PageClientImpl.cpp:

(WebKit::PageClientImpl::registerEditCommand):

  • UIProcess/API/gtk/PageClientImpl.h:
  • UIProcess/API/gtk/WebKitFaviconDatabase.cpp:

(getIconSurfaceSynchronously):

  • UIProcess/API/gtk/WebKitWebContext.cpp:
  • UIProcess/API/wpe/PageClientImpl.cpp:

(WebKit::PageClientImpl::registerEditCommand):

  • UIProcess/API/wpe/PageClientImpl.h:
  • UIProcess/Cocoa/WebViewImpl.h:
  • UIProcess/Cocoa/WebViewImpl.mm:

(WebKit::WebViewImpl::registerEditCommand):

  • UIProcess/DefaultUndoController.cpp:

(WebKit::DefaultUndoController::registerEditCommand):

  • UIProcess/DefaultUndoController.h:
  • UIProcess/Downloads/DownloadProxy.cpp:

(WebKit::DownloadProxy::create):

  • UIProcess/Downloads/DownloadProxy.h:
  • UIProcess/GeolocationPermissionRequestManagerProxy.cpp:

(WebKit::GeolocationPermissionRequestManagerProxy::createRequest):

  • UIProcess/GeolocationPermissionRequestManagerProxy.h:
  • UIProcess/InspectorServer/HTTPRequest.cpp:

(WebKit::HTTPRequest::parseHTTPRequestFromBuffer):

  • UIProcess/InspectorServer/HTTPRequest.h:
  • UIProcess/InspectorServer/WebInspectorServer.cpp:

(WebKit::WebInspectorServer::didReceiveUnrecognizedHTTPRequest):
(WebKit::WebInspectorServer::didReceiveWebSocketUpgradeHTTPRequest):
(WebKit::WebInspectorServer::didEstablishWebSocketConnection):

  • UIProcess/InspectorServer/WebInspectorServer.h:
  • UIProcess/InspectorServer/WebSocketServerClient.h:

(WebKit::WebSocketServerClient::didReceiveUnrecognizedHTTPRequest):
(WebKit::WebSocketServerClient::didReceiveWebSocketUpgradeHTTPRequest):
(WebKit::WebSocketServerClient::didEstablishWebSocketConnection):

  • UIProcess/InspectorServer/WebSocketServerConnection.cpp:

(WebKit::WebSocketServerConnection::readHTTPMessage):
(WebKit::WebSocketServerConnection::upgradeToWebSocketServerConnection):

  • UIProcess/InspectorServer/WebSocketServerConnection.h:
  • UIProcess/Notifications/NotificationPermissionRequestManagerProxy.cpp:

(WebKit::NotificationPermissionRequestManagerProxy::createRequest):

  • UIProcess/Notifications/NotificationPermissionRequestManagerProxy.h:
  • UIProcess/Notifications/WebNotificationProvider.cpp:

(WebKit::WebNotificationProvider::notificationPermissions):

  • UIProcess/Notifications/WebNotificationProvider.h:
  • UIProcess/PageClient.h:
  • UIProcess/Storage/LocalStorageDatabase.cpp:
  • UIProcess/WebContextMenuListenerProxy.h:
  • UIProcess/WebCookieManagerProxy.h:
  • UIProcess/WebEditCommandProxy.cpp:

(WebKit::WebEditCommandProxy::unapply):
(WebKit::WebEditCommandProxy::reapply):

  • UIProcess/WebEditCommandProxy.h:
  • UIProcess/WebGrammarDetail.cpp:

(WebKit::WebGrammarDetail::create):

  • UIProcess/WebGrammarDetail.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::ExceededDatabaseQuotaRecords::createRecord):
(WebKit::WebPageProxy::registerEditCommand):
(WebKit::WebPageProxy::didReceiveAuthenticationChallengeProxy):
(WebKit::WebPageProxy::exceededDatabaseQuota):
(WebKit::WebPageProxy::reachedApplicationCacheOriginQuota):
(WebKit::WebPageProxy::takeViewSnapshot):

  • UIProcess/WebPageProxy.h:
  • UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::plugInAutoStartOriginHashes):

  • UIProcess/WebProcessPool.h:
  • UIProcess/WebProcessProxy.h:
  • UIProcess/ios/PageClientImplIOS.h:
  • UIProcess/ios/PageClientImplIOS.mm:

(-[WKEditCommandObjC initWithWebEditCommandProxy:]):
(WebKit::PageClientImpl::registerEditCommand):
(WebKit::PageClientImpl::saveImageToLibrary):
(WebKit::PageClientImpl::setDragImage):
(WebKit::PageClientImpl::takeViewSnapshot):

  • UIProcess/ios/WKGeolocationProviderIOS.mm:

(-[WKWebAllowDenyPolicyListener initWithPermissionRequestProxy:]):

  • UIProcess/ios/WebPageProxyIOS.mm:

(WebKit::WebPageProxy::saveImageToLibrary):

  • UIProcess/mac/PageClientImpl.h:
  • UIProcess/mac/PageClientImpl.mm:

(WebKit::PageClientImpl::registerEditCommand):
(WebKit::PageClientImpl::setDragImage):
(WebKit::PageClientImpl::setPromisedDataForImage):
(WebKit::PageClientImpl::takeViewSnapshot):

  • UIProcess/mac/WKImmediateActionController.mm:

(-[WKImmediateActionController _webHitTestResult]):

  • UIProcess/mac/WebPageProxyMac.mm:

(WebKit::WebPageProxy::setDragImage):
(WebKit::WebPageProxy::setPromisedDataForImage):

  • WebProcess/IconDatabase/WebIconDatabaseProxy.h:
2:56 PM Changeset in webkit [216793] by jmarcell@apple.com
  • 1 copy in tags/Safari-604.1.21.2

Tag Safari-604.1.21.2.

1:54 PM Changeset in webkit [216792] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore

[iOS WK1] Do not try to layout a subframe if its document has not been constructed yet.
https://bugs.webkit.org/show_bug.cgi?id=172042
<rdar://problem/32084098>

Reviewed by Antti Koivisto.

On iOS WK1 we can end up in an inconsistent state, where

  1. the web thread is inside a newly injected iframe's document's c'tor and
  2. waiting on a delegate callback on the main thread

while the main thread

  1. executes a pending didLayout() task
  2. triggers layout on the newly injected iframe.
  • rendering/RenderWidget.cpp:

(WebCore::RenderWidget::updateWidgetPosition):

1:49 PM Changeset in webkit [216791] by commit-queue@webkit.org
  • 7 edits
    2 adds in trunk

Add UIClient callback for when picture-in-picture is activated.
https://bugs.webkit.org/show_bug.cgi?id=172023

Patch by Jeremy Jones <jeremyj@apple.com> on 2017-05-12
Reviewed by Simon Fraser.

Source/WebKit2:

Add WKUIPageClientV10 with setHasVideoInPictureInPicture.

  • UIProcess/API/APIUIClient.h:

(API::UIClient::setHasVideoInPictureInPicture):

  • UIProcess/API/C/WKPage.cpp:

(WKPageSetPageUIClient):

  • UIProcess/API/C/WKPageUIClient.h:
  • UIProcess/Cocoa/WebVideoFullscreenManagerProxy.mm:

(WebKit::WebVideoFullscreenManagerProxy::setupFullscreenWithID):
(WebKit::WebVideoFullscreenManagerProxy::fullscreenModeChanged):

Tools:

Added a test for WKPageUIClientV10 setHasVideoInPictureInPicture.

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebKit2Cocoa/PictureInPictureDelegate.html: Added.
  • TestWebKitAPI/Tests/WebKit2Cocoa/PictureInPictureDelegate.mm: Added.

(onLoadedCompletedCallback):
(waitUntilOnLoadIsCompleted):
(didFinishLoadForFrame):
(setHasVideoInPictureInPicture):
(TestWebKitAPI::TEST):

1:43 PM Changeset in webkit [216790] by Brent Fulgham
  • 2 edits in trunk/Source/WebKit2

REGRESSION(r213564): Flash audio playback failures
https://bugs.webkit.org/show_bug.cgi?id=171876
<rdar://problem/32082745>

Reviewed by Alexey Proskuryakov.

The IOKit property filters added in r213564 need to be expanded to support
some Flash features.

  • PluginProcess/mac/com.apple.WebKit.plugin-common.sb.in:
1:37 PM Changeset in webkit [216789] by jiewen_tan@apple.com
  • 3 edits
    2 adds in trunk

Check existence of a page before accessing its plugins
https://bugs.webkit.org/show_bug.cgi?id=171712
<rdar://problem/32007806>

Reviewed by Brent Fulgham.

Source/WebCore:

Test: plugins/navigator-plugin-crash.html

  • plugins/DOMPlugin.cpp:

(WebCore::DOMPlugin::item):
(WebCore::DOMPlugin::namedItem):

LayoutTests:

  • plugins/navigator-plugin-crash-expected.txt: Added.
  • plugins/navigator-plugin-crash.html: Added.
1:37 PM Changeset in webkit [216788] by Jonathan Bedard
  • 4 edits in trunk/Tools

Unreviewed follow-up to r216776.

  • Scripts/webkitpy/port/base.py:

(Port.path_to_crash_logs): Raise not implemented.

  • Scripts/webkitpy/port/test.py:

(TestPort.path_to_crash_logs): Return results directory as the location of crash logs.

  • Scripts/webkitpy/port/win.py:

(WinPort.path_to_crash_logs): Ditto.

1:32 PM Changeset in webkit [216787] by jmarcell@apple.com
  • 7 edits
    2 adds in branches/safari-604.1.21-branch/Source/JavaScriptCore

Cherry-pick r216460. rdar://problem/32027549

1:32 PM Changeset in webkit [216786] by ap@apple.com
  • 2 edits in trunk/Tools

Bot watcher's dashboard shows results links twice sometimes
https://bugs.webkit.org/show_bug.cgi?id=172043

Reviewed by Tim Horton.

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

(BuildbotTesterQueueView.prototype._presentPopoverForGenericTestFailures):

1:32 PM Changeset in webkit [216785] by jmarcell@apple.com
  • 2 edits in branches/safari-604.1.21-branch/Source/WTF

Cherry-pick r216772. rdar://problem/31969082

1:32 PM Changeset in webkit [216784] by jmarcell@apple.com
  • 5 edits in branches/safari-604.1.21-branch/Source/WebCore

Cherry-pick r216766. rdar://problem/32151246

1:32 PM Changeset in webkit [216783] by jmarcell@apple.com
  • 13 edits in branches/safari-604.1.21-branch

Cherry-pick r216349. rdar://problem/32117885

1:32 PM Changeset in webkit [216782] by jmarcell@apple.com
  • 23 edits
    3 adds in branches/safari-604.1.21-branch

Cherry-pick r216712. rdar://problem/32117885

1:32 PM Changeset in webkit [216781] by jmarcell@apple.com
  • 2 edits in branches/safari-604.1.21-branch/Source/WebKit2

Cherry-pick r216710. rdar://problem/32146527

1:31 PM Changeset in webkit [216780] by jmarcell@apple.com
  • 2 edits in branches/safari-604.1.21-branch/Source/WebCore

Cherry-pick r216215. rdar://problem/31999512

1:27 PM Changeset in webkit [216779] by Brent Fulgham
  • 5 edits in trunk/Source/WebKit2

[WK2][macOS] Add a mach-lookup exception for 'com.apple.analyticsd'
https://bugs.webkit.org/show_bug.cgi?id=172040
<rdar://problem/31765514>

Reviewed by Alexey Proskuryakov.

  • DatabaseProcess/mac/com.apple.WebKit.Databases.sb.in:
  • NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in:
  • PluginProcess/mac/com.apple.WebKit.plugin-common.sb.in:
  • WebProcess/com.apple.WebProcess.sb.in:
1:09 PM Changeset in webkit [216778] by Simon Fraser
  • 6 edits in trunk/Source

Add some logging for layer tree commits, and resize and orientation change events
https://bugs.webkit.org/show_bug.cgi?id=172041

Reviewed by Tim Horton.

Add some logging that's useful during rotation investigations.

Source/WebCore:

  • dom/Document.cpp:

(WebCore::Document::orientationChanged):

  • page/FrameView.cpp:

(WebCore::FrameView::sendResizeEventIfNeeded):

Source/WebKit2:

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _didCommitLayerTree:]):

  • UIProcess/ios/WKContentView.mm:

(-[WKContentView _didCommitLayerTree:]):

1:09 PM Changeset in webkit [216777] by beidson@apple.com
  • 2 edits in trunk/Tools

REGRESSION (r216711): API test WKWebView.ClearAppCache is failing.
https://bugs.webkit.org/show_bug.cgi?id=172030

Unreviewed - Test gardening, in effect...

This failure is only being seen by the bots.

I believe this test is utterly broken in the first place; when it checks the .wal file's
size that is not actually an indicator that the records were deleted.

But that isn't what's coming up as failure on the bots.

This patch is an attempt to:
1 - More forcefully clear the Website data directory of leftovers before the test starts.
2 - Give an earlier indication of the failure that the bots are seeing, to possibly reveal more.

  • TestWebKitAPI/Tests/WebKit2Cocoa/LocalStorageClear.mm:

(defaultWebsiteDataDirectory):
(defaultApplicationCacheDirectory):
(TEST):

12:52 PM Changeset in webkit [216776] by Jonathan Bedard
  • 15 edits in trunk/Tools

webkitpy: Pass directory with crash logs into CrashLogs
https://bugs.webkit.org/show_bug.cgi?id=172033
<rdar://problem/32157616>

Reviewed by Daniel Bates.

Refactor CrashLogs and the callers of CrashLogs so that the port object owns
the location of crash logs.

  • Scripts/webkitpy/common/system/crashlogs.py:

(CrashLogs.init): Pass mandatory crash_log_directory when constructing.
(CrashLogs._find_newest_log_darwin): Use self._crash_log_directory instead of
generating one.
(CrashLogs._find_newest_log_win): Use self._crash_log_directory instead of
self._results_directory.
(CrashLogs._find_all_logs_darwin): Use self._crash_log_directory instead of
generating one.
(CrashLogs._log_directory_darwin): Moved to port.

  • Scripts/webkitpy/common/system/crashlogs_unittest.py: Update tests since the path

to the crash log is no longer owned by CrashLogs.

  • Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py: Use the general

directory for uploading crash logs. Note that crash logs are only supported on Mac
and Windows.

  • Scripts/webkitpy/port/apple.py: Remove unneeded CrashLogs import.
  • Scripts/webkitpy/port/base.py:

(Port.path_to_crash_logs): Unless ports declare otherwise, crash logs are assumed
to be in the results directory.

  • Scripts/webkitpy/port/darwin.py:

(DarwinPort.path_to_crash_logs): Moved from CrashLogs._log_directory_darwin.
(DarwinPort._look_for_all_crash_logs_in_log_dir): Use port specific crash log path.
(DarwinPort._get_crash_log): Ditto.

  • Scripts/webkitpy/port/darwin_testcase.py:

(DarwinTest.test_crashlog_path): Test that the Darwin ports are correctly calculating
the path to crash logs.

  • Scripts/webkitpy/port/ios_device.py:

(IOSDevicePort.path_to_crash_logs): Currently, crash log retrieval is undefined for iOS.

  • Scripts/webkitpy/port/ios_device_unittest.py:

(IOSDeviceTest.test_crashlog_path): Currently, crash log retrieval is undefined for iOS.

  • Scripts/webkitpy/port/ios_simulator.py: Remove unneeded CrashLogs import.
  • Scripts/webkitpy/port/mac.py: Ditto.
  • Scripts/webkitpy/port/test.py:

(TestDriver.run_test): Use port specific crash log path when retrieving crash logs.

  • Scripts/webkitpy/port/win.py:

(WinPort._get_crash_log): Ditto.

  • Scripts/webkitpy/tool/commands/queries.py:

(execute): Construct a port object since this is the object which owns the path to crash logs.

12:18 PM Changeset in webkit [216775] by commit-queue@webkit.org
  • 8 edits in trunk

[Readable Streams API] Add ReadableStreamBYOBReader closed getter
https://bugs.webkit.org/show_bug.cgi?id=172024

Patch by Romain Bellessort <romain.bellessort@crf.canon.fr> on 2017-05-12
Reviewed by Youenn Fablet.

LayoutTests/imported/w3c:

Updated expectations.

  • web-platform-tests/streams/readable-byte-streams/general-expected.txt: Updated.
  • web-platform-tests/streams/readable-byte-streams/general.dedicatedworker-expected.txt: Updated.

Source/WebCore:

Added tests to check closed getter behaviour.

  • Modules/streams/ReadableStreamBYOBReader.js:

(closed): Implemented.

LayoutTests:

Added tests to check closed getter behaviour.

  • streams/readable-stream-byob-reader-expected.txt: Updated.
  • streams/readable-stream-byob-reader.js: Updated.
12:14 PM Changeset in webkit [216774] by aestes@apple.com
  • 2 edits in trunk/Source/WebKit2

[Cocoa] Stop setting a status on PKPaymentRequestShippingContactUpdate when there are errors
https://bugs.webkit.org/show_bug.cgi?id=172036
<rdar://problem/31587957>

Reviewed by Anders Carlsson.

  • UIProcess/ApplePay/cocoa/WebPaymentCoordinatorProxyCocoa.mm:

(WebKit::WebPaymentCoordinatorProxy::platformCompleteShippingContactSelection):

12:10 PM Changeset in webkit [216773] by matthew_hanson@apple.com
  • 2 edits in branches/safari-604.1.21-branch/Source/WebCore

Cherry-pick r216432. rdar://problem/32051782

11:48 AM Changeset in webkit [216772] by akling@apple.com
  • 2 edits in trunk/Source/WTF

More aggressive memory kill limits.
https://bugs.webkit.org/show_bug.cgi?id=172037
<rdar://problem/31969082>

Reviewed by Michael Saboff.

Bring down the memory kill limits to 4GB for active processes, and 2GB for inactive.
Also make MemoryUsagePolicy::Strict kick in above 1.5GB.

  • wtf/MemoryPressureHandler.cpp:

(WTF::MemoryPressureHandler::thresholdForMemoryKill):
(WTF::thresholdForPolicy):

11:34 AM Changeset in webkit [216771] by akling@apple.com
  • 5 edits in trunk/Source/WebCore

MediaResourceLoader shouldn't keep its HTMLMediaElement alive.
https://bugs.webkit.org/show_bug.cgi?id=172032
<rdar://problem/30816144>

Reviewed by Joseph Pecoraro.

Use a WeakPtr<HTMLMediaElement> in MediaResourceLoader instead, since the loader
is retained by a NSURLSession object we hand over to AVFoundation.

This prevents AVFoundation from keeping entire documents alive outside our control.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::HTMLMediaElement):

  • html/HTMLMediaElement.h:

(WebCore::HTMLMediaElement::createWeakPtr):

  • loader/MediaResourceLoader.cpp:

(WebCore::MediaResourceLoader::MediaResourceLoader):
(WebCore::MediaResourceLoader::requestResource):

  • loader/MediaResourceLoader.h:
11:21 AM Changeset in webkit [216770] by akling@apple.com
  • 2 edits in trunk/Source/WebCore

Memory pressure response should only do sync bmalloc scavenge in sync mode.
https://bugs.webkit.org/show_bug.cgi?id=172035

Reviewed by Michael Saboff.

Only call WTF::releaseFastMallocFreeMemory() and his threading-related friends
when releaseMemory() is invoked with Synchronous::Yes, or if it's a critical
pressure response (maintaining the behavior added in r215775.)

  • page/MemoryRelease.cpp:

(WebCore::releaseMemory):

10:54 AM Changeset in webkit [216769] by dbates@webkit.org
  • 9 edits in trunk/Source/WebCore

Cleanup: Use Ref instead of RefPtr to hold DOMWrapperWorld
https://bugs.webkit.org/show_bug.cgi?id=171988

Reviewed by Chris Dumez.

  • bindings/js/JSCustomElementInterface.cpp:

(WebCore::JSCustomElementInterface::JSCustomElementInterface):
(WebCore::JSCustomElementInterface::upgradeElement):
(WebCore::JSCustomElementInterface::invokeCallback):

  • bindings/js/JSCustomElementInterface.h:
  • bindings/js/JSMutationCallback.cpp:

(WebCore::JSMutationCallback::JSMutationCallback):
(WebCore::JSMutationCallback::call):

  • bindings/js/JSMutationCallback.h:
  • bindings/js/ScheduledAction.cpp:

(WebCore::ScheduledAction::ScheduledAction):
(WebCore::ScheduledAction::execute):

  • bindings/js/ScheduledAction.h:

(WebCore::ScheduledAction::ScheduledAction):

  • page/DOMWindowExtension.cpp:

(WebCore::DOMWindowExtension::DOMWindowExtension):

  • page/DOMWindowExtension.h:

(WebCore::DOMWindowExtension::world):

10:53 AM Changeset in webkit [216768] by dbates@webkit.org
  • 12 edits in trunk/Source

Cleanup: Make QueueTaskToEventLoopFunctionPtr take JSGlobalObject&
https://bugs.webkit.org/show_bug.cgi?id=172021

Reviewed by Mark Lam.

Source/JavaScriptCore:

Change the function alias for QueueTaskToEventLoopFunctionPtr to take JSGlobalObject&
instead of a const JSGlobalObject* as all implementations expect to be passed a non-
const, non-null JSGlobalObject object.

  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::queueMicrotask):

  • runtime/JSGlobalObject.h:
  • runtime/VM.cpp:

(JSC::VM::queueMicrotask):

  • runtime/VM.h: Remove JS_EXPORT_PRIVATE annotation from queueMicrotask() as

it is only called from JavaScriptCore code.

Source/WebCore:

  • bindings/js/JSDOMGlobalObjectTask.cpp: Include header JSDOMGlobalObject.h.

(WebCore::JSGlobalObjectTask::JSGlobalObjectTask): Change type of first argument from JSDOMGlobalObject*
to JSDOMGlobalObject& and update code as necessary. Also, use C++11 brace initialization syntax
for member initializer list.

  • bindings/js/JSDOMGlobalObjectTask.h: Remove header JSDOMGlobalObject.h and forward declare

JSDOMGlobalObject and JSC::Microtask.

  • bindings/js/JSDOMWindowBase.cpp:

(WebCore::JSDOMWindowMicrotaskCallback::create):
(WebCore::JSDOMWindowMicrotaskCallback::JSDOMWindowMicrotaskCallback): Change type of first argument
from JSDOMWindowBase* to JSDOMWindowBase& and update code as necessary. Also, use C++11 brace
initialization syntax for member initializer list.
(WebCore::JSDOMWindowBase::queueTaskToEventLoop):

  • bindings/js/JSDOMWindowBase.h:
  • bindings/js/JSWorkerGlobalScopeBase.cpp:

(WebCore::JSWorkerGlobalScopeBase::queueTaskToEventLoop):

  • bindings/js/JSWorkerGlobalScopeBase.h:
10:14 AM Changeset in webkit [216767] by Matt Lewis
  • 2 edits in trunk/LayoutTests

Marked webrtc/closing-peerconnection.html as flaky.
https://bugs.webkit.org/show_bug.cgi?id=172034

Unreviewed test gardening.

  • platform/mac-wk2/TestExpectations:
9:05 AM Changeset in webkit [216766] by jer.noble@apple.com
  • 5 edits in trunk/Source/WebCore

[MediaStream] Streams while play while page is in background can get "stuck" when page is forgrounded.
https://bugs.webkit.org/show_bug.cgi?id=172022

Reviewed by Youenn Fablet.

When an AVSampleBufferDisplayLayer is disconnected from the CA renderer, none of its samples will be decoded
and enqueued for rendering. Once the layer is attached to a renderer again, it's stuffed full of samples which
will never be decoded as their decode time has long passed.

Pass the visibility state of the element through to the MediaPlayer so that MediaPlayerPrivateMediaStreamAVFObjC
can flush its renderers when going from not visible -> visible.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::visibilityStateChanged):

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

(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::setVisible):

  • rendering/RenderVideo.cpp:

(WebCore::RenderVideo::updatePlayer):

8:37 AM Changeset in webkit [216765] by pvollan@apple.com
  • 2 edits in trunk/Source/WebCore

Unreviewed Windows build fix.

  • bindings/js/JSWebGLRenderingContextCustom.cpp:
7:33 AM Changeset in webkit [216764] by Chris Dumez
  • 34 edits in trunk/Source/WebKit2

Stop using PassRefPtr under WebKit2/Shared
https://bugs.webkit.org/show_bug.cgi?id=172017

Reviewed by Antti Koivisto.

  • Shared/API/APIDictionary.cpp:

(API::Dictionary::add):
(API::Dictionary::set):

  • Shared/API/APIDictionary.h:
  • Shared/API/APISecurityOrigin.h:

(API::SecurityOrigin::createFromString):
(API::SecurityOrigin::create):
(API::SecurityOrigin::securityOrigin):
(API::SecurityOrigin::SecurityOrigin):

  • Shared/API/APISerializedScriptValue.h:

(API::SerializedScriptValue::create):
(API::SerializedScriptValue::SerializedScriptValue):

  • Shared/API/c/WKSharedAPICast.h:

(WebKit::ProxyingRefPtr::ProxyingRefPtr):

  • Shared/APIWebArchiveResource.h:
  • Shared/APIWebArchiveResource.mm:

(API::WebArchiveResource::create):
(API::WebArchiveResource::WebArchiveResource):

  • Shared/AsyncRequest.h:

(WebKit::AsyncRequestMap::add):

  • Shared/BlobDataFileReferenceWithSandboxExtension.cpp:

(WebKit::BlobDataFileReferenceWithSandboxExtension::BlobDataFileReferenceWithSandboxExtension):

  • Shared/BlobDataFileReferenceWithSandboxExtension.h:
  • Shared/CoordinatedGraphics/CoordinatedBackingStore.cpp:

(WebKit::CoordinatedBackingStoreTile::setBackBuffer):
(WebKit::CoordinatedBackingStore::updateTile):

  • Shared/CoordinatedGraphics/CoordinatedBackingStore.h:
  • Shared/CoordinatedGraphics/CoordinatedGraphicsScene.cpp:

(WebKit::CoordinatedGraphicsScene::createUpdateAtlas):
(WebKit::CoordinatedGraphicsScene::updateImageBacking):

  • Shared/CoordinatedGraphics/CoordinatedGraphicsScene.h:
  • Shared/Plugins/Netscape/NetscapePluginModule.cpp:

(WebKit::NetscapePluginModule::getOrCreate):

  • Shared/Plugins/Netscape/NetscapePluginModule.h:
  • Shared/VisitedLinkTable.cpp:

(WebKit::VisitedLinkTable::setSharedMemory):

  • Shared/VisitedLinkTable.h:
  • Shared/WebBackForwardListItem.h:

(WebKit::WebBackForwardListItem::setSnapshot):

  • Shared/WebContextMenuItem.cpp:

(WebKit::WebContextMenuItem::create):

  • Shared/WebContextMenuItem.h:
  • Shared/WebGeolocationPosition.h:
  • Shared/WebRenderLayer.cpp:

(WebKit::WebRenderLayer::create):
(WebKit::WebRenderLayer::createArrayFromLayerList):
(WebKit::WebRenderLayer::WebRenderLayer):

  • Shared/WebRenderLayer.h:
  • Shared/WebRenderObject.cpp:

(WebKit::WebRenderObject::create):
(WebKit::WebRenderObject::WebRenderObject):

  • Shared/WebRenderObject.h:
  • UIProcess/VisitedLinkStore.cpp:

(WebKit::VisitedLinkStore::resizeTable):

  • WebProcess/WebPage/VisitedLinkTableController.cpp:

(WebKit::VisitedLinkTableController::setVisitedLinkTable):

7:15 AM Changeset in webkit [216763] by msaboff@apple.com
  • 15 edits
    2 adds in trunk/Source

[iOS] Use memory footprint to dynamically adjust behavior of allocators
https://bugs.webkit.org/show_bug.cgi?id=171944

Reviewed by Filip Pizlo.

Source/bmalloc:

This change is iOS only.

After the scavenger thread completes scavenging, it asks the OS for how much total memory the
process is using. This information is used to update the sleep delay for the scanvenger thread,
as well as to provide memory in use data for other parts of the system.

The scavenger sleep time is calculated using the following quadradic equation.

scavengerSleep = 1.2*percentFreeMemory2 - percentFreeMemory + 2

Where percentFreeMemory is between 0 and 100. The result is constrained to the values 2 and 250.

This equation empirically works out to providing a 2ms sleep time when we have less than 10%
memory available, 30ms when 20% is available and 250ms when 50% or more is available. In testing,
this exponentially agressive scavenging delay by itself reduced memory usage and made it much
more deterministic when used without the corresponding change in the JSC Heap.

Changed the scavenger thread to use the User Initiated QOS priority to ensure it doesn't
get starved.

Moved the non-Windows functionality of WTF::RAMSize() to new files AvailableMemory.{cpp,h}
and implemented in the function availableMemory(). That functions limits the value returned
on iOS to a maximum of 840MB as that is the jetsam soft memory limit.
Added a new API availableMemory() so that WTF::RAMSize() will use this value.

  • CMakeLists.txt:
  • bmalloc.xcodeproj/project.pbxproj:
  • bmalloc/BPlatform.h:
  • bmalloc/Heap.cpp:

(bmalloc::Heap::Heap):
(bmalloc::Heap::updateMemoryInUseParameters):
(bmalloc::Heap::concurrentScavenge):
(bmalloc::Heap::scavenge):

  • bmalloc/Heap.h:

(bmalloc::Heap::memoryFootprint):
(bmalloc::Heap::percentAvailableMemoryInUse):

  • bmalloc/Sizes.h:
  • bmalloc/bmalloc.h:

(bmalloc::api::availableMemory):
(bmalloc::api::memoryFootprint):
(bmalloc::api::percentAvailableMemoryInUse):

  • bmalloc/AvailableMemory.cpp: Added.

(bmalloc::computeAvailableMemory):
(bmalloc::availableMemory):

  • bmalloc/AvailableMemory.h: Added.

Source/JavaScriptCore:

This change is iOS only.

Added the ability to react to when memory usage is critical. This is defined as memory
usage being above the newly added option criticalGCMemoryThreshold. When we are in this
critical state, all collections are Full and we limit the amount of memory we allocate
between collections to 1/4th the memory above the critical threshold.

Changed the calculation of proportionalHeapSize to be based on process memory footprint
and not how big the heap is. Also, the values of Options::smallHeapRAMFraction and
Options::mediumHeapRAMFraction are overriden so that most of the heap growth is happens
using the more agressive Options::smallHeapGrowthFactor.

  • heap/Heap.cpp:

(JSC::Heap::Heap):
(JSC::Heap::overCriticalMemoryThreshold):
(JSC::Heap::shouldDoFullCollection):
(JSC::Heap::collectIfNecessaryOrDefer):

  • heap/Heap.h:
  • runtime/Options.cpp:

(JSC::overrideDefaults):
(JSC::Options::initialize):

  • runtime/Options.h:

Source/WTF:

Moved the non-Windows implementation of RAMSize() to bmalloc/AvailableMemory.cpp and
called the function availableMemory().

  • wtf/RAMSize.cpp:

(WTF::computeRAMSize):

5:58 AM Changeset in webkit [216762] by Claudio Saavedra
  • 12 edits in trunk/LayoutTests

[GTK] After upgrading glib and glib-networking, resources with zero bytes are always identified as text/plain
https://bugs.webkit.org/show_bug.cgi?id=171058

Reviewed by Carlos Garcia Campos.

GLib-based ports have issues detecting the mimetypes of empty
files, as they are all considered to be text/plain by
glib. Replace these resources with a minimal valid file for its
type (that is, 1x1 PNG files and 1 whitespace for text files).

  • fast/preloader/resources/base-image1.png:
  • fast/preloader/resources/base-image2.png:
  • fast/preloader/resources/base-image3.png:
  • fast/preloader/resources/image1.png:
  • fast/preloader/resources/link1.css:
  • fast/preloader/resources/noscript-image1.png:
  • fast/preloader/resources/noscript-image2.png:
  • fast/preloader/resources/script1.js:
  • fast/preloader/resources/style1.css:
  • tables/mozilla/core/col_widths_fix_autoFixPer.html:
  • platform/gtk/TestExpectations: Unskip the now passing tests.
5:31 AM Changeset in webkit [216761] by Antti Koivisto
  • 7 edits
    2 adds in trunk

Updating class name of a shadow host does not update the style applied by descendants of :host()
https://bugs.webkit.org/show_bug.cgi?id=170762
<rdar://problem/31572668>

Reviewed by Ryosuke Niwa.

Source/WebCore:

We need to invalidate shadow tree style when host classes or attributes change if it may be
affected by host rules.

Test: fast/shadow-dom/css-scoping-host-class-and-attribute-mutation.html

  • css/RuleSet.cpp:

(WebCore::isHostSelectorMatchingInShadowTree):
(WebCore::RuleSet::addRule):

Check if we have :host selectors that affect shadow tree.

  • css/RuleSet.h:

(WebCore::RuleSet::hasHostPseudoClassRulesMatchingInShadowTree):

  • style/AttributeChangeInvalidation.cpp:

(WebCore::Style::mayBeAffectedByHostRules):
(WebCore::Style::AttributeChangeInvalidation::invalidateStyle):

Invalidate the whole subtree if there is a class change that may affect shadow tree style.

  • style/ClassChangeInvalidation.cpp:

(WebCore::Style::mayBeAffectedByHostRules):
(WebCore::Style::ClassChangeInvalidation::invalidateStyle):

  • style/IdChangeInvalidation.cpp:

(WebCore::Style::mayBeAffectedByHostRules):
(WebCore::Style::IdChangeInvalidation::invalidateStyle):

Same for classes and ids.
This should be refactored at some point to reduce copy-code.

LayoutTests:

  • fast/shadow-dom/css-scoping-host-class-and-attribute-mutation-expected.html: Added.
  • fast/shadow-dom/css-scoping-host-class-and-attribute-mutation.html: Added.
4:53 AM Changeset in webkit [216760] by Claudio Saavedra
  • 2 edits in trunk/LayoutTests

[WPE] Unreviewed gardening.

ClientRect, ClientRectList were removed, PromiseRejectionEvent was
added, update global constructors attributes test expectations.

  • platform/wpe/js/dom/global-constructors-attributes-expected.txt:
4:42 AM Changeset in webkit [216759] by Carlos Garcia Campos
  • 4 edits in trunk

[GTK] ASSERTION FAILED: !m_flushingLayers
https://bugs.webkit.org/show_bug.cgi?id=172025

Reviewed by Žan Doberšek.

Source/WebCore:

The problem is that syncImageBacking() is calling didChangeLayerState(). All sync methods are called by
flushCompositingStateForThisLayerOnly() while flushing layers, so none of them should call didChange method that
will schedule a new flush while flushing.

  • platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:

(WebCore::CoordinatedGraphicsLayer::syncImageBacking):

LayoutTests:

  • platform/gtk/TestExpectations:
3:29 AM Changeset in webkit [216758] by Carlos Garcia Campos
  • 3 edits
    2 adds in trunk

[GTK] GIF images are not properly loaded the first time
https://bugs.webkit.org/show_bug.cgi?id=170432

Reviewed by Carlos Alberto Lopez Perez.

Source/WebCore:

When the GIF image is loaded for the first time, it's always read from the network, and the decoder is usually
fetched with chunks of data. Then the data is cached in disk by the network process, so that when loaded from
the cache, the whole encoded data is available to fetch the encoder. The problem is that we are failing to
decode the image when giving chunks of data, that's why it only happens the first time loaded. If the first
chunk of data provided is enough to get some metadata, including the size, but not frame contents, the load fails
in CachedImage::addIncrementalDataBuffer() because the EncodedDataStatus reported is SizeAvailable but
Image::isNull() returns true. An Image is considered to be Null when its size is empty, and the size is
calculated always using the first frame in ImageFrameCache. Since we still don't have frames, the image is
always Null in this case. It is not expected that EncodedDataStatus returns SizeAvailable and the image is Null,
that's why it's considered an error and the load finishes with a decode error. However, the non CG ImageDecoder
has a m_size member to handle this particular case, and it's when m_size is set when EncodedDataStatus changes
to SizeAvailable. We should return the ImageEncoder size as the ImageSize when we have a decoder but
not frames yet.

Test: http/tests/images/gif-progressive-load.html

  • platform/graphics/ImageFrameCache.cpp:

(WebCore::ImageFrameCache::size): Return ImageDecoder::size() without caching it, if frame list is empty.

LayoutTests:

  • http/tests/images/gif-progressive-load-expected.html: Added.
  • http/tests/images/gif-progressive-load.html: Added.
3:08 AM Changeset in webkit [216757] by pvollan@apple.com
  • 2 edits in trunk/Source/WebCore

The iBooks application is not able to get current position.
https://bugs.webkit.org/show_bug.cgi?id=171982
rdar://problem/29318409

Reviewed by Brent Fulgham.

Geolocation requests from iBooks are currently blocked. Make an exemption from the policy for iBooks.

No new tests since we currently can't mock the iBooks application bundle ID.

  • Modules/geolocation/Geolocation.cpp:

(WebCore::isRequestFromIBooks):
(WebCore::Geolocation::shouldBlockGeolocationRequests):

2:43 AM Changeset in webkit [216756] by Manuel Rego Casasnovas
  • 6 edits in trunk/LayoutTests

[selectors4] css/selectors4/focus-within-006.html test from WPT is failing
https://bugs.webkit.org/show_bug.cgi?id=170900

Reviewed by Sergio Villar Senin.

LayoutTests/imported/w3c:

The issue has been fixed in WPT repo:
https://github.com/w3c/web-platform-tests/pull/5786

This patch is importing the changes so we can close this bug on WebKit.

  • web-platform-tests/css/selectors4/focus-within-006-expected.html:
  • web-platform-tests/css/selectors4/focus-within-006.html:
  • web-platform-tests/css/selectors4/w3c-import.log:

LayoutTests:

2:01 AM Changeset in webkit [216755] by Claudio Saavedra
  • 2 edits in trunk/Source/WTF

[WPE] Add MemoryFootprintLinux to build

Unreviewed build fix after r216731.

  • wtf/PlatformWPE.cmake:
2:00 AM Changeset in webkit [216754] by commit-queue@webkit.org
  • 1 edit
    39 adds in trunk/PerformanceTests

Speedometer: Add a React.js TodoMVC implementation
https://bugs.webkit.org/show_bug.cgi?id=171444

Patch by Addy Osmani <addyosmani@gmail.com> on 2017-05-12
Reviewed by Ryosuke Niwa.

Adds a more recent React.js TodoMVC implemenation to Speedometer

  • Speedometer/resources/todomvc/architecture-examples/react/build.min.js: Added.
  • Speedometer/resources/todomvc/architecture-examples/react/index.html: Added.
  • Speedometer/resources/todomvc/architecture-examples/react/js/app.jsx: Added.
  • Speedometer/resources/todomvc/architecture-examples/react/license.md: Added.
  • Speedometer/resources/todomvc/architecture-examples/react/node_modules/classnames/LICENSE: Added.
  • Speedometer/resources/todomvc/architecture-examples/react/node_modules/classnames/bind.js: Added.
  • Speedometer/resources/todomvc/architecture-examples/react/node_modules/classnames/bower.json: Added.
  • Speedometer/resources/todomvc/architecture-examples/react/node_modules/classnames/dedupe.js: Added.
  • Speedometer/resources/todomvc/architecture-examples/react/node_modules/classnames/index.js: Added.
  • Speedometer/resources/todomvc/architecture-examples/react/node_modules/classnames/package.json: Added.
  • Speedometer/resources/todomvc/architecture-examples/react/node_modules/director/LICENSE: Added.
  • Speedometer/resources/todomvc/architecture-examples/react/node_modules/director/bower.json: Added.
  • Speedometer/resources/todomvc/architecture-examples/react/node_modules/director/package.json: Added.
  • Speedometer/resources/todomvc/architecture-examples/react/node_modules/react-dom/LICENSE: Added.
  • Speedometer/resources/todomvc/architecture-examples/react/node_modules/react-dom/dist/react-dom-server.min.js: Added.
  • Speedometer/resources/todomvc/architecture-examples/react/node_modules/react-dom/dist/react-dom.min.js: Added.
  • Speedometer/resources/todomvc/architecture-examples/react/node_modules/react-dom/index.js: Added.
  • Speedometer/resources/todomvc/architecture-examples/react/node_modules/react/LICENSE: Added.
  • Speedometer/resources/todomvc/architecture-examples/react/node_modules/react/README.md: Added.
  • Speedometer/resources/todomvc/architecture-examples/react/node_modules/react/dist/react-with-addons.min.js: Added.
  • Speedometer/resources/todomvc/architecture-examples/react/node_modules/react/dist/react.min.js: Added.
  • Speedometer/resources/todomvc/architecture-examples/react/node_modules/react/package.json: Added.
  • Speedometer/resources/todomvc/architecture-examples/react/node_modules/todomvc-app-css/index.css: Added.
  • Speedometer/resources/todomvc/architecture-examples/react/node_modules/todomvc-common/base.css: Added.
  • Speedometer/resources/todomvc/architecture-examples/react/node_modules/todomvc-common/base.js: Added.
  • Speedometer/resources/todomvc/architecture-examples/react/npm-shrinkwrap.json: Added.
  • Speedometer/resources/todomvc/architecture-examples/react/package.json: Added.
  • Speedometer/resources/todomvc/architecture-examples/react/yarn.lock: Added.
1:08 AM Changeset in webkit [216753] by pvollan@apple.com
  • 3 edits
    2 adds in trunk

Geolocation requests should not be blocked when the security origin is local.
https://bugs.webkit.org/show_bug.cgi?id=171857
Source/WebCore:

rdar://problem/29318409

Reviewed by Brent Fulgham.

Geolocation requests from security origins where the url scheme is registered as local,
should not be blocked. This applies to the file url scheme, but also to other local url
schemes.

Test: fast/misc/geolocation-local-security-origin.html

  • Modules/geolocation/Geolocation.cpp:

(WebCore::Geolocation::shouldBlockGeolocationRequests):

LayoutTests:

Reviewed by Brent Fulgham.

  • fast/misc/geolocation-local-security-origin-expected.txt: Added.
  • fast/misc/geolocation-local-security-origin.html: Added.
12:52 AM Changeset in webkit [216752] by jmarcell@apple.com
  • 5 edits in branches/safari-604.1.21-branch/Source

Cherry-pick r216691. rdar://problem/32136567

12:52 AM Changeset in webkit [216751] by jmarcell@apple.com
  • 2 edits in branches/safari-604.1.21-branch/Source/WebCore

Cherry-pick r216650. rdar://problem/32111991

12:52 AM Changeset in webkit [216750] by jmarcell@apple.com
  • 2 edits in branches/safari-604.1.21-branch/Source/WebCore

Cherry-pick r216645. rdar://problem/31995807

12:52 AM Changeset in webkit [216749] by jmarcell@apple.com
  • 2 edits in branches/safari-604.1.21-branch/Source/WebCore

Cherry-pick r216623. rdar://problem/32116336

12:52 AM Changeset in webkit [216748] by jmarcell@apple.com
  • 2 edits in branches/safari-604.1.21-branch/Source/WebKit2

Cherry-pick r216616. rdar://problem/32116375

12:52 AM Changeset in webkit [216747] by jmarcell@apple.com
  • 16 edits in branches/safari-604.1.21-branch/Source/WebKit2

Cherry-pick r216612. rdar://problem/32080713

12:52 AM Changeset in webkit [216746] by jmarcell@apple.com
  • 8 edits
    2 adds in branches/safari-604.1.21-branch

Cherry-pick r216599. rdar://problem/31201793

12:52 AM Changeset in webkit [216745] by jmarcell@apple.com
  • 2 edits in branches/safari-604.1.21-branch/Source/WebCore

Cherry-pick r216559. rdar://problem/31771707

12:52 AM Changeset in webkit [216744] by jmarcell@apple.com
  • 3 edits in branches/safari-604.1.21-branch/Source/WebKit/win

Cherry-pick r216554. rdar://problem/27362159

12:52 AM Changeset in webkit [216743] by jmarcell@apple.com
  • 29 edits
    5 adds in branches/safari-604.1.21-branch

Cherry-pick r216541. rdar://problem/27362159

12:52 AM Changeset in webkit [216742] by jmarcell@apple.com
  • 13 edits
    3 adds in branches/safari-604.1.21-branch

Cherry-pick r216279. rdar://problem/31735695

12:52 AM Changeset in webkit [216741] by jmarcell@apple.com
  • 16 edits in branches/safari-604.1.21-branch/Source

Cherry-pick r216216. rdar://problem/31814074

12:52 AM Changeset in webkit [216740] by jmarcell@apple.com
  • 26 edits
    1 add in branches/safari-604.1.21-branch

Cherry-pick r216212. rdar://problem/31544320

12:51 AM Changeset in webkit [216739] by jmarcell@apple.com
  • 33 edits
    2 adds in branches/safari-604.1.21-branch

Cherry-pick r216197. rdar://problem/31821492

12:50 AM Changeset in webkit [216738] by Carlos Garcia Campos
  • 2 edits in trunk/Tools

Unreviewed. Fix GTK+ test /webkit2/WebKitWebView/create-navigation-data after r216615.

In r216615 the custom code for window.open() was removed. The generated code now correctly handles the optional
URL parameter using the default value "about:blank" when not provided.

  • TestWebKitAPI/Tests/WebKit2Gtk/TestUIClient.cpp:

(testWebViewCreateNavigationData):

12:48 AM Changeset in webkit [216737] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WTF

Unreviewed trivial JSCOnly buildfix after r216731.
https://bugs.webkit.org/show_bug.cgi?id=171693

  • wtf/PlatformJSCOnly.cmake:

May 11, 2017:

11:58 PM Changeset in webkit [216736] by Manuel Rego Casasnovas
  • 12 edits
    6 adds in trunk/LayoutTests

[selectors4] :focus-within tests using shadow DOM don't pass on WK1
https://bugs.webkit.org/show_bug.cgi?id=170935

Reviewed by Youenn Fablet.

LayoutTests/imported/w3c:

The issue has been fixed modifying the tests upstream:
https://github.com/w3c/web-platform-tests/pull/5594

This patch updates "selectors4" Test Suite with the last changes
from WPT repository.
This means that this issue is fixed and at the same time some new tests
are being imported.
Two of the new imported tests are failing due to bug #47182,
anyway the -expected.txt files with FAIL messages are added.

  • resources/import-expectations.json:
  • web-platform-tests/css/selectors4/focus-display-none-001-expected.txt: Added.
  • web-platform-tests/css/selectors4/focus-display-none-001.html: Added.
  • web-platform-tests/css/selectors4/focus-within-009-expected.txt:
  • web-platform-tests/css/selectors4/focus-within-009.html:
  • web-platform-tests/css/selectors4/focus-within-010-expected.html: Added.
  • web-platform-tests/css/selectors4/focus-within-010.html: Added.
  • web-platform-tests/css/selectors4/focus-within-display-none-001-expected.txt: Added.
  • web-platform-tests/css/selectors4/focus-within-display-none-001.html: Added.
  • web-platform-tests/css/selectors4/focus-within-shadow-001.html:
  • web-platform-tests/css/selectors4/focus-within-shadow-002.html:
  • web-platform-tests/css/selectors4/focus-within-shadow-003.html:
  • web-platform-tests/css/selectors4/focus-within-shadow-004.html:
  • web-platform-tests/css/selectors4/focus-within-shadow-005.html:
  • web-platform-tests/css/selectors4/w3c-import.log:

LayoutTests:

  • platform/mac-wk1/TestExpectations: Remove tests as they're passing now.
11:32 PM Changeset in webkit [216735] by commit-queue@webkit.org
  • 2 edits
    1 copy
    68 adds
    5 deletes in trunk/PerformanceTests

Speedometer: Update the Ember.js TodoMVC to a more recent version
https://bugs.webkit.org/show_bug.cgi?id=171342

Patch by Addy Osmani <addyosmani@gmail.com> on 2017-05-11
Reviewed by Ryosuke Niwa.

Update the Ember TodoMVC app in Speedometer to latest

  • Speedometer/resources/todomvc/architecture-examples/emberjs/assets/todomvc.css: Added.
  • Speedometer/resources/todomvc/architecture-examples/emberjs/assets/todomvc.js: Added.
  • Speedometer/resources/todomvc/architecture-examples/emberjs/assets/vendor.css: Renamed from PerformanceTests/Speedometer/resources/todomvc/architecture-examples/emberjs/bower_components/todomvc-common/base.css.
  • Speedometer/resources/todomvc/architecture-examples/emberjs/assets/vendor.js: Added.
  • Speedometer/resources/todomvc/architecture-examples/emberjs/bower.json: Removed.
  • Speedometer/resources/todomvc/architecture-examples/emberjs/bower_components/ember-data/ember-data.js: Removed.
  • Speedometer/resources/todomvc/architecture-examples/emberjs/bower_components/ember-localstorage-adapter/localstorage_adapter.js: Removed.
  • Speedometer/resources/todomvc/architecture-examples/emberjs/bower_components/ember/ember.js: Removed.
  • Speedometer/resources/todomvc/architecture-examples/emberjs/bower_components/handlebars/handlebars.js: Removed.
  • Speedometer/resources/todomvc/architecture-examples/emberjs/bower_components/jquery/jquery.js: Removed.
  • Speedometer/resources/todomvc/architecture-examples/emberjs/bower_components/todomvc-common/base.js: Removed.
  • Speedometer/resources/todomvc/architecture-examples/emberjs/bower_components/todomvc-common/bg.png: Removed.
  • Speedometer/resources/todomvc/architecture-examples/emberjs/crossdomain.xml: Added.
  • Speedometer/resources/todomvc/architecture-examples/emberjs/index.html:
  • Speedometer/resources/todomvc/architecture-examples/emberjs/js/app.js: Removed.
  • Speedometer/resources/todomvc/architecture-examples/emberjs/js/controllers/todo_controller.js: Removed.
  • Speedometer/resources/todomvc/architecture-examples/emberjs/js/controllers/todos_controller.js: Removed.
  • Speedometer/resources/todomvc/architecture-examples/emberjs/js/helpers/pluralize.js: Removed.
  • Speedometer/resources/todomvc/architecture-examples/emberjs/js/models/todo.js: Removed.
  • Speedometer/resources/todomvc/architecture-examples/emberjs/js/router.js: Removed.
  • Speedometer/resources/todomvc/architecture-examples/emberjs/js/views/edit_todo_view.js: Removed.
  • Speedometer/resources/todomvc/architecture-examples/emberjs/js/views/todos_view.js: Removed.
  • Speedometer/resources/todomvc/architecture-examples/emberjs/readme.md: Removed.
  • Speedometer/resources/todomvc/architecture-examples/emberjs/robots.txt: Added.
  • Speedometer/resources/todomvc/architecture-examples/emberjs/source/.bowerrc: Added.
  • Speedometer/resources/todomvc/architecture-examples/emberjs/source/.editorconfig: Added.
  • Speedometer/resources/todomvc/architecture-examples/emberjs/source/.ember-cli: Added.
  • Speedometer/resources/todomvc/architecture-examples/emberjs/source/.gitignore: Added.
  • Speedometer/resources/todomvc/architecture-examples/emberjs/source/.jshintrc: Added.
  • Speedometer/resources/todomvc/architecture-examples/emberjs/source/.travis.yml: Added.
  • Speedometer/resources/todomvc/architecture-examples/emberjs/source/.watchmanconfig: Added.
  • Speedometer/resources/todomvc/architecture-examples/emberjs/source/README.md: Added.
  • Speedometer/resources/todomvc/architecture-examples/emberjs/source/app/app.js: Added.
  • Speedometer/resources/todomvc/architecture-examples/emberjs/source/app/components/.gitkeep: Added.
  • Speedometer/resources/todomvc/architecture-examples/emberjs/source/app/components/todo-item.js: Added.
  • Speedometer/resources/todomvc/architecture-examples/emberjs/source/app/components/todo-list.js: Added.
  • Speedometer/resources/todomvc/architecture-examples/emberjs/source/app/controllers/active.js: Added.
  • Speedometer/resources/todomvc/architecture-examples/emberjs/source/app/controllers/application.js: Added.
  • Speedometer/resources/todomvc/architecture-examples/emberjs/source/app/controllers/completed.js: Added.
  • Speedometer/resources/todomvc/architecture-examples/emberjs/source/app/helpers/gt.js: Added.
  • Speedometer/resources/todomvc/architecture-examples/emberjs/source/app/helpers/pluralize.js: Added.
  • Speedometer/resources/todomvc/architecture-examples/emberjs/source/app/index.html: Added.
  • Speedometer/resources/todomvc/architecture-examples/emberjs/source/app/instance-initializers/global.js: Added.
  • Speedometer/resources/todomvc/architecture-examples/emberjs/source/app/models/.gitkeep: Added.
  • Speedometer/resources/todomvc/architecture-examples/emberjs/source/app/resolver.js: Added.
  • Speedometer/resources/todomvc/architecture-examples/emberjs/source/app/router.js: Added.
  • Speedometer/resources/todomvc/architecture-examples/emberjs/source/app/routes/.gitkeep: Added.
  • Speedometer/resources/todomvc/architecture-examples/emberjs/source/app/routes/application.js: Added.
  • Speedometer/resources/todomvc/architecture-examples/emberjs/source/app/services/memory.js: Added.
  • Speedometer/resources/todomvc/architecture-examples/emberjs/source/app/services/repo.js: Added.
  • Speedometer/resources/todomvc/architecture-examples/emberjs/source/app/styles/app.css: Added.
  • Speedometer/resources/todomvc/architecture-examples/emberjs/source/app/templates/active.hbs: Added.
  • Speedometer/resources/todomvc/architecture-examples/emberjs/source/app/templates/application.hbs: Added.
  • Speedometer/resources/todomvc/architecture-examples/emberjs/source/app/templates/completed.hbs: Added.
  • Speedometer/resources/todomvc/architecture-examples/emberjs/source/app/templates/components/.gitkeep: Added.
  • Speedometer/resources/todomvc/architecture-examples/emberjs/source/app/templates/components/todo-item.hbs: Added.
  • Speedometer/resources/todomvc/architecture-examples/emberjs/source/app/templates/components/todo-list.hbs: Added.
  • Speedometer/resources/todomvc/architecture-examples/emberjs/source/app/templates/index.hbs: Added.
  • Speedometer/resources/todomvc/architecture-examples/emberjs/source/bower.json: Added.
  • Speedometer/resources/todomvc/architecture-examples/emberjs/source/config/environment.js: Added.
  • Speedometer/resources/todomvc/architecture-examples/emberjs/source/ember-cli-build.js: Added.
  • Speedometer/resources/todomvc/architecture-examples/emberjs/source/package.json: Added.
  • Speedometer/resources/todomvc/architecture-examples/emberjs/source/public/crossdomain.xml: Added.
  • Speedometer/resources/todomvc/architecture-examples/emberjs/source/public/robots.txt: Added.
  • Speedometer/resources/todomvc/architecture-examples/emberjs/source/testem.js: Added.
  • Speedometer/resources/todomvc/architecture-examples/emberjs/source/tests/.jshintrc: Added.
  • Speedometer/resources/todomvc/architecture-examples/emberjs/source/tests/helpers/destroy-app.js: Added.
  • Speedometer/resources/todomvc/architecture-examples/emberjs/source/tests/helpers/module-for-acceptance.js: Added.
  • Speedometer/resources/todomvc/architecture-examples/emberjs/source/tests/helpers/resolver.js: Added.
  • Speedometer/resources/todomvc/architecture-examples/emberjs/source/tests/helpers/start-app.js: Added.
  • Speedometer/resources/todomvc/architecture-examples/emberjs/source/tests/index.html: Added.
  • Speedometer/resources/todomvc/architecture-examples/emberjs/source/tests/integration/.gitkeep: Added.
  • Speedometer/resources/todomvc/architecture-examples/emberjs/source/tests/test-helper.js: Added.
  • Speedometer/resources/todomvc/architecture-examples/emberjs/source/tests/unit/.gitkeep: Added.
  • Speedometer/resources/todomvc/architecture-examples/emberjs/source/vendor/.gitkeep: Added.
  • Speedometer/resources/todomvc/architecture-examples/emberjs/source/vendor/base.css: Added.
  • Speedometer/resources/todomvc/architecture-examples/emberjs/source/vendor/index.css: Added.
  • Speedometer/resources/todomvc/architecture-examples/emberjs/test.html: Removed.
  • Speedometer/resources/todomvc/architecture-examples/emberjs/testem.js: Added.
  • Speedometer/resources/todomvc/architecture-examples/emberjs/tests/index.html: Added.
11:05 PM Changeset in webkit [216734] by sbarati@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

Computing optionalDefArgWidth in CheckSpecial should not consider Scratch roles
https://bugs.webkit.org/show_bug.cgi?id=171962

Reviewed by Filip Pizlo.

The purpose of getting the result width is to get the width of
the result of the arithmetic. It does not care about that the
Check happens to define scratches.

  • b3/B3CheckSpecial.cpp:

(JSC::B3::CheckSpecial::forEachArg):

  • b3/testb3.cpp:

(JSC::B3::testCheckMul):
(JSC::B3::testCheckMulMemory):
(JSC::B3::testCheckMul64):
(JSC::B3::testCheckMulFold):
(JSC::B3::testCheckMulFoldFail):
(JSC::B3::testCheckMulArgumentAliasing64):
(JSC::B3::testCheckMulArgumentAliasing32):
(JSC::B3::testCheckMul64SShr):

11:04 PM Changeset in webkit [216733] by sbarati@apple.com
  • 4 edits in trunk/Source/JavaScriptCore

isValidForm for SimpleAddr should use ptr() instead of tmp()
https://bugs.webkit.org/show_bug.cgi?id=171992

Reviewed by Filip Pizlo.

Arg::tmp() asserts that its kind is Tmp. Inst::isValidForm for
SimpleAddr was using Arg::tmp() instead of ptr() to check
if the address Tmp isGP(). It should be using Arg::ptr() instead
of Arg::tmp() since Arg::ptr() is designed for SimpleAddr.

This patch also fixes an incorrect assertion in the ARM64
macro assembler. We were asserting various atomic ops were
only over 32/64 bit operations. However, the code was properly handling
8/16/32/64 bit ops. I changed the assertion to reflect what is
actually going on.

  • assembler/ARM64Assembler.h:

(JSC::ARM64Assembler::ldar):
(JSC::ARM64Assembler::ldxr):
(JSC::ARM64Assembler::ldaxr):
(JSC::ARM64Assembler::stxr):
(JSC::ARM64Assembler::stlr):
(JSC::ARM64Assembler::stlxr):

  • b3/air/opcode_generator.rb:
  • b3/testb3.cpp:

(JSC::B3::testLoadAcq42):
(JSC::B3::testStoreRelAddLoadAcq32):
(JSC::B3::testStoreRelAddLoadAcq8):
(JSC::B3::testStoreRelAddFenceLoadAcq8):
(JSC::B3::testStoreRelAddLoadAcq16):
(JSC::B3::testStoreRelAddLoadAcq64):
(JSC::B3::testAtomicWeakCAS):
(JSC::B3::testAtomicStrongCAS):
(JSC::B3::testAtomicXchg):

10:50 PM Changeset in webkit [216732] by commit-queue@webkit.org
  • 1 edit
    38 adds in trunk/PerformanceTests

Speedometer: Add a React + Redux TodoMVC implementation
https://bugs.webkit.org/show_bug.cgi?id=171329

Patch by Addy Osmani <addyosmani@gmail.com> on 2017-05-11
Reviewed by Ryosuke Niwa.

Adds React and Redux TodoMVC implementation for Speedometer

  • Speedometer/resources/todomvc/architecture-examples/react-redux/README.md: Added.
  • Speedometer/resources/todomvc/architecture-examples/react-redux/dist/index.html: Added.
  • Speedometer/resources/todomvc/architecture-examples/react-redux/dist/static/css/main.d43d2909.css: Added.
  • Speedometer/resources/todomvc/architecture-examples/react-redux/dist/static/js/main.946269ff.js: Added.
  • Speedometer/resources/todomvc/architecture-examples/react-redux/package.json: Added.
  • Speedometer/resources/todomvc/architecture-examples/react-redux/public/index.html: Added.
  • Speedometer/resources/todomvc/architecture-examples/react-redux/src/actions/index.js: Added.
  • Speedometer/resources/todomvc/architecture-examples/react-redux/src/actions/index.spec.js: Added.
  • Speedometer/resources/todomvc/architecture-examples/react-redux/src/components/Footer.js: Added.
  • Speedometer/resources/todomvc/architecture-examples/react-redux/src/components/Footer.spec.js: Added.
  • Speedometer/resources/todomvc/architecture-examples/react-redux/src/components/Header.js: Added.
  • Speedometer/resources/todomvc/architecture-examples/react-redux/src/components/Header.spec.js: Added.
  • Speedometer/resources/todomvc/architecture-examples/react-redux/src/components/MainSection.js: Added.
  • Speedometer/resources/todomvc/architecture-examples/react-redux/src/components/MainSection.spec.js: Added.
  • Speedometer/resources/todomvc/architecture-examples/react-redux/src/components/TodoItem.js: Added.
  • Speedometer/resources/todomvc/architecture-examples/react-redux/src/components/TodoItem.spec.js: Added.
  • Speedometer/resources/todomvc/architecture-examples/react-redux/src/components/TodoTextInput.js: Added.
  • Speedometer/resources/todomvc/architecture-examples/react-redux/src/components/TodoTextInput.spec.js: Added.
  • Speedometer/resources/todomvc/architecture-examples/react-redux/src/constants/ActionTypes.js: Added.
  • Speedometer/resources/todomvc/architecture-examples/react-redux/src/constants/TodoFilters.js: Added.
  • Speedometer/resources/todomvc/architecture-examples/react-redux/src/containers/App.js: Added.
  • Speedometer/resources/todomvc/architecture-examples/react-redux/src/index.js: Added.
  • Speedometer/resources/todomvc/architecture-examples/react-redux/src/reducers/index.js: Added.
  • Speedometer/resources/todomvc/architecture-examples/react-redux/src/reducers/todos.js: Added.
  • Speedometer/resources/todomvc/architecture-examples/react-redux/src/reducers/todos.spec.js: Added.
  • Speedometer/resources/todomvc/architecture-examples/react-redux/yarn.lock: Added.
10:21 PM Changeset in webkit [216731] by Yusuke Suzuki
  • 8 edits
    1 copy
    1 move
    1 add in trunk/Source/WTF

[Win] Implement memoryFootprint for Windows
https://bugs.webkit.org/show_bug.cgi?id=171693

Reviewed by Alex Christensen.

This patch implements memoryFootprint for Windows. In Windows, we calculate the size
of private working set. This can be done by enumerating private pages in working set.

And we also split MemoryFootprint.cpp to cocoa, linux, and win versions.

  • WTF.xcodeproj/project.pbxproj:
  • wtf/CMakeLists.txt:
  • wtf/MallocPtr.h:

(WTF::MallocPtr::operator*):
(WTF::MallocPtr::operator->):

  • wtf/PlatformGTK.cmake:
  • wtf/PlatformJSCOnly.cmake:
  • wtf/PlatformMac.cmake:
  • wtf/PlatformWin.cmake:
  • wtf/cocoa/MemoryFootprintCocoa.cpp: Copied from Source/WTF/wtf/MemoryFootprint.cpp.

(WTF::memoryFootprint):

  • wtf/linux/MemoryFootprintLinux.cpp: Renamed from Source/WTF/wtf/MemoryFootprint.cpp.

(WTF::forEachLine):
(WTF::memoryFootprint):

  • wtf/win/MemoryFootprintWin.cpp: Added.

(WTF::memoryFootprint):

10:02 PM Changeset in webkit [216730] by Chris Dumez
  • 12 edits in trunk/Source

Drop remaining uses of PassRefPtr in WebCore
https://bugs.webkit.org/show_bug.cgi?id=172013

Reviewed by Yusuke Suzuki.

Source/WebCore:

  • bindings/js/ScriptController.cpp:

(WebCore::ScriptController::createRootObject):

  • bindings/js/ScriptController.h:
  • bindings/js/ScriptControllerMac.mm:
  • bridge/objc/WebScriptObject.mm:

(WebCore::createJSWrapper):
(-[WebScriptObject _setImp:originRootObject:rootObject:]):
(-[WebScriptObject _setOriginRootObject:andRootObject:]):
(-[WebScriptObject _initWithJSObject:originRootObject:rootObject:]):

  • bridge/objc/WebScriptObjectPrivate.h:

Source/WebKit/mac:

  • Plugins/Hosted/NetscapePluginInstanceProxy.h:
  • Plugins/Hosted/NetscapePluginInstanceProxy.mm:

(WebKit::NetscapePluginInstanceProxy::demarshalValueFromArray):
(WebKit::NetscapePluginInstanceProxy::createBindingsInstance):

  • Plugins/Hosted/WebHostedNetscapePluginView.mm:

(-[WebHostedNetscapePluginView createPluginBindingsInstance:]):

Source/WebKit/win:

  • Plugins/PluginView.cpp:

(WebCore::PluginView::bindingInstance):

9:32 PM Changeset in webkit [216729] by matthew_hanson@apple.com
  • 7 edits in branches/safari-604.1.21-branch/Source

Versioning.

8:55 PM Changeset in webkit [216728] by Alan Bujtas
  • 8 edits
    2 adds in trunk

RenderImageResource::hasImage is redundant and RenderImageResourceStyleImage's override is incorrect.
https://bugs.webkit.org/show_bug.cgi?id=172010
<rdar://problem/31086735>

Reviewed by Simon Fraser.

Source/WebCore:

RenderImageResourceStyleImage::hasImage() always returns true even when ::cachedImage()
returns nullptr (e.g. image is pending).
Remove it and use cachedImage() instead.

Test: fast/images/missing-content-image-crash.html

  • html/HTMLImageElement.cpp:

(WebCore::HTMLImageElement::didAttachRenderers):

  • rendering/RenderImage.cpp:

(WebCore::RenderImage::updateIntrinsicSizeIfNeeded):
(WebCore::RenderImage::isShowingMissingOrImageError):
(WebCore::RenderImage::hasNonBitmapImage):
(WebCore::RenderImage::paintReplaced):
(WebCore::RenderImage::paintIntoRect):
(WebCore::RenderImage::foregroundIsKnownToBeOpaqueInRect):

  • rendering/RenderImageResource.h:

(WebCore::RenderImageResource::cachedImage):
(WebCore::RenderImageResource::hasImage): Deleted.

  • rendering/RenderImageResourceStyleImage.h:
  • rendering/svg/RenderSVGImage.cpp:

(WebCore::RenderSVGImage::paint):

  • svg/SVGImageElement.cpp:

(WebCore::SVGImageElement::hasSingleSecurityOrigin):
(WebCore::SVGImageElement::didAttachRenderers):

LayoutTests:

  • fast/images/missing-content-image-crash-expected.txt: Added.
  • fast/images/missing-content-image-crash.html: Added.
8:41 PM Changeset in webkit [216727] by commit-queue@webkit.org
  • 1 edit
    31 adds in trunk/PerformanceTests

Speedometer: Add an ES2015 (Babel + Webpack) TodoMVC implementation
https://bugs.webkit.org/show_bug.cgi?id=171452

Patch by Addy Osmani <addyosmani@gmail.com> on 2017-05-11
Reviewed by Ryosuke Niwa.

Adds ES2015 Babel + Webpack TodoMVC implem

  • Speedometer/resources/todomvc/vanilla-examples/es2015-babel-webpack/.babelrc: Added.
  • Speedometer/resources/todomvc/vanilla-examples/es2015-babel-webpack/.eslintignore: Added.
  • Speedometer/resources/todomvc/vanilla-examples/es2015-babel-webpack/dist/bundle.app.73bcc5d3c1d07180f0e3.js: Added.
  • Speedometer/resources/todomvc/vanilla-examples/es2015-babel-webpack/dist/bundle.app.73bcc5d3c1d07180f0e3.js.map: Added.
  • Speedometer/resources/todomvc/vanilla-examples/es2015-babel-webpack/dist/bundle.manifest.112bf70a7f3deebf1f93.js: Added.
  • Speedometer/resources/todomvc/vanilla-examples/es2015-babel-webpack/dist/bundle.manifest.112bf70a7f3deebf1f93.js.map: Added.
  • Speedometer/resources/todomvc/vanilla-examples/es2015-babel-webpack/dist/bundle.vendor.efaa3e0e20077c8e7471.js: Added.
  • Speedometer/resources/todomvc/vanilla-examples/es2015-babel-webpack/dist/bundle.vendor.efaa3e0e20077c8e7471.js.map: Added.
  • Speedometer/resources/todomvc/vanilla-examples/es2015-babel-webpack/dist/index.html: Added.
  • Speedometer/resources/todomvc/vanilla-examples/es2015-babel-webpack/dist/styles.app.73bcc5d3c1d07180f0e3.css: Added.
  • Speedometer/resources/todomvc/vanilla-examples/es2015-babel-webpack/dist/styles.app.73bcc5d3c1d07180f0e3.css.map: Added.
  • Speedometer/resources/todomvc/vanilla-examples/es2015-babel-webpack/dist/styles.vendor.efaa3e0e20077c8e7471.css: Added.
  • Speedometer/resources/todomvc/vanilla-examples/es2015-babel-webpack/dist/styles.vendor.efaa3e0e20077c8e7471.css.map: Added.
  • Speedometer/resources/todomvc/vanilla-examples/es2015-babel-webpack/package.json: Added.
  • Speedometer/resources/todomvc/vanilla-examples/es2015-babel-webpack/src/app.css: Added.
  • Speedometer/resources/todomvc/vanilla-examples/es2015-babel-webpack/src/app.js: Added.
  • Speedometer/resources/todomvc/vanilla-examples/es2015-babel-webpack/src/bootstrap.js: Added.
  • Speedometer/resources/todomvc/vanilla-examples/es2015-babel-webpack/src/controller.js: Added.
  • Speedometer/resources/todomvc/vanilla-examples/es2015-babel-webpack/src/controller.test.js: Added.
  • Speedometer/resources/todomvc/vanilla-examples/es2015-babel-webpack/src/helpers.js: Added.
  • Speedometer/resources/todomvc/vanilla-examples/es2015-babel-webpack/src/index.html: Added.
  • Speedometer/resources/todomvc/vanilla-examples/es2015-babel-webpack/src/memory.js: Added.
  • Speedometer/resources/todomvc/vanilla-examples/es2015-babel-webpack/src/model.js: Added.
  • Speedometer/resources/todomvc/vanilla-examples/es2015-babel-webpack/src/store.js: Added.
  • Speedometer/resources/todomvc/vanilla-examples/es2015-babel-webpack/src/template.js: Added.
  • Speedometer/resources/todomvc/vanilla-examples/es2015-babel-webpack/src/todo.js: Added.
  • Speedometer/resources/todomvc/vanilla-examples/es2015-babel-webpack/src/view.js: Added.
  • Speedometer/resources/todomvc/vanilla-examples/es2015-babel-webpack/webpack.config.babel.js: Added.
8:18 PM Changeset in webkit [216726] by Alan Bujtas
  • 7 edits
    2 adds in trunk

AX: Defer text changes until after the tree is clean if needed.
https://bugs.webkit.org/show_bug.cgi?id=171546
<rdar://problem/31934942>

Reviewed by Simon Fraser.

Source/WebCore:

While updating an accessibility object state, we might
trigger unintentional style updates. This style update could
end up destroying renderes that are still referenced by functions
on the callstack.
To avoid that, defer such changes and let AXObjectCache operate on a clean tree.

Test: accessibility/crash-when-render-tree-is-not-clean.html

  • accessibility/AXObjectCache.cpp:

(WebCore::AXObjectCache::remove):
(WebCore::AXObjectCache::handleAttributeChanged):
(WebCore::AXObjectCache::labelChanged):
(WebCore::AXObjectCache::performDeferredCacheUpdate):
(WebCore::AXObjectCache::deferRecomputeIsIgnored):
(WebCore::AXObjectCache::deferTextChangedIfNeeded):
(WebCore::AXObjectCache::recomputeDeferredIsIgnored): Deleted.
(WebCore::AXObjectCache::deferTextChanged): Deleted.

  • accessibility/AXObjectCache.h: Decouple different type of changes.

(WebCore::AXObjectCache::deferRecomputeIsIgnored):
(WebCore::AXObjectCache::deferTextChangedIfNeeded):
(WebCore::AXObjectCache::recomputeDeferredIsIgnored): Deleted.
(WebCore::AXObjectCache::deferTextChanged): Deleted.

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::deleteLines):

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::RenderBlockFlow::createAndAppendRootInlineBox):

  • rendering/RenderText.cpp:

(WebCore::RenderText::setText):

LayoutTests:

  • accessibility/crash-when-render-tree-is-not-clean-expected.txt: Added.
  • accessibility/crash-when-render-tree-is-not-clean.html: Added.
8:16 PM Changeset in webkit [216725] by commit-queue@webkit.org
  • 7 edits
    5 moves
    2 adds in trunk

Tools:
Allow WPT server to serve specific WebKit test
https://bugs.webkit.org/show_bug.cgi?id=171479

Patch by Youenn Fablet <youenn@apple.com> on 2017-05-11
Reviewed by Ryosuke Niwa.

Adding a new mount point to WPT server.
It points to LayoutTests/http/wpt folder and is triggered on "/WebKit" urls.

Updating the webkitpy infrastructure to launch WPT server and do test url mapping for LayoutTests/wpt tests.

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

(Manager.init):
(Manager._is_http_test):
(Manager._needs_web_platform_test):
(Manager._run_tests):
(Manager._is_web_platform_test): Deleted.

  • Scripts/webkitpy/layout_tests/servers/web_platform_test_launcher.py:

(build_routes):
(main):

  • Scripts/webkitpy/port/driver.py:

(Driver):
(Driver.is_webkit_specific_web_platform_test):
(Driver.test_to_uri):
(Driver._command_from_driver_input):

LayoutTests:
Allow WPT server to serve specific WebKit tests
https://bugs.webkit.org/show_bug.cgi?id=171479

Patch by Youenn Fablet <youenn@apple.com> on 2017-05-11
Reviewed by Ryosuke Niwa.

Moving tests to ensure they are correctly runned.

  • http/wpt/fetch/fetch-as-blob-expected.txt: Renamed from LayoutTests/http/tests/fetch/fetch-as-blob-expected.txt.
  • http/wpt/fetch/fetch-as-blob-worker-expected.txt: Renamed from LayoutTests/http/tests/fetch/fetch-as-blob-worker-expected.txt.
  • http/wpt/fetch/fetch-as-blob-worker.html: Renamed from LayoutTests/http/tests/fetch/fetch-as-blob-worker.html.
  • http/wpt/fetch/fetch-as-blob.html: Renamed from LayoutTests/http/tests/fetch/fetch-as-blob.html.
  • http/wpt/fetch/fetch-as-blob.js: Renamed from LayoutTests/http/tests/fetch/fetch-as-blob.js.

(promise_test):

8:14 PM Changeset in webkit [216724] by Chris Dumez
  • 23 edits in trunk/Source/WebCore

Drop remaining uses of PassRefPtr under platform/
https://bugs.webkit.org/show_bug.cgi?id=172007

Reviewed by Geoffrey Garen.

  • platform/graphics/wpe/ImageWPE.cpp:

(WebCore::Image::loadPlatformResource):

  • platform/ios/LegacyTileGrid.h:
  • platform/ios/LegacyTileGrid.mm:

(WebCore::LegacyTileGrid::tileForIndex):
(WebCore::LegacyTileGrid::tileForPoint):

  • platform/ios/LegacyTileGridTile.h:

(WebCore::LegacyTileGridTile::create):

  • platform/mediastream/RTCIceCandidateDescriptor.cpp:

(WebCore::RTCIceCandidateDescriptor::create):

  • platform/mediastream/RTCIceCandidateDescriptor.h:
  • platform/mediastream/RTCPeerConnectionHandlerClient.h:
  • platform/mediastream/RTCSessionDescriptionDescriptor.cpp:

(WebCore::RTCSessionDescriptionDescriptor::create):

  • platform/mediastream/RTCSessionDescriptionDescriptor.h:
  • platform/mediastream/RTCSessionDescriptionRequest.h:

(WebCore::RTCSessionDescriptionRequest::extraData):
(WebCore::RTCSessionDescriptionRequest::setExtraData):

  • platform/mediastream/RealtimeMediaSourceCenter.h:
  • platform/mediastream/mac/RealtimeMediaSourceCenterMac.h:
  • platform/mediastream/openwebrtc/RealtimeMediaSourceCenterOwr.cpp:

(WebCore::RealtimeMediaSourceCenterOwr::firstSource):

  • platform/mediastream/openwebrtc/RealtimeMediaSourceCenterOwr.h:
  • platform/mock/DeviceOrientationClientMock.cpp:

(WebCore::DeviceOrientationClientMock::setOrientation):

  • platform/mock/DeviceOrientationClientMock.h:
  • platform/mock/GeolocationClientMock.cpp:

(WebCore::GeolocationClientMock::setPosition):

  • platform/mock/GeolocationClientMock.h:
  • platform/mock/RTCNotifiersMock.cpp:

(WebCore::SessionRequestNotifier::SessionRequestNotifier):
(WebCore::SessionRequestNotifier::fire):
(WebCore::VoidRequestNotifier::VoidRequestNotifier):

  • platform/mock/RTCNotifiersMock.h:
  • platform/mock/TimerEventBasedMock.h:

(WebCore::TimerEventBasedMock::removeEvent):
(WebCore::TimerEvent::TimerEvent):
(WebCore::TimerEvent::timerFired):

  • platform/mock/mediasource/MockMediaSourcePrivate.cpp:

(WebCore::MockSourceBufferPrivateHasAudio):
(WebCore::MockSourceBufferPrivateHasVideo):

  • platform/wpe/RenderThemeWPE.h:
8:00 PM Changeset in webkit [216723] by rniwa@webkit.org
  • 1 edit
    22 adds in trunk/PerformanceTests

Speedometer: Add an Inferno TodoMVC implementation
https://bugs.webkit.org/show_bug.cgi?id=171411

Patch by Addy Osmani <addyosmani@gmail.com> on 2017-05-11
Reviewed by Ryosuke Niwa.

Adds a Inferno implem of TodoMVC to Speedometer

  • Speedometer/resources/todomvc/architecture-examples/inferno/dist/bundle.js: Added.
  • Speedometer/resources/todomvc/architecture-examples/inferno/index.html: Added.
  • Speedometer/resources/todomvc/architecture-examples/inferno/node_modules/todomvc-app-css/index.css: Added.
  • Speedometer/resources/todomvc/architecture-examples/inferno/node_modules/todomvc-app-css/package.json: Added.
  • Speedometer/resources/todomvc/architecture-examples/inferno/node_modules/todomvc-app-css/readme.md: Added.
  • Speedometer/resources/todomvc/architecture-examples/inferno/node_modules/todomvc-common/base.css: Added.
  • Speedometer/resources/todomvc/architecture-examples/inferno/node_modules/todomvc-common/base.js: Added.
  • Speedometer/resources/todomvc/architecture-examples/inferno/node_modules/todomvc-common/package.json: Added.
  • Speedometer/resources/todomvc/architecture-examples/inferno/node_modules/todomvc-common/readme.md: Added.
  • Speedometer/resources/todomvc/architecture-examples/inferno/package.json: Added.
  • Speedometer/resources/todomvc/architecture-examples/inferno/src/base.js: Added.
  • Speedometer/resources/todomvc/architecture-examples/inferno/src/index.js: Added.
  • Speedometer/resources/todomvc/architecture-examples/inferno/src/item.js: Added.
  • Speedometer/resources/todomvc/architecture-examples/inferno/src/model.js: Added.
  • Speedometer/resources/todomvc/architecture-examples/inferno/src/share.js: Added.
  • Speedometer/resources/todomvc/architecture-examples/inferno/webpack.config.js: Added.
7:57 PM Changeset in webkit [216722] by clopez@igalia.com
  • 2 edits in trunk/Source/WebCore

[WPE] Stop using PassRefPtr in platform/graphics/wpe
https://bugs.webkit.org/show_bug.cgi?id=171977

Unreviewed build fix after r216702.

  • platform/graphics/wpe/ImageWPE.cpp:

(WebCore::Image::loadPlatformResource):

7:55 PM Changeset in webkit [216721] by rniwa@webkit.org
  • 1 edit
    50 adds in trunk/PerformanceTests

Speedometer: Add an Angular 2 (4.x) TodoMVC implementation
https://bugs.webkit.org/show_bug.cgi?id=171343

Patch by Addy Osmani <addyosmani@gmail.com> on 2017-05-11
Reviewed by Ryosuke Niwa.

Add a TodoMVC Angular 2 (4.x) implem for the benchmark

  • Speedometer/resources/todomvc/architecture-examples/angular/.angular-cli.json: Added.
  • Speedometer/resources/todomvc/architecture-examples/angular/.editorconfig: Added.
  • Speedometer/resources/todomvc/architecture-examples/angular/README.md: Added.
  • Speedometer/resources/todomvc/architecture-examples/angular/dist/assets/css/todomvc-app.css: Added.
  • Speedometer/resources/todomvc/architecture-examples/angular/dist/assets/css/todomvc-common.css: Added.
  • Speedometer/resources/todomvc/architecture-examples/angular/dist/favicon.ico: Added.
  • Speedometer/resources/todomvc/architecture-examples/angular/dist/index.html: Added.
  • Speedometer/resources/todomvc/architecture-examples/angular/dist/inline.b342d102ba4a53bf2002.bundle.js: Added.
  • Speedometer/resources/todomvc/architecture-examples/angular/dist/main.779eb2f1ddbe23ac61c7.bundle.js: Added.
  • Speedometer/resources/todomvc/architecture-examples/angular/dist/polyfills.2d45a4c73c85e24fe474.bundle.js: Added.
  • Speedometer/resources/todomvc/architecture-examples/angular/dist/styles.d41d8cd98f00b204e980.bundle.css: Added.
  • Speedometer/resources/todomvc/architecture-examples/angular/dist/vendor.b4be818cb6d8028f9192.bundle.js: Added.
  • Speedometer/resources/todomvc/architecture-examples/angular/e2e/app.e2e-spec.ts: Added.
  • Speedometer/resources/todomvc/architecture-examples/angular/e2e/app.po.ts: Added.
  • Speedometer/resources/todomvc/architecture-examples/angular/e2e/tsconfig.e2e.json: Added.
  • Speedometer/resources/todomvc/architecture-examples/angular/karma.conf.js: Added.
  • Speedometer/resources/todomvc/architecture-examples/angular/package.json: Added.
  • Speedometer/resources/todomvc/architecture-examples/angular/protractor.conf.js: Added.
  • Speedometer/resources/todomvc/architecture-examples/angular/src/app/app.component.css: Added.
  • Speedometer/resources/todomvc/architecture-examples/angular/src/app/app.component.html: Added.
  • Speedometer/resources/todomvc/architecture-examples/angular/src/app/app.component.spec.ts: Added.
  • Speedometer/resources/todomvc/architecture-examples/angular/src/app/app.component.ts: Added.
  • Speedometer/resources/todomvc/architecture-examples/angular/src/app/app.module.ts: Added.
  • Speedometer/resources/todomvc/architecture-examples/angular/src/app/todo-data.service.spec.ts: Added.
  • Speedometer/resources/todomvc/architecture-examples/angular/src/app/todo-data.service.ts: Added.
  • Speedometer/resources/todomvc/architecture-examples/angular/src/app/todo.spec.ts: Added.
  • Speedometer/resources/todomvc/architecture-examples/angular/src/app/todo.ts: Added.
  • Speedometer/resources/todomvc/architecture-examples/angular/src/assets/.gitkeep: Added.
  • Speedometer/resources/todomvc/architecture-examples/angular/src/assets/css/todomvc-app.css: Added.
  • Speedometer/resources/todomvc/architecture-examples/angular/src/assets/css/todomvc-common.css: Added.
  • Speedometer/resources/todomvc/architecture-examples/angular/src/environments/environment.prod.ts: Added.
  • Speedometer/resources/todomvc/architecture-examples/angular/src/environments/environment.ts: Added.
  • Speedometer/resources/todomvc/architecture-examples/angular/src/favicon.ico: Added.
  • Speedometer/resources/todomvc/architecture-examples/angular/src/index.html: Added.
  • Speedometer/resources/todomvc/architecture-examples/angular/src/main.ts: Added.
  • Speedometer/resources/todomvc/architecture-examples/angular/src/polyfills.ts: Added.
  • Speedometer/resources/todomvc/architecture-examples/angular/src/styles.css: Added.
  • Speedometer/resources/todomvc/architecture-examples/angular/src/test.ts: Added.
  • Speedometer/resources/todomvc/architecture-examples/angular/src/tsconfig.app.json: Added.
  • Speedometer/resources/todomvc/architecture-examples/angular/src/tsconfig.spec.json: Added.
  • Speedometer/resources/todomvc/architecture-examples/angular/src/typings.d.ts: Added.
  • Speedometer/resources/todomvc/architecture-examples/angular/tsconfig.json: Added.
  • Speedometer/resources/todomvc/architecture-examples/angular/tslint.json: Added.
7:54 PM Changeset in webkit [216720] by rniwa@webkit.org
  • 1 edit
    28 adds in trunk/PerformanceTests

Speedometer: Add a Vue.js TodoMVC implementation
https://bugs.webkit.org/show_bug.cgi?id=171325

Patch by Addy Osmani <addyosmani@gmail.com> on 2017-05-11
Reviewed by Ryosuke Niwa.

Adds a Vue.js TodoMVC implementation to Speedometer

  • Speedometer/resources/todomvc/architecture-examples/vuejs-cli/.babelrc: Added.
  • Speedometer/resources/todomvc/architecture-examples/vuejs-cli/.editorconfig: Added.
  • Speedometer/resources/todomvc/architecture-examples/vuejs-cli/.eslintignore: Added.
  • Speedometer/resources/todomvc/architecture-examples/vuejs-cli/.eslintrc.js: Added.
  • Speedometer/resources/todomvc/architecture-examples/vuejs-cli/README.md: Added.
  • Speedometer/resources/todomvc/architecture-examples/vuejs-cli/config/dev.env.js: Added.
  • Speedometer/resources/todomvc/architecture-examples/vuejs-cli/config/index.js: Added.
  • Speedometer/resources/todomvc/architecture-examples/vuejs-cli/config/prod.env.js: Added.
  • Speedometer/resources/todomvc/architecture-examples/vuejs-cli/dist/index.html: Added.
  • Speedometer/resources/todomvc/architecture-examples/vuejs-cli/dist/static/css/app.677b45842d9f8b96e5b23c18969233b7.css: Added.
  • Speedometer/resources/todomvc/architecture-examples/vuejs-cli/dist/static/js/app.b0e835874bc8949670d1.js: Added.
  • Speedometer/resources/todomvc/architecture-examples/vuejs-cli/dist/static/js/manifest.84b2b4fceb74ab1f91f3.js: Added.
  • Speedometer/resources/todomvc/architecture-examples/vuejs-cli/dist/static/js/vendor.a52517c5aa98e7fbea2e.js: Added.
  • Speedometer/resources/todomvc/architecture-examples/vuejs-cli/index.html: Added.
  • Speedometer/resources/todomvc/architecture-examples/vuejs-cli/package.json: Added.
  • Speedometer/resources/todomvc/architecture-examples/vuejs-cli/src/App.vue: Added.
  • Speedometer/resources/todomvc/architecture-examples/vuejs-cli/src/components/Todos.vue: Added.
  • Speedometer/resources/todomvc/architecture-examples/vuejs-cli/src/components/todo.css: Added.
  • Speedometer/resources/todomvc/architecture-examples/vuejs-cli/src/main.js: Added.
  • Speedometer/resources/todomvc/architecture-examples/vuejs-cli/yarn.lock: Added.
7:53 PM Changeset in webkit [216719] by rniwa@webkit.org
  • 8 edits
    8 adds
    2 deletes in trunk/PerformanceTests

Speedometer: Update the vanilla JavaScript TodoMVC implem to a more recent version
https://bugs.webkit.org/show_bug.cgi?id=171306

Patch by Addy Osmani <addyosmani@gmail.com> on 2017-05-11
Reviewed by Ryosuke Niwa.

Update vanilla JS TodoMVC implementation to the latest.

  • Speedometer/resources/todomvc/vanilla-examples/vanillajs/bower.json: Removed.
  • Speedometer/resources/todomvc/vanilla-examples/vanillajs/bower_components/todomvc-common/base.css: Removed.
  • Speedometer/resources/todomvc/vanilla-examples/vanillajs/bower_components/todomvc-common/base.js: Removed.
  • Speedometer/resources/todomvc/vanilla-examples/vanillajs/bower_components/todomvc-common/bg.png: Removed.
  • Speedometer/resources/todomvc/vanilla-examples/vanillajs/index.html:
  • Speedometer/resources/todomvc/vanilla-examples/vanillajs/js/app.js:
  • Speedometer/resources/todomvc/vanilla-examples/vanillajs/js/controller.js:
  • Speedometer/resources/todomvc/vanilla-examples/vanillajs/js/helpers.js:
  • Speedometer/resources/todomvc/vanilla-examples/vanillajs/js/model.js:
  • Speedometer/resources/todomvc/vanilla-examples/vanillajs/js/store.js:
  • Speedometer/resources/todomvc/vanilla-examples/vanillajs/js/template.js: Added.
  • Speedometer/resources/todomvc/vanilla-examples/vanillajs/js/view.js:
  • Speedometer/resources/todomvc/vanilla-examples/vanillajs/node_modules/todomvc-app-css/index.css: Added.
  • Speedometer/resources/todomvc/vanilla-examples/vanillajs/node_modules/todomvc-common/base.css: Added.
  • Speedometer/resources/todomvc/vanilla-examples/vanillajs/node_modules/todomvc-common/base.js: Added.
  • Speedometer/resources/todomvc/vanilla-examples/vanillajs/package.json: Added.
7:52 PM Changeset in webkit [216718] by rniwa@webkit.org
  • 1 edit
    22 adds in trunk/PerformanceTests

Speedometer: Add an ES2015 TodoMVC implementation
https://bugs.webkit.org/show_bug.cgi?id=171448

Patch by Addy Osmani <addyosmani@gmail.com> on 2017-05-11
Reviewed by Ryosuke Niwa.

Adds ES2015 TodoMVC implementation for Speedometer

  • Speedometer/resources/todomvc/vanilla-examples/es2015/index.html: Added.
  • Speedometer/resources/todomvc/vanilla-examples/es2015/node_modules/todomvc-app-css/index.css: Added.
  • Speedometer/resources/todomvc/vanilla-examples/es2015/node_modules/todomvc-app-css/package.json: Added.
  • Speedometer/resources/todomvc/vanilla-examples/es2015/node_modules/todomvc-app-css/readme.md: Added.
  • Speedometer/resources/todomvc/vanilla-examples/es2015/node_modules/todomvc-common/base.css: Added.
  • Speedometer/resources/todomvc/vanilla-examples/es2015/node_modules/todomvc-common/base.js: Added.
  • Speedometer/resources/todomvc/vanilla-examples/es2015/node_modules/todomvc-common/package.json: Added.
  • Speedometer/resources/todomvc/vanilla-examples/es2015/node_modules/todomvc-common/readme.md: Added.
  • Speedometer/resources/todomvc/vanilla-examples/es2015/package.json: Added.
  • Speedometer/resources/todomvc/vanilla-examples/es2015/src/.jshintrc: Added.
  • Speedometer/resources/todomvc/vanilla-examples/es2015/src/app.js: Added.
  • Speedometer/resources/todomvc/vanilla-examples/es2015/src/controller.js: Added.
  • Speedometer/resources/todomvc/vanilla-examples/es2015/src/helpers.js: Added.
  • Speedometer/resources/todomvc/vanilla-examples/es2015/src/model.js: Added.
  • Speedometer/resources/todomvc/vanilla-examples/es2015/src/store.js: Added.
  • Speedometer/resources/todomvc/vanilla-examples/es2015/src/template.js: Added.
  • Speedometer/resources/todomvc/vanilla-examples/es2015/src/view.js: Added.
7:50 PM Changeset in webkit [216717] by rniwa@webkit.org
  • 1 edit
    16 adds in trunk/PerformanceTests

Speedometer: Add an Elm TodoMVC implementation
https://bugs.webkit.org/show_bug.cgi?id=171464

Patch by Addy Osmani <addyosmani@gmail.com> on 2017-05-11
Reviewed by Ryosuke Niwa.

Speedometer: Add Elm TodoMVC implementation

  • Speedometer/resources/todomvc/functional-prog-examples/elm/Todo.elm: Added.
  • Speedometer/resources/todomvc/functional-prog-examples/elm/Todo/Task.elm: Added.
  • Speedometer/resources/todomvc/functional-prog-examples/elm/dist/elm.js: Added.
  • Speedometer/resources/todomvc/functional-prog-examples/elm/index.html: Added.
  • Speedometer/resources/todomvc/functional-prog-examples/elm/node_modules/todomvc-app-css/index.css: Added.
  • Speedometer/resources/todomvc/functional-prog-examples/elm/node_modules/todomvc-common/base.css: Added.
  • Speedometer/resources/todomvc/functional-prog-examples/elm/node_modules/todomvc-common/base.js: Added.
  • Speedometer/resources/todomvc/functional-prog-examples/elm/package.json: Added.
  • Speedometer/resources/todomvc/functional-prog-examples/elm/readme.md: Added.
7:46 PM Changeset in webkit [216716] by rniwa@webkit.org
  • 8 edits
    15 adds
    2 deletes in trunk/PerformanceTests

Speedometer: Update the Backbone.js implementation to a more recent library version
https://bugs.webkit.org/show_bug.cgi?id=171305

Patch by Addy Osmani <addyosmani@gmail.com> on 2017-05-11
Reviewed by Ryosuke Niwa.

Updates the Backbone.js TodoMVC implementation to latest

  • Speedometer/resources/todomvc/architecture-examples/backbone/bower.json: Removed.
  • Speedometer/resources/todomvc/architecture-examples/backbone/bower_components/backbone.localStorage/backbone.localStorage.js: Removed.
  • Speedometer/resources/todomvc/architecture-examples/backbone/bower_components/jquery/jquery.js: Removed.
  • Speedometer/resources/todomvc/architecture-examples/backbone/bower_components/todomvc-common/base.css: Removed.
  • Speedometer/resources/todomvc/architecture-examples/backbone/bower_components/todomvc-common/base.js: Removed.
  • Speedometer/resources/todomvc/architecture-examples/backbone/bower_components/todomvc-common/bg.png: Removed.
  • Speedometer/resources/todomvc/architecture-examples/backbone/bower_components/underscore/underscore.js: Removed.
  • Speedometer/resources/todomvc/architecture-examples/backbone/index.html:
  • Speedometer/resources/todomvc/architecture-examples/backbone/js/app.js:
  • Speedometer/resources/todomvc/architecture-examples/backbone/js/backbone.sync.js: Added.
  • Speedometer/resources/todomvc/architecture-examples/backbone/js/collections/todos.js:
  • Speedometer/resources/todomvc/architecture-examples/backbone/js/models/todo.js:
  • Speedometer/resources/todomvc/architecture-examples/backbone/js/routers/router.js:
  • Speedometer/resources/todomvc/architecture-examples/backbone/js/views/app-view.js:
  • Speedometer/resources/todomvc/architecture-examples/backbone/js/views/todo-view.js:
  • Speedometer/resources/todomvc/architecture-examples/backbone/node_modules/backbone/backbone.js: Renamed from PerformanceTests/Speedometer/resources/todomvc/architecture-examples/backbone/bower_components/backbone/backbone.js.
  • Speedometer/resources/todomvc/architecture-examples/backbone/node_modules/jquery/dist/jquery.js: Added.
  • Speedometer/resources/todomvc/architecture-examples/backbone/node_modules/todomvc-app-css/index.css: Added.
  • Speedometer/resources/todomvc/architecture-examples/backbone/node_modules/todomvc-common/base.css: Added.
  • Speedometer/resources/todomvc/architecture-examples/backbone/node_modules/todomvc-common/base.js: Added.
  • Speedometer/resources/todomvc/architecture-examples/backbone/node_modules/underscore/underscore.js: Added.
  • Speedometer/resources/todomvc/architecture-examples/backbone/package.json: Added.
7:45 PM Changeset in webkit [216715] by rniwa@webkit.org
  • 1 edit
    22 adds in trunk/PerformanceTests

Speedometer: Add a Preact.js TodoMVC implementation
https://bugs.webkit.org/show_bug.cgi?id=171323

Patch by Addy Osmani <addyosmani@gmail.com> on 2017-05-11
Reviewed by Ryosuke Niwa.

Adds Preact.js TodoMVC implementation to Speedometer

  • Speedometer/resources/todomvc/architecture-examples/preact/.babelrc: Added.
  • Speedometer/resources/todomvc/architecture-examples/preact/README.md: Added.
  • Speedometer/resources/todomvc/architecture-examples/preact/dist/app.js: Added.
  • Speedometer/resources/todomvc/architecture-examples/preact/dist/index.html: Added.
  • Speedometer/resources/todomvc/architecture-examples/preact/dist/todomvc-common/base.css: Added.
  • Speedometer/resources/todomvc/architecture-examples/preact/dist/todomvc-common/base.js: Added.
  • Speedometer/resources/todomvc/architecture-examples/preact/dist/todomvc.css: Added.
  • Speedometer/resources/todomvc/architecture-examples/preact/package.json: Added.
  • Speedometer/resources/todomvc/architecture-examples/preact/rollup.config.js: Added.
  • Speedometer/resources/todomvc/architecture-examples/preact/src/app/footer.js: Added.
  • Speedometer/resources/todomvc/architecture-examples/preact/src/app/index.js: Added.
  • Speedometer/resources/todomvc/architecture-examples/preact/src/app/item.js: Added.
  • Speedometer/resources/todomvc/architecture-examples/preact/src/app/model.js: Added.
  • Speedometer/resources/todomvc/architecture-examples/preact/src/app/util.js: Added.
  • Speedometer/resources/todomvc/architecture-examples/preact/src/index.html: Added.
  • Speedometer/resources/todomvc/architecture-examples/preact/src/index.js: Added.
  • Speedometer/resources/todomvc/architecture-examples/preact/webpack.config.babel.js: Added.
7:13 PM Changeset in webkit [216714] by matthew_hanson@apple.com
  • 1 copy in tags/Safari-604.1.21.1

Tag Safari-604.1.21.1.

5:55 PM Changeset in webkit [216713] by commit-queue@webkit.org
  • 4 edits
    17 adds
    2 deletes in trunk/PerformanceTests

Speedometer: Update the jQuery implementation to a more recent library version
https://bugs.webkit.org/show_bug.cgi?id=171308

Patch by Addy Osmani <addyosmani@gmail.com> on 2017-05-11
Reviewed by Ryosuke Niwa.

Updates the jQuery implementation of TodoMVC to a more recent version

  • Speedometer/resources/todomvc/architecture-examples/jquery/bower.json: Removed.
  • Speedometer/resources/todomvc/architecture-examples/jquery/bower_components/handlebars/handlebars.js: Removed.
  • Speedometer/resources/todomvc/architecture-examples/jquery/bower_components/jquery/jquery.js: Removed.
  • Speedometer/resources/todomvc/architecture-examples/jquery/bower_components/todomvc-common/base.css: Removed.
  • Speedometer/resources/todomvc/architecture-examples/jquery/bower_components/todomvc-common/base.js: Removed.
  • Speedometer/resources/todomvc/architecture-examples/jquery/bower_components/todomvc-common/bg.png: Removed.
  • Speedometer/resources/todomvc/architecture-examples/jquery/index.html:
  • Speedometer/resources/todomvc/architecture-examples/jquery/js/app.js:
  • Speedometer/resources/todomvc/architecture-examples/jquery/node_modules/handlebars/dist/handlebars.js: Added.
  • Speedometer/resources/todomvc/architecture-examples/jquery/node_modules/jquery/dist/jquery.js: Added.
  • Speedometer/resources/todomvc/architecture-examples/jquery/node_modules/todomvc-app-css/index.css: Added.
  • Speedometer/resources/todomvc/architecture-examples/jquery/node_modules/todomvc-app-css/package.json: Added.
  • Speedometer/resources/todomvc/architecture-examples/jquery/node_modules/todomvc-app-css/readme.md: Added.
  • Speedometer/resources/todomvc/architecture-examples/jquery/node_modules/todomvc-common/base.css: Added.
  • Speedometer/resources/todomvc/architecture-examples/jquery/node_modules/todomvc-common/base.js: Added.
  • Speedometer/resources/todomvc/architecture-examples/jquery/node_modules/todomvc-common/package.json: Added.
  • Speedometer/resources/todomvc/architecture-examples/jquery/node_modules/todomvc-common/readme.md: Added.
  • Speedometer/resources/todomvc/architecture-examples/jquery/package.json: Added.
  • Speedometer/resources/todomvc/architecture-examples/jquery/readme.md:
5:52 PM Changeset in webkit [216712] by commit-queue@webkit.org
  • 23 edits
    3 adds in trunk

[iOS] Unset active media capture source when stopped capturing
https://bugs.webkit.org/show_bug.cgi?id=171815
<rdar://problem/32117885>

Patch by Youenn Fablet <youenn@apple.com> on 2017-05-11
Reviewed by Eric Carlson.

Source/WebCore:

Test: platform/ios/mediastream/getUserMedia-single-capture.html

Introducing SingleSourceFactory template class to be used by capture factories for iOS.
This class ensures that only one source is active at a time.
Update all capture sources accordingly.
Ensure sources are no longer considered as active sources when being destroyed.
Add support for mock sources and introducing m_isProducingData for them as well.

Update WebRTC outgoing source classes to handle the case of replaced track and resetting the enabled/mute
state according the new source.

Update the way we handle timestamps for audio data. We now consider that we read/write as a flow.
This allows smooth audio track replacing.

  • platform/mediastream/RealtimeMediaSource.h:
  • platform/mediastream/mac/AVAudioCaptureSource.mm:

(WebCore::AVAudioCaptureSource::~AVAudioCaptureSource):
(WebCore::AVAudioCaptureSourceFactory::setActiveSource): Deleted.

  • platform/mediastream/mac/AVVideoCaptureSource.mm:

(WebCore::AVVideoCaptureSource::~AVVideoCaptureSource):
(WebCore::AVVideoCaptureSourceFactory::setActiveSource): Deleted.

  • platform/mediastream/mac/CoreAudioCaptureSource.cpp:

(WebCore::CoreAudioCaptureSource::~CoreAudioCaptureSource):
(WebCore::CoreAudioCaptureSource::stopProducingData):
(WebCore::CoreAudioCaptureSourceFactory::setActiveSource): Deleted.

  • platform/mediastream/mac/RealtimeOutgoingAudioSource.cpp:

(WebCore::RealtimeOutgoingAudioSource::setSource):
(WebCore::RealtimeOutgoingAudioSource::audioSamplesAvailable):
(WebCore::RealtimeOutgoingAudioSource::pullAudioData):

  • platform/mediastream/mac/RealtimeOutgoingAudioSource.h:
  • platform/mediastream/mac/RealtimeOutgoingVideoSource.cpp:

(WebCore::RealtimeOutgoingVideoSource::setSource):
(WebCore::RealtimeOutgoingVideoSource::sourceMutedChanged):
(WebCore::RealtimeOutgoingVideoSource::sourceEnabledChanged):

  • platform/mock/MockRealtimeAudioSource.cpp:

(WebCore::mockAudioCaptureSourceFactory):
(WebCore::MockRealtimeAudioSource::factory):
(WebCore::MockRealtimeAudioSource::~MockRealtimeAudioSource):
(WebCore::MockRealtimeAudioSource::startProducingData):
(WebCore::MockRealtimeAudioSource::stopProducingData):

  • platform/mock/MockRealtimeAudioSource.h:
  • platform/mock/MockRealtimeVideoSource.cpp:

(WebCore::mockVideoCaptureSourceFactory):
(WebCore::MockRealtimeVideoSource::factory):
(WebCore::MockRealtimeVideoSource::~MockRealtimeVideoSource):
(WebCore::MockRealtimeVideoSource::startProducingData):
(WebCore::MockRealtimeVideoSource::stopProducingData):

  • platform/mock/MockRealtimeVideoSource.h:

(WebCore::MockRealtimeVideoSource::~MockRealtimeVideoSource): Deleted.

LayoutTests:

Improving the existing tests for better reliability and debugability.
Updating tests to use less webkitAudioContext.

  • platform/ios/mediastream/getUserMedia-single-capture-expected.txt: Added.
  • platform/ios/mediastream/getUserMedia-single-capture.html: Added.
  • webrtc/audio-peer-connection-webaudio.html:
  • webrtc/audio-replace-track-expected.txt:
  • webrtc/audio-replace-track.html:
  • webrtc/peer-connection-audio-mute.html:
  • webrtc/peer-connection-audio-mute2.html:
  • webrtc/peer-connection-remote-audio-mute.html:
  • webrtc/peer-connection-remote-audio-mute2.html:
  • webrtc/routines.js:
  • webrtc/video-replace-track-expected.txt:
  • webrtc/video-replace-track.html:
5:49 PM Changeset in webkit [216711] by beidson@apple.com
  • 7 edits in trunk

[WKWebsiteDataStore removeDataOfTypes:...] doesn't work for IndexedDB if the data store has a custom IDB path.
<rdar://problem/30612463> and https://bugs.webkit.org/show_bug.cgi?id=171994

Reviewed by Andy Estes.
Informal review by Maureen Daum.

Source/WebKit2:

  • DatabaseProcess/DatabaseProcess.cpp:

(WebKit::DatabaseProcess::deleteWebsiteData): Instead of accessing the m_idbServers set directly, make

the method call that creates the server on demand.

(WebKit::DatabaseProcess::deleteWebsiteDataForOrigins): Ditto.

  • UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::ensureDatabaseProcessAndWebsiteDataStore): Not only create the DatabaseProcess if necessary,

but also notify it about the passed-in WebsiteDataStore.

(WebKit::WebProcessPool::getDatabaseProcessConnection):
(WebKit::WebProcessPool::ensureDatabaseProcess): Deleted.

  • UIProcess/WebProcessPool.h:

(WebKit::WebProcessPool::sendToDatabaseProcessRelaunchingIfNecessary):

  • UIProcess/WebsiteData/WebsiteDataStore.cpp:

(WebKit::WebsiteDataStore::fetchData):
(WebKit::WebsiteDataStore::removeData):
(WebKit::WebsiteDataStore::databaseProcessParameters):

Tools:

  • TestWebKitAPI/Tests/WebKit2Cocoa/WebsiteDataStoreCustomPaths.mm:

(TEST):

5:47 PM Changeset in webkit [216710] by dino@apple.com
  • 2 edits in trunk/Source/WebKit2

Modern Media Controls shouldn't be an experimental feature
https://bugs.webkit.org/show_bug.cgi?id=172004
<rdar://problem/32146522>

Reviewed by Simon Fraser.

This is either always on or always off, so shouldn't
show up in an Experimental Features menu.

  • Shared/WebPreferencesDefinitions.h: Move ModernMediaControlsEnabled

to a normal preference.

5:43 PM Changeset in webkit [216709] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebCore

Fix the iOS build

  • platform/spi/mac/NSSpellCheckerSPI.h:
5:15 PM Changeset in webkit [216708] by commit-queue@webkit.org
  • 1 edit
    23 copies
    1 move
    50 adds
    9 deletes in trunk/PerformanceTests

Speedometer: Update the Flight.js implementation to a more recent library version
https://bugs.webkit.org/show_bug.cgi?id=171471

Patch by Addy Osmani <addyosmani@gmail.com> on 2017-05-11
Reviewed by Ryosuke Niwa.

Speedometer: Update FlightJS TodoMVC implementation

  • Speedometer/resources/todomvc/dependency-examples/flight/.gitignore: Removed.
  • Speedometer/resources/todomvc/dependency-examples/flight/.jshintrc: Removed.
  • Speedometer/resources/todomvc/dependency-examples/flight/app/js/main.js: Removed.
  • Speedometer/resources/todomvc/dependency-examples/flight/app/js/store.js: Removed.
  • Speedometer/resources/todomvc/dependency-examples/flight/bower.json: Removed.
  • Speedometer/resources/todomvc/dependency-examples/flight/bower_components/es5-shim/es5-shim.js: Removed.
  • Speedometer/resources/todomvc/dependency-examples/flight/bower_components/flight/lib/compose.js: Removed.
  • Speedometer/resources/todomvc/dependency-examples/flight/bower_components/flight/lib/index.js: Removed.
  • Speedometer/resources/todomvc/dependency-examples/flight/bower_components/flight/lib/logger.js: Removed.
  • Speedometer/resources/todomvc/dependency-examples/flight/bower_components/jquery/jquery.js: Removed.
  • Speedometer/resources/todomvc/dependency-examples/flight/bower_components/todomvc-common/base.css: Removed.
  • Speedometer/resources/todomvc/dependency-examples/flight/bower_components/todomvc-common/bg.png: Removed.
  • Speedometer/resources/todomvc/dependency-examples/flight/flight/app/js/data/stats.js: Renamed from PerformanceTests/Speedometer/resources/todomvc/dependency-examples/flight/app/js/data/stats.js.
  • Speedometer/resources/todomvc/dependency-examples/flight/flight/app/js/data/todos.js: Renamed from PerformanceTests/Speedometer/resources/todomvc/dependency-examples/flight/app/js/data/todos.js.
  • Speedometer/resources/todomvc/dependency-examples/flight/flight/app/js/main.js: Added.
  • Speedometer/resources/todomvc/dependency-examples/flight/flight/app/js/page/app.js: Renamed from PerformanceTests/Speedometer/resources/todomvc/dependency-examples/flight/app/js/app.js.
  • Speedometer/resources/todomvc/dependency-examples/flight/flight/app/js/store.js: Added.
  • Speedometer/resources/todomvc/dependency-examples/flight/flight/app/js/ui/main_selector.js: Renamed from PerformanceTests/Speedometer/resources/todomvc/dependency-examples/flight/app/js/ui/main_selector.js.
  • Speedometer/resources/todomvc/dependency-examples/flight/flight/app/js/ui/new_item.js: Renamed from PerformanceTests/Speedometer/resources/todomvc/dependency-examples/flight/app/js/ui/new_item.js.
  • Speedometer/resources/todomvc/dependency-examples/flight/flight/app/js/ui/stats.js: Renamed from PerformanceTests/Speedometer/resources/todomvc/dependency-examples/flight/app/js/ui/stats.js.
  • Speedometer/resources/todomvc/dependency-examples/flight/flight/app/js/ui/todo_list.js: Renamed from PerformanceTests/Speedometer/resources/todomvc/dependency-examples/flight/app/js/ui/todo_list.js.
  • Speedometer/resources/todomvc/dependency-examples/flight/flight/app/js/ui/toggle_all.js: Renamed from PerformanceTests/Speedometer/resources/todomvc/dependency-examples/flight/app/js/ui/toggle_all.js.
  • Speedometer/resources/todomvc/dependency-examples/flight/flight/app/js/ui/with_filters.js: Renamed from PerformanceTests/Speedometer/resources/todomvc/dependency-examples/flight/app/js/ui/with_filters.js.
  • Speedometer/resources/todomvc/dependency-examples/flight/flight/app/js/utils.js: Renamed from PerformanceTests/Speedometer/resources/todomvc/dependency-examples/flight/app/js/utils.js.
  • Speedometer/resources/todomvc/dependency-examples/flight/flight/app/templates/stats.html: Renamed from PerformanceTests/Speedometer/resources/todomvc/dependency-examples/flight/app/templates/stats.html.
  • Speedometer/resources/todomvc/dependency-examples/flight/flight/app/templates/todo.html: Renamed from PerformanceTests/Speedometer/resources/todomvc/dependency-examples/flight/app/templates/todo.html.
  • Speedometer/resources/todomvc/dependency-examples/flight/flight/index.html: Renamed from PerformanceTests/Speedometer/resources/todomvc/dependency-examples/flight/index.html.
  • Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/depot/README.md: Added.
  • Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/depot/depot.js: Renamed from PerformanceTests/Speedometer/resources/todomvc/dependency-examples/flight/bower_components/depot/depot.js.
  • Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/depot/depot.min.js: Added.
  • Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/depot/package.json: Added.
  • Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/es5-shim/LICENSE: Added.
  • Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/es5-shim/es5-sham.js: Renamed from PerformanceTests/Speedometer/resources/todomvc/dependency-examples/flight/bower_components/es5-shim/es5-sham.js.
  • Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/es5-shim/es5-sham.min.js: Added.
  • Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/es5-shim/es5-shim.js: Added.
  • Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/es5-shim/es5-shim.min.js: Added.
  • Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/flight/LICENSE: Added.
  • Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/flight/index.js: Added.
  • Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/flight/lib/advice.js: Renamed from PerformanceTests/Speedometer/resources/todomvc/dependency-examples/flight/bower_components/flight/lib/advice.js.
  • Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/flight/lib/base.js: Renamed from PerformanceTests/Speedometer/resources/todomvc/dependency-examples/flight/bower_components/flight/lib/base.js.
  • Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/flight/lib/component.js: Renamed from PerformanceTests/Speedometer/resources/todomvc/dependency-examples/flight/bower_components/flight/lib/component.js.
  • Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/flight/lib/compose.js: Added.
  • Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/flight/lib/debug.js: Renamed from PerformanceTests/Speedometer/resources/todomvc/dependency-examples/flight/bower_components/flight/lib/debug.js.
  • Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/flight/lib/logger.js: Added.
  • Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/flight/lib/registry.js: Renamed from PerformanceTests/Speedometer/resources/todomvc/dependency-examples/flight/bower_components/flight/lib/registry.js.
  • Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/flight/lib/utils.js: Renamed from PerformanceTests/Speedometer/resources/todomvc/dependency-examples/flight/bower_components/flight/lib/utils.js.
  • Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/jquery/README.md: Added.
  • Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/jquery/dist/jquery.js: Added.
  • Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/jquery/dist/jquery.min.js: Added.
  • Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/jquery/package.json: Added.
  • Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/memorystorage/memorystorage.js: Added.
  • Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/requirejs-text/LICENSE: Added.
  • Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/requirejs-text/README.md: Added.
  • Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/requirejs-text/bower.json: Added.
  • Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/requirejs-text/package.json: Added.
  • Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/requirejs-text/text.js: Renamed from PerformanceTests/Speedometer/resources/todomvc/dependency-examples/flight/bower_components/requirejs-text/text.js.
  • Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/requirejs/README.md: Added.
  • Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/requirejs/package.json: Added.
  • Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/requirejs/require.js: Renamed from PerformanceTests/Speedometer/resources/todomvc/dependency-examples/flight/bower_components/requirejs/require.js.
  • Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/todomvc-app-css/index.css: Added.
  • Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/todomvc-app-css/package.json: Added.
  • Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/todomvc-app-css/readme.md: Added.
  • Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/todomvc-common/base.css: Added.
  • Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/todomvc-common/base.js: Renamed from PerformanceTests/Speedometer/resources/todomvc/dependency-examples/flight/bower_components/todomvc-common/base.js.
  • Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/todomvc-common/package.json: Added.
  • Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/todomvc-common/readme.md: Added.
  • Speedometer/resources/todomvc/dependency-examples/flight/flight/package.json: Added.
  • Speedometer/resources/todomvc/dependency-examples/flight/karma.conf.js: Removed.
  • Speedometer/resources/todomvc/dependency-examples/flight/package.json: Removed.
  • Speedometer/resources/todomvc/dependency-examples/flight/readme.md: Removed.
  • Speedometer/resources/todomvc/dependency-examples/flight/test/.jshintrc: Removed.
  • Speedometer/resources/todomvc/dependency-examples/flight/test/fixture/footer.html: Removed.
  • Speedometer/resources/todomvc/dependency-examples/flight/test/fixture/new_todo.html: Removed.
  • Speedometer/resources/todomvc/dependency-examples/flight/test/fixture/toggle_all.html: Removed.
  • Speedometer/resources/todomvc/dependency-examples/flight/test/mock/datastore.js: Removed.
  • Speedometer/resources/todomvc/dependency-examples/flight/test/spec/data/stats_spec.js: Removed.
  • Speedometer/resources/todomvc/dependency-examples/flight/test/spec/data/todos_spec.js: Removed.
  • Speedometer/resources/todomvc/dependency-examples/flight/test/spec/ui/new_item_spec.js: Removed.
  • Speedometer/resources/todomvc/dependency-examples/flight/test/spec/ui/stats_spec.js: Removed.
  • Speedometer/resources/todomvc/dependency-examples/flight/test/spec/ui/toggle_all_spec.js: Removed.
  • Speedometer/resources/todomvc/dependency-examples/flight/test/test-main.js: Removed.
5:13 PM Changeset in webkit [216707] by Matt Lewis
  • 10 edits in trunk

Unreviewed, rolling out r216677.

Patch caused layout test crashes.

Reverted changeset:

"WorkerThread::stop() should call
scheduleExecutionTermination() last."
https://bugs.webkit.org/show_bug.cgi?id=171775
http://trac.webkit.org/changeset/216677

5:12 PM Changeset in webkit [216706] by commit-queue@webkit.org
  • 8 edits
    18 adds
    4 deletes in trunk/PerformanceTests

Speedometer: Update the AngularJS implementation to a more recent library version
https://bugs.webkit.org/show_bug.cgi?id=171307

Patch by Addy Osmani <addyosmani@gmail.com> on 2017-05-11
Reviewed by Ryosuke Niwa.

Updates the AngularJS implementation of TodoMVC to 1.4.x

  • Speedometer/resources/todomvc/architecture-examples/angularjs/bower.json: Removed.
  • Speedometer/resources/todomvc/architecture-examples/angularjs/bower_components/angular-mocks/angular-mocks.js: Removed.
  • Speedometer/resources/todomvc/architecture-examples/angularjs/bower_components/angular/angular.js: Removed.
  • Speedometer/resources/todomvc/architecture-examples/angularjs/bower_components/todomvc-common/base.css: Removed.
  • Speedometer/resources/todomvc/architecture-examples/angularjs/bower_components/todomvc-common/base.js: Removed.
  • Speedometer/resources/todomvc/architecture-examples/angularjs/bower_components/todomvc-common/bg.png: Removed.
  • Speedometer/resources/todomvc/architecture-examples/angularjs/index.html:
  • Speedometer/resources/todomvc/architecture-examples/angularjs/js/app.js:
  • Speedometer/resources/todomvc/architecture-examples/angularjs/js/controllers/todoCtrl.js:
  • Speedometer/resources/todomvc/architecture-examples/angularjs/js/directives/todoBlur.js: Removed.
  • Speedometer/resources/todomvc/architecture-examples/angularjs/js/directives/todoEscape.js:
  • Speedometer/resources/todomvc/architecture-examples/angularjs/js/directives/todoFocus.js:
  • Speedometer/resources/todomvc/architecture-examples/angularjs/js/services/todoStorage.js:
  • Speedometer/resources/todomvc/architecture-examples/angularjs/node_modules/angular-resource/angular-resource.js: Added.
  • Speedometer/resources/todomvc/architecture-examples/angularjs/node_modules/angular-route/angular-route.js: Added.
  • Speedometer/resources/todomvc/architecture-examples/angularjs/node_modules/angular/angular.js: Added.
  • Speedometer/resources/todomvc/architecture-examples/angularjs/node_modules/todomvc-app-css/index.css: Added.
  • Speedometer/resources/todomvc/architecture-examples/angularjs/node_modules/todomvc-app-css/package.json: Added.
  • Speedometer/resources/todomvc/architecture-examples/angularjs/node_modules/todomvc-app-css/readme.md: Added.
  • Speedometer/resources/todomvc/architecture-examples/angularjs/node_modules/todomvc-common/base.css: Added.
  • Speedometer/resources/todomvc/architecture-examples/angularjs/node_modules/todomvc-common/base.js: Added.
  • Speedometer/resources/todomvc/architecture-examples/angularjs/node_modules/todomvc-common/package.json: Added.
  • Speedometer/resources/todomvc/architecture-examples/angularjs/node_modules/todomvc-common/readme.md: Added.
  • Speedometer/resources/todomvc/architecture-examples/angularjs/package.json: Added.
  • Speedometer/resources/todomvc/architecture-examples/angularjs/readme.md:
  • Speedometer/resources/todomvc/architecture-examples/angularjs/test/config/testacular.conf.js: Removed.
  • Speedometer/resources/todomvc/architecture-examples/angularjs/test/package.json: Removed.
  • Speedometer/resources/todomvc/architecture-examples/angularjs/test/readme.md: Removed.
  • Speedometer/resources/todomvc/architecture-examples/angularjs/test/unit/directivesSpec.js: Removed.
  • Speedometer/resources/todomvc/architecture-examples/angularjs/test/unit/todoCtrlSpec.js: Removed.
  • Speedometer/resources/todomvc/architecture-examples/angularjs/todomvc-index.html: Added.
5:04 PM Changeset in webkit [216705] by commit-queue@webkit.org
  • 11 edits in trunk

[CMake] Add HAVE check for regex.h
https://bugs.webkit.org/show_bug.cgi?id=171950

Patch by Don Olmstead <don.olmstead@am.sony.com> on 2017-05-11
Reviewed by Michael Catanzaro.

.:

  • Source/cmake/OptionsCommon.cmake:

Source/JavaScriptCore:

  • runtime/ConfigFile.cpp:

(JSC::ConfigFile::parse):

Source/ThirdParty:

  • gtest/include/gtest/internal/gtest-port.h:

Source/WebCore:

No new tests. No change in behavior.

  • WebCorePrefix.h:
  • testing/js/WebCoreTestSupportPrefix.h:

Source/WTF:

  • wtf/Platform.h:
4:55 PM Changeset in webkit [216704] by timothy_horton@apple.com
  • 8 edits in trunk/Source

Mail spins launching spell checker when typing
https://bugs.webkit.org/show_bug.cgi?id=171986
<rdar://problem/26305327>

Reviewed by Beth Dakin.

  • platform/spi/mac/NSSpellCheckerSPI.h:
  • WebView/WebView.mm:

(-[WebView setEditable:]):
Asynchronously pre-warm the spell checker when a WebView becomes editable.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _setEditable:]):

  • UIProcess/Cocoa/WebViewImpl.h:
  • UIProcess/Cocoa/WebViewImpl.mm:

(WebKit::WebViewImpl::didBecomeEditable):
(WebKit::WebViewImpl::startObservingFontPanel): Deleted.
Asynchronously pre-warm the spell checker when a WKWebView becomes editable.

4:46 PM Changeset in webkit [216703] by rniwa@webkit.org
  • 3 edits in trunk/Websites/perf.webkit.org

Remove the code for old syncing script configuration in BuildbotSyncer
https://bugs.webkit.org/show_bug.cgi?id=171963

Reviewed by Chris Dumez.

Removed the code for specifying {"root": ~}, {"rootOptions": [~]}, and {"rootsExcluding": [~]} in buildbot
properties in the syncing script's configurations since they are no longer used after r215061.

Also removed the support for using "arguments" as an alias to "properties", and updated the tests accordingly.

  • tools/js/buildbot-syncer.js:

(BuildbotSyncer._parseRepositoryGroup): Removed the unused code.
(BuildbotSyncer._validateAndMergeConfig): Just allow string values in properties.
(BuildbotSyncer._validateAndMergeProperties): Deleted.

  • unit-tests/buildbot-syncer-tests.js:

(sampleiOSConfig): Use "properties" instead of "arguments" to specify the buildbot properties.
(sampleiOSConfigWithExpansions): Ditto.

4:40 PM Changeset in webkit [216702] by Chris Dumez
  • 121 edits in trunk/Source

Stop using PassRefPtr in platform/graphics
https://bugs.webkit.org/show_bug.cgi?id=171977

Reviewed by Alex Christensen.

Source/WebCore:

Stop using PassRefPtr in platform/graphics.

  • css/CSSCrossfadeValue.cpp:

(WebCore::CSSCrossfadeValue::image):

  • css/CSSFilterImageValue.cpp:

(WebCore::CSSFilterImageValue::image):

  • loader/cache/CachedImage.cpp:

(WebCore::CachedImage::brokenImage):
(WebCore::CachedImage::image):
(WebCore::CachedImage::imageForRenderer):

  • page/PageSerializer.cpp:

(WebCore::PageSerializer::addImageToResources):

  • platform/ScrollView.cpp:

(WebCore::ScrollView::paintPanScrollIcon):

  • platform/graphics/CrossfadeGeneratedImage.cpp:

(WebCore::CrossfadeGeneratedImage::drawCrossfade):

  • platform/graphics/FontPlatformData.h:
  • platform/graphics/GraphicsContext.h:
  • platform/graphics/Image.cpp:

(WebCore::Image::nullImage):

  • platform/graphics/Image.h:
  • platform/graphics/MediaPlayer.cpp:

(WebCore::MediaPlayer::createResourceLoader):

  • platform/graphics/MediaPlayer.h:
  • platform/graphics/Pattern.cpp:

(WebCore::Pattern::create):
(WebCore::Pattern::Pattern):

  • platform/graphics/Pattern.h:
  • platform/graphics/PlatformTextTrack.h:

(WebCore::PlatformTextTrack::create):
(WebCore::PlatformTextTrack::createOutOfBand):
(WebCore::PlatformTextTrack::captionMenuOffItem):
(WebCore::PlatformTextTrack::captionMenuAutomaticItem):

  • platform/graphics/avfoundation/InbandMetadataTextTrackPrivateAVF.cpp:

(WebCore::InbandMetadataTextTrackPrivateAVF::create):
(WebCore::InbandMetadataTextTrackPrivateAVF::addDataCue):

  • platform/graphics/avfoundation/InbandMetadataTextTrackPrivateAVF.h:
  • platform/graphics/avfoundation/InbandTextTrackPrivateAVF.cpp:

(WebCore::InbandTextTrackPrivateAVF::processAttributedStrings):

  • platform/graphics/avfoundation/MediaSelectionGroupAVFObjC.h:
  • platform/graphics/avfoundation/MediaSelectionGroupAVFObjC.mm:

(WebCore::MediaSelectionOptionAVFObjC::create):
(WebCore::MediaSelectionGroupAVFObjC::create):
(WebCore::MediaSelectionGroupAVFObjC::updateOptions):

  • platform/graphics/avfoundation/cf/InbandTextTrackPrivateAVCF.h:

(WebCore::InbandTextTrackPrivateAVCF::create):

  • platform/graphics/avfoundation/cf/InbandTextTrackPrivateLegacyAVCF.h:

(WebCore::InbandTextTrackPrivateLegacyAVCF::create):

  • platform/graphics/avfoundation/cf/WebCoreAVCFResourceLoader.cpp:

(WebCore::WebCoreAVCFResourceLoader::create):

  • platform/graphics/avfoundation/cf/WebCoreAVCFResourceLoader.h:
  • platform/graphics/avfoundation/objc/CDMSessionAVContentKeySession.h:
  • platform/graphics/avfoundation/objc/CDMSessionAVContentKeySession.mm:

(WebCore::CDMSessionAVContentKeySession::generateKeyReleaseMessage):

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

(WebCore::CDMSessionAVStreamSession::generateKeyReleaseMessage):

  • platform/graphics/avfoundation/objc/InbandTextTrackPrivateAVFObjC.h:

(WebCore::InbandTextTrackPrivateAVFObjC::create):

  • platform/graphics/avfoundation/objc/InbandTextTrackPrivateLegacyAVFObjC.h:

(WebCore::InbandTextTrackPrivateLegacyAVFObjC::create):

  • platform/graphics/avfoundation/objc/OutOfBandTextTrackPrivateAVF.h:

(WebCore::OutOfBandTextTrackPrivateAVF::create):

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

(WebCore::WebCoreAVFResourceLoader::create):

  • platform/graphics/ca/GraphicsLayerCA.cpp:

(WebCore::GraphicsLayerCA::createPlatformCALayer):
(WebCore::GraphicsLayerCA::createPlatformCAAnimation):
(WebCore::GraphicsLayerCA::setContentsToPlatformLayer):
(WebCore::GraphicsLayerCA::replicatedLayerRoot):
(WebCore::GraphicsLayerCA::createAnimationFromKeyframes):
(WebCore::GraphicsLayerCA::appendToUncommittedAnimations):
(WebCore::GraphicsLayerCA::createBasicAnimation):
(WebCore::GraphicsLayerCA::createKeyframeAnimation):
(WebCore::GraphicsLayerCA::createSpringAnimation):

  • platform/graphics/ca/GraphicsLayerCA.h:

(WebCore::GraphicsLayerCA::LayerPropertyAnimation::LayerPropertyAnimation):

  • platform/graphics/ca/PlatformCAAnimation.h:
  • platform/graphics/ca/cocoa/PlatformCAAnimationCocoa.h:
  • platform/graphics/ca/cocoa/PlatformCAAnimationCocoa.mm:

(PlatformCAAnimationCocoa::create):
(PlatformCAAnimationCocoa::copy):

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

(WebCore::CACFLayerTreeHost::create):
(WebCore::CACFLayerTreeHost::addPendingAnimatedLayer):

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

(PlatformCAAnimationWin::create):
(PlatformCAAnimationWin::copy):

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

(PlatformCALayerWin::addAnimationForKey):

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

(WebCore::WKCACFViewLayerTreeHost::create):

  • platform/graphics/ca/win/WKCACFViewLayerTreeHost.h:
  • platform/graphics/cairo/PatternCairo.cpp:

(WebCore::Pattern::createPlatformPattern):

  • platform/graphics/cairo/PlatformContextCairo.cpp:

(WebCore::PlatformContextCairo::clipForPatternFilling):

  • platform/graphics/cg/PDFDocumentImage.h:
  • platform/graphics/cg/PatternCG.cpp:

(WebCore::Pattern::createPlatformPattern):

  • platform/graphics/filters/FEDiffuseLighting.cpp:

(WebCore::FEDiffuseLighting::FEDiffuseLighting):
(WebCore::FEDiffuseLighting::create):
(WebCore::FEDiffuseLighting::lightSource):

  • platform/graphics/filters/FEDiffuseLighting.h:
  • platform/graphics/filters/FELighting.cpp:

(WebCore::FELighting::FELighting):
(WebCore::FELighting::drawLighting):

  • platform/graphics/filters/FELighting.h:
  • platform/graphics/filters/FESpecularLighting.cpp:

(WebCore::FESpecularLighting::FESpecularLighting):
(WebCore::FESpecularLighting::create):
(WebCore::FESpecularLighting::lightSource):

  • platform/graphics/filters/FESpecularLighting.h:
  • platform/graphics/filters/FETile.cpp:

(WebCore::FETile::platformApplySoftware):

  • platform/graphics/filters/FilterEffect.cpp:

(WebCore::FilterEffect::asUnmultipliedImage):
(WebCore::FilterEffect::asPremultipliedImage):

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

(WebCore::ReferenceFilterOperation::setFilterEffect):
(WebCore::BasicColorMatrixFilterOperation::blend):
(WebCore::BasicComponentTransferFilterOperation::blend):
(WebCore::BlurFilterOperation::blend):
(WebCore::DropShadowFilterOperation::blend):

  • platform/graphics/filters/FilterOperation.h:

(WebCore::FilterOperation::blend):
(WebCore::PassthroughFilterOperation::create):
(WebCore::ReferenceFilterOperation::create):

  • platform/graphics/gpu/Texture.cpp:

(WebCore::Texture::create):

  • platform/graphics/gpu/Texture.h:
  • platform/graphics/gstreamer/AudioTrackPrivateGStreamer.h:
  • platform/graphics/gstreamer/ImageGStreamer.h:

(WebCore::ImageGStreamer::createImage):
(WebCore::ImageGStreamer::image):

  • platform/graphics/gstreamer/InbandMetadataTextTrackPrivateGStreamer.h:

(WebCore::InbandMetadataTextTrackPrivateGStreamer::create):
(WebCore::InbandMetadataTextTrackPrivateGStreamer::addGenericCue):

  • platform/graphics/gstreamer/InbandTextTrackPrivateGStreamer.h:

(WebCore::InbandTextTrackPrivateGStreamer::create):

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

(WebCore::MediaPlayerPrivateGStreamer::processTableOfContentsEntry):

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:

(WebCore::MediaPlayerPrivateGStreamerBase::paint):

  • platform/graphics/gstreamer/VideoTrackPrivateGStreamer.h:
  • platform/graphics/gstreamer/mse/MediaSourceClientGStreamerMSE.cpp:

(WebCore::MediaSourceClientGStreamerMSE::enqueueSample):

  • platform/graphics/gstreamer/mse/MediaSourceClientGStreamerMSE.h:
  • platform/graphics/gstreamer/mse/MediaSourceGStreamer.cpp:
  • platform/graphics/gstreamer/mse/PlaybackPipeline.cpp:

(WebCore::PlaybackPipeline::enqueueSample):

  • platform/graphics/gstreamer/mse/PlaybackPipeline.h:
  • platform/graphics/gtk/ImageGtk.cpp:

(WebCore::loadImageFromGResource):
(WebCore::loadResourceSharedBuffer):
(WebCore::loadMissingImageIconFromTheme):
(WebCore::Image::loadPlatformResource):

  • platform/graphics/harfbuzz/HarfBuzzFace.cpp:

(WebCore::FaceCacheEntry::create):

  • platform/graphics/harfbuzz/HarfBuzzFace.h:

(WebCore::HarfBuzzFace::create):

  • platform/graphics/mac/ImageMac.mm:

(WebCore::Image::loadPlatformResource):

  • platform/graphics/opentype/OpenTypeMathData.h:

(WebCore::OpenTypeMathData::create):

  • platform/graphics/texmap/BitmapTexture.h:

(WebCore::BitmapTexture::applyFilters):

  • platform/graphics/texmap/BitmapTextureGL.cpp:

(WebCore::BitmapTextureGL::applyFilters):

  • platform/graphics/texmap/BitmapTextureGL.h:

(WebCore::BitmapTextureGL::FilterInfo::FilterInfo):

  • platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:

(WebCore::GraphicsLayerTextureMapper::commitLayerChanges):

  • platform/graphics/texmap/TextureMapper.cpp:

(WebCore::TextureMapper::acquireTextureFromPool):

  • platform/graphics/texmap/TextureMapper.h:
  • platform/graphics/texmap/TextureMapperGL.cpp:

(WebCore::TextureMapperGL::createTexture):

  • platform/graphics/texmap/TextureMapperGL.h:
  • platform/graphics/texmap/TextureMapperLayer.cpp:

(WebCore::TextureMapperLayer::paintIntoSurface):
(WebCore::commitSurface):
(WebCore::TextureMapperLayer::paintWithIntermediateSurface):
(WebCore::TextureMapperLayer::setBackingStore):

  • platform/graphics/texmap/TextureMapperLayer.h:
  • platform/graphics/texmap/TextureMapperTiledBackingStore.h:

(WebCore::TextureMapperTiledBackingStore::create):

  • platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:

(WebCore::CoordinatedGraphicsLayer::syncImageBacking):

  • platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h:
  • platform/graphics/texmap/coordinated/CoordinatedImageBacking.cpp:

(WebCore::CoordinatedImageBacking::create):
(WebCore::CoordinatedImageBacking::CoordinatedImageBacking):

  • platform/graphics/texmap/coordinated/CoordinatedImageBacking.h:
  • platform/graphics/win/ImageWin.cpp:

(WebCore::Image::loadPlatformResource):

  • platform/graphics/win/MediaPlayerPrivateFullscreenWindow.cpp:

(WebCore::MediaPlayerPrivateFullscreenWindow::setRootChildLayer):

  • platform/graphics/win/MediaPlayerPrivateFullscreenWindow.h:
  • platform/graphics/win/PatternDirect2D.cpp:

(WebCore::Pattern::createPlatformPattern):

  • platform/graphics/win/SharedGDIObject.h:

(WebCore::SharedGDIObject::create):

  • rendering/FilterEffectRenderer.cpp:

(WebCore::FilterEffectRenderer::build):

  • rendering/RenderImageResource.cpp:

(WebCore::RenderImageResource::image):

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::drawPlatformResizerImage):

  • rendering/svg/RenderSVGResourcePattern.cpp:

(WebCore::RenderSVGResourcePattern::buildPattern):

  • svg/SVGFEDiffuseLightingElement.cpp:

(WebCore::SVGFEDiffuseLightingElement::setFilterEffectAttribute):
(WebCore::SVGFEDiffuseLightingElement::build):

  • svg/SVGFESpecularLightingElement.cpp:

(WebCore::SVGFESpecularLightingElement::setFilterEffectAttribute):
(WebCore::SVGFESpecularLightingElement::build):

  • svg/graphics/SVGImageCache.cpp:

(WebCore::SVGImageCache::imageForRenderer):

Source/WebKit/win:

Build fix.

  • FullscreenVideoController.cpp:

(FullscreenVideoController::enterFullscreen):

  • WebKitDLL.cpp:

(loadResourceIntoBuffer):

Source/WebKit2:

Build fix.

  • Shared/CoordinatedGraphics/CoordinatedGraphicsScene.cpp:

(WebKit::CoordinatedGraphicsScene::createBackingStoreIfNeeded):
(WebKit::CoordinatedGraphicsScene::removeBackingStoreIfNeeded):

  • Shared/WebCoreArgumentCoders.cpp:

(IPC::ArgumentCoder<Cursor>::decode):

  • WebProcess/WebPage/CoordinatedGraphics/CompositingCoordinator.cpp:

(WebKit::CompositingCoordinator::createImageBackingIfNeeded):

  • WebProcess/WebPage/CoordinatedGraphics/CompositingCoordinator.h:
  • WebProcess/WebPage/mac/GraphicsLayerCARemote.cpp:

(WebKit::GraphicsLayerCARemote::createPlatformCALayer):
(WebKit::GraphicsLayerCARemote::createPlatformCAAnimation):

  • WebProcess/WebPage/mac/GraphicsLayerCARemote.h:
  • WebProcess/WebPage/mac/PlatformCAAnimationRemote.h:
  • WebProcess/WebPage/mac/PlatformCAAnimationRemote.mm:

(WebKit::PlatformCAAnimationRemote::copy):

4:34 PM Changeset in webkit [216701] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

REGRESSION(r216217): lldb_webkit.py no longer prints out a WTFString, StringImpl needs to handle StringImplShape change
https://bugs.webkit.org/show_bug.cgi?id=171989

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2017-05-11
Reviewed by Brian Burg.

  • lldb/lldb_webkit.py:

(WTFStringImplProvider.get_data8):
(WTFStringImplProvider.get_data16):
m_data8 and m_data16 are now part of the superclass StringImplShape
instead of directly in StringImpl. So first get the shape by getting
index 0, and the data properties are the same offset within that.

4:33 PM Changeset in webkit [216700] by Chris Dumez
  • 2 edits in trunk/Source/WTF

Annotate Ref::ptr() with RETURNS_NONNULL
https://bugs.webkit.org/show_bug.cgi?id=171996

Reviewed by Andreas Kling.

Annotate Ref::ptr() with RETURNS_NONNULL as it can never return null.

  • wtf/Ref.h:

(WTF::Ref::ptr): Deleted.

4:05 PM Changeset in webkit [216699] by fpizlo@apple.com
  • 14 edits in trunk/Source/JavaScriptCore

Callers of JSString::unsafeView() should check exceptions
https://bugs.webkit.org/show_bug.cgi?id=171995

Reviewed by Mark Lam.

unsafeView() can throw OOME. So, callers of unsafeView() should check for exceptions before trying
to access the view.

Also, I made the functions surrounding unsafeView() take ExecState* not ExecState&, to comply with
the rest of JSC.

  • dfg/DFGOperations.cpp:
  • jsc.cpp:

(printInternal):
(functionDebug):

  • runtime/ArrayPrototype.cpp:

(JSC::arrayProtoFuncJoin):

  • runtime/FunctionConstructor.cpp:

(JSC::constructFunctionSkippingEvalEnabledCheck):

  • runtime/IntlCollatorPrototype.cpp:

(JSC::IntlCollatorFuncCompare):

  • runtime/JSGenericTypedArrayViewPrototypeFunctions.h:

(JSC::genericTypedArrayViewProtoFuncJoin):

  • runtime/JSGlobalObjectFunctions.cpp:

(JSC::globalFuncParseFloat):

  • runtime/JSONObject.cpp:

(JSC::JSONProtoFuncParse):

  • runtime/JSString.cpp:

(JSC::JSString::getPrimitiveNumber):
(JSC::JSString::toNumber):

  • runtime/JSString.h:

(JSC::JSString::getIndex):
(JSC::JSRopeString::unsafeView):
(JSC::JSRopeString::viewWithUnderlyingString):
(JSC::JSString::unsafeView):
(JSC::JSString::viewWithUnderlyingString):

  • runtime/JSStringJoiner.h:

(JSC::JSStringJoiner::appendWithoutSideEffects):
(JSC::JSStringJoiner::append):

  • runtime/ParseInt.h:

(JSC::toStringView):

  • runtime/StringPrototype.cpp:

(JSC::stringProtoFuncRepeatCharacter):
(JSC::stringProtoFuncCharAt):
(JSC::stringProtoFuncCharCodeAt):
(JSC::stringProtoFuncIndexOf):
(JSC::stringProtoFuncNormalize):

4:03 PM Changeset in webkit [216698] by timothy_horton@apple.com
  • 3 edits in trunk/Source/WebKit2

Data loss when saving a PDF form where only radio buttons/checkboxes were modified
https://bugs.webkit.org/show_bug.cgi?id=171991
<rdar://problem/32115945>

Reviewed by Andy Estes.

  • WebProcess/Plugins/PDF/PDFLayerControllerSPI.h:
  • WebProcess/Plugins/PDF/PDFPlugin.mm:

(-[WKPDFLayerControllerDelegate didChangeAnnotationState]):
Mark the PDF as dirty (so we re-encode it when asked to save) if annotations
that only PDFKit knows about change.

3:31 PM Changeset in webkit [216697] by Matt Lewis
  • 2 edits in trunk/LayoutTests

Marked tiled-drawing/scrolling/fast-scroll-iframe-latched-mainframe.html as flaky.
https://bugs.webkit.org/show_bug.cgi?id=168937

Unreviewed test gardening.

  • platform/mac-wk2/TestExpectations:
2:45 PM Changeset in webkit [216696] by Joseph Pecoraro
  • 29 edits
    21 deletes in trunk

Remove Vibration API
https://bugs.webkit.org/show_bug.cgi?id=171766

Rubber-stamped by Alexey Proskuryakov.

.:

  • Source/cmake/WebKitFeatures.cmake:

Source/WebCore:

  • features.json:

Mark the Vibration API as removed.

  • CMakeLists.txt:
  • DerivedSources.cpp:
  • Modules/vibration/NavigatorVibration.cpp: Removed.
  • Modules/vibration/NavigatorVibration.h: Removed.
  • Modules/vibration/NavigatorVibration.idl: Removed.
  • Modules/vibration/Vibration.cpp: Removed.
  • Modules/vibration/Vibration.h: Removed.
  • Modules/vibration/VibrationClient.h: Removed.
  • testing/Internals.cpp:

(WebCore::Internals::isVibrating): Deleted.

  • testing/Internals.h:
  • testing/Internals.idl:

Source/WebKit2:

  • CMakeLists.txt:
  • Shared/API/APIObject.h:
  • Shared/API/c/WKBase.h:
  • UIProcess/API/C/WKAPICast.h:
  • UIProcess/API/C/WKPage.cpp:

(WKPageGetVibration): Deleted.

  • UIProcess/API/C/WKPage.h:
  • UIProcess/API/C/WKVibration.cpp: Removed.
  • UIProcess/API/C/WKVibration.h: Removed.
  • UIProcess/WebPageProxy.cpp:

(WebKit::m_weakPtrFactory):
(WebKit::WebPageProxy::resetState):

  • UIProcess/WebPageProxy.h:

(WebKit::WebPageProxy::vibration): Deleted.

  • UIProcess/WebVibrationProvider.cpp: Removed.
  • UIProcess/WebVibrationProvider.h: Removed.
  • UIProcess/WebVibrationProxy.cpp: Removed.
  • UIProcess/WebVibrationProxy.h: Removed.
  • UIProcess/WebVibrationProxy.messages.in: Removed.
  • WebProcess/WebCoreSupport/WebVibrationClient.cpp: Removed.
  • WebProcess/WebCoreSupport/WebVibrationClient.h: Removed.
  • WebProcess/WebPage/WebPage.cpp:

Source/WTF:

  • wtf/FeatureDefines.h:

Tools:

  • Scripts/webkitperl/FeatureList.pm:

LayoutTests:

  • platform/gtk/TestExpectations:
  • platform/ios/TestExpectations:
  • platform/mac/TestExpectations:
  • platform/win/TestExpectations:
  • platform/wpe/TestExpectations:
  • vibration/cancelVibration-after-pagevisibility-changed-to-hidden-expected.txt: Removed.
  • vibration/cancelVibration-after-pagevisibility-changed-to-hidden.html: Removed.
  • vibration/cancelVibration-during-pattern-vibrating-expected.txt: Removed.
  • vibration/cancelVibration-during-pattern-vibrating.html: Removed.
  • vibration/navigator-vibration-expected.txt: Removed.
  • vibration/navigator-vibration.html: Removed.
2:39 PM Changeset in webkit [216695] by dino@apple.com
  • 18 edits
    2 adds
    1 delete in trunk

WebGLRenderingContext should implement WebGLRenderingContextBase
https://bugs.webkit.org/show_bug.cgi?id=171961
<rdar://problem/32124920>

Reviewed by Sam Weinig.

Source/WebCore:

WebGLRenderingContext and WebGL2RenderingContext are both
defined to "implement" WebGLRenderingContextBase. However, we
were doing it via inheritance, which meant that some things
were not visible on the WebGLRenderingContext prototype.

Test: fast/canvas/webgl/constants-on-interface.html

  • WebCore.xcodeproj/project.pbxproj: Move the Custom.cpp files

out of the GC-only area now they have real content.

  • bindings/js/JSDocumentCustom.cpp: Handle the fact that we

don't use the base class from the bindings, so we need to
translate WebGL1 and WebGL2 contexts into the right JS classes.
(WebCore::JSDocument::getCSSCanvasContext):

  • bindings/js/JSHTMLCanvasElementCustom.cpp:

(WebCore::JSHTMLCanvasElement::getContext):

  • bindings/js/JSWebGL2RenderingContextCustom.cpp: Implement the

custom methods. In this case, we don't yet expose any
extensions for WebGL 2.
(WebCore::toJS):
(WebCore::JSWebGL2RenderingContext::getExtension):

  • bindings/js/JSWebGLRenderingContextBaseCustom.cpp: Removed.
  • bindings/js/JSWebGLRenderingContextCustom.cpp:

(WebCore::toJS):
(WebCore::JSWebGLRenderingContext::getExtension):

  • html/canvas/WebGL2RenderingContext.h: Make some things public.
  • html/canvas/WebGLRenderingContext.h: Ditto.
  • html/canvas/WebGL2RenderingContext.idl: Use implements.
  • html/canvas/WebGLRenderingContext.idl: Ditto.
  • testing/Internals.cpp: This now takes a WebGLRenderingContext.

(WebCore::Internals::simulateWebGLContextChanged):

  • testing/Internals.h:
  • testing/Internals.idl:

LayoutTests:

New test to make sure constants from WebGLRenderingContextBase are
visible on the WebGLRenderingContext prototype.

Also, fix up some existing tests that were expecting to see
instances of WebGLRenderingContextBase.

  • fast/canvas/webgl/constants-on-interface-expected.txt: Added.
  • fast/canvas/webgl/constants-on-interface.html: Added.
  • fast/canvas/webgl/gl-object-get-calls-expected.txt:
  • fast/canvas/webgl/null-object-behaviour-expected.txt:
  • fast/canvas/webgl/texImageTest-expected.txt:
1:58 PM Changeset in webkit [216694] by Matt Lewis
  • 2 edits in trunk/LayoutTests

Fixed typo errors in TestExpectations.

Unreviewed test gardening.

  • platform/mac-wk2/TestExpectations:
1:55 PM Changeset in webkit [216693] by Matt Lewis
  • 2 edits in trunk/LayoutTests

Fixed typo errors in TestExpectations.

Unreviewed test gardening.

  • platform/mac-wk2/TestExpectations:
1:52 PM Changeset in webkit [216692] by Nikita Vasilyev
  • 4 edits in trunk/Source/WebInspectorUI

Web Inspector: RTL: "Elements > Styles - Rules" rule and media query headers should be left aligned
https://bugs.webkit.org/show_bug.cgi?id=171954
<rdar://problem/31961976>

Reviewed by Matt Baker.

  • UserInterface/Views/CSSStyleDeclarationSection.css:

(.style-declaration-section > .header):
(.style-declaration-section.locked > .header > .locked-icon):
(.style-declaration-section > .header > .icon):
(.style-declaration-section > .header > textarea):
(.style-declaration-section.invalid-selector > .header > .icon):
(body[dir=ltr] .style-declaration-section > .header): Deleted.
(body[dir=rtl] .style-declaration-section > .header): Deleted.
(body[dir=ltr] .style-declaration-section.locked > .header > .locked-icon): Deleted.
(body[dir=rtl] .style-declaration-section.locked > .header > .locked-icon): Deleted.
(body[dir=ltr] .style-declaration-section > .header > .icon): Deleted.
(body[dir=rtl] .style-declaration-section > .header > .icon): Deleted.
(body[dir=ltr] .style-declaration-section > .header > textarea): Deleted.
(body[dir=rtl] .style-declaration-section > .header > textarea): Deleted.
Remove RTL rules.

  • UserInterface/Views/CSSStyleDeclarationSection.js:

(WebInspector.CSSStyleDeclarationSection):
Set dir="ltr" so selector's textareas work correctly.

  • UserInterface/Views/RulesStyleDetailsPanel.css:

(.sidebar > .panel.details.css-style .rules):

1:30 PM Changeset in webkit [216691] by aestes@apple.com
  • 5 edits in trunk/Source

Fix a spelling mistake in ApplePayErrorCode
https://bugs.webkit.org/show_bug.cgi?id=171981
<rdar://problem/32136567>

Reviewed by Beth Dakin.

Source/WebCore:

  • Modules/applepay/ApplePayError.idl:
  • Modules/applepay/PaymentRequest.h:

Source/WebKit2:

  • UIProcess/ApplePay/cocoa/WebPaymentCoordinatorProxyCocoa.mm:

(WebKit::toPKPaymentErrorCode):
(WebKit::toPKPaymentAuthorizationStatus):

1:04 PM Changeset in webkit [216690] by wilander@apple.com
  • 7 edits
    1 add in trunk/Source

Resource Load Statistics: Enable configuration through preferences
https://bugs.webkit.org/show_bug.cgi?id=171949
<rdar://problem/31894518>

Reviewed by Alex Christensen.

Source/WebCore:

No new tests. Just an added setter.

  • loader/ResourceLoadObserver.cpp:

(WebCore::ResourceLoadObserver::setReducedTimestampResolution):

Source/WebKit2:

  • Shared/WebPreferencesDefinitions.h:

Added ResourceLoadStatisticsTimeToLiveUserInteraction,
ResourceLoadStatisticsTimeToLiveCookiePartitionFree, and
ResourceLoadStatisticsReducedTimestampResolution.

  • UIProcess/Cocoa/WebResourceLoadStatisticsManagerCocoa.mm: Added.

(WebKit::WebResourceLoadStatisticsManager::registerUserDefaultsIfNeeded):

  • UIProcess/WebResourceLoadStatisticsManager.h:
  • UIProcess/WebResourceLoadStatisticsStore.cpp:

(WebKit::WebResourceLoadStatisticsStore::registerSharedResourceLoadObserver):

Now calls WebResourceLoadStatisticsManager::registerUserDefaultsIfNeeded().

  • WebKit2.xcodeproj/project.pbxproj:
12:59 PM Changeset in webkit [216689] by fpizlo@apple.com
  • 6 edits
    4 adds in trunk/Source/JavaScriptCore

Offer SPI to notify clients that GC has happened
https://bugs.webkit.org/show_bug.cgi?id=171980

Reviewed by Geoffrey Garen.

Sometimes when you're programming with weak references, it's most convenient if the GC tells
you when it finishes. This adds exactly such an API. This API is called at the *flip*: the
moment when the GC knows for sure which objects are dead and has definitely not allocated any
new objects or executed any JS code. The finalization part of the flip, which is where this
callback gets called, runs on the "main" thread - i.e. some thread that is attempting to
execute JS code and holds the JS lock. This will usually run as a side-effect of some
allocation or from the runloop.

This means, for example, that if you implemented a vector of weak references and registered a
callback to prune the vector of null weak references, then aside from the callback, nobody
would ever see a null weak reference in the vector.

  • API/JSHeapFinalizerPrivate.cpp: Added.

(JSContextGroupAddHeapFinalizer):
(JSContextGroupRemoveHeapFinalizer):

  • API/JSHeapFinalizerPrivate.h: Added.
  • API/tests/testapi.c:

(heapFinalizer):
(testMarkingConstraintsAndHeapFinalizers):
(main):
(testMarkingConstraints): Deleted.

  • CMakeLists.txt:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • heap/Heap.cpp:

(JSC::Heap::finalize):
(JSC::Heap::addHeapFinalizerCallback):
(JSC::Heap::removeHeapFinalizerCallback):

  • heap/Heap.h:
  • heap/HeapFinalizerCallback.cpp: Added.

(JSC::HeapFinalizerCallback::dump):

  • heap/HeapFinalizerCallback.h: Added.

(JSC::HeapFinalizerCallback::HeapFinalizerCallback):
(JSC::HeapFinalizerCallback::operator==):
(JSC::HeapFinalizerCallback::operator!=):
(JSC::HeapFinalizerCallback::operator bool):
(JSC::HeapFinalizerCallback::run):

11:49 AM Changeset in webkit [216688] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebCore

Unify hasTouchScrollableOverflow/needsCompositedScrolling concepts
https://bugs.webkit.org/show_bug.cgi?id=171974

Patch by Frederic Wang <fwang@igalia.com> on 2017-05-11
Reviewed by Simon Fraser.

This commit moves the following pattern in a single RenderLayer::usesAcceleratedScrolling function:
#if PLATFORM(IOS)
...hasTouchScrollableOverflow()...
#else
...needsCompositedScrolling()...
#endif

No new tests, behavior unchanged.

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::usesAcceleratedScrolling): Introduce helper function.

  • rendering/RenderLayer.h: Declare the function.
  • rendering/RenderLayerBacking.cpp:

(WebCore::layerOrAncestorIsTransformedOrUsingCompositedScrolling): Use the new function.
(WebCore::RenderLayerBacking::updateConfiguration): Ditto.

  • rendering/RenderLayerCompositor.cpp:

(WebCore::useCoordinatedScrollingForLayer): Ditto.

11:38 AM Changeset in webkit [216687] by Matt Lewis
  • 2 edits in trunk/LayoutTests

Marked imported/w3c/web-platform-tests/html/webappapis/timers/negative-settimeout.html as flaky.
https://bugs.webkit.org/show_bug.cgi?id=170699

Unreviewed test gardening.

  • platform/mac-wk2/TestExpectations:
11:32 AM Changeset in webkit [216686] by commit-queue@webkit.org
  • 9 edits in trunk

[Readable Streams API] Implement ReadableStreamBYOBReader cancel()
https://bugs.webkit.org/show_bug.cgi?id=171919

Patch by Romain Bellessort <romain.bellessort@crf.canon.fr> on 2017-05-11
Reviewed by Youenn Fablet.

LayoutTests/imported/w3c:

Updated expectations.

  • web-platform-tests/streams/readable-byte-streams/general-expected.txt:
  • web-platform-tests/streams/readable-byte-streams/general.dedicatedworker-expected.txt:

Source/WebCore:

Implemented ReadableStreamBYOBReader cancel() method.

Added tests checking cancel().

  • Modules/streams/ReadableStreamBYOBReader.js:

(cancel): Implemented.

  • Modules/streams/ReadableStreamInternals.js:

(readableStreamError): Updated to support ReadableStreamBYOBReader case.

LayoutTests:

Added test cases to check cancel() behaviour.

  • streams/readable-stream-byob-reader-expected.txt: Updated.
  • streams/readable-stream-byob-reader.js: Updated.
11:18 AM Changeset in webkit [216685] by Matt Lewis
  • 2 edits in trunk/LayoutTests

Marked media/media-controls-clone-crash.html as flaky.
https://bugs.webkit.org/show_bug.cgi?id=171978

Unreviewed test gardening.

  • platform/mac-wk2/TestExpectations:
11:01 AM Changeset in webkit [216684] by fpizlo@apple.com
  • 4 edits in trunk/Source/JavaScriptCore

JSWeakCreate/Retain/Release should take a JSContextGroupRef and not a JSContextRef
https://bugs.webkit.org/show_bug.cgi?id=171979

Reviewed by Mark Lam.

Functions that don't execute arbitrary JS but just need access to the VM should take a
JSContextGroupRef, not a JSContextRef.

  • API/JSWeakPrivate.cpp:

(JSWeakCreate):
(JSWeakRetain):
(JSWeakRelease):

  • API/JSWeakPrivate.h:
  • API/tests/testapi.c:

(testMarkingConstraints):

10:55 AM Changeset in webkit [216683] by Chris Dumez
  • 6 edits in trunk/Source/WebCore

Stop using PassRefPtr in WebGPU code
https://bugs.webkit.org/show_bug.cgi?id=171965

Reviewed by Alex Christensen.

Stop using PassRefPtr in WebGPU code.

  • html/canvas/WebGPUDrawable.cpp:

(WebCore::WebGPUDrawable::WebGPUDrawable):

  • html/canvas/WebGPURenderingContext.cpp:

(WebCore::WebGPURenderingContext::create):
(WebCore::WebGPURenderingContext::WebGPURenderingContext):

  • html/canvas/WebGPURenderingContext.h:
  • html/canvas/WebGPUTexture.cpp:

(WebCore::WebGPUTexture::createFromDrawableTexture):
(WebCore::WebGPUTexture::WebGPUTexture):

  • html/canvas/WebGPUTexture.h:
10:31 AM Changeset in webkit [216682] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

Name WebRTC Threads
https://bugs.webkit.org/show_bug.cgi?id=171975

Patch by Youenn Fablet <youenn@apple.com> on 2017-05-11
Reviewed by Eric Carlson.

No change of behavior.

  • platform/mediastream/libwebrtc/LibWebRTCAudioModule.cpp:

(WebCore::LibWebRTCAudioModule::LibWebRTCAudioModule): Setting audio module thread name.

  • platform/mediastream/libwebrtc/LibWebRTCProvider.cpp:

(WebCore::initializePeerConnectionFactoryAndThreads): Setting signaling and networking thread names.

10:14 AM Changeset in webkit [216681] by Matt Baker
  • 7 edits in trunk

Web Inspector: Error trying to delete DOM breakpoints from the Debugger tab
https://bugs.webkit.org/show_bug.cgi?id=171970
<rdar://problem/32129262>

Reviewed by Brian Burg.

Source/WebInspectorUI:

In the Debugger sidebar, DOM breakpoints can be cleared from a DOM node
in two ways: by using the DOM node tree element's context menu, or by
pressing the delete key while the element is selected. Each method used
a different code path, and the latter had an error which caused it to fail.

Add a removeDOMBreakpointsForNode method to DOMDebuggerManager to make
the operation convenient, and call it from both event handlers.

  • UserInterface/Controllers/DOMBreakpointTreeController.js:

(WebInspector.DOMBreakpointTreeController.appendBreakpointContextMenuItems):
Use convenience method.

  • UserInterface/Controllers/DOMDebuggerManager.js:

(WebInspector.DOMDebuggerManager.prototype.removeDOMBreakpointsForNode):
Helper function for removing all of a node's breakpoints.

  • UserInterface/Views/DOMNodeTreeElement.js:

(WebInspector.DOMNodeTreeElement.prototype.ondelete):
Use convenience method.

LayoutTests:

Add test for DOMDebuggerManager.prototype.removeDOMBreakpointsForNode.

  • inspector/dom-debugger/dom-breakpoints-expected.txt:
  • inspector/dom-debugger/dom-breakpoints.html:
9:31 AM Changeset in webkit [216680] by pvollan@apple.com
  • 3 edits in trunk/LayoutTests

LayoutTest http/tests/media/track-in-band-hls-metadata-crash.html is a flaky timeout
https://bugs.webkit.org/show_bug.cgi?id=167749

Reviewed by Eric Carlson.

Revert parts of r216588. The position of the 'canplaythrough' event in the event sequence
is not always the same, causing flakiness. Stop listening to the 'canplaythrough' event,
this was introduced in r216588.

  • http/tests/media/track-in-band-hls-metadata-crash-expected.txt:
  • http/tests/media/track-in-band-hls-metadata-crash.html:
9:29 AM Changeset in webkit [216679] by Chris Dumez
  • 14 edits in trunk/Source/WebCore

Stop using PassRefPtr in platform/audio
https://bugs.webkit.org/show_bug.cgi?id=171966

Reviewed by Ryosuke Niwa.

Stop using PassRefPtr in platform/audio.

  • platform/audio/AudioBus.h:

(WebCore::AudioBus::AudioBus):

  • platform/audio/AudioFileReader.h:
  • platform/audio/HRTFDatabaseLoader.cpp:

(WebCore::HRTFDatabaseLoader::createAndLoadAsynchronouslyIfNecessary):

  • platform/audio/HRTFDatabaseLoader.h:
  • platform/audio/HRTFKernel.cpp:

(WebCore::HRTFKernel::createInterpolatedKernel):

  • platform/audio/HRTFKernel.h:

(WebCore::HRTFKernel::create):

  • platform/audio/glib/AudioBusGLib.cpp:

(WebCore::AudioBus::loadPlatformResource):

  • platform/audio/gstreamer/AudioFileReaderGStreamer.cpp:

(WebCore::AudioFileReader::createBus):
(WebCore::createBusFromAudioFile):
(WebCore::createBusFromInMemoryAudioFile):

  • platform/audio/ios/AudioFileReaderIOS.cpp:

(WebCore::AudioFileReader::createBus):
(WebCore::createBusFromAudioFile):
(WebCore::createBusFromInMemoryAudioFile):

  • platform/audio/ios/AudioFileReaderIOS.h:
  • platform/audio/mac/AudioBusMac.mm:

(WebCore::AudioBus::loadPlatformResource):

  • platform/audio/mac/AudioFileReaderMac.cpp:

(WebCore::AudioFileReader::createBus):
(WebCore::createBusFromAudioFile):
(WebCore::createBusFromInMemoryAudioFile):

  • platform/audio/mac/AudioFileReaderMac.h:
9:29 AM Changeset in webkit [216678] by clopez@igalia.com
  • 5 edits in trunk/Tools

Add WPE release bots
https://bugs.webkit.org/show_bug.cgi?id=171973

Reviewed by Žan Doberšek.

This adds a WPE Release Build bot (64-bit) and a WPE Release Test bot.
It also adds a new WPE buildbot category.

  • BuildSlaveSupport/build.webkit.org-config/config.json:
  • BuildSlaveSupport/build.webkit.org-config/master.cfg:

(InstallWpeDependencies):
(appendCustomBuildFlags):
(Factory.init):
(loadBuilderConfig):

  • BuildSlaveSupport/build.webkit.org-config/mastercfg_unittest.py:
  • BuildSlaveSupport/build.webkit.org-config/templates/root.html:
8:26 AM Changeset in webkit [216677] by mark.lam@apple.com
  • 10 edits in trunk

WorkerThread::stop() should call scheduleExecutionTermination() last.
https://bugs.webkit.org/show_bug.cgi?id=171775
<rdar://problem/30975761>

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

Increased the number of frames captured in VM::nativeStackTraceOfLastThrow()
from 25 to 100. From experience, I found that 25 is sometimes not sufficient
for our debugging needs.

Also added VM::throwingThread() to track which thread an exception was thrown in.
This may be useful if the client is entering the VM from different threads.

  • runtime/ExceptionScope.cpp:

(JSC::ExceptionScope::unexpectedExceptionMessage):
(JSC::ExceptionScope::releaseAssertIsTerminatedExecutionException):

  • runtime/ExceptionScope.h:

(JSC::ExceptionScope::exception):
(JSC::ExceptionScope::unexpectedExceptionMessage):

  • runtime/VM.cpp:

(JSC::VM::throwException):

  • runtime/VM.h:

(JSC::VM::throwingThread):
(JSC::VM::clearException):

Source/WebCore:

Currently, WorkerThread::stop() calls scheduleExecutionTermination() to terminate
JS execution first, followed by posting a cleanup task to the worker, and lastly,
it invokes terminate() on the WorkerRunLoop.

As a result, before run loop is terminate, the worker thread may observe the
TerminatedExecutionException in JS code, bail out, see another JS task to run,
re-enters the VM to run said JS code, and fails with an assertion due to the
TerminatedExecutionException still being pending on VM entry.

WorkerRunLoop::Task::performTask() already has a check to only allow a task to
run if and only if !runLoop.terminated() and the task is not a clean up task.
We'll fix the above race by ensuring that having WorkerThread::stop() terminate
the run loop before it scheduleExecutionTermination() which throws the
TerminatedExecutionException. This way, by the time JS code unwinds out of the
VM due to the TerminatedExecutionException, runLoop.terminated() is guaranteed
to be true and thereby prevents re-entry into the VM.

This issue is covered by an existing test that I just unskipped in TestExpectations.

  • bindings/js/JSDOMPromiseDeferred.cpp:

(WebCore::DeferredPromise::callFunction):

  • workers/WorkerThread.cpp:

(WebCore::WorkerThread::stop):

LayoutTests:

6:33 AM Changeset in webkit [216676] by Carlos Garcia Campos
  • 2 edits in trunk/LayoutTests

Unreviewed GTK+ gardening. Update expectations of tests failing after r216450.

  • platform/gtk/TestExpectations:
5:54 AM Changeset in webkit [216675] by Claudio Saavedra
  • 2 edits in trunk/Source/WebKit2

[GTK] Remove notifications guards from GTK API layer
https://bugs.webkit.org/show_bug.cgi?id=170014

Reviewed by Michael Catanzaro.

ENABLE_NOTIFICATIONS in the GTK port is a private option and
disabling it is unsupported, hence remove its guards from the GTK API
layer.

  • UIProcess/API/gtk/WebKitWebContext.cpp:

(webkitWebContextConstructed):

2:09 AM Changeset in webkit [216674] by Carlos Garcia Campos
  • 1 copy in releases/WebKitGTK/webkit-2.17.2

WebKitGTK+ 2.17.2

1:34 AM Changeset in webkit [216673] by Carlos Garcia Campos
  • 4 edits in trunk

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

.:

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

Source/WebKit2:

  • gtk/NEWS: Add release notes for 2.17.2.
12:56 AM Changeset in webkit [216672] by jfbastien@apple.com
  • 3 edits
    1 add in trunk

WebAssembly: stop supporting 0xD
https://bugs.webkit.org/show_bug.cgi?id=168788
<rdar://problem/31880922>

Reviewed by Saam Barati.

JSTests:

Test that only version 1 is supported.

  • wasm/js-api/version.js: Added.

Source/JavaScriptCore:

Only version 1 is supported by other browsers, and there shouldn't
be any 0xD binaries in the wild anymore.

  • wasm/WasmModuleParser.cpp:
12:56 AM Changeset in webkit [216671] by commit-queue@webkit.org
  • 1 edit
    18 adds in trunk/Source/WebInspectorUI

[GTK] Web Inspector: Add new GTK+ icons for resources in large sizes (32px @ 1x/2x)
https://bugs.webkit.org/show_bug.cgi?id=155802
<rdar://problem/25320686>

Patch by Fujii Hironori <Fujii Hironori> on 2017-05-11
Reviewed by Carlos Garcia Campos.

Add more free icons for the Web Inspector in GTK+.

12:55 AM Changeset in webkit [216670] by Claudio Saavedra
  • 2 edits in trunk/Source/WebKit2

[GTK] JavaScript prompt uses title of page to be loaded rather than title of current page
https://bugs.webkit.org/show_bug.cgi?id=152690

Reviewed by Michael Catanzaro.

webkit_web_view_get_uri() returns the page to be loaded, use
internal api for this.

  • UIProcess/API/gtk/WebKitWebView.cpp:

(webkitWebViewCreateJavaScriptDialog):

12:35 AM Changeset in webkit [216669] by Chris Dumez
  • 8 edits
    1 delete in trunk/Source/WebCore

Drop custom bindings code for HTMLFormControlsCollection's named property getter
https://bugs.webkit.org/show_bug.cgi?id=171964

Reviewed by Sam Weinig.

Drop custom bindings code for HTMLFormControlsCollection's named property getter as
we are able to generate it.

No new tests, no expected Web-facing behavior change.

  • CMakeLists.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/JSBindingsAllInOne.cpp:
  • bindings/js/JSHTMLFormControlsCollectionCustom.cpp: Removed.
  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateNamedGetter):

  • html/HTMLFormControlsCollection.cpp:

(WebCore::HTMLFormControlsCollection::namedItemOrItems):

  • html/HTMLFormControlsCollection.h:
  • html/HTMLFormControlsCollection.idl:
12:27 AM Changeset in webkit [216668] by jmarcell@apple.com
  • 2 edits in branches/safari-604.1.21-branch/Source/WebCore

Cherry-pick r216530. rdar://problem/32080319

12:27 AM Changeset in webkit [216667] by jmarcell@apple.com
  • 11 edits in branches/safari-604.1.21-branch/Source

Cherry-pick r216477. rdar://problem/32058957

12:27 AM Changeset in webkit [216666] by jmarcell@apple.com
  • 2 edits in branches/safari-604.1.21-branch/Source/WebKit2

Cherry-pick r216475. rdar://problem/32041569

12:27 AM Changeset in webkit [216665] by jmarcell@apple.com
  • 3 edits in branches/safari-604.1.21-branch/Source/WebCore

Cherry-pick r216471. rdar://problem/31132092

12:27 AM Changeset in webkit [216664] by jmarcell@apple.com
  • 16 edits in branches/safari-604.1.21-branch/Source

Cherry-pick r216463. rdar://problem/32041545

12:27 AM Changeset in webkit [216663] by jmarcell@apple.com
  • 4 edits in branches/safari-604.1.21-branch/Source/WebCore

Cherry-pick r216455. rdar://problem/32053243

12:27 AM Changeset in webkit [216662] by jmarcell@apple.com
  • 8 edits in branches/safari-604.1.21-branch/Source

Cherry-pick r216446. rdar://problem/31848689

12:27 AM Changeset in webkit [216661] by jmarcell@apple.com
  • 3 edits in branches/safari-604.1.21-branch/Source/WebKit2

Cherry-pick r216442. rdar://problem/32051789

12:27 AM Changeset in webkit [216660] by jmarcell@apple.com
  • 4 edits in branches/safari-604.1.21-branch/Source

Cherry-pick r216436. rdar://problem/32041544

12:27 AM Changeset in webkit [216659] by jmarcell@apple.com
  • 3 edits
    2 adds in branches/safari-604.1.21-branch

Cherry-pick r216331. rdar://problem/31122612

12:27 AM Changeset in webkit [216658] by jmarcell@apple.com
  • 3 edits
    2 adds in branches/safari-604.1.21-branch

Cherry-pick r216307. rdar://problem/31955660

12:27 AM Changeset in webkit [216657] by jmarcell@apple.com
  • 4 edits in branches/safari-604.1.21-branch

Cherry-pick r216292. rdar://problem/32027327

12:27 AM Changeset in webkit [216656] by jmarcell@apple.com
  • 2 edits in branches/safari-604.1.21-branch/Source/WebCore

Cherry-pick r216285. rdar://problem/32041544

12:27 AM Changeset in webkit [216655] by jmarcell@apple.com
  • 2 edits in branches/safari-604.1.21-branch/Tools

Cherry-pick r216272. rdar://problem/32027327

12:27 AM Changeset in webkit [216654] by jmarcell@apple.com
  • 4 edits in branches/safari-604.1.21-branch

Cherry-pick r216258. rdar://problem/32017975

12:27 AM Changeset in webkit [216653] by jmarcell@apple.com
  • 2 edits in branches/safari-604.1.21-branch/LayoutTests

Cherry-pick r216252. rdar://problem/32040952

Note: See TracTimeline for information about the timeline view.