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

Timeline



Nov 21, 2016:

11:49 PM Changeset in webkit [208959] by Carlos Garcia Campos
  • 24 edits
    2 moves
    1 add
    10 deletes in trunk/Source/WebKit2

[SOUP] Simplify custom protocols handler implementation
https://bugs.webkit.org/show_bug.cgi?id=164922

Reviewed by Michael Catanzaro.

We are using too many classes for this and also the C API that is not needed, because both GTK+ and EFL have
their own APIs and this is not used by WTR at all.

  • PlatformEfl.cmake: Remove files from compilation.
  • PlatformGTK.cmake: Ditto.
  • Shared/API/c/WKBase.h:
  • Shared/API/c/soup/WKBaseSoup.h: Removed.
  • UIProcess/API/APICustomProtocolManagerClient.h: Added.

(API::CustomProtocolManagerClient::~CustomProtocolManagerClient):
(API::CustomProtocolManagerClient::startLoading):
(API::CustomProtocolManagerClient::stopLoading):
(API::CustomProtocolManagerClient::invalidate):

  • UIProcess/API/C/WKAPICast.h:
  • UIProcess/API/C/soup/WKAPICastSoup.h: Removed.
  • UIProcess/API/C/soup/WKContextSoup.h: Removed.
  • UIProcess/API/C/soup/WKSoupCustomProtocolRequestManager.cpp: Removed.
  • UIProcess/API/C/soup/WKSoupCustomProtocolRequestManager.h: Removed.
  • UIProcess/API/C/soup/WKSoupRequestManager.h: Removed.
  • UIProcess/API/efl/ewk_context.cpp: Remove unneeded include.
  • UIProcess/API/efl/ewk_url_scheme_request.cpp: Use CustomProtocolManagerProxy instead of WKSoupCustomProtocolRequestManagerRef.

(EwkUrlSchemeRequest::EwkUrlSchemeRequest):
(EwkUrlSchemeRequest::finish):
(EwkUrlSchemeRequest::invalidate):

  • UIProcess/API/efl/ewk_url_scheme_request_private.h:

(EwkUrlSchemeRequest::create):
(EwkUrlSchemeRequest::manager):

  • UIProcess/API/gtk/WebKitCustomProtocolManagerClient.cpp: Added.

(attachCustomProtocolManagerClientToContext):

  • UIProcess/API/gtk/WebKitCustomProtocolManagerClient.h: Renamed from Source/WebKit2/UIProcess/API/gtk/WebKitRequestManagerClient.h.
  • UIProcess/API/gtk/WebKitPrivate.h:
  • UIProcess/API/gtk/WebKitRequestManagerClient.cpp: Removed.
  • UIProcess/API/gtk/WebKitRequestManagerClient.h: Removed.
  • UIProcess/API/gtk/WebKitURISchemeRequest.cpp: Use CustomProtocolManagerProxy instead of WebSoupCustomProtocolRequestManager.

(webkitURISchemeRequestCreate):
(webkitURISchemeRequestCancel):
(webkitURISchemeRequestGetManager):
(webkitURISchemeRequestInvalidate):
(webkitURISchemeRequestReadCallback):
(webkit_uri_scheme_request_finish_error):

  • UIProcess/API/gtk/WebKitURISchemeRequestPrivate.h:
  • UIProcess/API/gtk/WebKitWebContext.cpp:

(webkitWebContextConstructed):
(webkitWebContextDispose):
(webkit_web_context_register_uri_scheme):
(webkitWebContextStartLoadingCustomProtocol):
(webkitWebContextInvalidateCustomProtocolRequests):

  • UIProcess/API/gtk/WebKitWebContextPrivate.h:
  • UIProcess/Network/CustomProtocols/CustomProtocolManagerProxy.h:
  • UIProcess/Network/CustomProtocols/mac/CustomProtocolManagerProxyMac.mm:

(WebKit::CustomProtocolManagerProxy::processDidClose):

  • UIProcess/Network/CustomProtocols/soup/CustomProtocolManagerProxySoup.cpp:

(WebKit::CustomProtocolManagerProxy::processDidClose): Invalidate the client.
(WebKit::CustomProtocolManagerProxy::startLoading): Notify the client.
(WebKit::CustomProtocolManagerProxy::stopLoading): Ditto.
(WebKit::CustomProtocolManagerProxy::didReceiveResponse): Notify the network process.
(WebKit::CustomProtocolManagerProxy::didLoadData): Ditto.
(WebKit::CustomProtocolManagerProxy::didFailWithError): Ditto.
(WebKit::CustomProtocolManagerProxy::didFinishLoading): Ditto.

  • UIProcess/Network/CustomProtocols/soup/WebSoupCustomProtocolRequestManager.cpp: Removed.
  • UIProcess/Network/CustomProtocols/soup/WebSoupCustomProtocolRequestManager.h: Removed.
  • UIProcess/Network/CustomProtocols/soup/WebSoupCustomProtocolRequestManagerClient.cpp: Removed.
  • UIProcess/Network/CustomProtocols/soup/WebSoupCustomProtocolRequestManagerClient.h: Removed.
  • UIProcess/Network/NetworkProcessProxy.cpp:

(WebKit::NetworkProcessProxy::didClose): Notify the CustomProtocolManagerProxy.

  • UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::WebProcessPool): Initialize the CustomProtocolManagerClient and remove the all supplement.
(WebKit::WebProcessPool::setCustomProtocolManagerClient):
(WebKit::WebProcessPool::registerSchemeForCustomProtocol): In case of soup cache the given protocol.
(WebKit::WebProcessPool::unregisterSchemeForCustomProtocol): In case of soup delete the given protocol from the cache.

  • UIProcess/WebProcessPool.h:
  • UIProcess/efl/RequestManagerClientEfl.cpp: Do not use the C API, but API::CustomProtocolManagerClient.

(WebKit::RequestManagerClientEfl::RequestManagerClientEfl):
(WebKit::RequestManagerClientEfl::registerURLSchemeHandler):

  • UIProcess/efl/RequestManagerClientEfl.h:
  • UIProcess/efl/WebProcessPoolEfl.cpp:
  • UIProcess/gtk/WebProcessPoolGtk.cpp:
  • UIProcess/soup/WebProcessPoolSoup.cpp:

(WebKit::WebProcessPool::platformInitializeNetworkProcess): Use m_urlSchemesRegisteredForCustomProtocols to
build the list of custom protocols to send to the network process.

10:30 PM Changeset in webkit [208958] by mark.lam@apple.com
  • 4 edits in trunk

Hasher::addCharacters() should be able to handle zero length strings.
https://bugs.webkit.org/show_bug.cgi?id=165024

Reviewed by Yusuke Suzuki.

Source/WTF:

Currently, it will fail to handle zero length strings if it has a pending
character. The fix is simply to return early if length is 0.

  • wtf/Hasher.h:

(WTF::StringHasher::addCharacters):

Tools:

  • TestWebKitAPI/Tests/WTF/StringHasher.cpp:

(TestWebKitAPI::TEST):

7:35 PM Changeset in webkit [208957] by mark.lam@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Removed an extra space character at the end of line.

Not reviewed.

  • runtime/JSCell.cpp:

(JSC::JSCell::toNumber):

6:05 PM Changeset in webkit [208956] by mark.lam@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Fix exception scope verification failures in FunctionConstructor.cpp.
https://bugs.webkit.org/show_bug.cgi?id=165011

Reviewed by Saam Barati.

  • runtime/FunctionConstructor.cpp:

(JSC::constructFunction):
(JSC::constructFunctionSkippingEvalEnabledCheck):

6:04 PM Changeset in webkit [208955] by mark.lam@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Fix exception scope verification failures in GetterSetter.cpp.
https://bugs.webkit.org/show_bug.cgi?id=165013

Reviewed by Saam Barati.

  • runtime/GetterSetter.cpp:

(JSC::callGetter):
(JSC::callSetter):

5:57 PM Changeset in webkit [208954] by Konstantin Tokarev
  • 2 edits in trunk/Source/WebCore

Disable #line markers in bison output on Windows
https://bugs.webkit.org/show_bug.cgi?id=164973

Reviewed by Darin Adler.

New bison versions since 3.0 have bug that causes unescaped paths
to be printed in #line directives. On Windows CMake passes absolute
paths to bison that have backslashes in them, leading to compiler
errors or warnings because of unrecognized escape sequences.

No new tests needed.

  • css/makegrammar.pl:
4:18 PM EnvironmentVariables edited by clopez@igalia.com
(diff)
3:54 PM Changeset in webkit [208953] by Yusuke Suzuki
  • 14 edits
    2 copies
    3 adds in trunk

Crash in com.apple.JavaScriptCore: WTF::ThreadSpecific<WTF::WTFThreadData, + 142
https://bugs.webkit.org/show_bug.cgi?id=164898

Reviewed by Darin Adler.

JSTests:

  • stress/tagged-template-registry-key-collect.js: Added.

(shouldBe):
(tag):
(i.eval):

  • stress/tagged-template-registry-key.js: Added.

(shouldBe):
(tag):
(a):
(b):

Source/JavaScriptCore:

The callsite object (JSArray) of tagged template literal is managed by WeakGCMap since
same tagged template literal need to return an identical object.
The problem is that we used TemplateRegistryKey as the key of the WeakGCMap. WeakGCMap
can prune its entries in the collector thread. At that time, this TemplateRegistryKey
is deallocated. Since it includes String (and then, StringImpl), we accidentally call
ref(), deref() and StringImpl::destroy() in the different thread from the main thread
while this TemplateRegistryKey is allocated in the main thread.

Instead, we use TemplateRegistryKey* as the key of WeakGCMap. Then, to keep its liveness
while the entry of the WeakGCMap is alive, the callsite object has the reference to
the JSTemplateRegistryKey. And it holds Ref<TemplateRegistryKey>.

And now we need to lookup WeakGCMap with TemplateRegistryKey*. To do so, we create
interning system for TemplateRegistryKey. It is similar to AtomicStringTable and
SymbolRegistry. TemplateRegistryKey is allocated from this table. This table atomize the
TemplateRegistryKey. So we can use the pointer comparison between TemplateRegistryKey.
It allows us to lookup the entry from WeakGCMap by TemplateRegistryKey*.

  • CMakeLists.txt:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • builtins/BuiltinNames.h:
  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::addTemplateRegistryKeyConstant):
(JSC::BytecodeGenerator::emitGetTemplateObject):

  • bytecompiler/BytecodeGenerator.h:
  • runtime/JSGlobalObject.cpp:

(JSC::getTemplateObject):

  • runtime/JSTemplateRegistryKey.cpp:

(JSC::JSTemplateRegistryKey::JSTemplateRegistryKey):
(JSC::JSTemplateRegistryKey::create):

  • runtime/JSTemplateRegistryKey.h:
  • runtime/TemplateRegistry.cpp:

(JSC::TemplateRegistry::getTemplateObject):

  • runtime/TemplateRegistry.h:
  • runtime/TemplateRegistryKey.cpp: Copied from Source/JavaScriptCore/runtime/TemplateRegistry.h.

(JSC::TemplateRegistryKey::~TemplateRegistryKey):

  • runtime/TemplateRegistryKey.h:

(JSC::TemplateRegistryKey::calculateHash):
(JSC::TemplateRegistryKey::create):
(JSC::TemplateRegistryKey::TemplateRegistryKey):

  • runtime/TemplateRegistryKeyTable.cpp: Added.

(JSC::TemplateRegistryKeyTranslator::hash):
(JSC::TemplateRegistryKeyTranslator::equal):
(JSC::TemplateRegistryKeyTranslator::translate):
(JSC::TemplateRegistryKeyTable::~TemplateRegistryKeyTable):
(JSC::TemplateRegistryKeyTable::createKey):
(JSC::TemplateRegistryKeyTable::unregister):

  • runtime/TemplateRegistryKeyTable.h: Copied from Source/JavaScriptCore/runtime/JSTemplateRegistryKey.h.

(JSC::TemplateRegistryKeyTable::KeyHash::hash):
(JSC::TemplateRegistryKeyTable::KeyHash::equal):

  • runtime/VM.h:

(JSC::VM::templateRegistryKeyTable):

3:24 PM Changeset in webkit [208952] by mark.lam@apple.com
  • 5 edits in trunk/Source/JavaScriptCore

Fix exception scope verification failures in runtime/Error* files.
https://bugs.webkit.org/show_bug.cgi?id=164998

Reviewed by Darin Adler.

  • runtime/ErrorConstructor.cpp:

(JSC::Interpreter::constructWithErrorConstructor):

  • runtime/ErrorInstance.cpp:

(JSC::ErrorInstance::create):

  • runtime/ErrorInstance.h:
  • runtime/ErrorPrototype.cpp:

(JSC::errorProtoFuncToString):

12:32 PM Changeset in webkit [208951] by clopez@igalia.com
  • 2 edits in trunk/Tools

[CMake] build fails after update to cmake 3.7
https://bugs.webkit.org/show_bug.cgi?id=165008

Reviewed by Dan Bernstein.

When we remove the CMake cache, we should remove both the
CMakeCache.txt file and the CMakeFiles directory.
See: https://gitlab.kitware.com/cmake/cmake/issues/14820

  • Scripts/webkitdirs.pm:

(cmakeFilesPath):
(removeCMakeCache):

9:19 AM Changeset in webkit [208950] by mark.lam@apple.com
  • 5 edits in trunk/Source/JavaScriptCore

Fix exception scope verification failures in *Executable.cpp files.
https://bugs.webkit.org/show_bug.cgi?id=164996

Reviewed by Darin Adler.

  • runtime/DirectEvalExecutable.cpp:

(JSC::DirectEvalExecutable::create):

  • runtime/IndirectEvalExecutable.cpp:

(JSC::IndirectEvalExecutable::create):

  • runtime/ProgramExecutable.cpp:

(JSC::ProgramExecutable::initializeGlobalProperties):

  • runtime/ScriptExecutable.cpp:

(JSC::ScriptExecutable::prepareForExecutionImpl):

8:58 AM Changeset in webkit [208949] by achristensen@apple.com
  • 4 edits in trunk/Source

Fix Sierra CMake build after r208452
https://bugs.webkit.org/show_bug.cgi?id=164437

Source/WebKit/mac:

  • WebView/WebView.mm:

(-[WebView updateMediaTouchBar]):
I haven't enabled VIDEO_PRESENTATION_MODE in the CMake build yet.
It's needed for playbackSessionInterface to exist.

Source/WebKit2:

  • UIProcess/Cocoa/WebViewImpl.mm:

(WebKit::WebViewImpl::updateMediaTouchBar):
I haven't enabled VIDEO_PRESENTATION_MODE in the CMake build yet.
It's needed for WebPlaybackSessionInterfaceMac to exist.

8:25 AM Changeset in webkit [208948] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

[cmake][OpenWebRTC] Move SDPProcessorScriptResource rules to common WebCore
https://bugs.webkit.org/show_bug.cgi?id=164937

Patch by Olivier Blin <Olivier Blin> on 2016-11-21
Reviewed by Youenn Fablet.

SDPProcessorScriptResource has been moved in common mediastream directory (bug 163940).

Since it is not specific to the GTK port, the matching cmake rules should be
moved out from PlatformGTK.cmake to the main WebCore CMakeLists.txt.

This is needed to build OpenWebRTC support in other ports, WPE in my case,
probably Mac, EFL and Qt as well.

This also fixes the path in SDP scripts dependencies, the old openwebrtc subdir
was still being used.

No new tests, build fix only

  • CMakeLists.txt:
  • PlatformGTK.cmake:
5:12 AM Changeset in webkit [208947] by Carlos Garcia Campos
  • 1 copy in releases/WebKitGTK/webkit-2.15.2

WebKitGTK+ 2.15.2

3:18 AM Changeset in webkit [208946] by Carlos Garcia Campos
  • 4 edits in trunk

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

.:

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

Source/WebKit2:

  • gtk/NEWS: Add release notes for 2.15.2.
2:04 AM Changeset in webkit [208945] by Carlos Garcia Campos
  • 7 edits in trunk/Source/WebCore

Add URL::hostAndPort()
https://bugs.webkit.org/show_bug.cgi?id=164907

Reviewed by Alex Christensen.

As a convenient way of getting the host and port (if any) as a string.

  • html/URLUtils.h:

(WebCore::URLUtils<T>::host): Use URL::hostAndPort().

  • page/Location.cpp:

(WebCore::Location::host): Ditto.

  • platform/URL.cpp:

(WebCore::URL::hostAndPort): Return host:port or just host if there isn't a port.

  • platform/URL.h:
  • platform/network/CredentialStorage.cpp:

(WebCore::originStringFromURL): Use URL::hostAndPort().

  • workers/WorkerLocation.cpp:

(WebCore::WorkerLocation::host): Ditto.

1:41 AM Changeset in webkit [208944] by Philippe Normand
  • 2 edits in trunk/Source/WebCore

[WebRTC][OpenWebRTC] parse turns urls
https://bugs.webkit.org/show_bug.cgi?id=164587

Reviewed by Alejandro G. Castro.

  • platform/mediastream/openwebrtc/MediaEndpointOwr.cpp:

(WebCore::MediaEndpointOwr::ensureTransportAgentAndTransceivers):
Hook turns servers between the RTCConfiguration and the underlying
OpenWebRTC layer.

1:39 AM Changeset in webkit [208943] by Philippe Normand
  • 3 edits in trunk/Source/WebCore

[Gstreamer] Add volume and mute support to the WebRTC mediaplayer
https://bugs.webkit.org/show_bug.cgi?id=153828

Reviewed by Darin Adler.

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamerOwr.cpp:

(WebCore::MediaPlayerPrivateGStreamerOwr::setVolume): New implementation setting the OWR source volume property.
(WebCore::MediaPlayerPrivateGStreamerOwr::setMuted): New implementation setting the OWR source mute property.
(WebCore::MediaPlayerPrivateGStreamerOwr::maybeHandleChangeMutedState): Also set audio OWR source mute state depending on the track enabled state.
(WebCore::MediaPlayerPrivateGStreamerOwr::trackEnabledChanged): chain to maybeHandleChangeMuteState.

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamerOwr.h:
1:29 AM Changeset in webkit [208942] by Philippe Normand
  • 2 edits in trunk/Source/WebCore

[WebRTC][OpenWebRTC] RTP bundling support
https://bugs.webkit.org/show_bug.cgi?id=162333

Reviewed by Alejandro G. Castro.

Configure the OpenWebRTC transport agent bundle policy according
to the RTCConfiguration and pass the receive SSRCs over to
OpenWebRTC as well. Those are needed so the agent is aware of the
bundle layout.

  • platform/mediastream/openwebrtc/MediaEndpointOwr.cpp:

(WebCore::MediaEndpointOwr::updateReceiveConfiguration):
(WebCore::MediaEndpointOwr::updateSendConfiguration):
(WebCore::MediaEndpointOwr::ensureTransportAgentAndTransceivers):

1:24 AM Changeset in webkit [208941] by Carlos Garcia Campos
  • 3 edits in trunk/Source/WebKit2

Remove m_customProtocolManagerProxy from WebProcessProxy
https://bugs.webkit.org/show_bug.cgi?id=164908

Reviewed by Andreas Kling.

Since the network process is mandatory, the custom protocol manager proxy of WebProcessProxy is unused and can
be removed.

  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::WebProcessProxy):

  • UIProcess/WebProcessProxy.h:
12:09 AM Changeset in webkit [208940] by Philippe Normand
  • 2 edits
    3 adds
    1 delete in trunk/Tools

[GTK][WebRTC] Switch to downstream OpenWebRTC and more recent GStreamer
https://bugs.webkit.org/show_bug.cgi?id=164817

Reviewed by Alejandro G. Castro.

This is temporary, hopefully. The OpenWebRTC patches will/should
be soon reviewed and upstream but meanwhile it makes sense to use
the Igalia downstream fork so that the WebRTC testing is easier.

Recent GStreamer patches are also needed for RTP bundling support
and RTP retransmission fixes.

  • gtk/jhbuild.modules:
  • gtk/openwebrtc.modules: Removed.
  • gtk/patches/gst-plugins-good-0001-rtpbin-pipeline-gets-an-EOS-when-any-rtpsources-byes.patch: Added.
  • gtk/patches/gst-plugins-good-0002-rtpbin-avoid-generating-errors-when-rtcp-messages-ar.patch: Added.
  • gtk/patches/gst-plugins-good-0003-rtpbin-receive-bundle-support.patch: Added.

Nov 20, 2016:

10:22 PM Changeset in webkit [208939] by zandobersek@gmail.com
  • 20 edits in trunk

[EncryptedMedia] Make EME API runtime-enabled
https://bugs.webkit.org/show_bug.cgi?id=164927

Reviewed by Jer Noble.

Source/JavaScriptCore:

  • runtime/CommonIdentifiers.h: Add the necessary identifiers.

Source/WebCore:

Update the EME API IDL definitions to use the EnabledAtRuntime
attribute on the relevant interfaces, attributes and operations.
EncryptedMediaAPI is used as the attribute value.

The corresponding getter, setter and member boolean are added to
the RuntimeEnabledFeatures class.

  • Modules/encryptedmedia/MediaKeyMessageEvent.idl:
  • Modules/encryptedmedia/MediaKeySession.idl:
  • Modules/encryptedmedia/MediaKeyStatusMap.idl:
  • Modules/encryptedmedia/MediaKeySystemAccess.idl:
  • Modules/encryptedmedia/MediaKeys.idl:
  • Modules/encryptedmedia/NavigatorEME.idl:
  • bindings/generic/RuntimeEnabledFeatures.h:

(WebCore::RuntimeEnabledFeatures::setEncryptedMediaAPIEnabled):
(WebCore::RuntimeEnabledFeatures::encryptedMediaAPIEnabled):

  • html/HTMLMediaElement.idl:
  • html/MediaEncryptedEvent.idl:

Source/WebKit2:

Add the new EncryptedMediaAPI preference. Set the same feature
flag on the shared RuntimeEnabledFeatures object to the
corresponding value that's stored in the WebPreferencesStore.

InjectedBundle::overrideBoolPreferenceForTestRunner() does the
same when the 'WebKitEncryptedMediaAPIEnabled' preference is
overridden in WKTR for testing purposes.

  • Shared/WebPreferencesDefinitions.h:
  • WebProcess/InjectedBundle/InjectedBundle.cpp:

(WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::updatePreferences):

Tools:

Enable the EME API via the WKTR InjectedBundle whenever testing
commences. This does not have any effect unless the EME feature
is enabled at compile-time, but it's still added to match other
features and for future use.

  • WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:

(WTR::InjectedBundle::beginTesting):

  • WebKitTestRunner/InjectedBundle/TestRunner.cpp:

(WTR::TestRunner::setEncryptedMediaAPIEnabled):

  • WebKitTestRunner/InjectedBundle/TestRunner.h:
8:38 PM Changeset in webkit [208938] by eric.carlson@apple.com
  • 2 edits in trunk/Source/WebCore

REGRESSION (r208606?): LayoutTest fast/mediastream/enumerating-crash.html is a flaky crash
https://bugs.webkit.org/show_bug.cgi?id=164715
<rdar://problem/29277180>

Reviewed by Alexey Proskuryakov.

No new tests, fixes an existing test crash.

  • Modules/mediastream/UserMediaRequest.cpp:

(WebCore::UserMediaRequest::contextDestroyed): Call base class method before clearing m_controller

because it nullifies the security context.

5:34 PM Changeset in webkit [208937] by mark.lam@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Fix exception scope verification failures in ConstructData.cpp.
https://bugs.webkit.org/show_bug.cgi?id=164976

Reviewed by Darin Adler.

  • runtime/ConstructData.cpp:

(JSC::construct):

5:33 PM Changeset in webkit [208936] by mark.lam@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

Fix exception scope verification failures in CommonSlowPaths.cpp/h.
https://bugs.webkit.org/show_bug.cgi?id=164975

Reviewed by Darin Adler.

  • runtime/CommonSlowPaths.cpp:

(JSC::SLOW_PATH_DECL):

  • runtime/CommonSlowPaths.h:

(JSC::CommonSlowPaths::opIn):

5:31 PM Changeset in webkit [208935] by mark.lam@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

Fix exception scope verification failures in DateConstructor.cpp and DatePrototype.cpp.
https://bugs.webkit.org/show_bug.cgi?id=164995

Reviewed by Darin Adler.

  • runtime/DateConstructor.cpp:

(JSC::millisecondsFromComponents):
(JSC::constructDate):

  • runtime/DatePrototype.cpp:

(JSC::dateProtoFuncToPrimitiveSymbol):

4:57 PM Changeset in webkit [208934] by commit-queue@webkit.org
  • 1 edit
    6 adds in trunk/LayoutTests

Add iOS text selection tests - long press clear and multi line selection tests
https://bugs.webkit.org/show_bug.cgi?id=164899

Patch by Megan Gardner <Megan Gardner> on 2016-11-20
Reviewed by Darin Adler.

Test for clearing a selection after a long press.
Test for checking multi-line select, both increasing and decreasing, using the left selection.
Test for checking multi-line select, both increasing and decreasing, using the right selection.

  • fast/events/touch/ios/long-press-then-drag-down-to-change-selected-text-expected.txt: Added.
  • fast/events/touch/ios/long-press-then-drag-down-to-change-selected-text.html: Added.
  • fast/events/touch/ios/long-press-then-drag-up-to-change-selected-text-expected.txt: Added.
  • fast/events/touch/ios/long-press-then-drag-up-to-change-selected-text.html: Added.
  • fast/events/touch/ios/long-press-to-select-and-tap-to-clear-expected.txt: Added.
  • fast/events/touch/ios/long-press-to-select-and-tap-to-clear.html: Added.
9:43 AM WebKitGTK/2.14.x edited by Michael Catanzaro
(diff)
12:58 AM Changeset in webkit [208933] by caitp@igalia.com
  • 8 edits in trunk

[JSC] speed up parsing of async functions
https://bugs.webkit.org/show_bug.cgi?id=164808

Reviewed by Yusuke Suzuki.

JSTests:

Add tests for line terminator following "async" keyword in async
function syntax.

  • stress/async-await-syntax.js:

(shouldBe):

Source/JavaScriptCore:

Minor adjustments to Parser in order to mitigate slowdown with async
function parsing enabled:

  • Tokenize "async" as a keyword
  • Perform less branching in various areas of the Parser
  • parser/Keywords.table:
  • parser/Parser.cpp:

(JSC::Parser<LexerType>::parseStatementListItem):
(JSC::Parser<LexerType>::parseStatement):
(JSC::Parser<LexerType>::maybeParseAsyncFunctionDeclarationStatement):
(JSC::Parser<LexerType>::parseClass):
(JSC::Parser<LexerType>::parseExportDeclaration):
(JSC::Parser<LexerType>::parseAssignmentExpression):
(JSC::Parser<LexerType>::parseProperty):
(JSC::Parser<LexerType>::createResolveAndUseVariable):
(JSC::Parser<LexerType>::parsePrimaryExpression):
(JSC::Parser<LexerType>::parseMemberExpression):
(JSC::Parser<LexerType>::printUnexpectedTokenText):

  • parser/Parser.h:

(JSC::isAnyContextualKeyword):
(JSC::isIdentifierOrAnyContextualKeyword):
(JSC::isSafeContextualKeyword):
(JSC::Parser::matchSpecIdentifier):

  • parser/ParserTokens.h:
  • runtime/CommonIdentifiers.h:
Note: See TracTimeline for information about the timeline view.