[webkit-changes] [218866] trunk/Source/JavaScriptCore

2017-06-27 Thread sbarati
Title: [218866] trunk/Source/_javascript_Core








Revision 218866
Author sbar...@apple.com
Date 2017-06-27 22:45:59 -0700 (Tue, 27 Jun 2017)


Log Message
Fix some stale comments in Wasm code base
https://bugs.webkit.org/show_bug.cgi?id=173814

Reviewed by Mark Lam.

* wasm/WasmBinding.cpp:
(JSC::Wasm::wasmToJs):
* wasm/WasmOMGPlan.cpp:
(JSC::Wasm::runOMGPlanForIndex):

Modified Paths

trunk/Source/_javascript_Core/ChangeLog
trunk/Source/_javascript_Core/wasm/WasmBinding.cpp
trunk/Source/_javascript_Core/wasm/WasmOMGPlan.cpp




Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (218865 => 218866)

--- trunk/Source/_javascript_Core/ChangeLog	2017-06-28 05:14:24 UTC (rev 218865)
+++ trunk/Source/_javascript_Core/ChangeLog	2017-06-28 05:45:59 UTC (rev 218866)
@@ -1,3 +1,15 @@
+2017-06-27  Saam Barati  
+
+Fix some stale comments in Wasm code base
+https://bugs.webkit.org/show_bug.cgi?id=173814
+
+Reviewed by Mark Lam.
+
+* wasm/WasmBinding.cpp:
+(JSC::Wasm::wasmToJs):
+* wasm/WasmOMGPlan.cpp:
+(JSC::Wasm::runOMGPlanForIndex):
+
 2017-06-27  Caio Lima  
 
 [ESnext] Implement Object Rest - Implementing Object Rest Destructuring


Modified: trunk/Source/_javascript_Core/wasm/WasmBinding.cpp (218865 => 218866)

--- trunk/Source/_javascript_Core/wasm/WasmBinding.cpp	2017-06-28 05:14:24 UTC (rev 218865)
+++ trunk/Source/_javascript_Core/wasm/WasmBinding.cpp	2017-06-28 05:45:59 UTC (rev 218866)
@@ -310,7 +310,10 @@
 return FINALIZE_CODE(linkBuffer, ("WebAssembly->_javascript_ import[%i] %s", importIndex, signature.toString().ascii().data()));
 }
 
-// FIXME perform a stack check before updating SP. https://bugs.webkit.org/show_bug.cgi?id=165546
+// Note: We don't need to perform a stack check here since WasmB3IRGenerator
+// will do the stack check for us. Whenever it detects that it might make
+// a call to this thunk, it'll make sure its stack check includes space
+// for us here.
 
 const unsigned numberOfParameters = argCount + 1; // There is a "this" argument.
 const unsigned numberOfRegsForCall = CallFrame::headerSizeInRegisters + numberOfParameters;


Modified: trunk/Source/_javascript_Core/wasm/WasmOMGPlan.cpp (218865 => 218866)

--- trunk/Source/_javascript_Core/wasm/WasmOMGPlan.cpp	2017-06-28 05:14:24 UTC (rev 218865)
+++ trunk/Source/_javascript_Core/wasm/WasmOMGPlan.cpp	2017-06-28 05:45:59 UTC (rev 218866)
@@ -161,7 +161,6 @@
 JSWebAssemblyCodeBlock* codeBlock = context->codeBlock();
 ASSERT(context->memoryMode() == codeBlock->m_codeBlock->mode());
 
-// We use the least significant bit of the tierUpCount to represent whether or not someone has already started the tier up.
 if (codeBlock->m_codeBlock->tierUpCount(functionIndex).shouldStartTierUp()) {
 Ref plan = adoptRef(*new OMGPlan(context->module()->module(), functionIndex, codeBlock->m_codeBlock->mode(), Plan::dontFinalize()));
 ensureWorklist().enqueue(plan.copyRef());






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


[webkit-changes] [218865] trunk/Source

2017-06-27 Thread cdumez
Title: [218865] trunk/Source








Revision 218865
Author cdu...@apple.com
Date 2017-06-27 22:14:24 -0700 (Tue, 27 Jun 2017)


Log Message
[ResourceLoadStatistics] Update minimumTimeBetweeenDataRecordsRemoval to 1 hour instead of 1 minute
https://bugs.webkit.org/show_bug.cgi?id=173895


Reviewed by Brent Fulgham.

Update minimumTimeBetweeenDataRecordsRemoval to 1 hour instead of 1 minute to save battery.
Also port code to modern time types.

Source/WebCore:

* loader/ResourceLoadObserver.cpp:
(WebCore::reduceTimeResolution):
(WebCore::ResourceLoadObserver::logUserInteractionWithReducedTimeResolution):
(WebCore::ResourceLoadObserver::setTimeToLiveUserInteraction):
(WebCore::ResourceLoadObserver::setTimeToLiveCookiePartitionFree):
(WebCore::ResourceLoadObserver::setMinimumTimeBetweeenDataRecordsRemoval):
(WebCore::ResourceLoadObserver::setReducedTimestampResolution):
(WebCore::ResourceLoadObserver::setGrandfatheringTime):
* loader/ResourceLoadObserver.h:
* loader/ResourceLoadStatistics.h:
(WebCore::ResourceLoadStatistics::mostRecentUserInteractionTime):
* loader/ResourceLoadStatisticsStore.cpp:
(WebCore::ResourceLoadStatisticsStore::createEncoderFromData):
(WebCore::ResourceLoadStatisticsStore::readDataFromDecoder):
(WebCore::shouldPartitionCookies):
(WebCore::ResourceLoadStatisticsStore::setTimeToLiveUserInteraction):
(WebCore::ResourceLoadStatisticsStore::setTimeToLiveCookiePartitionFree):
(WebCore::ResourceLoadStatisticsStore::setMinimumTimeBetweeenDataRecordsRemoval):
(WebCore::ResourceLoadStatisticsStore::setGrandfatheringTime):
(WebCore::ResourceLoadStatisticsStore::hasHadRecentUserInteraction):
(WebCore::ResourceLoadStatisticsStore::topPrivatelyControlledDomainsToRemoveWebsiteDataFor):
(WebCore::ResourceLoadStatisticsStore::handleFreshStartWithEmptyOrNoStore):
(WebCore::ResourceLoadStatisticsStore::shouldRemoveDataRecords):
(WebCore::ResourceLoadStatisticsStore::dataRecordsBeingRemoved):
* loader/ResourceLoadStatisticsStore.h:

Source/WebKit2:

* UIProcess/API/C/WKResourceLoadStatisticsManager.cpp:
(WKResourceLoadStatisticsManagerSetTimeToLiveUserInteraction):
(WKResourceLoadStatisticsManagerSetTimeToLiveCookiePartitionFree):
(WKResourceLoadStatisticsManagerSetMinimumTimeBetweeenDataRecordsRemoval):
(WKResourceLoadStatisticsManagerSetGrandfatheringTime):
* UIProcess/WebResourceLoadStatisticsManager.cpp:
(WebKit::WebResourceLoadStatisticsManager::setTimeToLiveUserInteraction):
(WebKit::WebResourceLoadStatisticsManager::setTimeToLiveCookiePartitionFree):
(WebKit::WebResourceLoadStatisticsManager::setMinimumTimeBetweeenDataRecordsRemoval):
(WebKit::WebResourceLoadStatisticsManager::setGrandfatheringTime):
* UIProcess/WebResourceLoadStatisticsManager.h:
* UIProcess/WebResourceLoadStatisticsStore.h:

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/loader/ResourceLoadObserver.cpp
trunk/Source/WebCore/loader/ResourceLoadObserver.h
trunk/Source/WebCore/loader/ResourceLoadStatistics.h
trunk/Source/WebCore/loader/ResourceLoadStatisticsStore.cpp
trunk/Source/WebCore/loader/ResourceLoadStatisticsStore.h
trunk/Source/WebKit2/ChangeLog
trunk/Source/WebKit2/UIProcess/API/C/WKResourceLoadStatisticsManager.cpp
trunk/Source/WebKit2/UIProcess/Cocoa/WebResourceLoadStatisticsManagerCocoa.mm
trunk/Source/WebKit2/UIProcess/WebResourceLoadStatisticsManager.cpp
trunk/Source/WebKit2/UIProcess/WebResourceLoadStatisticsManager.h
trunk/Source/WebKit2/UIProcess/WebResourceLoadStatisticsStore.h




Diff

Modified: trunk/Source/WebCore/ChangeLog (218864 => 218865)

--- trunk/Source/WebCore/ChangeLog	2017-06-28 05:06:03 UTC (rev 218864)
+++ trunk/Source/WebCore/ChangeLog	2017-06-28 05:14:24 UTC (rev 218865)
@@ -1,5 +1,42 @@
 2017-06-27  Chris Dumez  
 
+[ResourceLoadStatistics] Update minimumTimeBetweeenDataRecordsRemoval to 1 hour instead of 1 minute
+https://bugs.webkit.org/show_bug.cgi?id=173895
+
+
+Reviewed by Brent Fulgham.
+
+Update minimumTimeBetweeenDataRecordsRemoval to 1 hour instead of 1 minute to save battery.
+Also port code to modern time types.
+
+* loader/ResourceLoadObserver.cpp:
+(WebCore::reduceTimeResolution):
+(WebCore::ResourceLoadObserver::logUserInteractionWithReducedTimeResolution):
+(WebCore::ResourceLoadObserver::setTimeToLiveUserInteraction):
+(WebCore::ResourceLoadObserver::setTimeToLiveCookiePartitionFree):
+(WebCore::ResourceLoadObserver::setMinimumTimeBetweeenDataRecordsRemoval):
+(WebCore::ResourceLoadObserver::setReducedTimestampResolution):
+(WebCore::ResourceLoadObserver::setGrandfatheringTime):
+* loader/ResourceLoadObserver.h:
+* loader/ResourceLoadStatistics.h:
+(WebCore::ResourceLoadStatistics::mostRecentUserInteractionTime):
+* loader/ResourceLoadStatisticsStore.cpp:
+(WebCore::ResourceLoadStatisticsStore::createEncoderFromData):
+(WebCore::ResourceLoadStatisticsStore::readDataFromDecoder):
+

[webkit-changes] [218864] trunk/Source

2017-06-27 Thread cdumez
Title: [218864] trunk/Source








Revision 218864
Author cdu...@apple.com
Date 2017-06-27 22:06:03 -0700 (Tue, 27 Jun 2017)


Log Message
Port HysteresisActivity to Seconds type
https://bugs.webkit.org/show_bug.cgi?id=173902

Reviewed by Simon Fraser.

Source/WebCore:

* platform/HysteresisActivity.h:
(WebCore::HysteresisActivity::HysteresisActivity):
(WebCore::HysteresisActivity::stop):
* platform/ios/WebSQLiteDatabaseTrackerClient.mm:

Source/WebKit2:

* WebProcess/WebPage/WebPage.cpp:
(WebKit::m_pageScrolledHysteresis):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/platform/HysteresisActivity.h
trunk/Source/WebCore/platform/ios/WebSQLiteDatabaseTrackerClient.mm
trunk/Source/WebKit2/ChangeLog
trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (218863 => 218864)

--- trunk/Source/WebCore/ChangeLog	2017-06-28 04:52:09 UTC (rev 218863)
+++ trunk/Source/WebCore/ChangeLog	2017-06-28 05:06:03 UTC (rev 218864)
@@ -1,3 +1,15 @@
+2017-06-27  Chris Dumez  
+
+Port HysteresisActivity to Seconds type
+https://bugs.webkit.org/show_bug.cgi?id=173902
+
+Reviewed by Simon Fraser.
+
+* platform/HysteresisActivity.h:
+(WebCore::HysteresisActivity::HysteresisActivity):
+(WebCore::HysteresisActivity::stop):
+* platform/ios/WebSQLiteDatabaseTrackerClient.mm:
+
 2017-06-27  Jeremy Jones  
 
 MediaPlayerPrivate m_private may not yet be created when setPrivateBrowsingMode is called.


Modified: trunk/Source/WebCore/platform/HysteresisActivity.h (218863 => 218864)

--- trunk/Source/WebCore/platform/HysteresisActivity.h	2017-06-28 04:52:09 UTC (rev 218863)
+++ trunk/Source/WebCore/platform/HysteresisActivity.h	2017-06-28 05:06:03 UTC (rev 218864)
@@ -27,10 +27,11 @@
 #define HysteresisActivity_h
 
 #include "Timer.h"
+#include 
 
 namespace WebCore {
 
-static const double DefaultHysteresisSeconds = 5.0;
+static const Seconds defaultHysteresisDuration { 5_s };
 
 enum class HysteresisState {
 Started,
@@ -39,7 +40,7 @@
 
 class HysteresisActivity {
 public:
-explicit HysteresisActivity(WTF::Function&& callback = [](HysteresisState) { }, double hysteresisSeconds = DefaultHysteresisSeconds)
+explicit HysteresisActivity(WTF::Function&& callback = [](HysteresisState) { }, Seconds hysteresisSeconds = defaultHysteresisDuration)
 : m_callback(WTFMove(callback))
 , m_hysteresisSeconds(hysteresisSeconds)
 , m_active(false)
@@ -65,7 +66,7 @@
 return;
 m_active = false;
 
-m_timer.startOneShot(1_s * m_hysteresisSeconds);
+m_timer.startOneShot(m_hysteresisSeconds);
 }
 
 void impulse()
@@ -89,7 +90,7 @@
 }
 
 WTF::Function m_callback;
-double m_hysteresisSeconds; // FIXME: Should use Seconds.
+Seconds m_hysteresisSeconds;
 bool m_active;
 Timer m_timer;
 };


Modified: trunk/Source/WebCore/platform/ios/WebSQLiteDatabaseTrackerClient.mm (218863 => 218864)

--- trunk/Source/WebCore/platform/ios/WebSQLiteDatabaseTrackerClient.mm	2017-06-28 04:52:09 UTC (rev 218863)
+++ trunk/Source/WebCore/platform/ios/WebSQLiteDatabaseTrackerClient.mm	2017-06-28 05:06:03 UTC (rev 218864)
@@ -41,7 +41,7 @@
 
 namespace WebCore {
 
-const double hysteresisDuration = 2; // 2 seconds.
+const Seconds hysteresisDuration { 2_s };
 
 WebSQLiteDatabaseTrackerClient& WebSQLiteDatabaseTrackerClient::sharedWebSQLiteDatabaseTrackerClient()
 {


Modified: trunk/Source/WebKit2/ChangeLog (218863 => 218864)

--- trunk/Source/WebKit2/ChangeLog	2017-06-28 04:52:09 UTC (rev 218863)
+++ trunk/Source/WebKit2/ChangeLog	2017-06-28 05:06:03 UTC (rev 218864)
@@ -1,5 +1,15 @@
 2017-06-27  Chris Dumez  
 
+Port HysteresisActivity to Seconds type
+https://bugs.webkit.org/show_bug.cgi?id=173902
+
+Reviewed by Simon Fraser.
+
+* WebProcess/WebPage/WebPage.cpp:
+(WebKit::m_pageScrolledHysteresis):
+
+2017-06-27  Chris Dumez  
+
 Move WebsiteDataRecord processing off-thread in WebsiteDataStore::fetchDataForTopPrivatelyControlledDomains()
 https://bugs.webkit.org/show_bug.cgi?id=173882
 


Modified: trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp (218863 => 218864)

--- trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp	2017-06-28 04:52:09 UTC (rev 218863)
+++ trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp	2017-06-28 05:06:03 UTC (rev 218864)
@@ -255,7 +255,7 @@
 
 namespace WebKit {
 
-static const double pageScrollHysteresisSeconds = 0.3;
+static const Seconds pageScrollHysteresisDuration { 300_ms };
 static const Seconds initialLayerVolatilityTimerInterval { 20_ms };
 static const Seconds maximumLayerVolatilityTimerInterval { 2_s };
 
@@ -342,7 +342,7 @@
 #if ENABLE(MEDIA_STREAM)
 , m_userMediaPermissionRequestManager { 

[webkit-changes] [218863] trunk/Source/WebCore/PAL

2017-06-27 Thread jbedard
Title: [218863] trunk/Source/WebCore/PAL








Revision 218863
Author jbed...@apple.com
Date 2017-06-27 21:52:09 -0700 (Tue, 27 Jun 2017)


Log Message
Build fix for PAL
https://bugs.webkit.org/show_bug.cgi?id=173896

Reviewed by Myles C. Maxfield.

* PAL.xcodeproj/project.pbxproj: Ensure that the SRCROOT is WebCore/PAL and not
just WebCore.

Modified Paths

trunk/Source/WebCore/PAL/ChangeLog
trunk/Source/WebCore/PAL/PAL.xcodeproj/project.pbxproj




Diff

Modified: trunk/Source/WebCore/PAL/ChangeLog (218862 => 218863)

--- trunk/Source/WebCore/PAL/ChangeLog	2017-06-28 04:23:48 UTC (rev 218862)
+++ trunk/Source/WebCore/PAL/ChangeLog	2017-06-28 04:52:09 UTC (rev 218863)
@@ -1,3 +1,13 @@
+2017-06-27  Jonathan Bedard  
+
+Build fix for PAL
+https://bugs.webkit.org/show_bug.cgi?id=173896
+
+Reviewed by Myles C. Maxfield.
+
+* PAL.xcodeproj/project.pbxproj: Ensure that the SRCROOT is WebCore/PAL and not
+just WebCore.
+
 2017-06-27  Don Olmstead  
 
 [PAL] Add symbol export macros for PAL


Modified: trunk/Source/WebCore/PAL/PAL.xcodeproj/project.pbxproj (218862 => 218863)

--- trunk/Source/WebCore/PAL/PAL.xcodeproj/project.pbxproj	2017-06-28 04:23:48 UTC (rev 218862)
+++ trunk/Source/WebCore/PAL/PAL.xcodeproj/project.pbxproj	2017-06-28 04:52:09 UTC (rev 218863)
@@ -208,7 +208,7 @@
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 			shellPath = /bin/sh;
-			shellScript = "if [[ \"${DEPLOYMENT_LOCATION}\" == \"NO\" ]]; then\nPRIVATE_HEADERS_PATH=\"${TARGET_BUILD_DIR%/}/${PRIVATE_HEADERS_FOLDER_PATH}\"\nelse\nPRIVATE_HEADERS_PATH=\"${DSTROOT}/${PRIVATE_HEADERS_FOLDER_PATH}\"\nfi;\n\nmkdir -p \"${PRIVATE_HEADERS_PATH}\"\nrsync -av --no-owner --no-group --prune-empty-dirs --exclude \".svn\" --exclude \"usr\" --exclude \"DerivedSources\" --include \"*/\" --include \"*.h\" --exclude \"*\" \"${SRCROOT}/pal/\" \"${PRIVATE_HEADERS_PATH}\"\n";
+			shellScript = "if [[ \"${DEPLOYMENT_LOCATION}\" == \"NO\" ]]; then\nPRIVATE_HEADERS_PATH=\"${TARGET_BUILD_DIR%/}/${PRIVATE_HEADERS_FOLDER_PATH}\"\nelse\nPRIVATE_HEADERS_PATH=\"${DSTROOT}/${PRIVATE_HEADERS_FOLDER_PATH}\"\nfi;\n\nmkdir -p \"${PRIVATE_HEADERS_PATH}\"\n\n# Work-around for \nTEMP_SRCROOT=\"${SRCROOT}\"\nif [[ \"${TEMP_SRCROOT}\" != *PAL ]]; then\nTEMP_SRCROOT=\"${TEMP_SRCROOT}/PAL\"\nfi\n\nrsync -av --no-owner --no-group --prune-empty-dirs --exclude \".svn\" --exclude \"usr\" --exclude \"DerivedSources\" --include \"*/\" --include \"*.h\" --exclude \"*\" \"${TEMP_SRCROOT}/pal/\" \"${PRIVATE_HEADERS_PATH}\"\n";
 		};
 /* End PBXShellScriptBuildPhase section */
 






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


[webkit-changes] [218860] trunk/Source/WebKit2

2017-06-27 Thread cdumez
Title: [218860] trunk/Source/WebKit2








Revision 218860
Author cdu...@apple.com
Date 2017-06-27 18:47:15 -0700 (Tue, 27 Jun 2017)


Log Message
Move WebsiteDataRecord processing off-thread in WebsiteDataStore::fetchDataForTopPrivatelyControlledDomains()
https://bugs.webkit.org/show_bug.cgi?id=173882


Reviewed by Darin Adler.

Move WebsiteDataRecord processing off-thread in WebsiteDataStore::fetchDataForTopPrivatelyControlledDomains()
as we have data showing it is slow and hangs the UIProcess' main thread.

* UIProcess/WebsiteData/WebsiteDataStore.cpp:
(WebKit::WebsiteDataStore::fetchDataForTopPrivatelyControlledDomains):

Modified Paths

trunk/Source/WebKit2/ChangeLog
trunk/Source/WebKit2/UIProcess/WebsiteData/WebsiteDataStore.cpp




Diff

Modified: trunk/Source/WebKit2/ChangeLog (218859 => 218860)

--- trunk/Source/WebKit2/ChangeLog	2017-06-28 01:09:03 UTC (rev 218859)
+++ trunk/Source/WebKit2/ChangeLog	2017-06-28 01:47:15 UTC (rev 218860)
@@ -1,3 +1,17 @@
+2017-06-27  Chris Dumez  
+
+Move WebsiteDataRecord processing off-thread in WebsiteDataStore::fetchDataForTopPrivatelyControlledDomains()
+https://bugs.webkit.org/show_bug.cgi?id=173882
+
+
+Reviewed by Darin Adler.
+
+Move WebsiteDataRecord processing off-thread in WebsiteDataStore::fetchDataForTopPrivatelyControlledDomains()
+as we have data showing it is slow and hangs the UIProcess' main thread.
+
+* UIProcess/WebsiteData/WebsiteDataStore.cpp:
+(WebKit::WebsiteDataStore::fetchDataForTopPrivatelyControlledDomains):
+
 2017-06-27  Brent Fulgham  
 
 [WK2][macOS] Expand sandbox to allow access to the CoreMedia volume control endpoint


Modified: trunk/Source/WebKit2/UIProcess/WebsiteData/WebsiteDataStore.cpp (218859 => 218860)

--- trunk/Source/WebKit2/UIProcess/WebsiteData/WebsiteDataStore.cpp	2017-06-28 01:09:03 UTC (rev 218859)
+++ trunk/Source/WebKit2/UIProcess/WebsiteData/WebsiteDataStore.cpp	2017-06-28 01:47:15 UTC (rev 218860)
@@ -46,6 +46,7 @@
 #include 
 #include 
 #include 
+#include 
 #include 
 
 #if ENABLE(NETSCAPE_PLUGIN_API)
@@ -509,19 +510,23 @@
 
 void WebsiteDataStore::fetchDataForTopPrivatelyControlledDomains(OptionSet dataTypes, OptionSet fetchOptions, const Vector& topPrivatelyControlledDomains, Function&& completionHandler)
 {
-fetchData(dataTypes, fetchOptions, [topPrivatelyControlledDomains, completionHandler = WTFMove(completionHandler)](auto&& existingDataRecords) {
-Vector matchingDataRecords;
-HashSet domainsWithMatchingDataRecords;
-for (auto&& dataRecord : existingDataRecords) {
-for (auto& topPrivatelyControlledDomain : topPrivatelyControlledDomains) {
-if (dataRecord.matchesTopPrivatelyControlledDomain(topPrivatelyControlledDomain)) {
-matchingDataRecords.append(WTFMove(dataRecord));
-domainsWithMatchingDataRecords.add(topPrivatelyControlledDomain);
-break;
+fetchData(dataTypes, fetchOptions, [queue = m_queue.copyRef(), topPrivatelyControlledDomains = CrossThreadCopier::copy(topPrivatelyControlledDomains), completionHandler = WTFMove(completionHandler)] (auto&& existingDataRecords) mutable {
+queue->dispatch([queue = WTFMove(queue), topPrivatelyControlledDomains = WTFMove(topPrivatelyControlledDomains), existingDataRecords = WTFMove(existingDataRecords), completionHandler = WTFMove(completionHandler)] () mutable {
+Vector matchingDataRecords;
+HashSet domainsWithMatchingDataRecords;
+for (auto&& dataRecord : existingDataRecords) {
+for (auto& topPrivatelyControlledDomain : topPrivatelyControlledDomains) {
+if (dataRecord.matchesTopPrivatelyControlledDomain(topPrivatelyControlledDomain)) {
+matchingDataRecords.append(WTFMove(dataRecord));
+domainsWithMatchingDataRecords.add(topPrivatelyControlledDomain.isolatedCopy());
+break;
+}
 }
 }
-}
-completionHandler(WTFMove(matchingDataRecords), WTFMove(domainsWithMatchingDataRecords));
+RunLoop::main().dispatch([completionHandler = WTFMove(completionHandler), matchingDataRecords = WTFMove(matchingDataRecords), domainsWithMatchingDataRecords = WTFMove(domainsWithMatchingDataRecords)] () mutable {
+completionHandler(WTFMove(matchingDataRecords), WTFMove(domainsWithMatchingDataRecords));
+});
+});
 });
 }
 






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


[webkit-changes] [218859] trunk/LayoutTests

2017-06-27 Thread utatane . tea
Title: [218859] trunk/LayoutTests








Revision 218859
Author utatane@gmail.com
Date 2017-06-27 18:09:03 -0700 (Tue, 27 Jun 2017)


Log Message
Unreviewed, unmark workers/bomb.html flakiness after r218856

* platform/gtk-wayland/TestExpectations:
* platform/ios-device/TestExpectations:
* platform/ios-wk2/TestExpectations:
* platform/mac/TestExpectations:

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/platform/gtk-wayland/TestExpectations
trunk/LayoutTests/platform/ios-device/TestExpectations
trunk/LayoutTests/platform/ios-wk2/TestExpectations
trunk/LayoutTests/platform/mac/TestExpectations




Diff

Modified: trunk/LayoutTests/ChangeLog (218858 => 218859)

--- trunk/LayoutTests/ChangeLog	2017-06-28 01:06:53 UTC (rev 218858)
+++ trunk/LayoutTests/ChangeLog	2017-06-28 01:09:03 UTC (rev 218859)
@@ -1,3 +1,12 @@
+2017-06-27  Yusuke Suzuki  
+
+Unreviewed, unmark workers/bomb.html flakiness after r218856
+
+* platform/gtk-wayland/TestExpectations:
+* platform/ios-device/TestExpectations:
+* platform/ios-wk2/TestExpectations:
+* platform/mac/TestExpectations:
+
 2017-06-27  Matt Lewis  
 
 Marked http/tests/loading/resourceLoadStatistics/telemetry-generation.html as flaky.


Modified: trunk/LayoutTests/platform/gtk-wayland/TestExpectations (218858 => 218859)

--- trunk/LayoutTests/platform/gtk-wayland/TestExpectations	2017-06-28 01:06:53 UTC (rev 218858)
+++ trunk/LayoutTests/platform/gtk-wayland/TestExpectations	2017-06-28 01:09:03 UTC (rev 218859)
@@ -135,7 +135,6 @@
 webkit.org/b/156717 loader/navigation-policy/should-open-external-urls/user-gesture-window-open-without-flag-from-subframe.html [ Crash ]
 webkit.org/b/156717 loader/navigation-policy/should-open-external-urls/user-gesture-window-open-without-flag.html [ Crash ]
 webkit.org/b/156717 media/crash-closing-page-with-media-as-plugin-fallback.html [ Crash ]
-webkit.org/b/156717 workers/bomb.html [ Crash Timeout ]
 
 # [GTK] Drag and drop can't be tested with WebKitTestRunner
 # https://bugs.webkit.org/show_bug.cgi?id=157179


Modified: trunk/LayoutTests/platform/ios-device/TestExpectations (218858 => 218859)

--- trunk/LayoutTests/platform/ios-device/TestExpectations	2017-06-28 01:06:53 UTC (rev 218858)
+++ trunk/LayoutTests/platform/ios-device/TestExpectations	2017-06-28 01:09:03 UTC (rev 218859)
@@ -137,8 +137,6 @@
 
 security/contentSecurityPolicy/video-with-data-url-allowed-by-media-src-star.html [ ImageOnlyFailure ]
 
-workers/bomb.html [ Skip ]
-
 #  need to differentiated between device types
 tiled-drawing/ios/iphone7
 


Modified: trunk/LayoutTests/platform/ios-wk2/TestExpectations (218858 => 218859)

--- trunk/LayoutTests/platform/ios-wk2/TestExpectations	2017-06-28 01:06:53 UTC (rev 218858)
+++ trunk/LayoutTests/platform/ios-wk2/TestExpectations	2017-06-28 01:09:03 UTC (rev 218859)
@@ -1966,8 +1966,6 @@
 
 webkit.org/b/170870 webrtc/captureCanvas-webrtc.html [ Pass Timeout ]
 
-webkit.org/b/167757 [ Release ] workers/bomb.html [ Pass Timeout ]
-
 webkit.org/b/173486 webrtc/video-replace-muted-track.html [ Pass Failure ]
 
 webkit.org/b/17373 fast/forms/file/input-file-write-files-using-open-panel.html [ Skip ]


Modified: trunk/LayoutTests/platform/mac/TestExpectations (218858 => 218859)

--- trunk/LayoutTests/platform/mac/TestExpectations	2017-06-28 01:06:53 UTC (rev 218858)
+++ trunk/LayoutTests/platform/mac/TestExpectations	2017-06-28 01:09:03 UTC (rev 218859)
@@ -1459,8 +1459,6 @@
 
 webkit.org/b/167642 imported/w3c/web-platform-tests/shadow-dom/slotchange.html [ Pass Failure ]
 
-webkit.org/b/167757 [ Sierra Release ] workers/bomb.html [ Pass Timeout ]
-
 webkit.org/b/167749 http/tests/media/track-in-band-hls-metadata-crash.html [ Pass Timeout ]
 
 webkit.org/b/167186 fast/backgrounds/hidpi-bitmap-background-on-subpixel-position.html [ Pass ImageOnlyFailure ]






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


[webkit-changes] [218858] trunk/Source/WebKit2

2017-06-27 Thread bfulgham
Title: [218858] trunk/Source/WebKit2








Revision 218858
Author bfulg...@apple.com
Date 2017-06-27 18:06:53 -0700 (Tue, 27 Jun 2017)


Log Message
[WK2][macOS] Expand sandbox to allow access to the CoreMedia volume control endpoint
https://bugs.webkit.org/show_bug.cgi?id=173898


Reviewed by Ryosuke Niwa.

* WebProcess/com.apple.WebProcess.sb.in:

Modified Paths

trunk/Source/WebKit2/ChangeLog
trunk/Source/WebKit2/WebProcess/com.apple.WebProcess.sb.in




Diff

Modified: trunk/Source/WebKit2/ChangeLog (218857 => 218858)

--- trunk/Source/WebKit2/ChangeLog	2017-06-28 01:04:29 UTC (rev 218857)
+++ trunk/Source/WebKit2/ChangeLog	2017-06-28 01:06:53 UTC (rev 218858)
@@ -1,3 +1,13 @@
+2017-06-27  Brent Fulgham  
+
+[WK2][macOS] Expand sandbox to allow access to the CoreMedia volume control endpoint
+https://bugs.webkit.org/show_bug.cgi?id=173898
+
+
+Reviewed by Ryosuke Niwa.
+
+* WebProcess/com.apple.WebProcess.sb.in:
+
 2017-06-27  Wenson Hsieh  
 
 [iOS DnD] Support dragging out of contenteditable areas without a prior selection


Modified: trunk/Source/WebKit2/WebProcess/com.apple.WebProcess.sb.in (218857 => 218858)

--- trunk/Source/WebKit2/WebProcess/com.apple.WebProcess.sb.in	2017-06-28 01:04:29 UTC (rev 218857)
+++ trunk/Source/WebKit2/WebProcess/com.apple.WebProcess.sb.in	2017-06-28 01:06:53 UTC (rev 218858)
@@ -551,6 +551,7 @@
 #if __MAC_OS_X_VERSION_MIN_REQUIRED >= 101300
 (global-name "com.apple.coremedia.routediscoverer.xpc")
 (global-name "com.apple.coremedia.routingcontext.xpc")
+(global-name "com.apple.coremedia.volumecontroller.xpc")
 #endif
 )
 






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


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

2017-06-27 Thread commit-queue
Title: [218857] trunk/Source/WebCore








Revision 218857
Author commit-qu...@webkit.org
Date 2017-06-27 18:04:29 -0700 (Tue, 27 Jun 2017)


Log Message
MediaPlayerPrivate m_private may not yet be created when setPrivateBrowsingMode is called.
https://bugs.webkit.org/show_bug.cgi?id=173893
rdar://problem/32986872

Patch by Jeremy Jones  on 2017-06-27
Reviewed by Ryosuke Niwa.

No new tests because no reproducable case.

setPrivateBrowsingMode can be called on MediaPlayer before the MediaPlayerPrivate is created.
The value should only be pushed down the m_private if it has been created.

* platform/graphics/MediaPlayer.cpp:
(WebCore::MediaPlayer::setPrivateBrowsingMode):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/platform/graphics/MediaPlayer.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (218856 => 218857)

--- trunk/Source/WebCore/ChangeLog	2017-06-28 00:46:50 UTC (rev 218856)
+++ trunk/Source/WebCore/ChangeLog	2017-06-28 01:04:29 UTC (rev 218857)
@@ -1,3 +1,19 @@
+2017-06-27  Jeremy Jones  
+
+MediaPlayerPrivate m_private may not yet be created when setPrivateBrowsingMode is called.
+https://bugs.webkit.org/show_bug.cgi?id=173893
+rdar://problem/32986872
+
+Reviewed by Ryosuke Niwa.
+
+No new tests because no reproducable case.
+
+setPrivateBrowsingMode can be called on MediaPlayer before the MediaPlayerPrivate is created.
+The value should only be pushed down the m_private if it has been created.
+
+* platform/graphics/MediaPlayer.cpp:
+(WebCore::MediaPlayer::setPrivateBrowsingMode):
+
 2017-06-27  Wenson Hsieh  
 
 [iOS DnD] Support dragging out of contenteditable areas without a prior selection


Modified: trunk/Source/WebCore/platform/graphics/MediaPlayer.cpp (218856 => 218857)

--- trunk/Source/WebCore/platform/graphics/MediaPlayer.cpp	2017-06-28 00:46:50 UTC (rev 218856)
+++ trunk/Source/WebCore/platform/graphics/MediaPlayer.cpp	2017-06-28 01:04:29 UTC (rev 218857)
@@ -1126,7 +1126,8 @@
 void MediaPlayer::setPrivateBrowsingMode(bool privateBrowsingMode)
 {
 m_privateBrowsing = privateBrowsingMode;
-m_private->setPrivateBrowsingMode(m_privateBrowsing);
+if (m_private)
+m_private->setPrivateBrowsingMode(m_privateBrowsing);
 }
 
 // Client callbacks.






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


[webkit-changes] [218856] trunk/Source/JavaScriptCore

2017-06-27 Thread utatane . tea
Title: [218856] trunk/Source/_javascript_Core








Revision 218856
Author utatane@gmail.com
Date 2017-06-27 17:46:50 -0700 (Tue, 27 Jun 2017)


Log Message
[JSC] Do not touch VM after notifying Ready in DFG::Worklist
https://bugs.webkit.org/show_bug.cgi?id=173888

Reviewed by Saam Barati.

After notifying Plan::Ready and releasing Worklist lock, VM can be destroyed.
Thus, Plan::vm() can return a destroyed VM. Do not touch it.
This causes occasional SEGV / assertion failures in workers/bomb test.

* dfg/DFGWorklist.cpp:

Modified Paths

trunk/Source/_javascript_Core/ChangeLog
trunk/Source/_javascript_Core/dfg/DFGWorklist.cpp




Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (218855 => 218856)

--- trunk/Source/_javascript_Core/ChangeLog	2017-06-28 00:36:31 UTC (rev 218855)
+++ trunk/Source/_javascript_Core/ChangeLog	2017-06-28 00:46:50 UTC (rev 218856)
@@ -1,3 +1,16 @@
+2017-06-27  Yusuke Suzuki  
+
+[JSC] Do not touch VM after notifying Ready in DFG::Worklist
+https://bugs.webkit.org/show_bug.cgi?id=173888
+
+Reviewed by Saam Barati.
+
+After notifying Plan::Ready and releasing Worklist lock, VM can be destroyed.
+Thus, Plan::vm() can return a destroyed VM. Do not touch it.
+This causes occasional SEGV / assertion failures in workers/bomb test.
+
+* dfg/DFGWorklist.cpp:
+
 2017-06-27  Saam Barati  
 
 Remove an inaccurate comment inside DFGClobberize.h


Modified: trunk/Source/_javascript_Core/dfg/DFGWorklist.cpp (218855 => 218856)

--- trunk/Source/_javascript_Core/dfg/DFGWorklist.cpp	2017-06-28 00:36:31 UTC (rev 218855)
+++ trunk/Source/_javascript_Core/dfg/DFGWorklist.cpp	2017-06-28 00:46:50 UTC (rev 218856)
@@ -130,9 +130,9 @@
 
 m_worklist.m_readyPlans.append(m_plan);
 
+RELEASE_ASSERT(!m_plan->vm->heap.collectorBelievesThatTheWorldIsStopped());
 m_worklist.m_planCompiled.notifyAll();
 }
-RELEASE_ASSERT(!m_plan->vm->heap.collectorBelievesThatTheWorldIsStopped());
 
 return WorkResult::Continue;
 }






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


[webkit-changes] [218855] trunk

2017-06-27 Thread wenson_hsieh
Title: [218855] trunk








Revision 218855
Author wenson_hs...@apple.com
Date 2017-06-27 17:36:31 -0700 (Tue, 27 Jun 2017)


Log Message
[iOS DnD] Support dragging out of contenteditable areas without a prior selection
https://bugs.webkit.org/show_bug.cgi?id=173854


Reviewed by Ryosuke Niwa and Tim Horton.

Source/WebCore:

Allows elements to be dragged from contenteditable areas for both WebKit1 and WebKit2 iOS. There are two main
changes in WebCore: move the touch point adjustment code into EventHandler::tryToBeginDataInteractionAtPoint, so
that the clientPosition specified will be adjusted to an appropriate clickable node if needed. This is necessary
because UIWebDocumentView and WKContentView no longer send adjusted points to WebCore when requesting drag
start. See  for a followup regarding the globalPosition and
clientPositions passed in to the MouseEvents when performing a drag or synthetic click.

Secondly, image elements in Mail's contenteditable area are not draggable unless the heuristic in
DragController::draggableElement is tweaked to not reject image dragging across the board if the
loadsImagesAutomatically setting is turned off. Instead, even if images are not automatically loaded, allow the
image drag to commence if the image renderer already has a cached image.

Test: DataInteractionTests.DragImageFromContentEditable

* page/DragController.cpp:
(WebCore::imageElementIsDraggable):
(WebCore::DragController::draggableElement):
* page/ios/EventHandlerIOS.mm:
(WebCore::EventHandler::tryToBeginDataInteractionAtPoint):

Source/WebKit/mac:

Vends some information from the DragItem passed into -[WebView _startDrag:] through the WebView as SPI for
WebKit1 clients. No behavior change with these changes alone -- see  for more detail.

* WebView/WebView.mm:
(-[WebView _startDrag:]):
(-[WebView _dragSourceAction]):
(-[WebView _draggedLinkTitle]):
(-[WebView _draggedLinkURL]):
(-[WebView _draggedElementBounds]):
(-[WebView _endedDataInteraction:global:]):
* WebView/WebViewData.h:
* WebView/WebViewPrivate.h:

Source/WebKit2:

Instead of allowing a drag to occur only if a position information request discovers a clickable node, remove
the position information request entirely and just call into WebCore to try and begin the drag. Currently, the
position information request serves two purposes:
1. To adjust the hit-test location to account for nearby clickable nodes.
2. To obtain information about the content being dragged.

The first requirement is fulfilled by performing the drag location adjustment in WebCore instead (see
ChangeLogs for more detail). The second requirement is fulfilled by refactoring in
https://bugs.webkit.org/show_bug.cgi?id=173832 to fold all information relevant to starting a drag into the
DragItem struct, and then propagating the DragItem struct. The relevant information from the position
information update is now populated when the UI process receives the drag start response.

* UIProcess/ios/WKContentViewInteraction.h:
* UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView _startDrag:item:]):
(-[WKContentView computeClientAndGlobalPointsForDropSession:outClientPoint:outGlobalPoint:]):
(-[WKContentView _dragInteraction:prepareForSession:completion:]):
(-[WKContentView _api_dropInteraction:sessionDidEnter:]):
(-[WKContentView _api_dropInteraction:sessionDidUpdate:]):
(positionInformationMayStartDataInteraction): Deleted.

Tools:

Adds a new test to check that an image can be dragged out of a contenteditable and dropped.

* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit2Cocoa/contenteditable-and-target.html: Added.
* TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
(TestWebKitAPI::TEST):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/page/DragController.cpp
trunk/Source/WebCore/page/ios/EventHandlerIOS.mm
trunk/Source/WebKit/mac/ChangeLog
trunk/Source/WebKit/mac/WebView/WebView.mm
trunk/Source/WebKit/mac/WebView/WebViewData.h
trunk/Source/WebKit/mac/WebView/WebViewPrivate.h
trunk/Source/WebKit2/ChangeLog
trunk/Source/WebKit2/UIProcess/ios/WKContentViewInteraction.mm
trunk/Tools/ChangeLog
trunk/Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj
trunk/Tools/TestWebKitAPI/Tests/ios/DataInteractionTests.mm


Added Paths

trunk/Tools/TestWebKitAPI/Tests/WebKit2Cocoa/contenteditable-and-target.html




Diff

Modified: trunk/Source/WebCore/ChangeLog (218854 => 218855)

--- trunk/Source/WebCore/ChangeLog	2017-06-27 23:55:27 UTC (rev 218854)
+++ trunk/Source/WebCore/ChangeLog	2017-06-28 00:36:31 UTC (rev 218855)
@@ -1,3 +1,31 @@
+2017-06-27  Wenson Hsieh  
+
+[iOS DnD] Support dragging out of contenteditable areas without a prior selection
+https://bugs.webkit.org/show_bug.cgi?id=173854
+
+
+Reviewed by Ryosuke Niwa and Tim Horton.
+
+Allows elements to be dragged from contenteditable areas for both WebKit1 and WebKit2 iOS. There are two main
+

[webkit-changes] [218854] trunk/LayoutTests

2017-06-27 Thread jlewis3
Title: [218854] trunk/LayoutTests








Revision 218854
Author jlew...@apple.com
Date 2017-06-27 16:55:27 -0700 (Tue, 27 Jun 2017)


Log Message
Marked http/tests/loading/resourceLoadStatistics/telemetry-generation.html as flaky.
https://bugs.webkit.org/show_bug.cgi?id=173499

Unreviewed test gardening.

* platform/wk2/TestExpectations:

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/platform/wk2/TestExpectations




Diff

Modified: trunk/LayoutTests/ChangeLog (218853 => 218854)

--- trunk/LayoutTests/ChangeLog	2017-06-27 23:48:22 UTC (rev 218853)
+++ trunk/LayoutTests/ChangeLog	2017-06-27 23:55:27 UTC (rev 218854)
@@ -1,3 +1,12 @@
+2017-06-27  Matt Lewis  
+
+Marked http/tests/loading/resourceLoadStatistics/telemetry-generation.html as flaky.
+https://bugs.webkit.org/show_bug.cgi?id=173499
+
+Unreviewed test gardening.
+
+* platform/wk2/TestExpectations:
+
 2017-06-27  Antoine Quint  
 
 [Modern Media Controls] Accessibility labels should be formatted using NSDateComponentsFormatter


Modified: trunk/LayoutTests/platform/wk2/TestExpectations (218853 => 218854)

--- trunk/LayoutTests/platform/wk2/TestExpectations	2017-06-27 23:48:22 UTC (rev 218853)
+++ trunk/LayoutTests/platform/wk2/TestExpectations	2017-06-27 23:55:27 UTC (rev 218854)
@@ -722,3 +722,6 @@
 
 webkit.org/b/172922 webrtc/datachannel/basic.html [ Pass Timeout ]
 
+webkit.org/b/173499 [ Release ] http/tests/loading/resourceLoadStatistics/telemetry-generation.html [ Pass Failure ]
+
+






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


[webkit-changes] [218853] trunk

2017-06-27 Thread commit-queue
Title: [218853] trunk








Revision 218853
Author commit-qu...@webkit.org
Date 2017-06-27 16:48:22 -0700 (Tue, 27 Jun 2017)


Log Message
[Modern Media Controls] Accessibility labels should be formatted using NSDateComponentsFormatter
https://bugs.webkit.org/show_bug.cgi?id=173858


Patch by Antoine Quint  on 2017-06-27
Reviewed by Dean Jackson.

Source/WebCore:

We shouldn't be manually trying to create a formatted string for media controls and instead rely
on NSDateComponentsFormatter to perform this task for us. So we remove the ad-hoc code in the JS
media controls code and instead add a new MediaControlsHost method to format durations which calls
into RenderTheme to provide a formatted duration string relevant to the current platform and locale.

* English.lproj/modern-media-controls-localized-strings.js:
* Modules/mediacontrols/MediaControlsHost.cpp:
(WebCore::MediaControlsHost::formattedStringForDuration):
* Modules/mediacontrols/MediaControlsHost.h:
* Modules/mediacontrols/MediaControlsHost.idl:
* Modules/modern-media-controls/controls/slider.js:
(Slider.prototype.set inputAccessibleLabel):
* Modules/modern-media-controls/controls/time-label.js:
(TimeLabel.prototype.commitProperty):
* Modules/modern-media-controls/main.js:
(createControls):
(formattedStringForDuration):
(formatTimeToString): Deleted.
* rendering/RenderTheme.h:
(WebCore::RenderTheme::mediaControlsFormattedStringForDuration):
* rendering/RenderThemeCocoa.h:
* rendering/RenderThemeCocoa.mm:
(WebCore::RenderThemeCocoa::mediaControlsFormattedStringForDuration):

LayoutTests:

* media/modern-media-controls/scrubber/scrubber-has-correct-ax-label-expected.txt:
* media/modern-media-controls/scrubber/scrubber-has-correct-ax-label.html:

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/media/modern-media-controls/scrubber/scrubber-has-correct-ax-label-expected.txt
trunk/LayoutTests/media/modern-media-controls/scrubber/scrubber-has-correct-ax-label.html
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/English.lproj/modern-media-controls-localized-strings.js
trunk/Source/WebCore/Modules/mediacontrols/MediaControlsHost.cpp
trunk/Source/WebCore/Modules/mediacontrols/MediaControlsHost.h
trunk/Source/WebCore/Modules/mediacontrols/MediaControlsHost.idl
trunk/Source/WebCore/Modules/modern-media-controls/controls/slider.js
trunk/Source/WebCore/Modules/modern-media-controls/controls/time-label.js
trunk/Source/WebCore/Modules/modern-media-controls/main.js
trunk/Source/WebCore/rendering/RenderTheme.h
trunk/Source/WebCore/rendering/RenderThemeCocoa.h
trunk/Source/WebCore/rendering/RenderThemeCocoa.mm




Diff

Modified: trunk/LayoutTests/ChangeLog (218852 => 218853)

--- trunk/LayoutTests/ChangeLog	2017-06-27 23:40:07 UTC (rev 218852)
+++ trunk/LayoutTests/ChangeLog	2017-06-27 23:48:22 UTC (rev 218853)
@@ -1,5 +1,16 @@
 2017-06-27  Antoine Quint  
 
+[Modern Media Controls] Accessibility labels should be formatted using NSDateComponentsFormatter
+https://bugs.webkit.org/show_bug.cgi?id=173858
+
+
+Reviewed by Dean Jackson.
+
+* media/modern-media-controls/scrubber/scrubber-has-correct-ax-label-expected.txt:
+* media/modern-media-controls/scrubber/scrubber-has-correct-ax-label.html:
+
+2017-06-27  Antoine Quint  
+
 Placard icons act like buttons (can get keyboard focus and shows up in VoiceOver)
 https://bugs.webkit.org/show_bug.cgi?id=173891
 


Modified: trunk/LayoutTests/media/modern-media-controls/scrubber/scrubber-has-correct-ax-label-expected.txt (218852 => 218853)

--- trunk/LayoutTests/media/modern-media-controls/scrubber/scrubber-has-correct-ax-label-expected.txt	2017-06-27 23:40:07 UTC (rev 218852)
+++ trunk/LayoutTests/media/modern-media-controls/scrubber/scrubber-has-correct-ax-label-expected.txt	2017-06-27 23:48:22 UTC (rev 218853)
@@ -3,11 +3,10 @@
 On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
 
 
-PASS scrubberInput.getAttribute('aria-valuetext') is "0 Minute 0 Second"
+PASS input.getAttribute('aria-valuetext') is "0 seconds"
 PASS media.currentTime is 2
-PASS scrubberInput.getAttribute('aria-valuetext') === '0 Minute 2 Seconds' became true
+PASS input.getAttribute('aria-valuetext') === '2 seconds' became true
 PASS successfullyParsed is true
 
 TEST COMPLETE
 
-


Modified: trunk/LayoutTests/media/modern-media-controls/scrubber/scrubber-has-correct-ax-label.html (218852 => 218853)

--- trunk/LayoutTests/media/modern-media-controls/scrubber/scrubber-has-correct-ax-label.html	2017-06-27 23:40:07 UTC (rev 218852)
+++ trunk/LayoutTests/media/modern-media-controls/scrubber/scrubber-has-correct-ax-label.html	2017-06-27 23:48:22 UTC (rev 218853)
@@ -13,7 +13,7 @@
 }
 
 
-
+
 
 
 
@@ -21,22 +21,19 @@
 
 description("Testing for an accessibility text on the 

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

2017-06-27 Thread eric . carlson
Title: [218852] trunk/Source/WebCore








Revision 218852
Author eric.carl...@apple.com
Date 2017-06-27 16:40:07 -0700 (Tue, 27 Jun 2017)


Log Message
r218647 causes getUserMedia to fail on some machines
https://bugs.webkit.org/show_bug.cgi?id=173894

Reviewed by Youenn Fablet.

* platform/mediastream/mac/AVVideoCaptureSource.mm:
(WebCore::AVVideoCaptureSource::isFrameRateSupported): Change frame rate epsilon from 0.1
to 0.001.

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/platform/mediastream/mac/AVVideoCaptureSource.mm




Diff

Modified: trunk/Source/WebCore/ChangeLog (218851 => 218852)

--- trunk/Source/WebCore/ChangeLog	2017-06-27 23:29:22 UTC (rev 218851)
+++ trunk/Source/WebCore/ChangeLog	2017-06-27 23:40:07 UTC (rev 218852)
@@ -1,3 +1,14 @@
+2017-06-27  Eric Carlson  
+
+r218647 causes getUserMedia to fail on some machines
+https://bugs.webkit.org/show_bug.cgi?id=173894
+
+Reviewed by Youenn Fablet.
+
+* platform/mediastream/mac/AVVideoCaptureSource.mm:
+(WebCore::AVVideoCaptureSource::isFrameRateSupported): Change frame rate epsilon from 0.1
+to 0.001.
+
 2017-06-27  Antoine Quint  
 
 Placard icons act like buttons (can get keyboard focus and shows up in VoiceOver)


Modified: trunk/Source/WebCore/platform/mediastream/mac/AVVideoCaptureSource.mm (218851 => 218852)

--- trunk/Source/WebCore/platform/mediastream/mac/AVVideoCaptureSource.mm	2017-06-27 23:29:22 UTC (rev 218851)
+++ trunk/Source/WebCore/platform/mediastream/mac/AVVideoCaptureSource.mm	2017-06-27 23:40:07 UTC (rev 218852)
@@ -570,7 +570,7 @@
 
 bool AVVideoCaptureSource::isFrameRateSupported(double frameRate)
 {
-double epsilon = 0.1;
+double epsilon = 0.001;
 for (AVFrameRateRangeType *range in [[device() activeFormat] videoSupportedFrameRateRanges]) {
 if (frameRate + epsilon >= range.minFrameRate && frameRate - epsilon <= range.maxFrameRate)
 return true;






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


[webkit-changes] [218851] trunk

2017-06-27 Thread commit-queue
Title: [218851] trunk








Revision 218851
Author commit-qu...@webkit.org
Date 2017-06-27 16:29:22 -0700 (Tue, 27 Jun 2017)


Log Message
Placard icons act like buttons (can get keyboard focus and shows up in VoiceOver)
https://bugs.webkit.org/show_bug.cgi?id=173891


Patch by Antoine Quint  on 2017-06-27
Reviewed by Dean Jackson.

Source/WebCore:

Ensure that we disable buttons inside placards as they're only decorative and should
not be interactive.

* Modules/modern-media-controls/controls/placard.js:
(Placard.):

LayoutTests:

Update the Placard test to check that its  is disabled.

* media/modern-media-controls/placard/placard-expected.txt:
* media/modern-media-controls/placard/placard.html:

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/media/modern-media-controls/placard/placard-expected.txt
trunk/LayoutTests/media/modern-media-controls/placard/placard.html
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/Modules/modern-media-controls/controls/placard.js




Diff

Modified: trunk/LayoutTests/ChangeLog (218850 => 218851)

--- trunk/LayoutTests/ChangeLog	2017-06-27 23:05:07 UTC (rev 218850)
+++ trunk/LayoutTests/ChangeLog	2017-06-27 23:29:22 UTC (rev 218851)
@@ -1,3 +1,16 @@
+2017-06-27  Antoine Quint  
+
+Placard icons act like buttons (can get keyboard focus and shows up in VoiceOver)
+https://bugs.webkit.org/show_bug.cgi?id=173891
+
+
+Reviewed by Dean Jackson.
+
+Update the Placard test to check that its  is disabled.
+
+* media/modern-media-controls/placard/placard-expected.txt:
+* media/modern-media-controls/placard/placard.html:
+
 2017-06-27  Jeremy Jones  
 
 Disable m_temporarilyAllowingInlinePlaybackAfterFullscreen on pause


Modified: trunk/LayoutTests/media/modern-media-controls/placard/placard-expected.txt (218850 => 218851)

--- trunk/LayoutTests/media/modern-media-controls/placard/placard-expected.txt	2017-06-27 23:05:07 UTC (rev 218850)
+++ trunk/LayoutTests/media/modern-media-controls/placard/placard-expected.txt	2017-06-27 23:29:22 UTC (rev 218851)
@@ -12,6 +12,7 @@
 PASS placard.children[0].children.length is 3
 PASS placard.children[0].children[0] instanceof Button is true
 PASS placard.children[0].children[0].iconName is Icons.AirplayPlacard
+PASS placard.children[0].children[0].element.disabled is true
 PASS placard.children[0].children[1] instanceof LayoutNode is true
 PASS placard.children[0].children[1].element.localName is "div"
 PASS placard.children[0].children[1].element.className is "title"


Modified: trunk/LayoutTests/media/modern-media-controls/placard/placard.html (218850 => 218851)

--- trunk/LayoutTests/media/modern-media-controls/placard/placard.html	2017-06-27 23:05:07 UTC (rev 218850)
+++ trunk/LayoutTests/media/modern-media-controls/placard/placard.html	2017-06-27 23:29:22 UTC (rev 218851)
@@ -21,6 +21,7 @@
 shouldBe("placard.children[0].children.length", "3");
 shouldBeTrue("placard.children[0].children[0] instanceof Button");
 shouldBe("placard.children[0].children[0].iconName", "Icons.AirplayPlacard");
+shouldBeTrue("placard.children[0].children[0].element.disabled");
 shouldBeTrue("placard.children[0].children[1] instanceof LayoutNode");
 shouldBeEqualToString("placard.children[0].children[1].element.localName", "div");
 shouldBeEqualToString("placard.children[0].children[1].element.className", "title");


Modified: trunk/Source/WebCore/ChangeLog (218850 => 218851)

--- trunk/Source/WebCore/ChangeLog	2017-06-27 23:05:07 UTC (rev 218850)
+++ trunk/Source/WebCore/ChangeLog	2017-06-27 23:29:22 UTC (rev 218851)
@@ -1,3 +1,17 @@
+2017-06-27  Antoine Quint  
+
+Placard icons act like buttons (can get keyboard focus and shows up in VoiceOver)
+https://bugs.webkit.org/show_bug.cgi?id=173891
+
+
+Reviewed by Dean Jackson.
+
+Ensure that we disable buttons inside placards as they're only decorative and should
+not be interactive.
+
+* Modules/modern-media-controls/controls/placard.js:
+(Placard.):
+
 2017-06-27  Jeremy Jones  
 
 Disable m_temporarilyAllowingInlinePlaybackAfterFullscreen on pause


Modified: trunk/Source/WebCore/Modules/modern-media-controls/controls/placard.js (218850 => 218851)

--- trunk/Source/WebCore/Modules/modern-media-controls/controls/placard.js	2017-06-27 23:05:07 UTC (rev 218850)
+++ trunk/Source/WebCore/Modules/modern-media-controls/controls/placard.js	2017-06-27 23:29:22 UTC (rev 218851)
@@ -41,6 +41,7 @@
 if (iconName) {
 this._icon = new Button(this);
 this._icon.iconName = iconName;
+this._icon.element.disabled = true;
 }
 
 if (!!title)






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


[webkit-changes] [218848] trunk/Source/JavaScriptCore

2017-06-27 Thread sbarati
Title: [218848] trunk/Source/_javascript_Core








Revision 218848
Author sbar...@apple.com
Date 2017-06-27 15:43:20 -0700 (Tue, 27 Jun 2017)


Log Message
Remove an inaccurate comment inside DFGClobberize.h
https://bugs.webkit.org/show_bug.cgi?id=163874

Reviewed by Filip Pizlo.

The comment said that Clobberize may or may not be sound if run prior to
doing type inference. This is not correct, though. Clobberize *must* be sound
prior do doing type inference since we use it inside the BytecodeParser, which
is the very first thing the DFG does.

* dfg/DFGClobberize.h:
(JSC::DFG::clobberize):

Modified Paths

trunk/Source/_javascript_Core/ChangeLog
trunk/Source/_javascript_Core/dfg/DFGClobberize.h




Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (218847 => 218848)

--- trunk/Source/_javascript_Core/ChangeLog	2017-06-27 22:39:21 UTC (rev 218847)
+++ trunk/Source/_javascript_Core/ChangeLog	2017-06-27 22:43:20 UTC (rev 218848)
@@ -1,5 +1,20 @@
 2017-06-27  Saam Barati  
 
+Remove an inaccurate comment inside DFGClobberize.h
+https://bugs.webkit.org/show_bug.cgi?id=163874
+
+Reviewed by Filip Pizlo.
+
+The comment said that Clobberize may or may not be sound if run prior to
+doing type inference. This is not correct, though. Clobberize *must* be sound
+prior do doing type inference since we use it inside the BytecodeParser, which
+is the very first thing the DFG does.
+
+* dfg/DFGClobberize.h:
+(JSC::DFG::clobberize):
+
+2017-06-27  Saam Barati  
+
 Function constructor needs to follow the spec and validate parameters and body independently
 https://bugs.webkit.org/show_bug.cgi?id=173303
 


Modified: trunk/Source/_javascript_Core/dfg/DFGClobberize.h (218847 => 218848)

--- trunk/Source/_javascript_Core/dfg/DFGClobberize.h	2017-06-27 22:39:21 UTC (rev 218847)
+++ trunk/Source/_javascript_Core/dfg/DFGClobberize.h	2017-06-27 22:43:20 UTC (rev 218848)
@@ -74,10 +74,9 @@
 // - Broadly, we don't say that we're reading something if that something is
 //   immutable.
 //
-// - We try to make this work even prior to type inference, just so that we
-//   can use it for IR dumps. No promises on whether the answers are sound
-//   prior to type inference - though they probably could be if we did some
-//   small hacking.
+// - This must be sound even prior to type inference. We use this as early as
+//   bytecode parsing to determine at which points in the program it's legal to
+//   OSR exit.
 //
 // - If you do read(Stack) or read(World), then make sure that readTop() in
 //   PreciseLocalClobberize is correct.






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


[webkit-changes] [218847] trunk

2017-06-27 Thread commit-queue
Title: [218847] trunk








Revision 218847
Author commit-qu...@webkit.org
Date 2017-06-27 15:39:21 -0700 (Tue, 27 Jun 2017)


Log Message
Disable m_temporarilyAllowingInlinePlaybackAfterFullscreen on pause
https://bugs.webkit.org/show_bug.cgi?id=173843
rdar://problem/32982431

Patch by Jeremy Jones  on 2017-06-27
Reviewed by Eric Carlson.

Source/WebCore:

Test: media/media-fullscreen-pause-inline.html

Some pages may not have a fullscreen button, so disabled m_temporarilyAllowingInlinePlaybackAfterFullscreen on pause.

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::pause):

LayoutTests:

Some pages may not have a fullscreen button, so disabled m_temporarilyAllowingInlinePlaybackAfterFullscreen on pause.

* media/media-fullscreen-pause-inline-expected.txt: Added.
* media/media-fullscreen-pause-inline.html: Added.
* platform/mac-wk2/TestExpectations:

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/platform/mac-wk2/TestExpectations
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/html/HTMLMediaElement.cpp


Added Paths

trunk/LayoutTests/media/media-fullscreen-pause-inline-expected.txt
trunk/LayoutTests/media/media-fullscreen-pause-inline.html




Diff

Modified: trunk/LayoutTests/ChangeLog (218846 => 218847)

--- trunk/LayoutTests/ChangeLog	2017-06-27 21:49:04 UTC (rev 218846)
+++ trunk/LayoutTests/ChangeLog	2017-06-27 22:39:21 UTC (rev 218847)
@@ -1,3 +1,17 @@
+2017-06-27  Jeremy Jones  
+
+Disable m_temporarilyAllowingInlinePlaybackAfterFullscreen on pause
+https://bugs.webkit.org/show_bug.cgi?id=173843
+rdar://problem/32982431
+
+Reviewed by Eric Carlson.
+
+Some pages may not have a fullscreen button, so disabled m_temporarilyAllowingInlinePlaybackAfterFullscreen on pause.
+
+* media/media-fullscreen-pause-inline-expected.txt: Added.
+* media/media-fullscreen-pause-inline.html: Added.
+* platform/mac-wk2/TestExpectations:
+
 2017-06-27  Saam Barati  
 
 Function constructor needs to follow the spec and validate parameters and body independently


Added: trunk/LayoutTests/media/media-fullscreen-pause-inline-expected.txt (0 => 218847)

--- trunk/LayoutTests/media/media-fullscreen-pause-inline-expected.txt	(rev 0)
+++ trunk/LayoutTests/media/media-fullscreen-pause-inline-expected.txt	2017-06-27 22:39:21 UTC (rev 218847)
@@ -0,0 +1,18 @@
+
+RUN(internals.settings.setAllowsInlineMediaPlayback(false))
+RUN(internals.settings.setAllowsInlineMediaPlaybackAfterFullscreen(true))
+RUN(internals.settings.setFullScreenEnabled(false))
+RUN(internals.setMediaElementRestrictions(video, "NoRestrictions"))
+RUN(video.src = "" "content/test"))
+RUN(video.play().then(playing);)
+EXPECTED (video.webkitDisplayingFullscreen == 'true') OK
+RUN(video.webkitExitFullscreen())
+EVENT(webkitendfullscreen)
+EXPECTED (video.paused == 'false') OK
+RUN(video.pause())
+EVENT(pause)
+EXPECTED (video.paused == 'true') OK
+RUN(video.play().then(playingAgain))
+EXPECTED (video.webkitDisplayingFullscreen == 'true') OK
+END OF TEST
+


Added: trunk/LayoutTests/media/media-fullscreen-pause-inline.html (0 => 218847)

--- trunk/LayoutTests/media/media-fullscreen-pause-inline.html	(rev 0)
+++ trunk/LayoutTests/media/media-fullscreen-pause-inline.html	2017-06-27 22:39:21 UTC (rev 218847)
@@ -0,0 +1,55 @@
+
+
+
+media-fullscreen-return-to-inline
+
+
+function go()
+{
+findMediaElement();
+run('internals.settings.setAllowsInlineMediaPlayback(false)');
+run('internals.settings.setAllowsInlineMediaPlaybackAfterFullscreen(true)');
+run('internals.settings.setFullScreenEnabled(false)');
+run('internals.setMediaElementRestrictions(video, "NoRestrictions")');
+run('video.src = "" "content/test")');
+run('video.play().then(playing);');
+}
+
+function playing()
+{
+testExpected('video.webkitDisplayingFullscreen', true);
+waitForEventOnce('webkitendfullscreen', endfullscreen);
+run('video.webkitExitFullscreen()');
+}
+
+function endfullscreen()
+{
+testExpected('video.paused', false);
+run('video.pause()');
+waitForEventOnce('pause', paused);
+}
+
+function paused()
+{
+testExpected('video.paused', true);
+setTimeout(function(){ run('video.play().then(playingAgain)');}, 0)
+}
+
+function playingAgain()
+{
+
+testExpected('video.webkitDisplayingFullscreen', true);
+endTest();
+}
+
+
+
+
+
+
+
+
+


Modified: trunk/LayoutTests/platform/mac-wk2/TestExpectations (218846 => 218847)

--- trunk/LayoutTests/platform/mac-wk2/TestExpectations	2017-06-27 21:49:04 UTC (rev 218846)
+++ trunk/LayoutTests/platform/mac-wk2/TestExpectations	2017-06-27 22:39:21 UTC (rev 218847)
@@ -327,6 +327,7 @@
 
 # Video fullscreen is not implemented for mac wk2 in 

[webkit-changes] [218846] trunk/Source

2017-06-27 Thread cdumez
Title: [218846] trunk/Source








Revision 218846
Author cdu...@apple.com
Date 2017-06-27 14:49:04 -0700 (Tue, 27 Jun 2017)


Log Message
[iOS] Avoid taking / releasing process assertions too quickly due to database activity
https://bugs.webkit.org/show_bug.cgi?id=173879


Reviewed by Antti Koivisto.

Source/WebCore:

Add HysteresisActivity to WebSQLiteDatabaseTrackerClient to avoid taking / releasing
process assertion too quickly due to database activity.

* platform/ios/WebSQLiteDatabaseTrackerClient.h:
* platform/ios/WebSQLiteDatabaseTrackerClient.mm:
(WebCore::WebSQLiteDatabaseTrackerClient::WebSQLiteDatabaseTrackerClient):
(WebCore::WebSQLiteDatabaseTrackerClient::willBeginFirstTransaction):
(WebCore::WebSQLiteDatabaseTrackerClient::didFinishLastTransaction):
(WebCore::WebSQLiteDatabaseTrackerClient::hysteresisUpdated):

Source/WebKit2:

Specify an activity name when taking the process assertion to facilitate
debugging in the future. It took me a while to figure out this assertion
was the one that was too aggressive because it was anonymous.

* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _setUpSQLiteDatabaseTrackerClient]):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/platform/ios/WebSQLiteDatabaseTrackerClient.h
trunk/Source/WebCore/platform/ios/WebSQLiteDatabaseTrackerClient.mm
trunk/Source/WebKit2/ChangeLog
trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm




Diff

Modified: trunk/Source/WebCore/ChangeLog (218845 => 218846)

--- trunk/Source/WebCore/ChangeLog	2017-06-27 21:37:46 UTC (rev 218845)
+++ trunk/Source/WebCore/ChangeLog	2017-06-27 21:49:04 UTC (rev 218846)
@@ -1,3 +1,21 @@
+2017-06-27  Chris Dumez  
+
+[iOS] Avoid taking / releasing process assertions too quickly due to database activity
+https://bugs.webkit.org/show_bug.cgi?id=173879
+
+
+Reviewed by Antti Koivisto.
+
+Add HysteresisActivity to WebSQLiteDatabaseTrackerClient to avoid taking / releasing
+process assertion too quickly due to database activity.
+
+* platform/ios/WebSQLiteDatabaseTrackerClient.h:
+* platform/ios/WebSQLiteDatabaseTrackerClient.mm:
+(WebCore::WebSQLiteDatabaseTrackerClient::WebSQLiteDatabaseTrackerClient):
+(WebCore::WebSQLiteDatabaseTrackerClient::willBeginFirstTransaction):
+(WebCore::WebSQLiteDatabaseTrackerClient::didFinishLastTransaction):
+(WebCore::WebSQLiteDatabaseTrackerClient::hysteresisUpdated):
+
 2017-06-27  Youenn Fablet  
 
 Using public logging for WebRTC release logging


Modified: trunk/Source/WebCore/platform/ios/WebSQLiteDatabaseTrackerClient.h (218845 => 218846)

--- trunk/Source/WebCore/platform/ios/WebSQLiteDatabaseTrackerClient.h	2017-06-27 21:37:46 UTC (rev 218845)
+++ trunk/Source/WebCore/platform/ios/WebSQLiteDatabaseTrackerClient.h	2017-06-27 21:49:04 UTC (rev 218846)
@@ -29,6 +29,7 @@
 
 #if PLATFORM(IOS)
 
+#include "HysteresisActivity.h"
 #include "SQLiteDatabaseTrackerClient.h"
 #include 
 #include 
@@ -40,13 +41,17 @@
 public:
 WEBCORE_EXPORT static WebSQLiteDatabaseTrackerClient& sharedWebSQLiteDatabaseTrackerClient();
 
-void willBeginFirstTransaction() override;
-void didFinishLastTransaction() override;
+void willBeginFirstTransaction() final;
+void didFinishLastTransaction() final;
 
 private:
 friend class NeverDestroyed;
 WebSQLiteDatabaseTrackerClient();
 virtual ~WebSQLiteDatabaseTrackerClient();
+
+void hysteresisUpdated(HysteresisState);
+
+HysteresisActivity m_hysteresis;
 };
 
 }


Modified: trunk/Source/WebCore/platform/ios/WebSQLiteDatabaseTrackerClient.mm (218845 => 218846)

--- trunk/Source/WebCore/platform/ios/WebSQLiteDatabaseTrackerClient.mm	2017-06-27 21:37:46 UTC (rev 218845)
+++ trunk/Source/WebCore/platform/ios/WebSQLiteDatabaseTrackerClient.mm	2017-06-27 21:49:04 UTC (rev 218846)
@@ -31,6 +31,7 @@
 #import "WebBackgroundTaskController.h"
 #import 
 #import 
+#import 
 #import 
 
 @interface WebDatabaseTransactionBackgroundTaskController : NSObject
@@ -40,6 +41,8 @@
 
 namespace WebCore {
 
+const double hysteresisDuration = 2; // 2 seconds.
+
 WebSQLiteDatabaseTrackerClient& WebSQLiteDatabaseTrackerClient::sharedWebSQLiteDatabaseTrackerClient()
 {
 static NeverDestroyed client;
@@ -47,6 +50,7 @@
 }
 
 WebSQLiteDatabaseTrackerClient::WebSQLiteDatabaseTrackerClient()
+: m_hysteresis([this](HysteresisState state) { hysteresisUpdated(state); }, hysteresisDuration)
 {
 }
 
@@ -56,16 +60,28 @@
 
 void WebSQLiteDatabaseTrackerClient::willBeginFirstTransaction()
 {
-[WebDatabaseTransactionBackgroundTaskController startBackgroundTask];
+callOnMainThread([this] {
+m_hysteresis.start();
+});
 }
 
 void WebSQLiteDatabaseTrackerClient::didFinishLastTransaction()
 {
-[WebDatabaseTransactionBackgroundTaskController endBackgroundTask];
+callOnMainThread([this] {
+m_hysteresis.stop();
+});
 }
 
+void 

[webkit-changes] [218845] trunk

2017-06-27 Thread sbarati
Title: [218845] trunk








Revision 218845
Author sbar...@apple.com
Date 2017-06-27 14:37:46 -0700 (Tue, 27 Jun 2017)


Log Message
Function constructor needs to follow the spec and validate parameters and body independently
https://bugs.webkit.org/show_bug.cgi?id=173303


Reviewed by Keith Miller.

JSTests:

* ChakraCore/test/Function/FuncBodyES5.baseline-jsc:
* stress/function-constructor-semantics.js: Added.
(assert):
(hasSyntaxError):
(foo):
(async.foo):
(testError):
(testOK.toString):
(toString):

LayoutTests/imported/w3c:

* web-platform-tests/html/webappapis/scripting/events/inline-event-handler-ordering-expected.txt:
* web-platform-tests/html/webappapis/scripting/events/invalid-uncompiled-raw-handler-compiled-late-expected.txt:
* web-platform-tests/html/webappapis/scripting/processing-model-2/compile-error-in-attribute-expected.txt:
* web-platform-tests/html/webappapis/scripting/processing-model-2/compile-error-in-body-onerror-expected.txt:

Source/_javascript_Core:

The Function constructor must check the arguments and body strings
independently for syntax errors. People rely on this specified behavior
to verify that a particular string is a valid function body. We used
to check these things strings concatenated together, instead of
independently. For example, this used to be valid: `Function("/*", "*/){")`.
However, we should throw a syntax error here since "(/*)" is not a valid
parameter list, and "*/){" is not a valid body.

To implement the specified behavior, we check the syntax independently of
both the body and the parameter list. To check that the parameter list has
valid syntax, we check that it is valid if in a function with an empty body.
To check that the body has valid syntax, we check it is valid in a function
with an empty parameter list.

* runtime/FunctionConstructor.cpp:
(JSC::constructFunctionSkippingEvalEnabledCheck):

LayoutTests:

* fast/dom/attribute-event-listener-errors-expected.txt:
* fast/events/attribute-listener-deletion-crash-expected.txt:
* fast/events/window-onerror-syntax-error-in-attr-expected.txt:
* js/dom/invalid-syntax-for-function-expected.txt:

Modified Paths

trunk/JSTests/ChakraCore/test/Function/FuncBodyES5.baseline-jsc
trunk/JSTests/ChangeLog
trunk/LayoutTests/ChangeLog
trunk/LayoutTests/fast/dom/attribute-event-listener-errors-expected.txt
trunk/LayoutTests/fast/events/attribute-listener-deletion-crash-expected.txt
trunk/LayoutTests/fast/events/window-onerror-syntax-error-in-attr-expected.txt
trunk/LayoutTests/imported/w3c/ChangeLog
trunk/LayoutTests/imported/w3c/web-platform-tests/html/webappapis/scripting/events/inline-event-handler-ordering-expected.txt
trunk/LayoutTests/imported/w3c/web-platform-tests/html/webappapis/scripting/events/invalid-uncompiled-raw-handler-compiled-late-expected.txt
trunk/LayoutTests/imported/w3c/web-platform-tests/html/webappapis/scripting/processing-model-2/compile-error-in-attribute-expected.txt
trunk/LayoutTests/imported/w3c/web-platform-tests/html/webappapis/scripting/processing-model-2/compile-error-in-body-onerror-expected.txt
trunk/LayoutTests/js/dom/invalid-syntax-for-function-expected.txt
trunk/Source/_javascript_Core/ChangeLog
trunk/Source/_javascript_Core/runtime/FunctionConstructor.cpp


Added Paths

trunk/JSTests/stress/function-constructor-semantics.js




Diff

Modified: trunk/JSTests/ChakraCore/test/Function/FuncBodyES5.baseline-jsc (218844 => 218845)

--- trunk/JSTests/ChakraCore/test/Function/FuncBodyES5.baseline-jsc	2017-06-27 21:35:25 UTC (rev 218844)
+++ trunk/JSTests/ChakraCore/test/Function/FuncBodyES5.baseline-jsc	2017-06-27 21:37:46 UTC (rev 218845)
@@ -9,13 +9,13 @@
 PASS: 8: new Function succeeded as expected
 PASS: 9: new Function succeeded as expected
 PASS: 10: new Function succeeded as expected
-PASS: 100: new Function failed as expected. SyntaxError: Parser error
-PASS: 100: new Function failed as expected. SyntaxError: Parser error
-PASS: 101: new Function failed as expected. SyntaxError: Parser error
-PASS: 102: new Function failed as expected. SyntaxError: Parser error
-PASS: 103: new Function failed as expected. SyntaxError: Parser error
-PASS: 104: new Function failed as expected. SyntaxError: Invalid character: '\0'
-PASS: 105: new Function failed as expected. SyntaxError: Parser error
+PASS: 100: new Function failed as expected. SyntaxError: Unexpected token '{'. Expected ')' to end a compound _expression_.
+PASS: 100: new Function failed as expected. SyntaxError: Unexpected token '{'. Expected ')' to end a compound _expression_.
+PASS: 101: new Function failed as expected. SyntaxError: Unexpected keyword 'function'. Expected ')' to end a compound _expression_.
+PASS: 102: new Function failed as expected. SyntaxError: Unexpected keyword 'function'. Expected ')' to end a compound _expression_.
+PASS: 103: new Function failed as expected. SyntaxError: Unexpected keyword 'function'. Expected ')' to end a compound _expression_.
+PASS: 104: new Function failed as expected. SyntaxError: 

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

2017-06-27 Thread commit-queue
Title: [218844] trunk/Source/WebCore








Revision 218844
Author commit-qu...@webkit.org
Date 2017-06-27 14:35:25 -0700 (Tue, 27 Jun 2017)


Log Message
Using public logging for WebRTC release logging
https://bugs.webkit.org/show_bug.cgi?id=173881

Patch by Youenn Fablet  on 2017-06-27
Reviewed by Eric Carlson.

No change of behavior.

* Modules/mediastream/PeerConnectionBackend.cpp:
(WebCore::PeerConnectionBackend::createOfferSucceeded):
(WebCore::PeerConnectionBackend::createOfferFailed):
(WebCore::PeerConnectionBackend::createAnswerSucceeded):
(WebCore::PeerConnectionBackend::createAnswerFailed):
(WebCore::PeerConnectionBackend::setLocalDescriptionFailed):
(WebCore::PeerConnectionBackend::setRemoteDescriptionFailed):
(WebCore::PeerConnectionBackend::addIceCandidateFailed):
(WebCore::PeerConnectionBackend::newICECandidate):
* Modules/mediastream/RTCPeerConnection.cpp:
(WebCore::RTCPeerConnection::queuedSetLocalDescription):
(WebCore::RTCPeerConnection::queuedSetRemoteDescription):
(WebCore::RTCPeerConnection::queuedAddIceCandidate):
(WebCore::RTCPeerConnection::updateIceGatheringState):
(WebCore::RTCPeerConnection::updateIceConnectionState):
* Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.cpp:
(WebCore::LibWebRTCMediaEndpoint::OnStatsDelivered):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/Modules/mediastream/PeerConnectionBackend.cpp
trunk/Source/WebCore/Modules/mediastream/RTCPeerConnection.cpp
trunk/Source/WebCore/Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (218843 => 218844)

--- trunk/Source/WebCore/ChangeLog	2017-06-27 21:30:01 UTC (rev 218843)
+++ trunk/Source/WebCore/ChangeLog	2017-06-27 21:35:25 UTC (rev 218844)
@@ -1,3 +1,30 @@
+2017-06-27  Youenn Fablet  
+
+Using public logging for WebRTC release logging
+https://bugs.webkit.org/show_bug.cgi?id=173881
+
+Reviewed by Eric Carlson.
+
+No change of behavior.
+
+* Modules/mediastream/PeerConnectionBackend.cpp:
+(WebCore::PeerConnectionBackend::createOfferSucceeded):
+(WebCore::PeerConnectionBackend::createOfferFailed):
+(WebCore::PeerConnectionBackend::createAnswerSucceeded):
+(WebCore::PeerConnectionBackend::createAnswerFailed):
+(WebCore::PeerConnectionBackend::setLocalDescriptionFailed):
+(WebCore::PeerConnectionBackend::setRemoteDescriptionFailed):
+(WebCore::PeerConnectionBackend::addIceCandidateFailed):
+(WebCore::PeerConnectionBackend::newICECandidate):
+* Modules/mediastream/RTCPeerConnection.cpp:
+(WebCore::RTCPeerConnection::queuedSetLocalDescription):
+(WebCore::RTCPeerConnection::queuedSetRemoteDescription):
+(WebCore::RTCPeerConnection::queuedAddIceCandidate):
+(WebCore::RTCPeerConnection::updateIceGatheringState):
+(WebCore::RTCPeerConnection::updateIceConnectionState):
+* Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.cpp:
+(WebCore::LibWebRTCMediaEndpoint::OnStatsDelivered):
+
 2017-06-27  Don Olmstead  
 
 [PAL] Add symbol export macros for PAL


Modified: trunk/Source/WebCore/Modules/mediastream/PeerConnectionBackend.cpp (218843 => 218844)

--- trunk/Source/WebCore/Modules/mediastream/PeerConnectionBackend.cpp	2017-06-27 21:30:01 UTC (rev 218843)
+++ trunk/Source/WebCore/Modules/mediastream/PeerConnectionBackend.cpp	2017-06-27 21:35:25 UTC (rev 218844)
@@ -56,7 +56,7 @@
 void PeerConnectionBackend::createOfferSucceeded(String&& sdp)
 {
 ASSERT(isMainThread());
-RELEASE_LOG(WebRTC, "Creating offer succeeded:\n%s\n", sdp.utf8().data());
+RELEASE_LOG(WebRTC, "Creating offer succeeded:\n%{public}s\n", sdp.utf8().data());
 
 if (m_peerConnection.isClosed())
 return;
@@ -69,7 +69,7 @@
 void PeerConnectionBackend::createOfferFailed(Exception&& exception)
 {
 ASSERT(isMainThread());
-RELEASE_LOG(WebRTC, "Creating offer failed:\n%s\n", exception.message().utf8().data());
+RELEASE_LOG(WebRTC, "Creating offer failed:\n%{public}s\n", exception.message().utf8().data());
 
 if (m_peerConnection.isClosed())
 return;
@@ -91,7 +91,7 @@
 void PeerConnectionBackend::createAnswerSucceeded(String&& sdp)
 {
 ASSERT(isMainThread());
-RELEASE_LOG(WebRTC, "Creating answer succeeded:\n%s\n", sdp.utf8().data());
+RELEASE_LOG(WebRTC, "Creating answer succeeded:\n%{public}s\n", sdp.utf8().data());
 
 if (m_peerConnection.isClosed())
 return;
@@ -104,7 +104,7 @@
 void PeerConnectionBackend::createAnswerFailed(Exception&& exception)
 {
 ASSERT(isMainThread());
-RELEASE_LOG(WebRTC, "Creating answer failed:\n%s\n", exception.message().utf8().data());
+RELEASE_LOG(WebRTC, "Creating answer failed:\n%{public}s\n", exception.message().utf8().data());
 
 if (m_peerConnection.isClosed())
 return;
@@ -163,7 +163,7 @@
 void 

[webkit-changes] [218842] trunk/Source/WebKit2

2017-06-27 Thread rniwa
Title: [218842] trunk/Source/WebKit2








Revision 218842
Author rn...@webkit.org
Date 2017-06-27 14:23:22 -0700 (Tue, 27 Jun 2017)


Log Message
ProcessLauncherMac could leak a xpc connection when the process had failed to launch
https://bugs.webkit.org/show_bug.cgi?id=173865

Reviewed by Antti Koivisto.

Explicitly cancel the XPC connection even When the process launch had failed to avoid a leak.

* UIProcess/Launcher/mac/ProcessLauncherMac.mm:
(WebKit::ProcessLauncher::launchProcess):

Modified Paths

trunk/Source/WebKit2/ChangeLog
trunk/Source/WebKit2/UIProcess/Launcher/mac/ProcessLauncherMac.mm




Diff

Modified: trunk/Source/WebKit2/ChangeLog (218841 => 218842)

--- trunk/Source/WebKit2/ChangeLog	2017-06-27 21:10:24 UTC (rev 218841)
+++ trunk/Source/WebKit2/ChangeLog	2017-06-27 21:23:22 UTC (rev 218842)
@@ -1,3 +1,15 @@
+2017-06-27  Ryosuke Niwa  
+
+ProcessLauncherMac could leak a xpc connection when the process had failed to launch
+https://bugs.webkit.org/show_bug.cgi?id=173865
+
+Reviewed by Antti Koivisto.
+
+Explicitly cancel the XPC connection even When the process launch had failed to avoid a leak.
+
+* UIProcess/Launcher/mac/ProcessLauncherMac.mm:
+(WebKit::ProcessLauncher::launchProcess):
+
 2017-06-27  John Wilander  
 
 Resource Load Statistics: Add telemetry


Modified: trunk/Source/WebKit2/UIProcess/Launcher/mac/ProcessLauncherMac.mm (218841 => 218842)

--- trunk/Source/WebKit2/UIProcess/Launcher/mac/ProcessLauncherMac.mm	2017-06-27 21:10:24 UTC (rev 218841)
+++ trunk/Source/WebKit2/UIProcess/Launcher/mac/ProcessLauncherMac.mm	2017-06-27 21:23:22 UTC (rev 218842)
@@ -201,6 +201,7 @@
 // And the receive right.
 mach_port_mod_refs(mach_task_self(), listeningPort, MACH_PORT_RIGHT_RECEIVE, -1);
 
+xpc_connection_cancel(processLauncher->m_xpcConnection.get());
 processLauncher->m_xpcConnection = nullptr;
 
 processLauncher->didFinishLaunchingProcess(0, IPC::Connection::Identifier());






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


[webkit-changes] [218841] trunk

2017-06-27 Thread wilander
Title: [218841] trunk








Revision 218841
Author wilan...@apple.com
Date 2017-06-27 14:10:24 -0700 (Tue, 27 Jun 2017)


Log Message
Resource Load Statistics: Add telemetry
https://bugs.webkit.org/show_bug.cgi?id=173499


Reviewed by Brent Fulgham.

Source/WebCore:

Test: http/tests/loading/resourceLoadStatistics/telemetry-generation.html

* loader/ResourceLoadObserver.cpp:
(WebCore::ResourceLoadObserver::fireTelemetryHandler):
Test infrastructure.
* loader/ResourceLoadObserver.h:
* loader/ResourceLoadStatisticsStore.cpp:
(WebCore::ResourceLoadStatisticsStore::setFireTelemetryCallback):
(WebCore::ResourceLoadStatisticsStore::fireTelemetryHandler):
Test infrastructure.
(WebCore::ResourceLoadStatisticsStore::sortedPrevalentResourceTelemetry):
Convenience function for telemetry.
* loader/ResourceLoadStatisticsStore.h:
Added struct WebCore::PrevalentResourceTelemetry.
* page/DiagnosticLoggingKeys.cpp:
(WebCore::DiagnosticLoggingKeys::resourceLoadStatisticsTelemetryKey):
Added.
* page/DiagnosticLoggingKeys.h:

Source/WebKit2:

* PlatformGTK.cmake:
Added UIProcess/WebResourceLoadStatisticsTelemetry.cpp
* PlatformMac.cmake:
Added UIProcess/WebResourceLoadStatisticsTelemetry.cpp
* PlatformWPE.cmake:
Added UIProcess/WebResourceLoadStatisticsTelemetry.cpp
* UIProcess/API/C/WKResourceLoadStatisticsManager.cpp:
(WKResourceLoadStatisticsManagerFireTelemetryHandler):
(WKResourceLoadStatisticsManagerSetNotifyPagesWhenTelemetryWasCaptured):
Test infrastructure.
* UIProcess/API/C/WKResourceLoadStatisticsManager.h:
* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::notifyPageStatisticsTelemetryFinished):
Test infrastructure.
* UIProcess/WebProcessProxy.h:
* UIProcess/WebResourceLoadStatisticsManager.cpp:
(WebKit::WebResourceLoadStatisticsManager::fireTelemetryHandler):
(WebKit::WebResourceLoadStatisticsManager::setNotifyPagesWhenTelemetryWasCaptured):
(WebKit::WebResourceLoadStatisticsManager::resetToConsistentState):
Test infrastructure.
* UIProcess/WebResourceLoadStatisticsManager.h:
* UIProcess/WebResourceLoadStatisticsStore.cpp:
(WebKit::WebResourceLoadStatisticsStore::WebResourceLoadStatisticsStore):
Configures a timer for telemetry capture. Fires 5 seconds after launch
and then every 24 hours.
(WebKit::WebResourceLoadStatisticsStore::setNotifyPagesWhenDataRecordsWereScanned):
Variable renamed notifyPages -> notifyPagesWhenDataRecordsWereScanned.
(WebKit::WebResourceLoadStatisticsStore::removeDataRecords):
Variable renamed notifyPages -> notifyPagesWhenDataRecordsWereScanned.
(WebKit::WebResourceLoadStatisticsStore::processStatisticsAndDataRecords):
Variable renamed notifyPages -> notifyPagesWhenDataRecordsWereScanned.
(WebKit::WebResourceLoadStatisticsStore::registerSharedResourceLoadObserver):
Variable renamed notifyPages -> notifyPagesWhenDataRecordsWereScanned.
(WebKit::WebResourceLoadStatisticsStore::grandfatherExistingWebsiteData):
Variable renamed notifyPages -> notifyPagesWhenDataRecordsWereScanned.
(WebKit::WebResourceLoadStatisticsStore::telemetryTimerFired):
 Calls WebResourceLoadStatisticsTelemetry::calculateAndSubmit().
* UIProcess/WebResourceLoadStatisticsStore.h:
* UIProcess/WebResourceLoadStatisticsTelemetry.cpp: Added.
(WebKit::numberOfResourcesWithUserInteraction):
(WebKit::median):
(WebKit::nonEphemeralWebPageProxy):
(WebKit::submitTopList):
(WebKit::submitTopLists):
(WebKit::notifyPages):
(WebKit::WebResourceLoadStatisticsTelemetry::calculateAndSubmit):
(WebKit::WebResourceLoadStatisticsTelemetry::setNotifyPagesWhenTelemetryWasCaptured):
* UIProcess/WebResourceLoadStatisticsTelemetry.h: Added.
* WebKit2.xcodeproj/project.pbxproj:

Tools:

Adds three new testRunner functions:
- installStatisticsDidRunTelemetryCallback()
- statisticsFireTelemetryHandler()
- setStatisticsNotifyPagesWhenTelemetryWasCaptured()

* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
(WTR::InjectedBundle::didReceiveMessageToPage):
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::installStatisticsDidRunTelemetryCallback):
(WTR::TestRunner::statisticsDidRunTelemetryCallback):
(WTR::TestRunner::statisticsFireTelemetryHandler):
(WTR::TestRunner::setStatisticsNotifyPagesWhenTelemetryWasCaptured):
* WebKitTestRunner/InjectedBundle/TestRunner.h:
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetStateToConsistentValues):
(WTR::TestController::statisticsFireTelemetryHandler):
(WTR::TestController::setStatisticsNotifyPagesWhenTelemetryWasCaptured):
* WebKitTestRunner/TestController.h:
* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):

LayoutTests:

* http/tests/loading/resourceLoadStatistics/telemetry-generation-expected.txt: Added.
* http/tests/loading/resourceLoadStatistics/telemetry-generation.html: Added.
* platform/wk2/TestExpectations:
Enabled here since ResourceLoadStatistics is 

[webkit-changes] [218840] trunk

2017-06-27 Thread commit-queue
Title: [218840] trunk








Revision 218840
Author commit-qu...@webkit.org
Date 2017-06-27 14:06:04 -0700 (Tue, 27 Jun 2017)


Log Message
Add missing includes to fix compilation error on FreeBSD
https://bugs.webkit.org/show_bug.cgi?id=172919

Patch by Ting-Wei Lan  on 2017-06-27
Reviewed by Mark Lam.

Source/_javascript_Core:

* API/JSRemoteInspector.h:
* API/tests/GlobalContextWithFinalizerTest.cpp:
* API/tests/TypedArrayCTest.cpp:

Source/WebCore:

No new tests needed.

* crypto/gcrypt/CryptoKeyECGCrypt.cpp:
* platform/audio/ReverbAccumulationBuffer.cpp:

Source/WebKit2:

* UIProcess/API/C/WKContextPrivate.h:
* UIProcess/API/C/WKPagePrivate.h:
* UIProcess/ProcessAssertion.h:

Tools:

* ImageDiff/cairo/PlatformImageCairo.cpp:

Modified Paths

trunk/Source/_javascript_Core/API/JSRemoteInspector.h
trunk/Source/_javascript_Core/API/tests/GlobalContextWithFinalizerTest.cpp
trunk/Source/_javascript_Core/API/tests/TypedArrayCTest.cpp
trunk/Source/_javascript_Core/ChangeLog
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/crypto/gcrypt/CryptoKeyECGCrypt.cpp
trunk/Source/WebCore/platform/audio/ReverbAccumulationBuffer.cpp
trunk/Source/WebKit2/ChangeLog
trunk/Source/WebKit2/UIProcess/API/C/WKContextPrivate.h
trunk/Source/WebKit2/UIProcess/API/C/WKPagePrivate.h
trunk/Source/WebKit2/UIProcess/ProcessAssertion.h
trunk/Tools/ChangeLog
trunk/Tools/ImageDiff/cairo/PlatformImageCairo.cpp




Diff

Modified: trunk/Source/_javascript_Core/API/JSRemoteInspector.h (218839 => 218840)

--- trunk/Source/_javascript_Core/API/JSRemoteInspector.h	2017-06-27 21:01:54 UTC (rev 218839)
+++ trunk/Source/_javascript_Core/API/JSRemoteInspector.h	2017-06-27 21:06:04 UTC (rev 218840)
@@ -29,6 +29,8 @@
 #include <_javascript_Core/JSBase.h>
 #include <_javascript_Core/WebKitAvailability.h>
 
+#include 
+
 #ifdef __cplusplus
 extern "C" {
 #endif


Modified: trunk/Source/_javascript_Core/API/tests/GlobalContextWithFinalizerTest.cpp (218839 => 218840)

--- trunk/Source/_javascript_Core/API/tests/GlobalContextWithFinalizerTest.cpp	2017-06-27 21:01:54 UTC (rev 218839)
+++ trunk/Source/_javascript_Core/API/tests/GlobalContextWithFinalizerTest.cpp	2017-06-27 21:06:04 UTC (rev 218840)
@@ -27,6 +27,7 @@
 #include "GlobalContextWithFinalizerTest.h"
 
 #include "_javascript_.h"
+#include 
 
 static bool failed = true;
 


Modified: trunk/Source/_javascript_Core/API/tests/TypedArrayCTest.cpp (218839 => 218840)

--- trunk/Source/_javascript_Core/API/tests/TypedArrayCTest.cpp	2017-06-27 21:01:54 UTC (rev 218839)
+++ trunk/Source/_javascript_Core/API/tests/TypedArrayCTest.cpp	2017-06-27 21:06:04 UTC (rev 218840)
@@ -29,6 +29,7 @@
 #include "_javascript_.h"
 #include 
 #include 
+#include 
 #include 
 
 extern "C" void JSSynchronousGarbageCollectForDebugging(JSContextRef);


Modified: trunk/Source/_javascript_Core/ChangeLog (218839 => 218840)

--- trunk/Source/_javascript_Core/ChangeLog	2017-06-27 21:01:54 UTC (rev 218839)
+++ trunk/Source/_javascript_Core/ChangeLog	2017-06-27 21:06:04 UTC (rev 218840)
@@ -1,3 +1,14 @@
+2017-06-27  Ting-Wei Lan  
+
+Add missing includes to fix compilation error on FreeBSD
+https://bugs.webkit.org/show_bug.cgi?id=172919
+
+Reviewed by Mark Lam.
+
+* API/JSRemoteInspector.h:
+* API/tests/GlobalContextWithFinalizerTest.cpp:
+* API/tests/TypedArrayCTest.cpp:
+
 2017-06-27  Joseph Pecoraro  
 
 Web Inspector: Crash generating object preview for ArrayIterator


Modified: trunk/Source/WebCore/ChangeLog (218839 => 218840)

--- trunk/Source/WebCore/ChangeLog	2017-06-27 21:01:54 UTC (rev 218839)
+++ trunk/Source/WebCore/ChangeLog	2017-06-27 21:06:04 UTC (rev 218840)
@@ -1,3 +1,15 @@
+2017-06-27  Ting-Wei Lan  
+
+Add missing includes to fix compilation error on FreeBSD
+https://bugs.webkit.org/show_bug.cgi?id=172919
+
+Reviewed by Mark Lam.
+
+No new tests needed.
+
+* crypto/gcrypt/CryptoKeyECGCrypt.cpp:
+* platform/audio/ReverbAccumulationBuffer.cpp:
+
 2017-06-27  Zalan Bujtas  
 
 Add RenderEmbeddedObject::getReplacementTextGeometry helper.


Modified: trunk/Source/WebCore/crypto/gcrypt/CryptoKeyECGCrypt.cpp (218839 => 218840)

--- trunk/Source/WebCore/crypto/gcrypt/CryptoKeyECGCrypt.cpp	2017-06-27 21:01:54 UTC (rev 218839)
+++ trunk/Source/WebCore/crypto/gcrypt/CryptoKeyECGCrypt.cpp	2017-06-27 21:06:04 UTC (rev 218840)
@@ -32,6 +32,7 @@
 #include "GCryptUtilities.h"
 #include "JsonWebKey.h"
 #include "NotImplemented.h"
+#include 
 #include 
 #include 
 #include 


Modified: trunk/Source/WebCore/platform/audio/ReverbAccumulationBuffer.cpp (218839 => 218840)

--- trunk/Source/WebCore/platform/audio/ReverbAccumulationBuffer.cpp	2017-06-27 21:01:54 UTC (rev 218839)
+++ trunk/Source/WebCore/platform/audio/ReverbAccumulationBuffer.cpp	2017-06-27 21:06:04 UTC (rev 218840)
@@ -34,6 +34,8 @@
 
 #include "VectorMath.h"
 

[webkit-changes] [218839] trunk/Source/WebInspectorUI

2017-06-27 Thread mattbaker
Title: [218839] trunk/Source/WebInspectorUI








Revision 218839
Author mattba...@apple.com
Date 2017-06-27 14:01:54 -0700 (Tue, 27 Jun 2017)


Log Message
Web Inspector: no discoverable way to dismiss the split console
https://bugs.webkit.org/show_bug.cgi?id=167034


Reviewed by Devin Rousso.

This patch adds an Xcode-style toggle button to the left of the
split console navigation bar. Additionally, the split console code
has been broken out into it's own class to reduce the clutter in
Main.js/css, and simplify future console maintenance.

* Localizations/en.lproj/localizedStrings.js:

* UserInterface/Base/Main.js:
(WebInspector.loaded):
Replace the "split" ContentBrowser with a new ConsoleDrawer class,
which encapsulates the drawer height setting and resize behavior.
(WebInspector.contentLoaded):
The console drawer manages its own height.

* UserInterface/Images/HideConsoleDrawer.svg: Added.
* UserInterface/Images/ShowConsoleDrawer.svg: Added.
Console drawer toggle button images. Styled after corresponding Xcode button.

* UserInterface/Main.html:

* UserInterface/Views/ConsoleDrawer.css: Added.
Moved old #split-content-browser styles over from Main.css.
(.console-drawer):
(.console-drawer > .navigation-bar):
(.console-drawer > .navigation-bar > .item.button:not(.clear-log)):
Make button spacing less cramped.
(.console-drawer > .navigation-bar > .item:not(.flexible-space)):
(.console-drawer > .navigation-bar > :matches(.item.button, .log-scope-bar)):
(.console-drawer > .navigation-bar > .item > .glyph,):

* UserInterface/Views/ConsoleDrawer.js: Added.
New class responsible for console drawer expand / collapse and resizer
dragging, which was previously part of Main.js. The console drawer toolbar
now has a toggle button, debugging controls, and a call frames path item.
The "Show Console Tab" button has been removed.

(WebInspector.ConsoleDrawer):
(WebInspector.ConsoleDrawer.prototype.get collapsed):
(WebInspector.ConsoleDrawer.prototype.set collapsed):
(WebInspector.ConsoleDrawer.prototype.get height):
(WebInspector.ConsoleDrawer.prototype.shown):
(WebInspector.ConsoleDrawer.prototype.layout):
(WebInspector.ConsoleDrawer.prototype._consoleResizerMouseDown.dockedResizerDrag):
(WebInspector.ConsoleDrawer.prototype._consoleResizerMouseDown.dockedResizerDragEnd):
(WebInspector.ConsoleDrawer.prototype._consoleResizerMouseDown):
(WebInspector.ConsoleDrawer.prototype._restoreDrawerHeight):
(WebInspector.ConsoleDrawer.prototype._updateDrawerHeight):
(WebInspector.ConsoleDrawer.prototype._selectedTabContentViewDidChange):
When switching to a tab that doesn't support showing the console drawer,
hide it without altering the collapsed state.

* UserInterface/Views/LogContentView.js:
(WebInspector.LogContentView.prototype.get navigationItems):

* UserInterface/Views/Main.css:
Renamed #split-content-browser to #console-drawer, and moved related
styles to ConsoleDrawer.css.

(#split-content-browser): Deleted.
(#split-content-browser > .navigation-bar): Deleted.
(#split-content-browser > .navigation-bar :matches(.find-banner, .find-banner + .divider)): Deleted.
(#split-content-browser > .navigation-bar .item): Deleted.
(#split-content-browser > .navigation-bar .item:not(.flexible-space)): Deleted.
(#split-content-browser .hierarchical-path-component.log-icon .icon): Deleted.
(#split-content-browser .hierarchical-path-component.log-icon .title): Deleted.
(#split-content-browser .hierarchical-path-component.log-icon select): Deleted.
(#split-content-browser > .navigation-bar > :matches(.hierarchical-path, .log-scope-bar)): Deleted.
(#split-content-browser > .navigation-bar > .log-scope-bar > li): Deleted.

* UserInterface/Views/QuickConsole.js:
(WebInspector.QuickConsole):
(WebInspector.QuickConsole.prototype._toggleOrFocus):
(WebInspector.QuickConsole.prototype._updateStyles):
Update top border style in response to change in selected TabBrowser
tab or the console drawer collapsed state.

(WebInspector.QuickConsole.prototype.consoleLogVisibilityChanged): Deleted.
(WebInspector.QuickConsole.prototype.set keyboardShortcutDisabled): Deleted.

Modified Paths

trunk/Source/WebInspectorUI/ChangeLog
trunk/Source/WebInspectorUI/Localizations/en.lproj/localizedStrings.js
trunk/Source/WebInspectorUI/UserInterface/Base/Main.js
trunk/Source/WebInspectorUI/UserInterface/Main.html
trunk/Source/WebInspectorUI/UserInterface/Views/LogContentView.js
trunk/Source/WebInspectorUI/UserInterface/Views/Main.css
trunk/Source/WebInspectorUI/UserInterface/Views/QuickConsole.js


Added Paths

trunk/Source/WebInspectorUI/UserInterface/Images/HideConsoleDrawer.svg
trunk/Source/WebInspectorUI/UserInterface/Images/ShowConsoleDrawer.svg
trunk/Source/WebInspectorUI/UserInterface/Views/ConsoleDrawer.css
trunk/Source/WebInspectorUI/UserInterface/Views/ConsoleDrawer.js


Removed Paths

trunk/Source/WebInspectorUI/UserInterface/Views/LogTreeElement.js




Diff

Modified: trunk/Source/WebInspectorUI/ChangeLog (218838 => 218839)

--- 

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

2017-06-27 Thread zalan
Title: [218838] trunk/Source/WebCore








Revision 218838
Author za...@apple.com
Date 2017-06-27 12:52:00 -0700 (Tue, 27 Jun 2017)


Log Message
Add RenderEmbeddedObject::getReplacementTextGeometry helper.
https://bugs.webkit.org/show_bug.cgi?id=173847

Reviewed by Simon Fraser.

...and remove getReplacementTextGeometry's redundant return value.

No change in functionality.

* rendering/RenderEmbeddedObject.cpp:
(WebCore::RenderEmbeddedObject::paintReplaced):
(WebCore::RenderEmbeddedObject::getReplacementTextGeometry):
(WebCore::RenderEmbeddedObject::unavailablePluginIndicatorBounds):
(WebCore::RenderEmbeddedObject::isInUnavailablePluginIndicator):
* rendering/RenderEmbeddedObject.h:

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/rendering/RenderEmbeddedObject.cpp
trunk/Source/WebCore/rendering/RenderEmbeddedObject.h




Diff

Modified: trunk/Source/WebCore/ChangeLog (218837 => 218838)

--- trunk/Source/WebCore/ChangeLog	2017-06-27 19:11:34 UTC (rev 218837)
+++ trunk/Source/WebCore/ChangeLog	2017-06-27 19:52:00 UTC (rev 218838)
@@ -1,3 +1,21 @@
+2017-06-27  Zalan Bujtas  
+
+Add RenderEmbeddedObject::getReplacementTextGeometry helper.
+https://bugs.webkit.org/show_bug.cgi?id=173847
+
+Reviewed by Simon Fraser.
+
+...and remove getReplacementTextGeometry's redundant return value. 
+
+No change in functionality.
+
+* rendering/RenderEmbeddedObject.cpp:
+(WebCore::RenderEmbeddedObject::paintReplaced):
+(WebCore::RenderEmbeddedObject::getReplacementTextGeometry):
+(WebCore::RenderEmbeddedObject::unavailablePluginIndicatorBounds):
+(WebCore::RenderEmbeddedObject::isInUnavailablePluginIndicator):
+* rendering/RenderEmbeddedObject.h:
+
 2017-06-27  Wenson Hsieh  
 
 Refactor drag start codepaths to plumb a DragItem to client layers


Modified: trunk/Source/WebCore/rendering/RenderEmbeddedObject.cpp (218837 => 218838)

--- trunk/Source/WebCore/rendering/RenderEmbeddedObject.cpp	2017-06-27 19:11:34 UTC (rev 218837)
+++ trunk/Source/WebCore/rendering/RenderEmbeddedObject.cpp	2017-06-27 19:52:00 UTC (rev 218838)
@@ -301,8 +301,7 @@
 FontCascade font;
 TextRun run(emptyString());
 float textWidth;
-if (!getReplacementTextGeometry(paintOffset, contentRect, indicatorRect, replacementTextRect, arrowRect, font, run, textWidth))
-return;
+getReplacementTextGeometry(paintOffset, contentRect, indicatorRect, replacementTextRect, arrowRect, font, run, textWidth);
 
 Path background;
 background.addRoundedRect(indicatorRect, FloatSize(replacementTextRoundedRectRadius, replacementTextRoundedRectRadius));
@@ -349,8 +348,21 @@
 repaint();
 }
 
-bool RenderEmbeddedObject::getReplacementTextGeometry(const LayoutPoint& accumulatedOffset, FloatRect& contentRect, FloatRect& indicatorRect, FloatRect& replacementTextRect, FloatRect& arrowRect, FontCascade& font, TextRun& run, float& textWidth) const
+LayoutRect RenderEmbeddedObject::getReplacementTextGeometry(const LayoutPoint& accumulatedOffset) const
 {
+FloatRect contentRect;
+FloatRect indicatorRect;
+FloatRect replacementTextRect;
+FloatRect arrowRect;
+FontCascade font;
+TextRun run(emptyString());
+float textWidth;
+getReplacementTextGeometry(accumulatedOffset, contentRect, indicatorRect, replacementTextRect, arrowRect, font, run, textWidth);
+return LayoutRect(indicatorRect);
+}
+
+void RenderEmbeddedObject::getReplacementTextGeometry(const LayoutPoint& accumulatedOffset, FloatRect& contentRect, FloatRect& indicatorRect, FloatRect& replacementTextRect, FloatRect& arrowRect, FontCascade& font, TextRun& run, float& textWidth) const
+{
 bool includesArrow = shouldUnavailablePluginMessageBeButton(page(), m_pluginUnavailabilityReason);
 
 contentRect = contentBoxRect();
@@ -381,23 +393,11 @@
 arrowRect.setWidth(arrowRect.height());
 indicatorRect.unite(arrowRect);
 }
-
-return true;
 }
 
 LayoutRect RenderEmbeddedObject::unavailablePluginIndicatorBounds(const LayoutPoint& accumulatedOffset) const
 {
-FloatRect contentRect;
-FloatRect indicatorRect;
-FloatRect replacementTextRect;
-FloatRect arrowRect;
-FontCascade font;
-TextRun run(emptyString());
-float textWidth;
-if (getReplacementTextGeometry(accumulatedOffset, contentRect, indicatorRect, replacementTextRect, arrowRect, font, run, textWidth))
-return LayoutRect(indicatorRect);
-
-return LayoutRect();
+return getReplacementTextGeometry(accumulatedOffset);
 }
 
 bool RenderEmbeddedObject::isReplacementObscured() const
@@ -580,15 +580,7 @@
 
 bool RenderEmbeddedObject::isInUnavailablePluginIndicator(const FloatPoint& point) const
 {
-FloatRect contentRect;
-FloatRect indicatorRect;
-FloatRect replacementTextRect;
-FloatRect arrowRect;
-FontCascade font;
-TextRun run(emptyString());
-float 

[webkit-changes] [218837] trunk/Source

2017-06-27 Thread wenson_hsieh
Title: [218837] trunk/Source








Revision 218837
Author wenson_hs...@apple.com
Date 2017-06-27 12:11:34 -0700 (Tue, 27 Jun 2017)


Log Message
Refactor drag start codepaths to plumb a DragItem to client layers
https://bugs.webkit.org/show_bug.cgi?id=173832
Work towards 

Reviewed by Ryosuke Niwa and Tim Horton.

Source/WebCore:

Refactor drag start logic in WebCore to set up a DragItem and propagate it to WebDragClient. No change in behavior.

* loader/EmptyClients.cpp:
* page/DragClient.h:
* page/DragController.cpp:
(WebCore::DragController::startDrag):
(WebCore::DragController::doImageDrag):
(WebCore::DragController::doSystemDrag):

Refactor to pass along a DragItem. Also, remove unused drag image anchor computation.

* page/DragController.h:
* platform/DragImage.h:
* platform/DragItem.h:

Add additional information needed to begin a drag on iOS.

(WebCore::DragItem::encode):
(WebCore::DragItem::decode):

Add IPC serialization/deserialization support for DragItem.

* platform/PasteboardWriterData.cpp:
(WebCore::PasteboardWriterData::isEmpty):
* platform/PasteboardWriterData.h:

Source/WebKit/mac:

Refactor code used to start a drag in WebKit1 to plumb a single DragItem from DragController to the client layer
in WebDragClient that contains all the information needed to begin a drag. Also renames _setDataInteractionData:
to _startDrag: to match logic used to start a drag on other platforms.

No behavior change -- the same information should be propagated to AppKit and UIKit when beginning a drag, only
through the DragItem struct.

* WebCoreSupport/WebDragClient.h:
* WebCoreSupport/WebDragClient.mm:
(WebDragClient::startDrag):
(WebDragClient::dragSourceActionMaskForPoint):
(WebDragClient::willPerformDragSourceAction):
(WebDragClient::beginDrag):
* WebView/WebView.mm:
(-[WebView _startDrag:]):
(-[WebView _setDataInteractionData:textIndicator:atClientPosition:anchorPoint:action:]): Deleted.
* WebView/WebViewInternal.h:

Source/WebKit/win:

Adjust for changes to WebDragClient::startDrag by pulling information out of DragItem.

* WebCoreSupport/WebDragClient.cpp:
(WebDragClient::startDrag):
* WebCoreSupport/WebDragClient.h:

Source/WebKit2:

Add support for serializing a DragItem over IPC. This encodes and decodes all members of DragItem except for the
PasteboardWriterData and the DragImage's image. The DragItem is sent over to the UI process in
WebDragClient::startDrag via the WebPageProxy::startDrag IPC message (renamed from WebPageProxy::setDragImage)
which now takes a DragItem.

* UIProcess/Cocoa/WebPageProxyCocoa.mm:
(WebKit::WebPageProxy::startDrag):
(WebKit::WebPageProxy::setDragImage): Deleted.
* UIProcess/PageClient.h:
* UIProcess/WebPageProxy.h:
* UIProcess/WebPageProxy.messages.in:

Rename SetDragImage to StartDrag and refactor to receive only a DragItem and shareable bitmap handle.

* UIProcess/ios/PageClientImplIOS.h:
* UIProcess/ios/PageClientImplIOS.mm:
(WebKit::PageClientImpl::startDrag):
(WebKit::PageClientImpl::startDataInteractionWithImage): Deleted.
* UIProcess/ios/WKContentViewInteraction.h:
* UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView _startDrag:item:]):
(-[WKContentView _startDataInteractionWithImage:withIndicatorData:atClientPosition:anchorPoint:action:]): Deleted.

Rename startDataInteractionWithImage to startDrag.

* UIProcess/mac/WebPageProxyMac.mm:
(WebKit::WebPageProxy::startDrag):
(WebKit::WebPageProxy::setDragImage): Deleted.
* WebProcess/WebCoreSupport/WebDragClient.cpp:
(WebKit::WebDragClient::startDrag):
* WebProcess/WebCoreSupport/WebDragClient.h:
* WebProcess/WebCoreSupport/gtk/WebDragClientGtk.cpp:
(WebKit::WebDragClient::startDrag):
* WebProcess/WebCoreSupport/mac/WebDragClientMac.mm:
(WebKit::WebDragClient::startDrag):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/loader/EmptyClients.cpp
trunk/Source/WebCore/page/DragClient.h
trunk/Source/WebCore/page/DragController.cpp
trunk/Source/WebCore/page/DragController.h
trunk/Source/WebCore/platform/DragImage.h
trunk/Source/WebCore/platform/DragItem.h
trunk/Source/WebCore/platform/PasteboardWriterData.cpp
trunk/Source/WebCore/platform/PasteboardWriterData.h
trunk/Source/WebKit/mac/ChangeLog
trunk/Source/WebKit/mac/WebCoreSupport/WebDragClient.h
trunk/Source/WebKit/mac/WebCoreSupport/WebDragClient.mm
trunk/Source/WebKit/mac/WebView/WebView.mm
trunk/Source/WebKit/mac/WebView/WebViewInternal.h
trunk/Source/WebKit/win/ChangeLog
trunk/Source/WebKit/win/WebCoreSupport/WebDragClient.cpp
trunk/Source/WebKit/win/WebCoreSupport/WebDragClient.h
trunk/Source/WebKit2/ChangeLog
trunk/Source/WebKit2/UIProcess/Cocoa/WebPageProxyCocoa.mm
trunk/Source/WebKit2/UIProcess/PageClient.h
trunk/Source/WebKit2/UIProcess/WebPageProxy.h
trunk/Source/WebKit2/UIProcess/WebPageProxy.messages.in
trunk/Source/WebKit2/UIProcess/ios/PageClientImplIOS.h
trunk/Source/WebKit2/UIProcess/ios/PageClientImplIOS.mm
trunk/Source/WebKit2/UIProcess/ios/WKContentViewInteraction.h

[webkit-changes] [218836] trunk

2017-06-27 Thread joepeck
Title: [218836] trunk








Revision 218836
Author joep...@webkit.org
Date 2017-06-27 10:43:03 -0700 (Tue, 27 Jun 2017)


Log Message
Web Inspector: Crash generating object preview for ArrayIterator
https://bugs.webkit.org/show_bug.cgi?id=173754


Reviewed by Saam Barati.

Source/_javascript_Core:

When Inspector generates an object preview for an ArrayIterator instance it made
a "clone" of the original ArrayIterator instance by constructing a new object with
the instance's structure. However, user code could have modified that instance's
structure, such as adding / removing properties. The `return` property had special
meaning, and our clone did not fill that slot. This approach is brittle in that
we weren't satisfying the expectations of an object with a particular Structure,
and the original goal of having Web Inspector peek values of built-in Iterators
was to avoid observable behavior.

This tightens Web Inspector's Iterator preview to only peek values if the
Iterators would actually be non-observable. It also builds an ArrayIterator
clone like a regular object construction.

* inspector/JSInjectedScriptHost.cpp:
(Inspector::cloneArrayIteratorObject):
Build up the Object from scratch with a new ArrayIterator prototype.

(Inspector::JSInjectedScriptHost::iteratorEntries):
Only clone and peek iterators if it would not be observable.
Also update iteration to be more in line with IterationOperations, such as when
we call iteratorClose.

* runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::JSGlobalObject):
(JSC::JSGlobalObject::init):
* runtime/JSGlobalObject.h:
(JSC::JSGlobalObject::stringIteratorProtocolWatchpoint):
* runtime/JSGlobalObjectInlines.h:
(JSC::JSGlobalObject::isStringPrototypeIteratorProtocolFastAndNonObservable):
Add a StringIterator WatchPoint in line with the Array/Map/Set iterator watchpoints.

* runtime/JSMap.cpp:
(JSC::JSMap::isIteratorProtocolFastAndNonObservable):
(JSC::JSMap::canCloneFastAndNonObservable):
* runtime/JSMap.h:
* runtime/JSSet.cpp:
(JSC::JSSet::isIteratorProtocolFastAndNonObservable):
(JSC::JSSet::canCloneFastAndNonObservable):
* runtime/JSSet.h:
Promote isIteratorProtocolFastAndNonObservable to a method.

* runtime/JSObject.cpp:
(JSC::canDoFastPutDirectIndex):
* runtime/JSTypeInfo.h:
(JSC::TypeInfo::isArgumentsType):
Helper to detect if an Object is an Arguments type.

LayoutTests:

* platform/mac/inspector/model/remote-object-expected.txt:
* inspector/model/remote-object-expected.txt:
* inspector/model/remote-object.html:
Test generating a preview for an ArrayIterator that has had a `return` property added to it.

* inspector/model/remote-object-mutated-iterators-expected.txt: Added.
* inspector/model/remote-object-mutated-iterators.html: Added.
Test generating a preview for different iterators after the IteratorPrototypes have been mutated.

* inspector/model/resources/remote-object-utilities.js: Added.
(runInBrowserTest):
(TestPage.registerInitializer):
(TestPage.registerInitializer.checkComplete):
(TestPage.registerInitializer.window.runSteps):
Share code for remote-object dump tests.

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/inspector/model/remote-object-expected.txt
trunk/LayoutTests/inspector/model/remote-object.html
trunk/LayoutTests/platform/mac/inspector/model/remote-object-expected.txt
trunk/Source/_javascript_Core/ChangeLog
trunk/Source/_javascript_Core/inspector/JSInjectedScriptHost.cpp
trunk/Source/_javascript_Core/runtime/JSGlobalObject.cpp
trunk/Source/_javascript_Core/runtime/JSGlobalObject.h
trunk/Source/_javascript_Core/runtime/JSGlobalObjectInlines.h
trunk/Source/_javascript_Core/runtime/JSMap.cpp
trunk/Source/_javascript_Core/runtime/JSMap.h
trunk/Source/_javascript_Core/runtime/JSObject.cpp
trunk/Source/_javascript_Core/runtime/JSSet.cpp
trunk/Source/_javascript_Core/runtime/JSSet.h
trunk/Source/_javascript_Core/runtime/JSTypeInfo.h


Added Paths

trunk/LayoutTests/inspector/model/remote-object-mutated-iterators-expected.txt
trunk/LayoutTests/inspector/model/remote-object-mutated-iterators.html
trunk/LayoutTests/inspector/model/resources/remote-object-utilities.js




Diff

Modified: trunk/LayoutTests/ChangeLog (218835 => 218836)

--- trunk/LayoutTests/ChangeLog	2017-06-27 15:59:48 UTC (rev 218835)
+++ trunk/LayoutTests/ChangeLog	2017-06-27 17:43:03 UTC (rev 218836)
@@ -1,3 +1,27 @@
+2017-06-27  Joseph Pecoraro  
+
+Web Inspector: Crash generating object preview for ArrayIterator
+https://bugs.webkit.org/show_bug.cgi?id=173754
+
+
+Reviewed by Saam Barati.
+
+* platform/mac/inspector/model/remote-object-expected.txt:
+* inspector/model/remote-object-expected.txt:
+* inspector/model/remote-object.html:
+Test generating a preview for an ArrayIterator that has had a `return` property added to it.
+
+* inspector/model/remote-object-mutated-iterators-expected.txt: Added.
+* inspector/model/remote-object-mutated-iterators.html: 

[webkit-changes] [218835] trunk

2017-06-27 Thread fred . wang
Title: [218835] trunk








Revision 218835
Author fred.w...@free.fr
Date 2017-06-27 08:59:48 -0700 (Tue, 27 Jun 2017)


Log Message
Some tests to verify forbidden frame navigation time out
https://bugs.webkit.org/show_bug.cgi?id=173657

Patch by Frederic Wang  on 2017-06-27
Reviewed by Chris Dumez.

LayoutTests/imported/w3c:

* web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_allow_top_navigation-2-expected.txt: Update the text expectation to PASS.
* web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_allow_top_navigation_by_user_activation_without_user_gesture-expected.txt: Ditto.
* web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_navigate_ancestor-1-expected.txt: Ditto.
* web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-3-expected.txt: Add the security error until bug 173162 is fixed.
* web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-3-expected.txt: Ditto.

Source/WebCore:

Currently some tests try and perform a forbidden frame navigation and verify the
corresponding console error. However, WebKit does not raise any exception for such error so
the tests have to wait until the timeout limit to complete, which makes execution slow.
This patch modifies the setters of window.location for which such error may happen in order
to raise an exception so the tests behave as expected.

No new tests, already covered by existing tests.

* page/Location.cpp: Adjust Location::setLocation to return a security exception and pass it
to the callers.
(WebCore::Location::setHref): Adjust function to possibly return an exception.
(WebCore::Location::setProtocol): Ditto.
(WebCore::Location::setHost): Ditto.
(WebCore::Location::setHostname): Ditto.
(WebCore::Location::setPort): Ditto.
(WebCore::Location::setPathname): Ditto.
(WebCore::Location::setSearch): Ditto.
(WebCore::Location::setHash): Ditto.
(WebCore::Location::assign): Ditto.
(WebCore::Location::setLocation): FrameLoader::findFrameForNavigation is really only used
to verify whether navigating m_frame is permitted so it is more simple and clearer to do it
directly. When navigation is not permitted, this function now raises a security exception.
* page/Location.h: Modify some setters to return an ExceptionOr.
* page/Location.idl: Allow some setters to raise an exception.

LayoutTests:

* fast/frames/sandboxed-iframe-navigation-top-denied-expected.txt: Add the security error.
* http/tests/security/frameNavigation/inactive-function-in-popup-navigate-child.html: Adjust
the test to catch and dump the exception and complete immediately.
* http/tests/security/frameNavigation/inactive-function-in-popup-navigate-child-expected.txt:
Add the dumped security error exception.

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/fast/frames/sandboxed-iframe-navigation-top-denied-expected.txt
trunk/LayoutTests/http/tests/security/frameNavigation/inactive-function-in-popup-navigate-child-expected.txt
trunk/LayoutTests/http/tests/security/frameNavigation/inactive-function-in-popup-navigate-child.html
trunk/LayoutTests/imported/w3c/ChangeLog
trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_allow_top_navigation-2-expected.txt
trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_allow_top_navigation_by_user_activation_without_user_gesture-expected.txt
trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_navigate_ancestor-1-expected.txt
trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-3-expected.txt
trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-3-expected.txt
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/page/Location.cpp
trunk/Source/WebCore/page/Location.h
trunk/Source/WebCore/page/Location.idl




Diff

Modified: trunk/LayoutTests/ChangeLog (218834 => 218835)

--- trunk/LayoutTests/ChangeLog	2017-06-27 14:49:20 UTC (rev 218834)
+++ trunk/LayoutTests/ChangeLog	2017-06-27 15:59:48 UTC (rev 218835)
@@ -1,3 +1,16 @@
+2017-06-27  Frederic Wang  
+
+Some tests to verify forbidden frame navigation time out
+https://bugs.webkit.org/show_bug.cgi?id=173657
+
+Reviewed by Chris Dumez.
+
+* fast/frames/sandboxed-iframe-navigation-top-denied-expected.txt: Add the security error.
+* http/tests/security/frameNavigation/inactive-function-in-popup-navigate-child.html: Adjust
+the test to catch and dump the exception and complete immediately.
+* 

[webkit-changes] [218834] trunk/Source/WebKit2

2017-06-27 Thread wenson_hsieh
Title: [218834] trunk/Source/WebKit2








Revision 218834
Author wenson_hs...@apple.com
Date 2017-06-27 07:49:20 -0700 (Tue, 27 Jun 2017)


Log Message
[iOS DnD] [WK2] WKWebView does not handle drag sessions that exit and re-enter
https://bugs.webkit.org/show_bug.cgi?id=173856


Reviewed by Ryosuke Niwa.

Upon exiting a WKContentView, the dropSession tracked by _dataInteractionState is not cleared out. If the drag
session re-enters the WKWebView, a _different_ UIDropSession is sent to the drop delegate, causing us to bail
from handling the session altogether in -dropInteraction:canHandleSession:. To fix this, we need to clear out
the dropSession when the drag session exits the view.

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

Modified Paths

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




Diff

Modified: trunk/Source/WebKit2/ChangeLog (218833 => 218834)

--- trunk/Source/WebKit2/ChangeLog	2017-06-27 14:47:29 UTC (rev 218833)
+++ trunk/Source/WebKit2/ChangeLog	2017-06-27 14:49:20 UTC (rev 218834)
@@ -1,3 +1,19 @@
+2017-06-27  Wenson Hsieh  
+
+[iOS DnD] [WK2] WKWebView does not handle drag sessions that exit and re-enter
+https://bugs.webkit.org/show_bug.cgi?id=173856
+
+
+Reviewed by Ryosuke Niwa.
+
+Upon exiting a WKContentView, the dropSession tracked by _dataInteractionState is not cleared out. If the drag
+session re-enters the WKWebView, a _different_ UIDropSession is sent to the drop delegate, causing us to bail
+from handling the session altogether in -dropInteraction:canHandleSession:. To fix this, we need to clear out
+the dropSession when the drag session exits the view.
+
+* UIProcess/ios/WKContentViewInteraction.mm:
+(-[WKContentView dropInteraction:sessionDidExit:]):
+
 2017-06-26  Chris Dumez  
 
 WebsiteDataStore::fetchDataForTopPrivatelyControlledDomains() is inefficient


Modified: trunk/Source/WebKit2/UIProcess/ios/WKContentViewInteraction.mm (218833 => 218834)

--- trunk/Source/WebKit2/UIProcess/ios/WKContentViewInteraction.mm	2017-06-27 14:47:29 UTC (rev 218833)
+++ trunk/Source/WebKit2/UIProcess/ios/WKContentViewInteraction.mm	2017-06-27 14:49:20 UTC (rev 218834)
@@ -4712,6 +4712,8 @@
 auto dragData = [self dragDataForDropSession:session dragDestinationAction:WKDragDestinationActionAny];
 _page->dragExited(dragData, "data interaction pasteboard");
 _page->resetCurrentDragInformation();
+
+_dataInteractionState.dropSession = nil;
 }
 
 - (void)dropInteraction:(UIDropInteraction *)interaction performDrop:(id )session






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


[webkit-changes] [218833] trunk/LayoutTests

2017-06-27 Thread commit-queue
Title: [218833] trunk/LayoutTests








Revision 218833
Author commit-qu...@webkit.org
Date 2017-06-27 07:47:29 -0700 (Tue, 27 Jun 2017)


Log Message
LayoutTest webrtc/datachannel/multiple-connections.html is a flaky timeout
https://bugs.webkit.org/show_bug.cgi?id=173853

Patch by Youenn Fablet  on 2017-06-27
Reviewed by Eric Carlson.

* webrtc/datachannel/multiple-connections.html:

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/webrtc/datachannel/multiple-connections.html




Diff

Modified: trunk/LayoutTests/ChangeLog (218832 => 218833)

--- trunk/LayoutTests/ChangeLog	2017-06-27 06:41:51 UTC (rev 218832)
+++ trunk/LayoutTests/ChangeLog	2017-06-27 14:47:29 UTC (rev 218833)
@@ -1,3 +1,12 @@
+2017-06-27  Youenn Fablet  
+
+LayoutTest webrtc/datachannel/multiple-connections.html is a flaky timeout
+https://bugs.webkit.org/show_bug.cgi?id=173853
+
+Reviewed by Eric Carlson.
+
+* webrtc/datachannel/multiple-connections.html:
+
 2017-06-26  Antti Koivisto  
 
 REGRESSION (AsyncImageDecoding): A tab with the WWDC keynote paused is killed for using excessive power (Image thrashing)


Modified: trunk/LayoutTests/webrtc/datachannel/multiple-connections.html (218832 => 218833)

--- trunk/LayoutTests/webrtc/datachannel/multiple-connections.html	2017-06-27 06:41:51 UTC (rev 218832)
+++ trunk/LayoutTests/webrtc/datachannel/multiple-connections.html	2017-06-27 14:47:29 UTC (rev 218833)
@@ -26,7 +26,7 @@
 remoteChannel._onmessage_ = () => { resolve(); }
 };
 });
-setTimeout(() => { reject("Test timed out"); }, 1000);
+setTimeout(() => { reject("Test timed out"); }, 5000);
 }).then(() => {
   localChannel.close();
   remoteChannel.close();






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


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

2017-06-27 Thread commit-queue
Title: [218832] trunk/Source/WebCore








Revision 218832
Author commit-qu...@webkit.org
Date 2017-06-26 23:41:51 -0700 (Mon, 26 Jun 2017)


Log Message
[GTK] Layout Test webrtc/video.html issues "stack smashing detected"
https://bugs.webkit.org/show_bug.cgi?id=173862

Patch by Fujii Hironori  on 2017-06-26
Reviewed by Carlos Garcia Campos.

Tests: webrtc/video.html

Passing a bool variable to g_object_get causes out-of-bound write.
gboolean should be used, which is 4 bytes while bool is one byte.

* platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
(WebCore::MediaPlayerPrivateGStreamerBase::muted): Use gboolean instead of bool.
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamerOwr.cpp:
(WebCore::MediaPlayerPrivateGStreamerOwr::trackEnded): Ditto.

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp
trunk/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerOwr.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (218831 => 218832)

--- trunk/Source/WebCore/ChangeLog	2017-06-27 06:12:31 UTC (rev 218831)
+++ trunk/Source/WebCore/ChangeLog	2017-06-27 06:41:51 UTC (rev 218832)
@@ -1,3 +1,20 @@
+2017-06-26  Fujii Hironori  
+
+[GTK] Layout Test webrtc/video.html issues "stack smashing detected"
+https://bugs.webkit.org/show_bug.cgi?id=173862
+
+Reviewed by Carlos Garcia Campos.
+
+Tests: webrtc/video.html
+
+Passing a bool variable to g_object_get causes out-of-bound write.
+gboolean should be used, which is 4 bytes while bool is one byte.
+
+* platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
+(WebCore::MediaPlayerPrivateGStreamerBase::muted): Use gboolean instead of bool.
+* platform/graphics/gstreamer/MediaPlayerPrivateGStreamerOwr.cpp:
+(WebCore::MediaPlayerPrivateGStreamerOwr::trackEnded): Ditto.
+
 2017-06-26  Chris Dumez  
 
 WebsiteDataStore::fetchDataForTopPrivatelyControlledDomains() is inefficient


Modified: trunk/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp (218831 => 218832)

--- trunk/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp	2017-06-27 06:12:31 UTC (rev 218831)
+++ trunk/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp	2017-06-27 06:41:51 UTC (rev 218832)
@@ -500,7 +500,7 @@
 if (!m_volumeElement)
 return false;
 
-bool muted;
+gboolean muted;
 g_object_get(m_volumeElement.get(), "mute", , nullptr);
 return muted;
 }


Modified: trunk/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerOwr.cpp (218831 => 218832)

--- trunk/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerOwr.cpp	2017-06-27 06:12:31 UTC (rev 218831)
+++ trunk/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerOwr.cpp	2017-06-27 06:41:51 UTC (rev 218832)
@@ -360,8 +360,8 @@
 videoTrack->setSelected(false);
 }
 
-bool audioDisabled;
-bool videoDisabled;
+gboolean audioDisabled;
+gboolean videoDisabled;
 g_object_get(m_audioRenderer.get(), "disabled", , nullptr);
 g_object_get(m_videoRenderer.get(), "disabled", , nullptr);
 if (audioDisabled && videoDisabled) {






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


[webkit-changes] [218831] releases/WebKitGTK/webkit-2.16.5/

2017-06-27 Thread carlosgc
Title: [218831] releases/WebKitGTK/webkit-2.16.5/








Revision 218831
Author carlo...@webkit.org
Date 2017-06-26 23:12:31 -0700 (Mon, 26 Jun 2017)


Log Message
WebKitGTK+ 2.16.5

Added Paths

releases/WebKitGTK/webkit-2.16.5/




Diff




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


[webkit-changes] [218830] releases/WebKitGTK/webkit-2.16

2017-06-27 Thread carlosgc
Title: [218830] releases/WebKitGTK/webkit-2.16








Revision 218830
Author carlo...@webkit.org
Date 2017-06-26 23:11:56 -0700 (Mon, 26 Jun 2017)


Log Message
Unreviewed. Update OptionsGTK.cmake and NEWS for 2.16.5 release.

.:

* Source/cmake/OptionsGTK.cmake:

Source/WebKit2:

* gtk/NEWS: Add release notes for 2.16.5.

Modified Paths

releases/WebKitGTK/webkit-2.16/ChangeLog
releases/WebKitGTK/webkit-2.16/Source/WebKit2/ChangeLog
releases/WebKitGTK/webkit-2.16/Source/WebKit2/gtk/NEWS
releases/WebKitGTK/webkit-2.16/Source/cmake/OptionsGTK.cmake




Diff

Modified: releases/WebKitGTK/webkit-2.16/ChangeLog (218829 => 218830)

--- releases/WebKitGTK/webkit-2.16/ChangeLog	2017-06-27 06:01:27 UTC (rev 218829)
+++ releases/WebKitGTK/webkit-2.16/ChangeLog	2017-06-27 06:11:56 UTC (rev 218830)
@@ -1,3 +1,9 @@
+2017-06-26  Carlos Garcia Campos  
+
+Unreviewed. Update OptionsGTK.cmake and NEWS for 2.16.5 release.
+
+* Source/cmake/OptionsGTK.cmake:
+
 2017-06-20  Carlos Garcia Campos  
 
 Unreviewed. Update OptionsGTK.cmake and NEWS for 2.16.4 release.


Modified: releases/WebKitGTK/webkit-2.16/Source/WebKit2/ChangeLog (218829 => 218830)

--- releases/WebKitGTK/webkit-2.16/Source/WebKit2/ChangeLog	2017-06-27 06:01:27 UTC (rev 218829)
+++ releases/WebKitGTK/webkit-2.16/Source/WebKit2/ChangeLog	2017-06-27 06:11:56 UTC (rev 218830)
@@ -1,3 +1,9 @@
+2017-06-26  Carlos Garcia Campos  
+
+Unreviewed. Update OptionsGTK.cmake and NEWS for 2.16.5 release.
+
+* gtk/NEWS: Add release notes for 2.16.5.
+
 2017-06-25  Michael Catanzaro  
 
 Unreviewed, rolling out r215190.


Modified: releases/WebKitGTK/webkit-2.16/Source/WebKit2/gtk/NEWS (218829 => 218830)

--- releases/WebKitGTK/webkit-2.16/Source/WebKit2/gtk/NEWS	2017-06-27 06:01:27 UTC (rev 218829)
+++ releases/WebKitGTK/webkit-2.16/Source/WebKit2/gtk/NEWS	2017-06-27 06:11:56 UTC (rev 218830)
@@ -1,4 +1,11 @@
 ==
+WebKitGTK+  2.16.5
+==
+
+  - Fix a web process crash when page finishes loading in several web sites.
+  - Fix the menu of select elements not showing in some cases under Wayland.
+
+==
 WebKitGTK+  2.16.4
 ==
 


Modified: releases/WebKitGTK/webkit-2.16/Source/cmake/OptionsGTK.cmake (218829 => 218830)

--- releases/WebKitGTK/webkit-2.16/Source/cmake/OptionsGTK.cmake	2017-06-27 06:01:27 UTC (rev 218829)
+++ releases/WebKitGTK/webkit-2.16/Source/cmake/OptionsGTK.cmake	2017-06-27 06:11:56 UTC (rev 218830)
@@ -2,7 +2,7 @@
 
 set(PROJECT_VERSION_MAJOR 2)
 set(PROJECT_VERSION_MINOR 16)
-set(PROJECT_VERSION_MICRO 4)
+set(PROJECT_VERSION_MICRO 5)
 set(PROJECT_VERSION ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_MICRO})
 set(WEBKITGTK_API_VERSION 4.0)
 
@@ -14,8 +14,8 @@
 
 # Libtool library version, not to be confused with API version.
 # See http://www.gnu.org/software/libtool/manual/html_node/Libtool-versioning.html
-CALCULATE_LIBRARY_VERSIONS_FROM_LIBTOOL_TRIPLE(WEBKIT2 56 7 19)
-CALCULATE_LIBRARY_VERSIONS_FROM_LIBTOOL_TRIPLE(_javascript_CORE 23 11 5)
+CALCULATE_LIBRARY_VERSIONS_FROM_LIBTOOL_TRIPLE(WEBKIT2 56 8 19)
+CALCULATE_LIBRARY_VERSIONS_FROM_LIBTOOL_TRIPLE(_javascript_CORE 23 12 5)
 
 # These are shared variables, but we special case their definition so that we can use the
 # CMAKE_INSTALL_* variables that are populated by the GNUInstallDirs macro.






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


[webkit-changes] [218829] releases/WebKitGTK/webkit-2.16

2017-06-27 Thread carlosgc
Title: [218829] releases/WebKitGTK/webkit-2.16








Revision 218829
Author carlo...@webkit.org
Date 2017-06-26 23:01:27 -0700 (Mon, 26 Jun 2017)


Log Message
Merge r218798 - Unreviewed, rolling out r215190.

Broke product select element on GNOME Bugzilla

Reverted changeset:

"[GTK] Misplaced right click menu on web page due to
deprecated gtk_menu_popup()"
https://bugs.webkit.org/show_bug.cgi?id=170553
http://trac.webkit.org/changeset/215190

Modified Paths

releases/WebKitGTK/webkit-2.16/Source/WebKit2/ChangeLog
releases/WebKitGTK/webkit-2.16/Source/WebKit2/UIProcess/gtk/WebContextMenuProxyGtk.cpp
releases/WebKitGTK/webkit-2.16/Source/WebKit2/UIProcess/gtk/WebPopupMenuProxyGtk.cpp
releases/WebKitGTK/webkit-2.16/Tools/ChangeLog
releases/WebKitGTK/webkit-2.16/Tools/MiniBrowser/gtk/BrowserSearchBar.c




Diff

Modified: releases/WebKitGTK/webkit-2.16/Source/WebKit2/ChangeLog (218828 => 218829)

--- releases/WebKitGTK/webkit-2.16/Source/WebKit2/ChangeLog	2017-06-27 05:49:43 UTC (rev 218828)
+++ releases/WebKitGTK/webkit-2.16/Source/WebKit2/ChangeLog	2017-06-27 06:01:27 UTC (rev 218829)
@@ -1,3 +1,16 @@
+2017-06-25  Michael Catanzaro  
+
+Unreviewed, rolling out r215190.
+
+Broke product select element on GNOME Bugzilla
+
+Reverted changeset:
+
+"[GTK] Misplaced right click menu on web page due to
+deprecated gtk_menu_popup()"
+https://bugs.webkit.org/show_bug.cgi?id=170553
+http://trac.webkit.org/changeset/215190
+
 2017-06-20  Carlos Garcia Campos  
 
 Unreviewed. Update OptionsGTK.cmake and NEWS for 2.16.4 release.


Modified: releases/WebKitGTK/webkit-2.16/Source/WebKit2/UIProcess/gtk/WebContextMenuProxyGtk.cpp (218828 => 218829)

--- releases/WebKitGTK/webkit-2.16/Source/WebKit2/UIProcess/gtk/WebContextMenuProxyGtk.cpp	2017-06-27 05:49:43 UTC (rev 218828)
+++ releases/WebKitGTK/webkit-2.16/Source/WebKit2/UIProcess/gtk/WebContextMenuProxyGtk.cpp	2017-06-27 06:01:27 UTC (rev 218829)
@@ -167,13 +167,8 @@
 NativeWebMouseEvent* mouseEvent = m_page->currentlyProcessedMouseDownEvent();
 const GdkEvent* event = mouseEvent ? mouseEvent->nativeEvent() : 0;
 gtk_menu_attach_to_widget(m_menu, GTK_WIDGET(m_webView), nullptr);
-
-#if GTK_CHECK_VERSION(3, 22, 0)
-gtk_menu_popup_at_pointer(m_menu, event);
-#else
 gtk_menu_popup(m_menu, nullptr, nullptr, reinterpret_cast(menuPositionFunction), this,
event ? event->button.button : 3, event ? event->button.time : GDK_CURRENT_TIME);
-#endif
 }
 
 void WebContextMenuProxyGtk::showContextMenuWithItems(const Vector& items)
@@ -209,7 +204,6 @@
 gtk_widget_destroy(GTK_WIDGET(m_menu));
 }
 
-#if !GTK_CHECK_VERSION(3, 22, 0)
 void WebContextMenuProxyGtk::menuPositionFunction(GtkMenu* menu, gint* x, gint* y, gboolean* pushIn, WebContextMenuProxyGtk* popupMenu)
 {
 GtkRequisition menuSize;
@@ -226,7 +220,6 @@
 
 *pushIn = FALSE;
 }
-#endif
 
 } // namespace WebKit
 #endif // ENABLE(CONTEXT_MENUS)


Modified: releases/WebKitGTK/webkit-2.16/Source/WebKit2/UIProcess/gtk/WebPopupMenuProxyGtk.cpp (218828 => 218829)

--- releases/WebKitGTK/webkit-2.16/Source/WebKit2/UIProcess/gtk/WebPopupMenuProxyGtk.cpp	2017-06-27 05:49:43 UTC (rev 218828)
+++ releases/WebKitGTK/webkit-2.16/Source/WebKit2/UIProcess/gtk/WebPopupMenuProxyGtk.cpp	2017-06-27 06:01:27 UTC (rev 218829)
@@ -95,6 +95,9 @@
 
 resetTypeAheadFindState();
 
+IntPoint menuPosition = convertWidgetPointToScreenPoint(m_webView, rect.location());
+menuPosition.move(0, rect.height());
+
 // This approach follows the one in gtkcombobox.c.
 GtkRequisition requisition;
 gtk_widget_set_size_request(m_popup, -1, -1);
@@ -101,33 +104,13 @@
 gtk_widget_get_preferred_size(m_popup, , nullptr);
 gtk_widget_set_size_request(m_popup, std::max(rect.width(), requisition.width), -1);
 
-// Reposition the menu after giving it a new width.
-gtk_menu_reposition(GTK_MENU(m_popup));
-
-#if GTK_CHECK_VERSION(3, 22, 0)
-// With a recent GTK+ we calculate an offset from the position where the menu would
-// be normally popped up, and use it as value of the "rect-anchor-dy" property.
-// The code in gtkcombobox.c starts with the offset hardcoded as -2 as well.
-IntPoint menuPosition { 0, -2 };
-#else
-IntPoint menuPosition = convertWidgetPointToScreenPoint(m_webView, rect.location());
-menuPosition.move(0, rect.height());
-#endif
-
 if (int itemCount = items.size()) {
 GUniquePtr children(gtk_container_get_children(GTK_CONTAINER(m_popup)));
 int i;
 GList* child;
 for (i = 0, child = children.get(); i < itemCount; i++, child = g_list_next(child)) {
-#if GTK_CHECK_VERSION(3, 22, 0)
-// Do not count the last one: we are using the top-left corner of the
-// item (GDK_GRAVITY_NORTH_WEST) as reference point of the popup.
-if (i >= selectedIndex)
-break;