[webkit-changes] [239326] trunk/JSTests

2018-12-17 Thread mark . lam
Title: [239326] trunk/JSTests








Revision 239326
Author mark@apple.com
Date 2018-12-17 23:51:24 -0800 (Mon, 17 Dec 2018)


Log Message
Skip the stress/materialize-regexp-cyclic-regexp.js test on 32-bit.
https://bugs.webkit.org/show_bug.cgi?id=191373


Reviewed by Yusuke Suzuki.

The test is already slow running with a JIT on 64-bit.  It will always timeout
on 32-bit without a JIT.

* stress/materialize-regexp-cyclic-regexp.js:

Modified Paths

trunk/JSTests/ChangeLog
trunk/JSTests/stress/materialize-regexp-cyclic-regexp.js




Diff

Modified: trunk/JSTests/ChangeLog (239325 => 239326)

--- trunk/JSTests/ChangeLog	2018-12-18 06:56:51 UTC (rev 239325)
+++ trunk/JSTests/ChangeLog	2018-12-18 07:51:24 UTC (rev 239326)
@@ -1,5 +1,18 @@
 2018-12-17  Mark Lam  
 
+Skip the stress/materialize-regexp-cyclic-regexp.js test on 32-bit.
+https://bugs.webkit.org/show_bug.cgi?id=191373
+
+
+Reviewed by Yusuke Suzuki.
+
+The test is already slow running with a JIT on 64-bit.  It will always timeout
+on 32-bit without a JIT.
+
+* stress/materialize-regexp-cyclic-regexp.js:
+
+2018-12-17  Mark Lam  
+
 Array unshift/shift should not race against the AI in the compiler thread.
 https://bugs.webkit.org/show_bug.cgi?id=192795
 


Modified: trunk/JSTests/stress/materialize-regexp-cyclic-regexp.js (239325 => 239326)

--- trunk/JSTests/stress/materialize-regexp-cyclic-regexp.js	2018-12-18 06:56:51 UTC (rev 239325)
+++ trunk/JSTests/stress/materialize-regexp-cyclic-regexp.js	2018-12-18 07:51:24 UTC (rev 239326)
@@ -1,3 +1,5 @@
+//@ skip if $architecture != "arm64" and $architecture != "x86-64"
+
 function shouldBe(actual, expected)
 {
 if (actual !== expected)






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [239325] trunk

2018-12-17 Thread mark . lam
Title: [239325] trunk








Revision 239325
Author mark@apple.com
Date 2018-12-17 22:56:51 -0800 (Mon, 17 Dec 2018)


Log Message
Array unshift/shift should not race against the AI in the compiler thread.
https://bugs.webkit.org/show_bug.cgi?id=192795


Reviewed by Saam Barati.

JSTests:

* stress/array-unshift-should-not-race-against-compiler-thread.js: Added.

Source/_javascript_Core:

The Array unshift and shift operations for ArrayStorage type arrays are protected
using the cellLock.  The AbstractInterpreter's foldGetByValOnConstantProperty()
function does grab the cellLock before reading a value from the array's ArrayStorage,
but does not get the array butterfly under the protection of the cellLock.

This is insufficient and racy.  For ArrayStorage type arrays, the fetching of the
butterfly also needs to be protected by the cellLock.  The unshift / shift
operations can move values around in the butterfly.  Hence, the fact that AI has
fetched a butterfly pointer (while ensuring no structure change) is insufficient
to guarantee that the values in the butterfly haven't shifted.

Having AI hold the cellLock the whole time (from before fetching the butterfly
till after reading the value from it) eliminates this race.  Note: we only need
to do this for ArrayStorage type arrays.

Note also that though AI is holding the cellLock in this case, we still need to
ensure that the array structure hasn't changed around the fetching of the butterfly.
This is because operations other than unshift and shift are guarded by this
protocol, and not the cellLock.

* dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter::executeEffects):
* runtime/JSArray.cpp:
(JSC::JSArray::unshiftCountSlowCase):

Modified Paths

trunk/JSTests/ChangeLog
trunk/Source/_javascript_Core/ChangeLog
trunk/Source/_javascript_Core/dfg/DFGAbstractInterpreterInlines.h
trunk/Source/_javascript_Core/runtime/JSArray.cpp


Added Paths

trunk/JSTests/stress/array-unshift-should-not-race-against-compiler-thread.js




Diff

Modified: trunk/JSTests/ChangeLog (239324 => 239325)

--- trunk/JSTests/ChangeLog	2018-12-18 06:54:49 UTC (rev 239324)
+++ trunk/JSTests/ChangeLog	2018-12-18 06:56:51 UTC (rev 239325)
@@ -1,3 +1,13 @@
+2018-12-17  Mark Lam  
+
+Array unshift/shift should not race against the AI in the compiler thread.
+https://bugs.webkit.org/show_bug.cgi?id=192795
+
+
+Reviewed by Saam Barati.
+
+* stress/array-unshift-should-not-race-against-compiler-thread.js: Added.
+
 2018-12-16  Yusuke Suzuki  
 
 [JSC] Optimize Object.keys by caching own keys results in StructureRareData


Added: trunk/JSTests/stress/array-unshift-should-not-race-against-compiler-thread.js (0 => 239325)

--- trunk/JSTests/stress/array-unshift-should-not-race-against-compiler-thread.js	(rev 0)
+++ trunk/JSTests/stress/array-unshift-should-not-race-against-compiler-thread.js	2018-12-18 06:56:51 UTC (rev 239325)
@@ -0,0 +1,7 @@
+let x = [];
+for (let i = 0; i < 30; ++i) {
+for (let j = 0; j < 2; ++j) {
+x[0]
+x.unshift(undefined);
+}
+}


Modified: trunk/Source/_javascript_Core/ChangeLog (239324 => 239325)

--- trunk/Source/_javascript_Core/ChangeLog	2018-12-18 06:54:49 UTC (rev 239324)
+++ trunk/Source/_javascript_Core/ChangeLog	2018-12-18 06:56:51 UTC (rev 239325)
@@ -1,3 +1,36 @@
+2018-12-17  Mark Lam  
+
+Array unshift/shift should not race against the AI in the compiler thread.
+https://bugs.webkit.org/show_bug.cgi?id=192795
+
+
+Reviewed by Saam Barati.
+
+The Array unshift and shift operations for ArrayStorage type arrays are protected
+using the cellLock.  The AbstractInterpreter's foldGetByValOnConstantProperty()
+function does grab the cellLock before reading a value from the array's ArrayStorage,
+but does not get the array butterfly under the protection of the cellLock.
+
+This is insufficient and racy.  For ArrayStorage type arrays, the fetching of the
+butterfly also needs to be protected by the cellLock.  The unshift / shift
+operations can move values around in the butterfly.  Hence, the fact that AI has
+fetched a butterfly pointer (while ensuring no structure change) is insufficient
+to guarantee that the values in the butterfly haven't shifted.
+
+Having AI hold the cellLock the whole time (from before fetching the butterfly
+till after reading the value from it) eliminates this race.  Note: we only need
+to do this for ArrayStorage type arrays.
+
+Note also that though AI is holding the cellLock in this case, we still need to
+ensure that the array structure hasn't changed around the fetching of the butterfly.
+This is because operations other than unshift and shift are guarded by this
+protocol, and not the cellLock.
+
+* dfg/DFGAbstractInterpreterInlines.h:
+

[webkit-changes] [239324] trunk

2018-12-17 Thread yusukesuzuki
Title: [239324] trunk








Revision 239324
Author yusukesuz...@slowstart.org
Date 2018-12-17 22:54:49 -0800 (Mon, 17 Dec 2018)


Log Message
[JSC] Optimize Object.keys by caching own keys results in StructureRareData
https://bugs.webkit.org/show_bug.cgi?id=190047

Reviewed by Saam Barati.

JSTests:

* stress/object-keys-cached-zero.js: Added.
(shouldBe):
(test):
* stress/object-keys-changed-attribute.js: Added.
(shouldBe):
(test):
* stress/object-keys-changed-index.js: Added.
(shouldBe):
(test):
* stress/object-keys-changed.js: Added.
(shouldBe):
(test):
* stress/object-keys-indexed-non-cache.js: Added.
(shouldBe):
(test):
* stress/object-keys-overrides-get-property-names.js: Added.
(shouldBe):
(test):
(noInline):

Source/_javascript_Core:

Object.keys is one of the most frequently used function in web-tooling-benchmarks (WTB).
Object.keys is dominant in lebab of WTB, and frequently called in babel and others.
Since our Structure knows the shape of JSObject, we can cache the result of Object.keys
in Structure (StructureRareData) as we cache JSPropertyNameEnumerator in StructureRareData.

This patch caches the result of Object.keys in StructureRareData. The cached array is created
as JSImmutableButterfly. And Object.keys creates CoW from this data. Currently, the lifetime
strategy of this JSImmutableButterfly is the same to cached JSPropertyNameEnumerator. It is
referenced from Structure, and collected when Structure is collected.

This improves several benchmarks in SixSpeed.

baseline  patched

object-assign.es5  350.1710+-3.6303 ^226.0368+-4.7558^ definitely 1.5492x faster
for-of-object.es6  269.1941+-3.3430 ^127.9317+-2.3875^ definitely 2.1042x faster

And it improves WTB lebab by 11.8%.

Before: lebab:  6.10 runs/s
After:  lebab:  6.82 runs/s

* dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter::executeEffects):
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::handleIntrinsicCall):
* dfg/DFGClobberize.h:
(JSC::DFG::clobberize):
* dfg/DFGConstantFoldingPhase.cpp:
(JSC::DFG::ConstantFoldingPhase::foldConstants):
* dfg/DFGDoesGC.cpp:
(JSC::DFG::doesGC):
* dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
* dfg/DFGNode.cpp:
(JSC::DFG::Node::convertToNewArrayBuffer):
* dfg/DFGNode.h:
* dfg/DFGNodeType.h:
* dfg/DFGOperations.cpp:
* dfg/DFGOperations.h:
* dfg/DFGPredictionPropagationPhase.cpp:
* dfg/DFGSafeToExecute.h:
(JSC::DFG::safeToExecute):
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileObjectKeys):
* dfg/DFGSpeculativeJIT.h:
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* ftl/FTLAbstractHeapRepository.h:
* ftl/FTLCapabilities.cpp:
(JSC::FTL::canCompile):
* ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileNode):
(JSC::FTL::DFG::LowerDFGToB3::compileObjectKeys):
* runtime/Butterfly.h:
(JSC::ContiguousData::Data::setStartingValue):
* runtime/Intrinsic.cpp:
(JSC::intrinsicName):
* runtime/Intrinsic.h:
* runtime/JSImmutableButterfly.h:
(JSC::JSImmutableButterfly::JSImmutableButterfly):
We set JSEmpty to the underlying butterfly storage if indexing type is Contiguous.
Otherwise, JSImmutableButterfly is half-baked one until all the storage is filled with some meaningful values, it leads to crash
if half-baked JSImmutableButterfly is exposed to GC.
* runtime/ObjectConstructor.cpp:
(JSC::ownPropertyKeys):
* runtime/Structure.cpp:
(JSC::Structure::canCachePropertyNameEnumerator const):
* runtime/Structure.h:
* runtime/StructureInlines.h:
(JSC::Structure::setCachedOwnKeys):
(JSC::Structure::cachedOwnKeys const):
(JSC::Structure::cachedOwnKeysIgnoringSentinel const):
(JSC::Structure::canCacheOwnKeys const):
* runtime/StructureRareData.cpp:
(JSC::StructureRareData::visitChildren):
(JSC::StructureRareData::cachedPropertyNameEnumerator const): Deleted.
(JSC::StructureRareData::setCachedPropertyNameEnumerator): Deleted.
* runtime/StructureRareData.h:
* runtime/StructureRareDataInlines.h:
(JSC::StructureRareData::cachedPropertyNameEnumerator const):
(JSC::StructureRareData::setCachedPropertyNameEnumerator):
(JSC::StructureRareData::cachedOwnKeys const):
(JSC::StructureRareData::cachedOwnKeysIgnoringSentinel const):
(JSC::StructureRareData::cachedOwnKeysConcurrently const):
(JSC::StructureRareData::setCachedOwnKeys):
(JSC::StructureRareData::previousID const): Deleted.
* runtime/VM.cpp:
(JSC::VM::VM):

Modified Paths

trunk/JSTests/ChangeLog
trunk/Source/_javascript_Core/ChangeLog
trunk/Source/_javascript_Core/dfg/DFGAbstractInterpreterInlines.h
trunk/Source/_javascript_Core/dfg/DFGByteCodeParser.cpp
trunk/Source/_javascript_Core/dfg/DFGClobberize.h
trunk/Source/_javascript_Core/dfg/DFGConstantFoldingPhase.cpp
trunk/Source/_javascript_Core/dfg/DFGDoesGC.cpp
trunk/Source/_javascript_Core/dfg/DFGFixupPhase.cpp
trunk/Source/_javascript_Core/dfg/DFGNode.cpp

[webkit-changes] [239323] trunk

2018-12-17 Thread jiewen_tan
Title: [239323] trunk








Revision 239323
Author jiewen_...@apple.com
Date 2018-12-17 22:37:28 -0800 (Mon, 17 Dec 2018)


Log Message
[Mac] Layout Test http/wpt/webauthn/public-key-credential-create-success-hid.https.html and http/wpt/webauthn/public-key-credential-get-success-hid.https.html are flaky
https://bugs.webkit.org/show_bug.cgi?id=192061

Reviewed by Dewei Zhu.

Source/WebKit:

Part 3.

Add some additional temporary logging info to determine if the timer is working as expected.
Once the bug is determined and fixed, we should remove all logging added in this patch.

* UIProcess/WebAuthentication/AuthenticatorManager.cpp:
(WebKit::AuthenticatorManager::respondReceived):
(WebKit::AuthenticatorManager::initTimeOutTimer):
(WebKit::AuthenticatorManager::timeOutTimerFired):
* UIProcess/WebAuthentication/Mock/MockAuthenticatorManager.cpp:
(WebKit::MockAuthenticatorManager::respondReceivedInternal):

LayoutTests:

Add a time out value.

* http/wpt/webauthn/public-key-credential-create-success-hid.https.html:

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/http/wpt/webauthn/public-key-credential-create-success-hid.https.html
trunk/Source/WebKit/ChangeLog
trunk/Source/WebKit/UIProcess/WebAuthentication/AuthenticatorManager.cpp
trunk/Source/WebKit/UIProcess/WebAuthentication/Mock/MockAuthenticatorManager.cpp




Diff

Modified: trunk/LayoutTests/ChangeLog (239322 => 239323)

--- trunk/LayoutTests/ChangeLog	2018-12-18 06:33:58 UTC (rev 239322)
+++ trunk/LayoutTests/ChangeLog	2018-12-18 06:37:28 UTC (rev 239323)
@@ -1,3 +1,14 @@
+2018-12-17  Jiewen Tan  
+
+[Mac] Layout Test http/wpt/webauthn/public-key-credential-create-success-hid.https.html and http/wpt/webauthn/public-key-credential-get-success-hid.https.html are flaky
+https://bugs.webkit.org/show_bug.cgi?id=192061
+
+Reviewed by Dewei Zhu.
+
+Add a time out value.
+
+* http/wpt/webauthn/public-key-credential-create-success-hid.https.html:
+
 2018-12-17  Eric Carlson  
 
 [MediaStream] A stream's first video frame should be rendered


Modified: trunk/LayoutTests/http/wpt/webauthn/public-key-credential-create-success-hid.https.html (239322 => 239323)

--- trunk/LayoutTests/http/wpt/webauthn/public-key-credential-create-success-hid.https.html	2018-12-18 06:33:58 UTC (rev 239322)
+++ trunk/LayoutTests/http/wpt/webauthn/public-key-credential-create-success-hid.https.html	2018-12-18 06:37:28 UTC (rev 239323)
@@ -69,7 +69,8 @@
 },
 challenge: Base64URL.parse("MTIzNDU2"),
 pubKeyCredParams: [{ type: "public-key", alg: -7 }],
-authenticatorSelection: { authenticatorAttachment: "cross-platform" }
+authenticatorSelection: { authenticatorAttachment: "cross-platform" },
+timeout: 10
 }
 };
 


Modified: trunk/Source/WebKit/ChangeLog (239322 => 239323)

--- trunk/Source/WebKit/ChangeLog	2018-12-18 06:33:58 UTC (rev 239322)
+++ trunk/Source/WebKit/ChangeLog	2018-12-18 06:37:28 UTC (rev 239323)
@@ -1,3 +1,22 @@
+2018-12-17  Jiewen Tan  
+
+[Mac] Layout Test http/wpt/webauthn/public-key-credential-create-success-hid.https.html and http/wpt/webauthn/public-key-credential-get-success-hid.https.html are flaky
+https://bugs.webkit.org/show_bug.cgi?id=192061
+
+Reviewed by Dewei Zhu.
+
+Part 3.
+
+Add some additional temporary logging info to determine if the timer is working as expected.
+Once the bug is determined and fixed, we should remove all logging added in this patch.
+
+* UIProcess/WebAuthentication/AuthenticatorManager.cpp:
+(WebKit::AuthenticatorManager::respondReceived):
+(WebKit::AuthenticatorManager::initTimeOutTimer):
+(WebKit::AuthenticatorManager::timeOutTimerFired):
+* UIProcess/WebAuthentication/Mock/MockAuthenticatorManager.cpp:
+(WebKit::MockAuthenticatorManager::respondReceivedInternal):
+
 2018-12-17  Saam barati  
 
 Enable HTTP and HTTPS proxies on iOS and make it a property of the NSURLSession


Modified: trunk/Source/WebKit/UIProcess/WebAuthentication/AuthenticatorManager.cpp (239322 => 239323)

--- trunk/Source/WebKit/UIProcess/WebAuthentication/AuthenticatorManager.cpp	2018-12-18 06:33:58 UTC (rev 239322)
+++ trunk/Source/WebKit/UIProcess/WebAuthentication/AuthenticatorManager.cpp	2018-12-18 06:37:28 UTC (rev 239323)
@@ -191,6 +191,8 @@
 if (WTF::holds_alternative(respond)) {
 m_pendingCompletionHandler(WTFMove(respond));
 clearStateAsync();
+// FIXME(192061)
+LOG_ERROR("Stop timer.");
 m_requestTimeOutTimer.stop();
 return;
 }
@@ -223,11 +225,16 @@
 using namespace AuthenticatorManagerInternal;
 
 unsigned timeOutInMsValue = std::min(maxTimeOutValue, timeOutInMs.value_or(maxTimeOutValue));
+// FIXME(192061)
+LOG_ERROR("Start timer.");
 

[webkit-changes] [239322] trunk/Source

2018-12-17 Thread sbarati
Title: [239322] trunk/Source








Revision 239322
Author sbar...@apple.com
Date 2018-12-17 22:33:58 -0800 (Mon, 17 Dec 2018)


Log Message
Enable HTTP and HTTPS proxies on iOS and make it a property of the NSURLSession
https://bugs.webkit.org/show_bug.cgi?id=192374


Reviewed by Alex Christensen.

Source/WebCore/PAL:

* pal/spi/cf/CFNetworkSPI.h:
Remove the now-unused SPI declaration.

Source/WebKit:

This patch makes it so that we can use HTTP/HTTPS proxies on iOS as well.
To enable on iOS, you can do something like:
$ defaults write -g WebKit2HTTPProxy -string "http://localhost:8080"
$ defaults write -g WebKit2HTTPSProxy -string "http://localhost:8080"

This patch also changes the Proxy to be enabled on a per NSURLSession
basis instead of a per process basis.

* NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::initializeNetworkProcess):
* NetworkProcess/NetworkSessionCreationParameters.cpp:
(WebKit::NetworkSessionCreationParameters::privateSessionParameters):
(WebKit::NetworkSessionCreationParameters::encode const):
(WebKit::NetworkSessionCreationParameters::decode):
* NetworkProcess/NetworkSessionCreationParameters.h:
* NetworkProcess/cocoa/NetworkSessionCocoa.mm:
(WebKit::proxyDictionary):
(WebKit::NetworkSessionCocoa::NetworkSessionCocoa):
* NetworkProcess/mac/NetworkProcessMac.mm:
(WebKit::NetworkProcess::platformInitializeNetworkProcess):
(WebKit::overrideSystemProxies): Deleted.
* UIProcess/API/Cocoa/WKWebsiteDataStore.mm:
(-[WKWebsiteDataStore _initWithConfiguration:]):
* UIProcess/API/Cocoa/_WKWebsiteDataStoreConfiguration.h:
* UIProcess/API/Cocoa/_WKWebsiteDataStoreConfiguration.mm:
(-[_WKWebsiteDataStoreConfiguration httpProxy]):
(-[_WKWebsiteDataStoreConfiguration setHTTPProxy:]):
(-[_WKWebsiteDataStoreConfiguration httpsProxy]):
(-[_WKWebsiteDataStoreConfiguration setHTTPSProxy:]):
* UIProcess/Cocoa/WebProcessPoolCocoa.mm:
(WebKit::WebProcessPool::platformInitializeNetworkProcess):
* UIProcess/WebsiteData/Cocoa/WebsiteDataStoreCocoa.mm:
(WebKit::WebsiteDataStore::parameters):
* UIProcess/WebsiteData/WebsiteDataStoreConfiguration.cpp:
(WebKit::WebsiteDataStoreConfiguration::copy):
* UIProcess/WebsiteData/WebsiteDataStoreConfiguration.h:
(WebKit::WebsiteDataStoreConfiguration::httpProxy const):
(WebKit::WebsiteDataStoreConfiguration::setHTTPProxy):
(WebKit::WebsiteDataStoreConfiguration::httpsProxy const):
(WebKit::WebsiteDataStoreConfiguration::setHTTPSProxy):

Modified Paths

trunk/Source/WebCore/PAL/ChangeLog
trunk/Source/WebCore/PAL/pal/spi/cf/CFNetworkSPI.h
trunk/Source/WebKit/ChangeLog
trunk/Source/WebKit/NetworkProcess/NetworkProcess.cpp
trunk/Source/WebKit/NetworkProcess/NetworkSessionCreationParameters.cpp
trunk/Source/WebKit/NetworkProcess/NetworkSessionCreationParameters.h
trunk/Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.mm
trunk/Source/WebKit/NetworkProcess/mac/NetworkProcessMac.mm
trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebsiteDataStore.mm
trunk/Source/WebKit/UIProcess/API/Cocoa/_WKWebsiteDataStoreConfiguration.h
trunk/Source/WebKit/UIProcess/API/Cocoa/_WKWebsiteDataStoreConfiguration.mm
trunk/Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm
trunk/Source/WebKit/UIProcess/WebsiteData/Cocoa/WebsiteDataStoreCocoa.mm
trunk/Source/WebKit/UIProcess/WebsiteData/WebsiteDataStoreConfiguration.cpp
trunk/Source/WebKit/UIProcess/WebsiteData/WebsiteDataStoreConfiguration.h




Diff

Modified: trunk/Source/WebCore/PAL/ChangeLog (239321 => 239322)

--- trunk/Source/WebCore/PAL/ChangeLog	2018-12-18 06:30:34 UTC (rev 239321)
+++ trunk/Source/WebCore/PAL/ChangeLog	2018-12-18 06:33:58 UTC (rev 239322)
@@ -1,3 +1,14 @@
+2018-12-17  Saam barati  
+
+Enable HTTP and HTTPS proxies on iOS and make it a property of the NSURLSession
+https://bugs.webkit.org/show_bug.cgi?id=192374
+
+
+Reviewed by Alex Christensen.
+
+* pal/spi/cf/CFNetworkSPI.h:
+Remove the now-unused SPI declaration.
+
 2018-12-17  Simon Fraser  
 
 Don't use more expensive layer backing store formats when subpixel text antialiasing is not enabled


Modified: trunk/Source/WebCore/PAL/pal/spi/cf/CFNetworkSPI.h (239321 => 239322)

--- trunk/Source/WebCore/PAL/pal/spi/cf/CFNetworkSPI.h	2018-12-18 06:30:34 UTC (rev 239321)
+++ trunk/Source/WebCore/PAL/pal/spi/cf/CFNetworkSPI.h	2018-12-18 06:33:58 UTC (rev 239322)
@@ -33,6 +33,7 @@
 #if PLATFORM(WIN) || USE(APPLE_INTERNAL_SDK)
 
 #include 
+#include 
 #include 
 #include 
 #include 
@@ -265,7 +266,6 @@
 void CFHTTPCookieStorageAddObserver(CFHTTPCookieStorageRef, CFRunLoopRef, CFStringRef, CFHTTPCookieStorageChangedProcPtr, void*);
 void CFHTTPCookieStorageRemoveObserver(CFHTTPCookieStorageRef, CFRunLoopRef, CFStringRef, CFHTTPCookieStorageChangedProcPtr, void*);
 
-void _CFNetworkSetOverrideSystemProxySettings(CFDictionaryRef);
 CFURLCredentialStorageRef CFURLCredentialStorageCreate(CFAllocatorRef);
 CFURLCredentialRef CFURLCredentialStorageCopyDefaultCredentialForProtectionSpace(CFURLCredentialStorageRef, 

[webkit-changes] [239321] trunk/Source/WebKit

2018-12-17 Thread wenson_hsieh
Title: [239321] trunk/Source/WebKit








Revision 239321
Author wenson_hs...@apple.com
Date 2018-12-17 22:30:34 -0800 (Mon, 17 Dec 2018)


Log Message
Tap highlights should not be shown on iOSMac
https://bugs.webkit.org/show_bug.cgi?id=192797


Reviewed by Tim Horton.

WKWebViews in iOSMac should avoid painting tap highlights, since tap highlights are not present in the rest of
the macOS platform. Simply disable this functionality by bailing in `-[WKContentView _showTapHighlight]`.

* UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView _showTapHighlight]):

Modified Paths

trunk/Source/WebKit/ChangeLog
trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm




Diff

Modified: trunk/Source/WebKit/ChangeLog (239320 => 239321)

--- trunk/Source/WebKit/ChangeLog	2018-12-18 05:49:32 UTC (rev 239320)
+++ trunk/Source/WebKit/ChangeLog	2018-12-18 06:30:34 UTC (rev 239321)
@@ -1,5 +1,19 @@
 2018-12-17  Wenson Hsieh  
 
+Tap highlights should not be shown on iOSMac
+https://bugs.webkit.org/show_bug.cgi?id=192797
+
+
+Reviewed by Tim Horton.
+
+WKWebViews in iOSMac should avoid painting tap highlights, since tap highlights are not present in the rest of
+the macOS platform. Simply disable this functionality by bailing in `-[WKContentView _showTapHighlight]`.
+
+* UIProcess/ios/WKContentViewInteraction.mm:
+(-[WKContentView _showTapHighlight]):
+
+2018-12-17  Wenson Hsieh  
+
 Unreviewed, fix the iOSMac engineering build again
 
 After r239311, `WebProcessProxy::fullKeyboardAccessEnabled` in `WebProcessProxyIOS.mm` attempts to use


Modified: trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm (239320 => 239321)

--- trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm	2018-12-18 05:49:32 UTC (rev 239320)
+++ trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm	2018-12-18 06:30:34 UTC (rev 239321)
@@ -1256,6 +1256,10 @@
 - (void)_showTapHighlight
 {
 auto shouldPaintTapHighlight = [&](const WebCore::FloatRect& rect) {
+#if PLATFORM(IOSMAC)
+UNUSED_PARAM(rect);
+return NO;
+#else
 static const float highlightPaintThreshold = 0.3; // 30%
 float highlightArea = 0;
 for (auto highlightQuad : _tapHighlightInformation.quads) {
@@ -1265,6 +1269,7 @@
 return false;
 }
 return highlightArea < rect.area() * highlightPaintThreshold;
+#endif
 };
 
 if (!shouldPaintTapHighlight(_page->unobscuredContentRect()) && !_showDebugTapHighlightsForFastClicking)






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [239320] trunk/Source/WebCore

2018-12-17 Thread Hironori . Fujii
Title: [239320] trunk/Source/WebCore








Revision 239320
Author hironori.fu...@sony.com
Date 2018-12-17 21:49:32 -0800 (Mon, 17 Dec 2018)


Log Message
[Win][Clang] Fix compilation warnings WebCore/platform/graphics directory
https://bugs.webkit.org/show_bug.cgi?id=192752

Reviewed by Don Olmstead.

No new tests, no behavior changes.

* platform/graphics/win/DIBPixelData.cpp:
Enclosed bitmapType and bitmapPixelsPerMeter with #ifndef NDEBUG.
* platform/graphics/win/FontPlatformDataWin.cpp:
(WebCore::FontPlatformData::openTypeTable const): Use ASSERT_UNUSED instead of ASSERT.
* platform/graphics/win/GraphicsContextWin.cpp: Removed unused variable 'deg2rad'.
* platform/graphics/win/MediaPlayerPrivateMediaFoundation.cpp:
Removed unused soft links MFCreateSampleGrabberSinkActivate, MFCreateMemoryBuffer and MFCreateSample.
(WebCore::MediaPlayerPrivateMediaFoundation::MediaPlayerPrivateMediaFoundation):
Reorder the initializer list.
(WebCore::MediaPlayerPrivateMediaFoundation::seek): Use ASSERT_UNUSED instead of ASSERT.
(WebCore::MediaPlayerPrivateMediaFoundation::setAllChannelVolumes): Ditto.
(WebCore::MediaPlayerPrivateMediaFoundation::createSession): Ditto.
(WebCore::MediaPlayerPrivateMediaFoundation::endSession): Ditto.
(WebCore::MediaPlayerPrivateMediaFoundation::onCreatedMediaSource): Ditto.
(WebCore::MediaPlayerPrivateMediaFoundation::Direct3DPresenter::paintCurrentFrame): Added default case.
* platform/graphics/win/SimpleFontDataCairoWin.cpp:
(WebCore::Font::platformBoundsForGlyph const): Use inner braces to initialize subobjects of MAT2.
* platform/graphics/win/SimpleFontDataWin.cpp: Removed unused 'cSmallCapsFontSizeMultiplier'.
(WebCore::Font::initGDIFont): Use inner braces to initialize subobjects of MAT2.
(WebCore::Font::boundsForGDIGlyph const): Ditto.
(WebCore::Font::widthForGDIGlyph const): Ditto.
* platform/graphics/win/UniscribeController.cpp:
(WebCore::UniscribeController::UniscribeController):
Reorder the initializer list.
(WebCore::UniscribeController::offsetForPosition): Use parentheses to combine && and ||.
(WebCore::UniscribeController::shapeAndPlaceItem): Removed unused 'glyphCount'.

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/platform/graphics/win/DIBPixelData.cpp
trunk/Source/WebCore/platform/graphics/win/FontPlatformDataWin.cpp
trunk/Source/WebCore/platform/graphics/win/GraphicsContextWin.cpp
trunk/Source/WebCore/platform/graphics/win/MediaPlayerPrivateMediaFoundation.cpp
trunk/Source/WebCore/platform/graphics/win/SimpleFontDataCairoWin.cpp
trunk/Source/WebCore/platform/graphics/win/SimpleFontDataWin.cpp
trunk/Source/WebCore/platform/graphics/win/UniscribeController.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (239319 => 239320)

--- trunk/Source/WebCore/ChangeLog	2018-12-18 05:31:22 UTC (rev 239319)
+++ trunk/Source/WebCore/ChangeLog	2018-12-18 05:49:32 UTC (rev 239320)
@@ -1,3 +1,39 @@
+2018-12-17  Fujii Hironori  
+
+[Win][Clang] Fix compilation warnings WebCore/platform/graphics directory
+https://bugs.webkit.org/show_bug.cgi?id=192752
+
+Reviewed by Don Olmstead.
+
+No new tests, no behavior changes.
+
+* platform/graphics/win/DIBPixelData.cpp:
+Enclosed bitmapType and bitmapPixelsPerMeter with #ifndef NDEBUG.
+* platform/graphics/win/FontPlatformDataWin.cpp:
+(WebCore::FontPlatformData::openTypeTable const): Use ASSERT_UNUSED instead of ASSERT.
+* platform/graphics/win/GraphicsContextWin.cpp: Removed unused variable 'deg2rad'.
+* platform/graphics/win/MediaPlayerPrivateMediaFoundation.cpp:
+Removed unused soft links MFCreateSampleGrabberSinkActivate, MFCreateMemoryBuffer and MFCreateSample.
+(WebCore::MediaPlayerPrivateMediaFoundation::MediaPlayerPrivateMediaFoundation):
+Reorder the initializer list.
+(WebCore::MediaPlayerPrivateMediaFoundation::seek): Use ASSERT_UNUSED instead of ASSERT.
+(WebCore::MediaPlayerPrivateMediaFoundation::setAllChannelVolumes): Ditto.
+(WebCore::MediaPlayerPrivateMediaFoundation::createSession): Ditto.
+(WebCore::MediaPlayerPrivateMediaFoundation::endSession): Ditto.
+(WebCore::MediaPlayerPrivateMediaFoundation::onCreatedMediaSource): Ditto.
+(WebCore::MediaPlayerPrivateMediaFoundation::Direct3DPresenter::paintCurrentFrame): Added default case.
+* platform/graphics/win/SimpleFontDataCairoWin.cpp:
+(WebCore::Font::platformBoundsForGlyph const): Use inner braces to initialize subobjects of MAT2.
+* platform/graphics/win/SimpleFontDataWin.cpp: Removed unused 'cSmallCapsFontSizeMultiplier'.
+(WebCore::Font::initGDIFont): Use inner braces to initialize subobjects of MAT2.
+(WebCore::Font::boundsForGDIGlyph const): Ditto.
+(WebCore::Font::widthForGDIGlyph const): Ditto.
+* platform/graphics/win/UniscribeController.cpp:
+(WebCore::UniscribeController::UniscribeController):
+Reorder the initializer 

[webkit-changes] [239319] trunk

2018-12-17 Thread eric . carlson
Title: [239319] trunk








Revision 239319
Author eric.carl...@apple.com
Date 2018-12-17 21:31:22 -0800 (Mon, 17 Dec 2018)


Log Message
[MediaStream] A stream's first video frame should be rendered
https://bugs.webkit.org/show_bug.cgi?id=192629


Reviewed by Youenn Fablet.

Source/WebCore:

Test: fast/mediastream/media-stream-renders-first-frame.html

* platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.h:
* platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.mm:
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::enqueueVideoSample):
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::ensureLayers):
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::currentDisplayMode const):
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::updateDisplayMode):
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::play):
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::currentReadyState):
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::characteristicsChanged):
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::checkSelectedVideoTrack):
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::paintCurrentFrameInContext):
* platform/mediastream/RealtimeMediaSource.cpp:
(WebCore::RealtimeMediaSource::size const):
* platform/mediastream/mac/AVVideoCaptureSource.mm:
(WebCore::AVVideoCaptureSource::processNewFrame):
* platform/mediastream/mac/RealtimeIncomingVideoSourceCocoa.mm:
(WebCore::RealtimeIncomingVideoSourceCocoa::processNewSample):

LayoutTests:

* fast/mediastream/MediaStream-video-element-displays-buffer.html: Updated.
* fast/mediastream/MediaStream-video-element-video-tracks-disabled-then-enabled-expected.txt: Ditto.
* fast/mediastream/MediaStream-video-element-video-tracks-disabled-then-enabled.html: Ditto.
* fast/mediastream/media-stream-renders-first-frame-expected.txt: Added.
* fast/mediastream/media-stream-renders-first-frame.html: Added.
* http/tests/media/media-stream/getusermedia-with-canvas-expected.txt: Removed.
* http/tests/media/media-stream/getusermedia-with-canvas.html: Removed.

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/fast/mediastream/MediaStream-video-element-displays-buffer.html
trunk/LayoutTests/fast/mediastream/MediaStream-video-element-video-tracks-disabled-then-enabled-expected.txt
trunk/LayoutTests/fast/mediastream/MediaStream-video-element-video-tracks-disabled-then-enabled.html
trunk/LayoutTests/platform/gtk/TestExpectations
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.h
trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.mm
trunk/Source/WebCore/platform/mediastream/RealtimeMediaSource.cpp
trunk/Source/WebCore/platform/mediastream/mac/AVVideoCaptureSource.h
trunk/Source/WebCore/platform/mediastream/mac/AVVideoCaptureSource.mm
trunk/Source/WebCore/platform/mediastream/mac/RealtimeIncomingVideoSourceCocoa.mm


Added Paths

trunk/LayoutTests/fast/mediastream/media-stream-renders-first-frame-expected.txt
trunk/LayoutTests/fast/mediastream/media-stream-renders-first-frame.html


Removed Paths

trunk/LayoutTests/http/tests/media/media-stream/getusermedia-with-canvas-expected.txt
trunk/LayoutTests/http/tests/media/media-stream/getusermedia-with-canvas.html




Diff

Modified: trunk/LayoutTests/ChangeLog (239318 => 239319)

--- trunk/LayoutTests/ChangeLog	2018-12-18 05:23:10 UTC (rev 239318)
+++ trunk/LayoutTests/ChangeLog	2018-12-18 05:31:22 UTC (rev 239319)
@@ -1,3 +1,19 @@
+2018-12-17  Eric Carlson  
+
+[MediaStream] A stream's first video frame should be rendered
+https://bugs.webkit.org/show_bug.cgi?id=192629
+
+
+Reviewed by Youenn Fablet.
+
+* fast/mediastream/MediaStream-video-element-displays-buffer.html: Updated.
+* fast/mediastream/MediaStream-video-element-video-tracks-disabled-then-enabled-expected.txt: Ditto.
+* fast/mediastream/MediaStream-video-element-video-tracks-disabled-then-enabled.html: Ditto.
+* fast/mediastream/media-stream-renders-first-frame-expected.txt: Added.
+* fast/mediastream/media-stream-renders-first-frame.html: Added.
+* http/tests/media/media-stream/getusermedia-with-canvas-expected.txt: Removed.
+* http/tests/media/media-stream/getusermedia-with-canvas.html: Removed.
+
 2018-12-17  Wenson Hsieh  
 
 [iOS] Focusing a large editable element always scrolls to the top of the element


Modified: trunk/LayoutTests/fast/mediastream/MediaStream-video-element-displays-buffer.html (239318 => 239319)

--- trunk/LayoutTests/fast/mediastream/MediaStream-video-element-displays-buffer.html	2018-12-18 05:23:10 UTC (rev 239318)
+++ trunk/LayoutTests/fast/mediastream/MediaStream-video-element-displays-buffer.html	2018-12-18 05:31:22 UTC (rev 239319)
@@ -2,7 +2,6 @@
 
 
 -