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

2017-01-13 Thread carlosgc
Title: [210728] trunk/Source/WebKit2








Revision 210728
Author carlo...@webkit.org
Date 2017-01-13 00:17:13 -0800 (Fri, 13 Jan 2017)


Log Message
[SOUP] Do not use the legacy session ID in WebFrameNetworkingContext::storageSession()
https://bugs.webkit.org/show_bug.cgi?id=166970

Reviewed by Sergio Villar Senin.

Get the session for the current page instead.

* WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.cpp:
(WebKit::WebFrameNetworkingContext::storageSession):

Modified Paths

trunk/Source/WebKit2/ChangeLog
trunk/Source/WebKit2/WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.cpp




Diff

Modified: trunk/Source/WebKit2/ChangeLog (210727 => 210728)

--- trunk/Source/WebKit2/ChangeLog	2017-01-13 07:36:54 UTC (rev 210727)
+++ trunk/Source/WebKit2/ChangeLog	2017-01-13 08:17:13 UTC (rev 210728)
@@ -1,3 +1,15 @@
+2017-01-12  Carlos Garcia Campos  
+
+[SOUP] Do not use the legacy session ID in WebFrameNetworkingContext::storageSession()
+https://bugs.webkit.org/show_bug.cgi?id=166970
+
+Reviewed by Sergio Villar Senin.
+
+Get the session for the current page instead.
+
+* WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.cpp:
+(WebKit::WebFrameNetworkingContext::storageSession):
+
 2017-01-12  Joseph Pecoraro  
 
 Remove unnecessary includes of Page.h


Modified: trunk/Source/WebKit2/WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.cpp (210727 => 210728)

--- trunk/Source/WebKit2/WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.cpp	2017-01-13 07:36:54 UTC (rev 210727)
+++ trunk/Source/WebKit2/WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.cpp	2017-01-13 08:17:13 UTC (rev 210728)
@@ -83,9 +83,10 @@
 
 NetworkStorageSession& WebFrameNetworkingContext::storageSession() const
 {
-if (frame() && frame()->page()->usesEphemeralSession())
-return *NetworkStorageSession::storageSession(SessionID::legacyPrivateSessionID());
-
+if (frame()) {
+if (auto* storageSession = NetworkStorageSession::storageSession(frame()->page()->sessionID()))
+return *storageSession;
+}
 return NetworkStorageSession::defaultStorageSession();
 }
 






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


[webkit-changes] [210729] trunk/Source

2017-01-13 Thread carlosgc
Title: [210729] trunk/Source








Revision 210729
Author carlo...@webkit.org
Date 2017-01-13 00:24:54 -0800 (Fri, 13 Jan 2017)


Log Message
[SOUP] Simplify cookie storage handling
https://bugs.webkit.org/show_bug.cgi?id=166967

Reviewed by Sergio Villar Senin.

Source/WebCore:

We currently have a global cookie storage, and several create() methods in SoupNetworkSession to create sessions
with different cookie jars. This could be simplified by moving the cookie storage handling to
NetworkStorageSession and removing all create() methods from SoupNetworkSession. This patch also removes the
default SoupNetworkSession in favor of using the default NetworkStorageSession.

* platform/network/NetworkStorageSession.h: Add a default cookie storage to be used when the
NetworkStorageSession doesn't have a platform soup session.
* platform/network/soup/CookieJarSoup.cpp: Remove the global cookie storage handling.
(WebCore::setCookiesFromDOM): Use NetworkStorageSession::cookieStorage() instead.
(WebCore::cookiesForSession): Ditto.
(WebCore::cookiesEnabled): Check the policy instead like all other ports do, since now we will always have a
default shared cookie jar.
(WebCore::getRawCookies): Use NetworkStorageSession::cookieStorage() instead.
(WebCore::deleteCookie): Ditto.
(WebCore::addCookie): Ditto.
(WebCore::getHostnamesWithCookies): Ditto.
(WebCore::deleteCookiesForHostnames): Ditto.
(WebCore::deleteAllCookies): Ditto.
* platform/network/soup/CookieJarSoup.h: Removed.
* platform/network/soup/CookieStorageSoup.cpp:
(WebCore::soupCookiesChanged): Use the cookie storage from the NetworkStorageSession::defaultStorageSession().
(WebCore::startObservingCookieChanges): Ditto.
(WebCore::stopObservingCookieChanges): Ditto.
* platform/network/soup/DNSSoup.cpp:
(WebCore::DNSResolveQueue::updateIsUsingProxy): Get the SoupSession from the NetworkStorageSession::defaultStorageSession().
(WebCore::DNSResolveQueue::platformResolve): Ditto.
* platform/network/soup/NetworkStorageSessionSoup.cpp:
(WebCore::NetworkStorageSession::NetworkStorageSession):
(WebCore::NetworkStorageSession::ensurePrivateBrowsingSession): Create a new SoupNetworkSession without
providing a cookie storage to ensure it creates its own private one.
(WebCore::NetworkStorageSession::switchToNewTestingSession): Ditto.
(WebCore::NetworkStorageSession::soupNetworkSession): Create the SoupNetworkSession on demand passing the global
shared cookie storage.
(WebCore::NetworkStorageSession::cookieStorage): Return the cookie storage from the SoupNetworkSession if we
have one, otherwise create the global shared one and return it.
* platform/network/soup/ResourceHandleSoup.cpp:
(WebCore::sessionFromContext): Get the SoupSession from the NetworkStorageSession::defaultStorageSession().
* platform/network/soup/SoupNetworkSession.cpp:
(WebCore::SoupNetworkSession::SoupNetworkSession): Remove all create methods and the unused constructor that
receives a SoupSession. Allow to pass a nullptr SoupCookieJar and create one in such case.
* platform/network/soup/SoupNetworkSession.h:

Source/WebKit2:

Get the SoupSession from NetworkStorageSession::defaultStorageSession().

* NetworkProcess/CustomProtocols/soup/CustomProtocolManagerSoup.cpp:
(WebKit::CustomProtocolManager::registerScheme): Get the SoupSession from NetworkStorageSession::defaultStorageSession().
* NetworkProcess/efl/NetworkProcessMainEfl.cpp: Ditto.
* NetworkProcess/soup/NetworkProcessSoup.cpp:
(WebKit::NetworkProcess::userPreferredLanguagesChanged): Ditto.
(WebKit::NetworkProcess::platformInitializeNetworkProcess): SoupNetworkSession::clearOldSoupCache is static.
* WebProcess/Cookies/soup/WebCookieManagerSoup.cpp:
(WebKit::WebCookieManager::platformGetHTTPCookieAcceptPolicy): Use the cookie storage from NetworkStorageSession::defaultStorageSession().
(WebKit::WebCookieManager::setCookiePersistentStorage): Ditto.
* WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.cpp:
(WebKit::WebFrameNetworkingContext::setCookieAcceptPolicyForAllContexts): Ditto.
* WebProcess/efl/WebProcessMainEfl.cpp:

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/platform/network/NetworkStorageSession.h
trunk/Source/WebCore/platform/network/soup/CookieJarSoup.cpp
trunk/Source/WebCore/platform/network/soup/CookieStorageSoup.cpp
trunk/Source/WebCore/platform/network/soup/DNSSoup.cpp
trunk/Source/WebCore/platform/network/soup/NetworkStorageSessionSoup.cpp
trunk/Source/WebCore/platform/network/soup/ResourceHandleSoup.cpp
trunk/Source/WebCore/platform/network/soup/SoupNetworkSession.cpp
trunk/Source/WebCore/platform/network/soup/SoupNetworkSession.h
trunk/Source/WebKit2/ChangeLog
trunk/Source/WebKit2/NetworkProcess/CustomProtocols/soup/CustomProtocolManagerSoup.cpp
trunk/Source/WebKit2/NetworkProcess/efl/NetworkProcessMainEfl.cpp
trunk/Source/WebKit2/NetworkProcess/soup/NetworkProcessSoup.cpp
trunk/Source/WebKit2/WebProcess/Cookies/soup/WebCookieManagerSoup.cpp
trunk/Source/WebKit2/WebProcess/WebCoreSupport/soup/WebFrameN

[webkit-changes] [210730] trunk

2017-01-13 Thread eric . carlson
Title: [210730] trunk








Revision 210730
Author eric.carl...@apple.com
Date 2017-01-13 06:26:17 -0800 (Fri, 13 Jan 2017)


Log Message
REGRESSION (r210621): [mac-wk2] LayoutTest fast/mediastream/MediaStream-video-element-video-tracks-disabled-then-enabled.html timing out
https://bugs.webkit.org/show_bug.cgi?id=166980
Source/WebCore:


Unreviewed, fix test broken by r210621.

No new tests, updated fast/mediastream/MediaStream-video-element-video-tracks-disabled-then-enabled.html
and results.

* platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.mm:
(-[WebAVSampleBufferStatusChangeListener observeValueForKeyPath:ofObject:change:context:]):
  Drive-by fix: null-check parent.
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::layerStatusDidChange): Do nothing if the layer
  has changed since the KVO notification.

LayoutTests:


Unreviewed, fix test broken by r210621.

* fast/mediastream/MediaStream-video-element-video-tracks-disabled-then-enabled-expected.txt:
* fast/mediastream/MediaStream-video-element-video-tracks-disabled-then-enabled.html:
* platform/mac-wk2/TestExpectations: Un-skip fixed test.

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/fast/mediastream/MediaStream-video-element-video-tracks-disabled-then-enabled-expected.txt
trunk/LayoutTests/fast/mediastream/MediaStream-video-element-video-tracks-disabled-then-enabled.html
trunk/LayoutTests/platform/mac-wk2/TestExpectations
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.mm




Diff

Modified: trunk/LayoutTests/ChangeLog (210729 => 210730)

--- trunk/LayoutTests/ChangeLog	2017-01-13 08:24:54 UTC (rev 210729)
+++ trunk/LayoutTests/ChangeLog	2017-01-13 14:26:17 UTC (rev 210730)
@@ -1,3 +1,14 @@
+2017-01-13  Eric Carlson  
+
+REGRESSION (r210621): [mac-wk2] LayoutTest fast/mediastream/MediaStream-video-element-video-tracks-disabled-then-enabled.html timing out
+https://bugs.webkit.org/show_bug.cgi?id=166980
+
+Unreviewed, fix test broken by r210621.
+
+* fast/mediastream/MediaStream-video-element-video-tracks-disabled-then-enabled-expected.txt:
+* fast/mediastream/MediaStream-video-element-video-tracks-disabled-then-enabled.html:
+* platform/mac-wk2/TestExpectations: Un-skip fixed test.
+
 2017-01-12  Gyuyoung Kim  
 
 [EFL] Skip to test imported/w3c/web-platform-tests


Modified: trunk/LayoutTests/fast/mediastream/MediaStream-video-element-video-tracks-disabled-then-enabled-expected.txt (210729 => 210730)

--- trunk/LayoutTests/fast/mediastream/MediaStream-video-element-video-tracks-disabled-then-enabled-expected.txt	2017-01-13 08:24:54 UTC (rev 210729)
+++ trunk/LayoutTests/fast/mediastream/MediaStream-video-element-video-tracks-disabled-then-enabled-expected.txt	2017-01-13 14:26:17 UTC (rev 210730)
@@ -7,7 +7,7 @@
 video.src = ""
 
  === beginning round of pixel tests ===
-PASS pixel was white
+PASS pixel was black
 
  === all video tracks disabled ===
 PASS pixel was black.
@@ -19,7 +19,7 @@
 video.play()
 
  === beginning round of pixel tests ===
-PASS pixel was white
+PASS pixel was black
 
  === all video tracks disabled ===
 PASS pixel was black.


Modified: trunk/LayoutTests/fast/mediastream/MediaStream-video-element-video-tracks-disabled-then-enabled.html (210729 => 210730)

--- trunk/LayoutTests/fast/mediastream/MediaStream-video-element-video-tracks-disabled-then-enabled.html	2017-01-13 08:24:54 UTC (rev 210729)
+++ trunk/LayoutTests/fast/mediastream/MediaStream-video-element-video-tracks-disabled-then-enabled.html	2017-01-13 14:26:17 UTC (rev 210730)
@@ -14,6 +14,7 @@
 let context;
 let mediaStream;
 let video;
+let havePlayed = false;
 
 let buffer;
 
@@ -57,6 +58,7 @@
 evalAndLog('video.play()');
 beginTestRound();
 } else
+video.pause();
 finishJSTest();
 }
 
@@ -81,7 +83,7 @@
 context.drawImage(video, 0, 0, canvas.width, canvas.height);
 buffer = context.getImageData(30, 242, 1, 1).data;
 
-if (mediaStream.getVideoTracks()[0].enabled)
+if (mediaStream.getVideoTracks()[0].enabled && havePlayed)
 return isPixelWhite(buffer);
 else
 return isPixelBlack(buffer);
@@ -100,7 +102,7 @@
 function beginTestRound()
 {
 debug(' === beginning round of pixel tests ===');
-attempt(1, checkPixels, disableAllTracks, 'pixel was white');
+attempt(1, checkPixels, disableAllTracks, 'pixel was black');
 }
 
 function canplay()


Modified: trunk/LayoutTests/platform/mac-wk2/TestExpectations (210729 => 210730)

--- trunk/LayoutTests/platform/mac-wk2/TestExpectations	2017-01-13 08:24:54 UTC (rev 210729)
+++ trunk/LayoutTests/platform/mac-wk2/TestExpectations	2017-01-13 14:26:17 UTC (rev 210730)
@@ -611,5 +611,3 @@
 webkit.org/b/166765 [ Debug ] http/tests/pointer-lock/iframe-sandboxed-nes

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

2017-01-13 Thread annulen
Title: [210731] trunk/Source/WebCore








Revision 210731
Author annu...@yandex.ru
Date 2017-01-13 09:23:30 -0800 (Fri, 13 Jan 2017)


Log Message
Added preprocessor guard for iOS-specific piece of code in GraphicsContext3DOpenGL
https://bugs.webkit.org/show_bug.cgi?id=167005

Reviewed by Alex Christensen.

Variable "boundFrameBuffer" is used only in iOS-specific code

No new tests needed.

* platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
(WebCore::GraphicsContext3D::resolveMultisamplingIfNecessary):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/platform/graphics/opengl/GraphicsContext3DOpenGL.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (210730 => 210731)

--- trunk/Source/WebCore/ChangeLog	2017-01-13 14:26:17 UTC (rev 210730)
+++ trunk/Source/WebCore/ChangeLog	2017-01-13 17:23:30 UTC (rev 210731)
@@ -1,3 +1,17 @@
+2017-01-13  Konstantin Tokarev  
+
+Added preprocessor guard for iOS-specific piece of code in GraphicsContext3DOpenGL
+https://bugs.webkit.org/show_bug.cgi?id=167005
+
+Reviewed by Alex Christensen.
+
+Variable "boundFrameBuffer" is used only in iOS-specific code
+
+No new tests needed.
+
+* platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
+(WebCore::GraphicsContext3D::resolveMultisamplingIfNecessary):
+
 2017-01-13  Eric Carlson  
 
 REGRESSION (r210621): [mac-wk2] LayoutTest fast/mediastream/MediaStream-video-element-video-tracks-disabled-then-enabled.html timing out


Modified: trunk/Source/WebCore/platform/graphics/opengl/GraphicsContext3DOpenGL.cpp (210730 => 210731)

--- trunk/Source/WebCore/platform/graphics/opengl/GraphicsContext3DOpenGL.cpp	2017-01-13 14:26:17 UTC (rev 210730)
+++ trunk/Source/WebCore/platform/graphics/opengl/GraphicsContext3DOpenGL.cpp	2017-01-13 17:23:30 UTC (rev 210731)
@@ -227,8 +227,10 @@
 TemporaryOpenGLSetting scopedDepth(GL_DEPTH_TEST, GL_FALSE);
 TemporaryOpenGLSetting scopedStencil(GL_STENCIL_TEST, GL_FALSE);
 
+#if PLATFORM(IOS)
 GLint boundFrameBuffer;
 ::glGetIntegerv(GL_FRAMEBUFFER_BINDING, &boundFrameBuffer);
+#endif
 
 ::glBindFramebufferEXT(GL_READ_FRAMEBUFFER_EXT, m_multisampleFBO);
 ::glBindFramebufferEXT(GL_DRAW_FRAMEBUFFER_EXT, m_fbo);






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


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

2017-01-13 Thread mcatanzaro
Title: [210732] trunk/Source/WebCore








Revision 210732
Author mcatanz...@igalia.com
Date 2017-01-13 09:54:30 -0800 (Fri, 13 Jan 2017)


Log Message
Unreviewed, rolling out r210677.
https://bugs.webkit.org/show_bug.cgi?id=167007

Caused many layout test timeouts on GTK+ bots

Reverted changeset:

"Protect MediaPlayer from being destroyed mid-load()"
https://bugs.webkit.org/show_bug.cgi?id=166976
http://trac.webkit.org/changeset/210677

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/html/HTMLMediaElement.cpp
trunk/Source/WebCore/html/HTMLMediaElement.h
trunk/Source/WebCore/platform/graphics/MediaPlayer.cpp
trunk/Source/WebCore/platform/graphics/MediaPlayer.h




Diff

Modified: trunk/Source/WebCore/ChangeLog (210731 => 210732)

--- trunk/Source/WebCore/ChangeLog	2017-01-13 17:23:30 UTC (rev 210731)
+++ trunk/Source/WebCore/ChangeLog	2017-01-13 17:54:30 UTC (rev 210732)
@@ -1,3 +1,16 @@
+2017-01-13  Michael Catanzaro  
+
+Unreviewed, rolling out r210677.
+https://bugs.webkit.org/show_bug.cgi?id=167007
+
+Caused many layout test timeouts on GTK+ bots
+
+Reverted changeset:
+
+"Protect MediaPlayer from being destroyed mid-load()"
+https://bugs.webkit.org/show_bug.cgi?id=166976
+http://trac.webkit.org/changeset/210677
+
 2017-01-13  Konstantin Tokarev  
 
 Added preprocessor guard for iOS-specific piece of code in GraphicsContext3DOpenGL


Modified: trunk/Source/WebCore/html/HTMLMediaElement.cpp (210731 => 210732)

--- trunk/Source/WebCore/html/HTMLMediaElement.cpp	2017-01-13 17:23:30 UTC (rev 210731)
+++ trunk/Source/WebCore/html/HTMLMediaElement.cpp	2017-01-13 17:54:30 UTC (rev 210732)
@@ -569,10 +569,7 @@
 
 m_completelyLoaded = true;
 
-if (m_player) {
-m_player->invalidate();
-m_player = nullptr;
-}
+m_player = nullptr;
 updatePlaybackControlsManager();
 }
 
@@ -5054,10 +5051,7 @@
 document().removeMediaCanStartListener(this);
 }
 
-if (m_player) {
-m_player->invalidate();
-m_player = nullptr;
-}
+m_player = nullptr;
 updatePlaybackControlsManager();
 
 stopPeriodicTimers();
@@ -5998,7 +5992,7 @@
 #if ENABLE(VIDEO_TRACK)
 forgetResourceSpecificTracks();
 #endif
-m_player = MediaPlayer::create(*this);
+m_player = std::make_unique(static_cast(*this));
 scheduleUpdatePlaybackControlsManager();
 
 #if ENABLE(WEB_AUDIO)


Modified: trunk/Source/WebCore/html/HTMLMediaElement.h (210731 => 210732)

--- trunk/Source/WebCore/html/HTMLMediaElement.h	2017-01-13 17:23:30 UTC (rev 210731)
+++ trunk/Source/WebCore/html/HTMLMediaElement.h	2017-01-13 17:54:30 UTC (rev 210732)
@@ -885,7 +885,7 @@
 MediaPlayerEnums::VideoGravity m_videoFullscreenGravity { MediaPlayer::VideoGravityResizeAspect };
 #endif
 
-RefPtr m_player;
+std::unique_ptr m_player;
 
 MediaPlayerEnums::Preload m_preload { MediaPlayer::Auto };
 


Modified: trunk/Source/WebCore/platform/graphics/MediaPlayer.cpp (210731 => 210732)

--- trunk/Source/WebCore/platform/graphics/MediaPlayer.cpp	2017-01-13 17:23:30 UTC (rev 210731)
+++ trunk/Source/WebCore/platform/graphics/MediaPlayer.cpp	2017-01-13 17:54:30 UTC (rev 210732)
@@ -161,12 +161,6 @@
 bool hasSingleSecurityOrigin() const override { return true; }
 };
 
-static MediaPlayerClient& nullMediaPlayerClient()
-{
-static NeverDestroyed client;
-return client.get();
-}
-
 // engine support
 
 struct MediaPlayerFactory {
@@ -338,13 +332,8 @@
 
 // media player
 
-Ref MediaPlayer::create(MediaPlayerClient& client)
-{
-return adoptRef(*new MediaPlayer(client));
-}
-
 MediaPlayer::MediaPlayer(MediaPlayerClient& client)
-: m_client(&client)
+: m_client(client)
 , m_reloadTimer(*this, &MediaPlayer::reloadTimerFired)
 , m_private(std::make_unique(this))
 , m_currentMediaEngine(0)
@@ -364,18 +353,10 @@
 ASSERT(!m_initializingMediaEngine);
 }
 
-void MediaPlayer::invalidate()
-{
-m_client = &nullMediaPlayerClient();
-}
-
 bool MediaPlayer::load(const URL& url, const ContentType& contentType, const String& keySystem)
 {
 ASSERT(!m_reloadTimer.isActive());
 
-// Protect against MediaPlayer being destroyed during a MediaPlayerClient callback.
-Ref protectedThis(*this);
-
 m_contentMIMEType = contentType.type().convertToASCIILowercase();
 m_contentTypeCodecs = contentType.parameter(codecs());
 m_url = url;
@@ -493,7 +474,7 @@
 } else if (m_currentMediaEngine != engine) {
 m_currentMediaEngine = engine;
 m_private = engine->constructor(this);
-client().mediaPlayerEngineUpdated(this);
+m_client.mediaPlayerEngineUpdated(this);
 m_private->setPrivateBrowsingMode(m_privateBrowsing);
 m_private->setPreload(m_preload);
 m_private->setPreservesPitch(preservesPitch());
@@ -515,8 +496,8 @@
 m_private->load(m_url.string());
 } else {
 m_private = std::make_unique(this);
-client()

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

2017-01-13 Thread cdumez
Title: [210733] trunk/Source/WebCore








Revision 210733
Author cdu...@apple.com
Date 2017-01-13 09:54:53 -0800 (Fri, 13 Jan 2017)


Log Message
Report post-page load CPU usage using diagnostic logging
https://bugs.webkit.org/show_bug.cgi?id=166950


Reviewed by Alex Christensen.

Shortly after page load (5 seconds), we measure the WebContent process'
CPU usage over 10 seconds and report the percentage back via release
logging. We also log the percentage using diagnostic logging using the
following buckets:
- Below 10%
- 10 to 20%
- 20 to 40%
- 60 to 80%
- Over 80%

The logging works on both Mac and iOS. I verified that I get results
consistent with Activity Monitor or top.

No new tests, no Web-facing behavior change, only extra logging.

* CMakeLists.txt:
* WebCore.xcodeproj/project.pbxproj:
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::checkLoadCompleteForThisFrame):
* page/DiagnosticLoggingKeys.cpp:
(WebCore::DiagnosticLoggingKeys::postPageLoadKey):
(WebCore::DiagnosticLoggingKeys::cpuUsageKey):
* page/DiagnosticLoggingKeys.h:
* page/Page.cpp:
(WebCore::Page::Page):
(WebCore::Page::didFinishLoad):
(WebCore::cpuUsageToDiagnosticLogginKey):
(WebCore::Page::measurePostLoadCPUUsage):
* page/Page.h:
* page/Settings.cpp:
(WebCore::Settings::isPostLoadCPUUsageMeasurementEnabled):
* page/Settings.h:
* platform/CPUTime.cpp: Added.
(WebCore::getCPUTime):
(WebCore::CPUTime::percentageCPUUsageSince):
* platform/CPUTime.h: Added.
* platform/cocoa/CPUTimeCocoa.mm: Added.
(WebCore::timeValueToMicroseconds):
(WebCore::getCPUTime):

Modified Paths

trunk/Source/WebCore/CMakeLists.txt
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj
trunk/Source/WebCore/loader/FrameLoader.cpp
trunk/Source/WebCore/page/DiagnosticLoggingKeys.cpp
trunk/Source/WebCore/page/DiagnosticLoggingKeys.h
trunk/Source/WebCore/page/Page.cpp
trunk/Source/WebCore/page/Page.h
trunk/Source/WebCore/page/Settings.cpp
trunk/Source/WebCore/page/Settings.h


Added Paths

trunk/Source/WebCore/platform/CPUTime.cpp
trunk/Source/WebCore/platform/CPUTime.h
trunk/Source/WebCore/platform/cocoa/CPUTimeCocoa.mm




Diff

Modified: trunk/Source/WebCore/CMakeLists.txt (210732 => 210733)

--- trunk/Source/WebCore/CMakeLists.txt	2017-01-13 17:54:30 UTC (rev 210732)
+++ trunk/Source/WebCore/CMakeLists.txt	2017-01-13 17:54:53 UTC (rev 210733)
@@ -2054,6 +2054,7 @@
 page/scrolling/ScrollingTreeScrollingNode.cpp
 page/scrolling/ThreadedScrollingTree.cpp
 
+platform/CPUTime.cpp
 platform/CalculationValue.cpp
 platform/Clock.cpp
 platform/ClockGeneric.cpp


Modified: trunk/Source/WebCore/ChangeLog (210732 => 210733)

--- trunk/Source/WebCore/ChangeLog	2017-01-13 17:54:30 UTC (rev 210732)
+++ trunk/Source/WebCore/ChangeLog	2017-01-13 17:54:53 UTC (rev 210733)
@@ -1,3 +1,51 @@
+2017-01-13  Chris Dumez  
+
+Report post-page load CPU usage using diagnostic logging
+https://bugs.webkit.org/show_bug.cgi?id=166950
+
+
+Reviewed by Alex Christensen.
+
+Shortly after page load (5 seconds), we measure the WebContent process'
+CPU usage over 10 seconds and report the percentage back via release
+logging. We also log the percentage using diagnostic logging using the
+following buckets:
+- Below 10%
+- 10 to 20%
+- 20 to 40%
+- 60 to 80%
+- Over 80%
+
+The logging works on both Mac and iOS. I verified that I get results
+consistent with Activity Monitor or top.
+
+No new tests, no Web-facing behavior change, only extra logging.
+
+* CMakeLists.txt:
+* WebCore.xcodeproj/project.pbxproj:
+* loader/FrameLoader.cpp:
+(WebCore::FrameLoader::checkLoadCompleteForThisFrame):
+* page/DiagnosticLoggingKeys.cpp:
+(WebCore::DiagnosticLoggingKeys::postPageLoadKey):
+(WebCore::DiagnosticLoggingKeys::cpuUsageKey):
+* page/DiagnosticLoggingKeys.h:
+* page/Page.cpp:
+(WebCore::Page::Page):
+(WebCore::Page::didFinishLoad):
+(WebCore::cpuUsageToDiagnosticLogginKey):
+(WebCore::Page::measurePostLoadCPUUsage):
+* page/Page.h:
+* page/Settings.cpp:
+(WebCore::Settings::isPostLoadCPUUsageMeasurementEnabled):
+* page/Settings.h:
+* platform/CPUTime.cpp: Added.
+(WebCore::getCPUTime):
+(WebCore::CPUTime::percentageCPUUsageSince):
+* platform/CPUTime.h: Added.
+* platform/cocoa/CPUTimeCocoa.mm: Added.
+(WebCore::timeValueToMicroseconds):
+(WebCore::getCPUTime):
+
 2017-01-13  Michael Catanzaro  
 
 Unreviewed, rolling out r210677.


Modified: trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj (210732 => 210733)

--- trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj	2017-01-13 17:54:30 UTC (rev 210732)
+++ trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj	2017-01-13 17:54:53 UTC (rev 210733)
@@ -1731,6 +1731,9 @@
 

[webkit-changes] [210734] trunk

2017-01-13 Thread mcatanzaro
Title: [210734] trunk








Revision 210734
Author mcatanz...@igalia.com
Date 2017-01-13 10:09:34 -0800 (Fri, 13 Jan 2017)


Log Message
[CMake] Clean up SHARED_CORE option
https://bugs.webkit.org/show_bug.cgi?id=167004

Reviewed by Alex Christensen.

* CMakeLists.txt:

Modified Paths

trunk/CMakeLists.txt
trunk/ChangeLog




Diff

Modified: trunk/CMakeLists.txt (210733 => 210734)

--- trunk/CMakeLists.txt	2017-01-13 17:54:53 UTC (rev 210733)
+++ trunk/CMakeLists.txt	2017-01-13 18:09:34 UTC (rev 210734)
@@ -105,16 +105,15 @@
 # -
 # Default library types
 # -
-option(SHARED_CORE "build _javascript_Core and WebCore as shared libraries")
+option(SHARED_CORE "build WebCore as a shared library")
 
 if (SHARED_CORE)
-set(_javascript_Core_LIBRARY_TYPE SHARED)
 set(WebCore_LIBRARY_TYPE SHARED)
 else ()
-set(_javascript_Core_LIBRARY_TYPE SHARED)
 set(WebCore_LIBRARY_TYPE STATIC)
 endif ()
 
+set(_javascript_Core_LIBRARY_TYPE SHARED)
 set(WebKit_LIBRARY_TYPE SHARED)
 set(WebKit2_LIBRARY_TYPE SHARED)
 set(WebCoreTestSupport_LIBRARY_TYPE STATIC)


Modified: trunk/ChangeLog (210733 => 210734)

--- trunk/ChangeLog	2017-01-13 17:54:53 UTC (rev 210733)
+++ trunk/ChangeLog	2017-01-13 18:09:34 UTC (rev 210734)
@@ -1,3 +1,12 @@
+2017-01-13  Michael Catanzaro  
+
+[CMake] Clean up SHARED_CORE option
+https://bugs.webkit.org/show_bug.cgi?id=167004
+
+Reviewed by Alex Christensen.
+
+* CMakeLists.txt:
+
 2016-12-21  Konstantin Tokarev  
 
 set PYTHONPATH in separate COMMAND doesn't work with all CMake generators






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


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

2017-01-13 Thread utatane . tea
Title: [210735] trunk/Source/_javascript_Core








Revision 210735
Author utatane@gmail.com
Date 2017-01-13 10:30:09 -0800 (Fri, 13 Jan 2017)


Log Message
Reserve capacity for StringBuilder in unescape
https://bugs.webkit.org/show_bug.cgi?id=167008

Reviewed by Sam Weinig.

`unescape` function is frequently called in Kraken sha256-iterative.
This patch just reserves the capacity for the StringBuilder.

Currently, we select the length of the string for the reserved capacity.
It improves the performance 2.73%.

Benchmark report for Kraken on sakura-trick.

VMs tested:
"baseline" at /home/yusukesuzuki/dev/WebKit/WebKitBuild/untot/Release/bin/jsc
"patched" at /home/yusukesuzuki/dev/WebKit/WebKitBuild/un/Release/bin/jsc

Collected 100 samples per benchmark/VM, with 100 VM invocations per benchmark. Emitted a call to gc() between
sample measurements. Used 1 benchmark iteration per VM invocation for warm-up. Used the jsc-specific preciseTime()
function to get microsecond-level timing. Reporting benchmark execution times with 95% confidence intervals in
milliseconds.

   baseline  patched

stanford-crypto-sha256-iterative51.609+-0.672 50.237+-0.860   might be 1.0273x faster

51.609+-0.672 50.237+-0.860   might be 1.0273x faster

* runtime/JSGlobalObjectFunctions.cpp:
(JSC::globalFuncUnescape):

Modified Paths

trunk/Source/_javascript_Core/ChangeLog
trunk/Source/_javascript_Core/runtime/JSGlobalObjectFunctions.cpp




Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (210734 => 210735)

--- trunk/Source/_javascript_Core/ChangeLog	2017-01-13 18:09:34 UTC (rev 210734)
+++ trunk/Source/_javascript_Core/ChangeLog	2017-01-13 18:30:09 UTC (rev 210735)
@@ -1,3 +1,36 @@
+2017-01-13  Yusuke Suzuki  
+
+Reserve capacity for StringBuilder in unescape
+https://bugs.webkit.org/show_bug.cgi?id=167008
+
+Reviewed by Sam Weinig.
+
+`unescape` function is frequently called in Kraken sha256-iterative.
+This patch just reserves the capacity for the StringBuilder.
+
+Currently, we select the length of the string for the reserved capacity.
+It improves the performance 2.73%.
+
+Benchmark report for Kraken on sakura-trick.
+
+VMs tested:
+"baseline" at /home/yusukesuzuki/dev/WebKit/WebKitBuild/untot/Release/bin/jsc
+"patched" at /home/yusukesuzuki/dev/WebKit/WebKitBuild/un/Release/bin/jsc
+
+Collected 100 samples per benchmark/VM, with 100 VM invocations per benchmark. Emitted a call to gc() between
+sample measurements. Used 1 benchmark iteration per VM invocation for warm-up. Used the jsc-specific preciseTime()
+function to get microsecond-level timing. Reporting benchmark execution times with 95% confidence intervals in
+milliseconds.
+
+   baseline  patched
+
+stanford-crypto-sha256-iterative51.609+-0.672 50.237+-0.860   might be 1.0273x faster
+
+51.609+-0.672 50.237+-0.860   might be 1.0273x faster
+
+* runtime/JSGlobalObjectFunctions.cpp:
+(JSC::globalFuncUnescape):
+
 2017-01-12  Saam Barati  
 
 Add a slice intrinsic to the DFG/FTL


Modified: trunk/Source/_javascript_Core/runtime/JSGlobalObjectFunctions.cpp (210734 => 210735)

--- trunk/Source/_javascript_Core/runtime/JSGlobalObjectFunctions.cpp	2017-01-13 18:09:34 UTC (rev 210734)
+++ trunk/Source/_javascript_Core/runtime/JSGlobalObjectFunctions.cpp	2017-01-13 18:30:09 UTC (rev 210735)
@@ -814,22 +814,24 @@
 EncodedJSValue JSC_HOST_CALL globalFuncUnescape(ExecState* exec)
 {
 return JSValue::encode(toStringView(exec, exec->argument(0), [&] (StringView view) {
+unsigned k = 0;
+unsigned length = view.length();
+
 StringBuilder builder;
-int k = 0;
-int len = view.length();
+builder.reserveCapacity(length);
 
 if (view.is8Bit()) {
 const LChar* characters = view.characters8();
 LChar convertedLChar;
-while (k < len) {
+while (k < length) {
 const LChar* c = characters + k;
-if (c[0] == '%' && k <= len - 6 && c[1] == 'u') {
+if (c[0] == '%' && k <= length - 6 && c[1] == 'u') {
 if (isASCIIHexDigit(c[2]) && isASCIIHexDigit(c[3]) && isASCIIHexDigit(c[4]) && isASCIIHexDigit(c[5])) {
 builder.append(Lexer::convertUnicode(c[2], c[3], c[4], c[5]));
 k += 6;
 continue;
 }
-} else if (c[0] == '%' && k <= len - 3 && isASCIIHexDigit(c[1]) && isASCIIHexDigit(c[2])) {
+} 

[webkit-changes] [210736] trunk/Tools

2017-01-13 Thread utatane . tea
Title: [210736] trunk/Tools








Revision 210736
Author utatane@gmail.com
Date 2017-01-13 11:00:29 -0800 (Fri, 13 Jan 2017)


Log Message
run-jsc-benchmarks' echo should have -e option
https://bugs.webkit.org/show_bug.cgi?id=167009

Reviewed by Sam Weinig.

echo requires `-e` option to use escape sequence.
Without it, in some environment (in my Fedora 25), the escape sequence is not
recognized and just dumped as `\c` etc.

* Scripts/run-jsc-benchmarks:

Modified Paths

trunk/Tools/ChangeLog
trunk/Tools/Scripts/run-jsc-benchmarks




Diff

Modified: trunk/Tools/ChangeLog (210735 => 210736)

--- trunk/Tools/ChangeLog	2017-01-13 18:30:09 UTC (rev 210735)
+++ trunk/Tools/ChangeLog	2017-01-13 19:00:29 UTC (rev 210736)
@@ -1,3 +1,16 @@
+2017-01-13  Yusuke Suzuki  
+
+run-jsc-benchmarks' echo should have -e option
+https://bugs.webkit.org/show_bug.cgi?id=167009
+
+Reviewed by Sam Weinig.
+
+echo requires `-e` option to use escape sequence.
+Without it, in some environment (in my Fedora 25), the escape sequence is not
+recognized and just dumped as `\c` etc.
+
+* Scripts/run-jsc-benchmarks:
+
 2017-01-12  Chris Dumez  
 
 Add KEYBOARD_KEY_ATTRIBUTE / KEYBOARD_CODE_ATTRIBUTE to FeatureDefines.xcconfig


Modified: trunk/Tools/Scripts/run-jsc-benchmarks (210735 => 210736)

--- trunk/Tools/Scripts/run-jsc-benchmarks	2017-01-13 18:30:09 UTC (rev 210735)
+++ trunk/Tools/Scripts/run-jsc-benchmarks	2017-01-13 19:00:29 UTC (rev 210736)
@@ -3283,10 +3283,10 @@
   if $prepare
 File.open("#{BENCH_DATA_PATH}/runscript", "w") {
   | file |
-  file.puts "echo \"HOSTNAME:\\c\""
+  file.puts "echo -e \"HOSTNAME:\\c\""
   file.puts "hostname"
   file.puts "echo"
-  file.puts "echo \"HARDWARE:\\c\""
+  file.puts "echo -e \"HARDWARE:\\c\""
   file.puts "/usr/sbin/sysctl hw.model"
   file.puts "echo"
   file.puts "set -e"
@@ -3296,14 +3296,14 @@
 if $verbosity == 0 and not $silent
   text1 = lpad(idx.to_s,$runPlans.size.to_s.size)+"/"+$runPlans.size.to_s
   text2 = plan.to_s
-  file.puts("echo " + Shellwords.shellescape("\r#{text1} #{rpad(text2,$planpad)}") + "\"\\c\" 1>&2")
-  file.puts("echo " + Shellwords.shellescape("\r#{text1} #{text2}") + "\"\\c\" 1>&2")
+  file.puts("echo -e " + Shellwords.shellescape("\r#{text1} #{rpad(text2,$planpad)}") + "\"\\c\" 1>&2")
+  file.puts("echo -e " + Shellwords.shellescape("\r#{text1} #{text2}") + "\"\\c\" 1>&2")
 end
 plan.emitRunCode
   }
   if $verbosity == 0 and not $silent
-file.puts("echo " + Shellwords.shellescape("\r#{$runPlans.size}/#{$runPlans.size} #{' '*($suitepad+1+$benchpad+1+$vmpad)}") + "\"\\c\" 1>&2")
-file.puts("echo " + Shellwords.shellescape("\r#{$runPlans.size}/#{$runPlans.size}") + " 1>&2")
+file.puts("echo -e " + Shellwords.shellescape("\r#{$runPlans.size}/#{$runPlans.size} #{' '*($suitepad+1+$benchpad+1+$vmpad)}") + "\"\\c\" 1>&2")
+file.puts("echo -e " + Shellwords.shellescape("\r#{$runPlans.size}/#{$runPlans.size}") + " 1>&2")
   end
 }
   end






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


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

2017-01-13 Thread commit-queue
Title: [210737] trunk/Source/WebKit2








Revision 210737
Author commit-qu...@webkit.org
Date 2017-01-13 11:16:34 -0800 (Fri, 13 Jan 2017)


Log Message
Defer use of autoplay heuristics to clients
https://bugs.webkit.org/show_bug.cgi?id=167010

Patch by Matt Rajca  on 2017-01-13
Reviewed by Alex Christensen.

Switch the autoplay policy tristate to an on/off option since clients should run any
heuristics and simply send their final decision to WebKit.

* Shared/WebsitePolicies.h:
(WebKit::WebsitePolicies::encode):
(WebKit::WebsitePolicies::decode):
* UIProcess/API/APIWebsitePolicies.h:
* UIProcess/API/C/WKWebsitePolicies.cpp:
(WKWebsitePoliciesGetAutoplayEnabled):
(WKWebsitePoliciesSetAutoplayEnabled):
(WKWebsitePoliciesGetAutoplayPolicy): Replaced.
(WKWebsitePoliciesSetAutoplayPolicy): Replaced.
* UIProcess/API/C/WKWebsitePolicies.h:
* UIProcess/API/Cocoa/_WKWebsitePolicies.h:
* UIProcess/API/Cocoa/_WKWebsitePolicies.mm:
(-[_WKWebsitePolicies setAutoplayEnabled:]):
(-[_WKWebsitePolicies autoplayEnabled]):
(-[_WKWebsitePolicies setAutoplayPolicy:]): Replaced.
(-[_WKWebsitePolicies autoplayPolicy]): Replaced.

Modified Paths

trunk/Source/WebKit2/ChangeLog
trunk/Source/WebKit2/Shared/WebsitePolicies.h
trunk/Source/WebKit2/UIProcess/API/APIWebsitePolicies.h
trunk/Source/WebKit2/UIProcess/API/C/WKWebsitePolicies.cpp
trunk/Source/WebKit2/UIProcess/API/C/WKWebsitePolicies.h
trunk/Source/WebKit2/UIProcess/API/Cocoa/_WKWebsitePolicies.h
trunk/Source/WebKit2/UIProcess/API/Cocoa/_WKWebsitePolicies.mm




Diff

Modified: trunk/Source/WebKit2/ChangeLog (210736 => 210737)

--- trunk/Source/WebKit2/ChangeLog	2017-01-13 19:00:29 UTC (rev 210736)
+++ trunk/Source/WebKit2/ChangeLog	2017-01-13 19:16:34 UTC (rev 210737)
@@ -1,3 +1,30 @@
+2017-01-13  Matt Rajca  
+
+Defer use of autoplay heuristics to clients
+https://bugs.webkit.org/show_bug.cgi?id=167010
+
+Reviewed by Alex Christensen.
+
+Switch the autoplay policy tristate to an on/off option since clients should run any
+heuristics and simply send their final decision to WebKit.
+
+* Shared/WebsitePolicies.h:
+(WebKit::WebsitePolicies::encode):
+(WebKit::WebsitePolicies::decode):
+* UIProcess/API/APIWebsitePolicies.h:
+* UIProcess/API/C/WKWebsitePolicies.cpp:
+(WKWebsitePoliciesGetAutoplayEnabled):
+(WKWebsitePoliciesSetAutoplayEnabled):
+(WKWebsitePoliciesGetAutoplayPolicy): Replaced.
+(WKWebsitePoliciesSetAutoplayPolicy): Replaced.
+* UIProcess/API/C/WKWebsitePolicies.h:
+* UIProcess/API/Cocoa/_WKWebsitePolicies.h:
+* UIProcess/API/Cocoa/_WKWebsitePolicies.mm:
+(-[_WKWebsitePolicies setAutoplayEnabled:]):
+(-[_WKWebsitePolicies autoplayEnabled]):
+(-[_WKWebsitePolicies setAutoplayPolicy:]): Replaced.
+(-[_WKWebsitePolicies autoplayPolicy]): Replaced.
+
 2017-01-13  Carlos Garcia Campos  
 
 [SOUP] Simplify cookie storage handling


Modified: trunk/Source/WebKit2/Shared/WebsitePolicies.h (210736 => 210737)

--- trunk/Source/WebKit2/Shared/WebsitePolicies.h	2017-01-13 19:00:29 UTC (rev 210736)
+++ trunk/Source/WebKit2/Shared/WebsitePolicies.h	2017-01-13 19:16:34 UTC (rev 210737)
@@ -36,7 +36,7 @@
 struct WebsitePolicies {
 
 bool contentBlockersEnabled { true };
-WebsiteAutoplayPolicy autoplayPolicy { WebsiteAutoplayPolicy::UseHeuristics };
+bool autoplayEnabled { true };
 
 template void encode(Encoder&) const;
 template static bool decode(Decoder&, WebsitePolicies&);
@@ -45,7 +45,7 @@
 template void WebsitePolicies::encode(Encoder& encoder) const
 {
 encoder << contentBlockersEnabled;
-encoder.encodeEnum(autoplayPolicy);
+encoder << autoplayEnabled;
 }
 
 template bool WebsitePolicies::decode(Decoder& decoder, WebsitePolicies& result)
@@ -52,7 +52,7 @@
 {
 if (!decoder.decode(result.contentBlockersEnabled))
 return false;
-if (!decoder.decodeEnum(result.autoplayPolicy))
+if (!decoder.decode(result.autoplayEnabled))
 return false;
 return true;
 }


Modified: trunk/Source/WebKit2/UIProcess/API/APIWebsitePolicies.h (210736 => 210737)

--- trunk/Source/WebKit2/UIProcess/API/APIWebsitePolicies.h	2017-01-13 19:00:29 UTC (rev 210736)
+++ trunk/Source/WebKit2/UIProcess/API/APIWebsitePolicies.h	2017-01-13 19:16:34 UTC (rev 210737)
@@ -39,8 +39,8 @@
 bool contentBlockersEnabled() const { return m_websitePolicies.contentBlockersEnabled; }
 void setContentBlockersEnabled(bool enabled) { m_websitePolicies.contentBlockersEnabled = enabled; }
 
-WebKit::WebsiteAutoplayPolicy autoplayPolicy() const { return m_websitePolicies.autoplayPolicy; }
-void setAutoplayPolicy(WebKit::WebsiteAutoplayPolicy policy) { m_websitePolicies.autoplayPolicy = policy; }
+bool autoplayEnabled() const { return m_websitePolicies.autoplayEnabled; }
+void setAutoplayEnabled(bool enabled) { m_websitePolicies.autoplayEnabled = enabled; }
 
 

[webkit-changes] [210738] branches/safari-603-branch/Source/JavaScriptCore

2017-01-13 Thread matthew_hanson
Title: [210738] branches/safari-603-branch/Source/_javascript_Core








Revision 210738
Author matthew_han...@apple.com
Date 2017-01-13 11:18:25 -0800 (Fri, 13 Jan 2017)


Log Message
Merge r210694. rdar://problem/29983526

Modified Paths

branches/safari-603-branch/Source/_javascript_Core/ChangeLog
branches/safari-603-branch/Source/_javascript_Core/heap/Heap.cpp
branches/safari-603-branch/Source/_javascript_Core/heap/Heap.h
branches/safari-603-branch/Source/_javascript_Core/heap/SlotVisitor.cpp
branches/safari-603-branch/Source/_javascript_Core/heap/SlotVisitor.h
branches/safari-603-branch/Source/_javascript_Core/heap/SlotVisitorInlines.h
branches/safari-603-branch/Source/_javascript_Core/runtime/JSObject.cpp
branches/safari-603-branch/Source/_javascript_Core/runtime/JSObjectInlines.h
branches/safari-603-branch/Source/_javascript_Core/runtime/Structure.cpp




Diff

Modified: branches/safari-603-branch/Source/_javascript_Core/ChangeLog (210737 => 210738)

--- branches/safari-603-branch/Source/_javascript_Core/ChangeLog	2017-01-13 19:16:34 UTC (rev 210737)
+++ branches/safari-603-branch/Source/_javascript_Core/ChangeLog	2017-01-13 19:18:25 UTC (rev 210738)
@@ -1,3 +1,79 @@
+2017-01-13  Matthew Hanson  
+
+Merge r210694. rdar://problem/29983526
+
+2017-01-12  Saam Barati  
+
+Concurrent GC has a bug where we would detect a race but fail to rescan the object
+https://bugs.webkit.org/show_bug.cgi?id=166960
+
+
+Reviewed by Filip Pizlo and Mark Lam.
+
+We have code like this in JSC:
+
+```
+Butterfly* butterfly = allocateMoreOutOfLineStorage(vm, oldOutOfLineCapacity, newOutOfLineCapacity);
+nukeStructureAndSetButterfly(vm, structureID, butterfly);
+structure->setLastOffset(newLastOffset);
+WTF::storeStoreFence();
+setStructureIDDirectly(structureID);
+```
+
+Note that the collector could detect a race here, which sometimes
+incorrectly caused us to not visit the object again.
+
+Mutator Thread: M, Collector Thread: C, assuming sequential consistency via
+proper barriers:
+
+M: allocate new butterfly
+M: Set nuked structure ID
+M: Set butterfly (this does a barrier)
+C: Start scanning O
+C: load structure ID
+C: See it's nuked and bail, (we used to rely on a write barrier to rescan).
+
+We sometimes never rescanned here because we were calling
+setStructureIDDirectly which doesn't do a write barrier.
+(Note, the places that do this but call setStructure were
+OK because setStructure will perform a write barrier.)
+
+(This same issue also existed in places where the collector thread
+detected races for Structure::m_offset, but places that changed
+Structure::m_offset didn't perform a write barrier on the object
+after changing its Structure's m_offset.)
+
+To prevent such code from requiring every call site to perform
+a write barrier on the object, I've changed the collector code
+to keep a stack of cells to be revisited due to races. This stack
+is then consulted when we do marking. Because such races are rare,
+we have a single stack on Heap that is guarded by a lock.
+
+* heap/Heap.cpp:
+(JSC::Heap::Heap):
+(JSC::Heap::~Heap):
+(JSC::Heap::markToFixpoint):
+(JSC::Heap::endMarking):
+(JSC::Heap::buildConstraintSet):
+(JSC::Heap::addToRaceMarkStack):
+* heap/Heap.h:
+(JSC::Heap::collectorSlotVisitor):
+(JSC::Heap::mutatorMarkStack): Deleted.
+* heap/SlotVisitor.cpp:
+(JSC::SlotVisitor::didRace):
+* heap/SlotVisitor.h:
+(JSC::SlotVisitor::didRace):
+(JSC::SlotVisitor::didNotRace): Deleted.
+* heap/SlotVisitorInlines.h:
+(JSC::SlotVisitor::didNotRace): Deleted.
+* runtime/JSObject.cpp:
+(JSC::JSObject::visitButterfly):
+(JSC::JSObject::visitButterflyImpl):
+* runtime/JSObjectInlines.h:
+(JSC::JSObject::prepareToPutDirectWithoutTransition):
+* runtime/Structure.cpp:
+(JSC::Structure::flattenDictionaryStructure):
+
 2017-01-12  Matthew Hanson  
 
 Merge r210609. rdar://problem/27896585


Modified: branches/safari-603-branch/Source/_javascript_Core/heap/Heap.cpp (210737 => 210738)

--- branches/safari-603-branch/Source/_javascript_Core/heap/Heap.cpp	2017-01-13 19:16:34 UTC (rev 210737)
+++ branches/safari-603-branch/Source/_javascript_Core/heap/Heap.cpp	2017-01-13 19:18:25 UTC (rev 210738)
@@ -259,6 +259,7 @@
 , m_machineThreads(this)
 , m_collectorSlotVisitor(std::make_unique(*this))
 

[webkit-changes] [210739] branches/safari-603-branch/Source/WebKit2

2017-01-13 Thread matthew_hanson
Title: [210739] branches/safari-603-branch/Source/WebKit2








Revision 210739
Author matthew_han...@apple.com
Date 2017-01-13 11:18:30 -0800 (Fri, 13 Jan 2017)


Log Message
Roll out r209189 via r210726. rdar://problem/29428877

Modified Paths

branches/safari-603-branch/Source/WebKit2/ChangeLog
branches/safari-603-branch/Source/WebKit2/NetworkProcess/cache/NetworkCache.cpp
branches/safari-603-branch/Source/WebKit2/NetworkProcess/cache/NetworkCache.h
branches/safari-603-branch/Source/WebKit2/NetworkProcess/cache/NetworkCacheBlobStorage.cpp
branches/safari-603-branch/Source/WebKit2/NetworkProcess/cache/NetworkCacheBlobStorage.h
branches/safari-603-branch/Source/WebKit2/NetworkProcess/cache/NetworkCacheData.cpp
branches/safari-603-branch/Source/WebKit2/NetworkProcess/cache/NetworkCacheData.h
branches/safari-603-branch/Source/WebKit2/NetworkProcess/cache/NetworkCacheKey.cpp
branches/safari-603-branch/Source/WebKit2/NetworkProcess/cache/NetworkCacheKey.h
branches/safari-603-branch/Source/WebKit2/NetworkProcess/cache/NetworkCacheSpeculativeLoadManager.cpp
branches/safari-603-branch/Source/WebKit2/NetworkProcess/cache/NetworkCacheStorage.cpp
branches/safari-603-branch/Source/WebKit2/NetworkProcess/cache/NetworkCacheStorage.h




Diff

Modified: branches/safari-603-branch/Source/WebKit2/ChangeLog (210738 => 210739)

--- branches/safari-603-branch/Source/WebKit2/ChangeLog	2017-01-13 19:18:25 UTC (rev 210738)
+++ branches/safari-603-branch/Source/WebKit2/ChangeLog	2017-01-13 19:18:30 UTC (rev 210739)
@@ -1,3 +1,7 @@
+2017-01-13  Matthew Hanson  
+
+Rollout r210726. rdar://problem/29428877
+
 2017-01-12  Matthew Hanson  
 
 Merge r209189. rdar://problem/29428877


Modified: branches/safari-603-branch/Source/WebKit2/NetworkProcess/cache/NetworkCache.cpp (210738 => 210739)

--- branches/safari-603-branch/Source/WebKit2/NetworkProcess/cache/NetworkCache.cpp	2017-01-13 19:18:25 UTC (rev 210738)
+++ branches/safari-603-branch/Source/WebKit2/NetworkProcess/cache/NetworkCache.cpp	2017-01-13 19:18:30 UTC (rev 210739)
@@ -114,7 +114,7 @@
 m_storage->setCapacity(maximumSize);
 }
 
-static Key makeCacheKey(const WebCore::ResourceRequest& request)
+Key Cache::makeCacheKey(const WebCore::ResourceRequest& request)
 {
 #if ENABLE(CACHE_PARTITIONING)
 String partition = request.cachePartition();
@@ -125,7 +125,7 @@
 // FIXME: This implements minimal Range header disk cache support. We don't parse
 // ranges so only the same exact range request will be served from the cache.
 String range = request.httpHeaderField(WebCore::HTTPHeaderName::Range);
-return { partition, resourceType(), range, request.url().string() };
+return { partition, resourceType(), range, request.url().string(), m_storage->salt() };
 }
 
 static bool cachePolicyAllowsExpired(WebCore::ResourceRequestCachePolicy policy)


Modified: branches/safari-603-branch/Source/WebKit2/NetworkProcess/cache/NetworkCache.h (210738 => 210739)

--- branches/safari-603-branch/Source/WebKit2/NetworkProcess/cache/NetworkCache.h	2017-01-13 19:18:25 UTC (rev 210738)
+++ branches/safari-603-branch/Source/WebKit2/NetworkProcess/cache/NetworkCache.h	2017-01-13 19:18:30 UTC (rev 210739)
@@ -129,6 +129,8 @@
 Cache() = default;
 ~Cache() = delete;
 
+Key makeCacheKey(const WebCore::ResourceRequest&);
+
 String dumpFilePath() const;
 void deleteDumpFile();
 


Modified: branches/safari-603-branch/Source/WebKit2/NetworkProcess/cache/NetworkCacheBlobStorage.cpp (210738 => 210739)

--- branches/safari-603-branch/Source/WebKit2/NetworkProcess/cache/NetworkCacheBlobStorage.cpp	2017-01-13 19:18:25 UTC (rev 210738)
+++ branches/safari-603-branch/Source/WebKit2/NetworkProcess/cache/NetworkCacheBlobStorage.cpp	2017-01-13 19:18:30 UTC (rev 210739)
@@ -40,8 +40,9 @@
 namespace WebKit {
 namespace NetworkCache {
 
-BlobStorage::BlobStorage(const String& blobDirectoryPath)
+BlobStorage::BlobStorage(const String& blobDirectoryPath, Salt salt)
 : m_blobDirectoryPath(blobDirectoryPath)
+, m_salt(salt)
 {
 }
 
@@ -85,7 +86,7 @@
 {
 ASSERT(!RunLoop::isMain());
 
-auto hash = computeSHA1(data);
+auto hash = computeSHA1(data, m_salt);
 if (data.isEmpty())
 return { data, hash };
 
@@ -123,7 +124,7 @@
 auto linkPath = WebCore::fileSystemRepresentation(path);
 auto data = ""
 
-return { data, computeSHA1(data) };
+return { data, computeSHA1(data, m_salt) };
 }
 
 void BlobStorage::remove(const String& path)


Modified: branches/safari-603-branch/Source/WebKit2/NetworkProcess/cache/NetworkCacheBlobStorage.h (210738 => 210739)

--- branches/safari-603-branch/Source/WebKit2/NetworkProcess/cache/NetworkCacheBlobStorage.h	2017-01-13 19:18:25 UTC (rev 210738)
+++ branches/safari-603-branch/Source/WebKit2/NetworkProcess/cache/NetworkCacheBlobStorage.h	2017-01-13 19:18:30 UTC (rev 210739)
@@ -39,7 +39,7 @@
 class BlobStorage {
 WTF_MAKE_NONCOPYABLE(BlobStorage);
 public:
-BlobStorage(const String& blo

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

2017-01-13 Thread zandobersek
Title: [210740] trunk/Source/WebCore








Revision 210740
Author zandober...@gmail.com
Date 2017-01-13 12:53:15 -0800 (Fri, 13 Jan 2017)


Log Message
[GStreamer] Cache the accelerated capability of MediaPlayerClient in MediaPlayerPrivateGStreamerBase
https://bugs.webkit.org/show_bug.cgi?id=167015

Reviewed by Jer Noble.

In MediaPlayerPrivateGStreamerBase, avoid continuously querying the MediaPlayerClient
object about the accelerated compositing capabilities. Instead, cache this information
when creating the video sink (which is most affected by this information anyway), storing
it in a new protected boolean member variable in the MediaPlayerPrivateGStreamerBase class.

All calls to MediaPlayerClient::mediaPlayerRenderingCanBeAccelerated() and
MediaPlayerClient::mediaPlayerAcceleratedCompositingEnabled() are replaced by tests
on the value of this new member variable.

* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin):
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
(WebCore::MediaPlayerPrivateGStreamerBase::naturalSize):
(WebCore::MediaPlayerPrivateGStreamerBase::repaint):
(WebCore::MediaPlayerPrivateGStreamerBase::triggerRepaint):
(WebCore::MediaPlayerPrivateGStreamerBase::paint):
(WebCore::MediaPlayerPrivateGStreamerBase::createVideoSink):
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp
trunk/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp
trunk/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h




Diff

Modified: trunk/Source/WebCore/ChangeLog (210739 => 210740)

--- trunk/Source/WebCore/ChangeLog	2017-01-13 19:18:30 UTC (rev 210739)
+++ trunk/Source/WebCore/ChangeLog	2017-01-13 20:53:15 UTC (rev 210740)
@@ -1,3 +1,29 @@
+2017-01-13  Zan Dobersek  
+
+[GStreamer] Cache the accelerated capability of MediaPlayerClient in MediaPlayerPrivateGStreamerBase
+https://bugs.webkit.org/show_bug.cgi?id=167015
+
+Reviewed by Jer Noble.
+
+In MediaPlayerPrivateGStreamerBase, avoid continuously querying the MediaPlayerClient
+object about the accelerated compositing capabilities. Instead, cache this information
+when creating the video sink (which is most affected by this information anyway), storing
+it in a new protected boolean member variable in the MediaPlayerPrivateGStreamerBase class.
+
+All calls to MediaPlayerClient::mediaPlayerRenderingCanBeAccelerated() and
+MediaPlayerClient::mediaPlayerAcceleratedCompositingEnabled() are replaced by tests
+on the value of this new member variable.
+
+* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
+(WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin):
+* platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
+(WebCore::MediaPlayerPrivateGStreamerBase::naturalSize):
+(WebCore::MediaPlayerPrivateGStreamerBase::repaint):
+(WebCore::MediaPlayerPrivateGStreamerBase::triggerRepaint):
+(WebCore::MediaPlayerPrivateGStreamerBase::paint):
+(WebCore::MediaPlayerPrivateGStreamerBase::createVideoSink):
+* platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:
+
 2017-01-13  Chris Dumez  
 
 Report post-page load CPU usage using diagnostic logging


Modified: trunk/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp (210739 => 210740)

--- trunk/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp	2017-01-13 19:18:30 UTC (rev 210739)
+++ trunk/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp	2017-01-13 20:53:15 UTC (rev 210740)
@@ -2016,7 +2016,7 @@
 g_object_set(m_pipeline.get(), "audio-filter", scale, nullptr);
 }
 
-if (!m_player->client().mediaPlayerRenderingCanBeAccelerated(m_player)) {
+if (!m_renderingCanBeAccelerated) {
 // If not using accelerated compositing, let GStreamer handle
 // the image-orientation tag.
 GstElement* videoFlip = gst_element_factory_make("videoflip", nullptr);


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

--- trunk/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp	2017-01-13 19:18:30 UTC (rev 210739)
+++ trunk/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp	2017-01-13 20:53:15 UTC (rev 210740)
@@ -403,7 +403,7 @@
 
 #if USE(TEXTURE_MAPPER_GL)
 // When using accelerated compositing, if the video is tagged as rotated 90 or 270 degrees, swap width and height.
-if (m_player->client().mediaPlayerRenderingCanBeAccelerated(m_player)) {
+if (m_renderingCanBeAccelerated) {
 if (m_videoSourceOrientation.usesWidthAs

[webkit-changes] [210741] trunk

2017-01-13 Thread weinig
Title: [210741] trunk








Revision 210741
Author wei...@apple.com
Date 2017-01-13 13:19:55 -0800 (Fri, 13 Jan 2017)


Log Message
[WebIDL] Remove custom bindings for DeviceMotionEvent and DeviceOrientationEvent
https://bugs.webkit.org/show_bug.cgi?id=167006

Reviewed by Geoffrey Garen.

Source/WebCore:

* CMakeLists.txt:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSBindingsAllInOne.cpp:
* bindings/js/JSDeviceMotionEventCustom.cpp: Removed.
* bindings/js/JSDeviceOrientationEventCustom.cpp: Removed.
Remove Custom bindings files.

* dom/DeviceMotionData.cpp:
(WebCore::DeviceMotionData::create):
(WebCore::DeviceMotionData::DeviceMotionData):
(WebCore::DeviceMotionData::Acceleration::create): Deleted.
(WebCore::DeviceMotionData::Acceleration::Acceleration): Deleted.
(WebCore::DeviceMotionData::RotationRate::create): Deleted.
(WebCore::DeviceMotionData::RotationRate::RotationRate): Deleted.
* dom/DeviceMotionData.h:
(WebCore::DeviceMotionData::Acceleration::create):
(WebCore::DeviceMotionData::Acceleration::x):
(WebCore::DeviceMotionData::Acceleration::y):
(WebCore::DeviceMotionData::Acceleration::z):
(WebCore::DeviceMotionData::Acceleration::Acceleration):
(WebCore::DeviceMotionData::RotationRate::create):
(WebCore::DeviceMotionData::RotationRate::alpha):
(WebCore::DeviceMotionData::RotationRate::beta):
(WebCore::DeviceMotionData::RotationRate::gamma):
(WebCore::DeviceMotionData::RotationRate::RotationRate):
(WebCore::DeviceMotionData::interval):
(WebCore::DeviceMotionData::Acceleration::canProvideX): Deleted.
(WebCore::DeviceMotionData::Acceleration::canProvideY): Deleted.
(WebCore::DeviceMotionData::Acceleration::canProvideZ): Deleted.
(WebCore::DeviceMotionData::RotationRate::canProvideAlpha): Deleted.
(WebCore::DeviceMotionData::RotationRate::canProvideBeta): Deleted.
(WebCore::DeviceMotionData::RotationRate::canProvideGamma): Deleted.
(WebCore::DeviceMotionData::canProvideInterval): Deleted.
Re-work using std::optional rather than an explicit bool/value pair.

* dom/DeviceMotionEvent.cpp:
(WebCore::convert):
(WebCore::DeviceMotionEvent::acceleration):
(WebCore::DeviceMotionEvent::accelerationIncludingGravity):
(WebCore::DeviceMotionEvent::rotationRate):
(WebCore::DeviceMotionEvent::interval):
(WebCore::DeviceMotionEvent::initDeviceMotionEvent):
* dom/DeviceMotionEvent.h:
Implement IDL interface. For now, we have duplicate structs for
Acceleration and RotationRate (one here, one in DeviceMotionData)
which can be consolidated in the future.

* dom/DeviceMotionEvent.idl:
Add dictionaries for Acceleration and RotationRate, and update IDL to
specify the correct nullability of attributes and arguments.

* dom/DeviceOrientationData.cpp:
(WebCore::DeviceOrientationData::create):
(WebCore::DeviceOrientationData::DeviceOrientationData):
(WebCore::DeviceOrientationData::alpha): Deleted.
(WebCore::DeviceOrientationData::beta): Deleted.
(WebCore::DeviceOrientationData::gamma): Deleted.
(WebCore::DeviceOrientationData::absolute): Deleted.
(WebCore::DeviceOrientationData::canProvideAlpha): Deleted.
(WebCore::DeviceOrientationData::canProvideBeta): Deleted.
(WebCore::DeviceOrientationData::canProvideGamma): Deleted.
(WebCore::DeviceOrientationData::compassHeading): Deleted.
(WebCore::DeviceOrientationData::compassAccuracy): Deleted.
(WebCore::DeviceOrientationData::canProvideCompassHeading): Deleted.
(WebCore::DeviceOrientationData::canProvideCompassAccuracy): Deleted.
(WebCore::DeviceOrientationData::canProvideAbsolute): Deleted.
* dom/DeviceOrientationData.h:
(WebCore::DeviceOrientationData::create):
(WebCore::DeviceOrientationData::alpha):
(WebCore::DeviceOrientationData::beta):
(WebCore::DeviceOrientationData::gamma):
(WebCore::DeviceOrientationData::compassHeading):
(WebCore::DeviceOrientationData::compassAccuracy):
(WebCore::DeviceOrientationData::absolute):
Re-work using std::optional rather than an explicit bool/value pair.

* dom/DeviceOrientationEvent.cpp:
(WebCore::DeviceOrientationEvent::alpha):
(WebCore::DeviceOrientationEvent::beta):
(WebCore::DeviceOrientationEvent::gamma):
(WebCore::DeviceOrientationEvent::compassHeading):
(WebCore::DeviceOrientationEvent::compassAccuracy):
(WebCore::DeviceOrientationEvent::initDeviceOrientationEvent):
(WebCore::DeviceOrientationEvent::absolute):
* dom/DeviceOrientationEvent.h:
Implement IDL interface.

* dom/DeviceOrientationEvent.idl:
Update IDL to specify the correct nullability of attributes and arguments.

* platform/ios/DeviceMotionClientIOS.mm:
(WebCore::DeviceMotionClientIOS::motionChanged):
* platform/ios/DeviceOrientationClientIOS.mm:
(WebCore::DeviceOrientationClientIOS::orientationChanged):
Update for use of std:optional.

Source/WebKit/mac:

* WebView/WebDeviceOrientation.mm:
(convert):
(-[WebDeviceOrientation initWithCanProvideAlpha:alpha:canProvideBeta:beta:canProvideGamma:gamma:]):
Update for new use of std::optional.

LayoutTests:

* fast/dom/DeviceMotion/optional-event-properties-expected.txt:
* fast/dom/DeviceMotion/script-tests/optional-even

[webkit-changes] [210742] trunk

2017-01-13 Thread eric . carlson
Title: [210742] trunk








Revision 210742
Author eric.carl...@apple.com
Date 2017-01-13 13:27:30 -0800 (Fri, 13 Jan 2017)


Log Message
[MediaStream, Mac] Add mock audio source
https://bugs.webkit.org/show_bug.cgi?id=166974

Reviewed by Jer Noble.
Source/WebCore:

Add a mock audio source for testing media streams.

No new tests, updated webaudio/mediastreamaudiosourcenode.html.

* WebCore.xcodeproj/project.pbxproj:
* platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.mm:
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::enqueueAudioSample):
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::enqueueVideoSample):

* platform/mediastream/mac/AVAudioCaptureSource.h:
(WebCore::AVAudioCaptureSource::Observer::~Observer): Deleted.

* platform/mediastream/mac/AVAudioCaptureSource.mm:
(WebCore::AVAudioCaptureSource::addObserver):
(WebCore::AVAudioCaptureSource::removeObserver):
(WebCore::AVAudioCaptureSource::start):

* platform/mediastream/mac/MockRealtimeAudioSourceMac.h: Added.
* platform/mediastream/mac/MockRealtimeAudioSourceMac.mm: Added.
(WebCore::MockRealtimeAudioSource::create):
(WebCore::MockRealtimeAudioSourceMac::MockRealtimeAudioSourceMac):
(WebCore::MockRealtimeAudioSource::createMuted):
(WebCore::MockRealtimeAudioSourceMac::addObserver):
(WebCore::MockRealtimeAudioSourceMac::removeObserver):
(WebCore::MockRealtimeAudioSourceMac::start):
(WebCore::MockRealtimeAudioSourceMac::emitSampleBuffers):
(WebCore::MockRealtimeAudioSourceMac::reconfigure):
(WebCore::MockRealtimeAudioSourceMac::render):
(WebCore::MockRealtimeAudioSourceMac::applySampleRate):
(WebCore::MockRealtimeAudioSourceMac::audioSourceProvider):

* platform/mediastream/mac/WebAudioSourceProviderAVFObjC.h:
* platform/mediastream/mac/WebAudioSourceProviderAVFObjC.mm:
(WebCore::WebAudioSourceProviderAVFObjC::create):
(WebCore::WebAudioSourceProviderAVFObjC::WebAudioSourceProviderAVFObjC):
(WebCore::WebAudioSourceProviderAVFObjC::~WebAudioSourceProviderAVFObjC):
(WebCore::WebAudioSourceProviderAVFObjC::provideInput):
(WebCore::WebAudioSourceProviderAVFObjC::setClient):
(WebCore::WebAudioSourceProviderAVFObjC::startProducingData): Deleted.
(WebCore::WebAudioSourceProviderAVFObjC::stopProducingData): Deleted.

* platform/mock/MockRealtimeAudioSource.cpp:
(WebCore::MockRealtimeAudioSource::MockRealtimeAudioSource):
(WebCore::MockRealtimeAudioSource::startProducingData):
(WebCore::MockRealtimeAudioSource::stopProducingData):
(WebCore::MockRealtimeAudioSource::elapsedTime):
(WebCore::MockRealtimeAudioSource::tick):

* platform/mock/MockRealtimeAudioSource.h:
(WebCore::MockRealtimeAudioSource::render):
(WebCore::MockRealtimeAudioSource::renderInterval):
(WebCore::MockRealtimeAudioSource::~MockRealtimeAudioSource): Deleted.

LayoutTests:

* webaudio/mediastreamaudiosourcenode-expected.txt:
* webaudio/mediastreamaudiosourcenode.html:

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/webaudio/mediastreamaudiosourcenode-expected.txt
trunk/LayoutTests/webaudio/mediastreamaudiosourcenode.html
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj
trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.mm
trunk/Source/WebCore/platform/mediastream/mac/AVAudioCaptureSource.h
trunk/Source/WebCore/platform/mediastream/mac/AVAudioCaptureSource.mm
trunk/Source/WebCore/platform/mediastream/mac/WebAudioSourceProviderAVFObjC.h
trunk/Source/WebCore/platform/mediastream/mac/WebAudioSourceProviderAVFObjC.mm
trunk/Source/WebCore/platform/mock/MockRealtimeAudioSource.cpp
trunk/Source/WebCore/platform/mock/MockRealtimeAudioSource.h


Added Paths

trunk/Source/WebCore/platform/mediastream/mac/AudioCaptureSourceProviderObjC.h
trunk/Source/WebCore/platform/mediastream/mac/AudioSourceObserverObjC.h
trunk/Source/WebCore/platform/mediastream/mac/MockRealtimeAudioSourceMac.h
trunk/Source/WebCore/platform/mediastream/mac/MockRealtimeAudioSourceMac.mm




Diff

Modified: trunk/LayoutTests/ChangeLog (210741 => 210742)

--- trunk/LayoutTests/ChangeLog	2017-01-13 21:19:55 UTC (rev 210741)
+++ trunk/LayoutTests/ChangeLog	2017-01-13 21:27:30 UTC (rev 210742)
@@ -1,3 +1,13 @@
+2017-01-13  Eric Carlson  
+
+[MediaStream, Mac] Add mock audio source
+https://bugs.webkit.org/show_bug.cgi?id=166974
+
+Reviewed by Jer Noble.
+
+* webaudio/mediastreamaudiosourcenode-expected.txt:
+* webaudio/mediastreamaudiosourcenode.html:
+
 2017-01-13  Sam Weinig  
 
 [WebIDL] Remove custom bindings for DeviceMotionEvent and DeviceOrientationEvent


Modified: trunk/LayoutTests/webaudio/mediastreamaudiosourcenode-expected.txt (210741 => 210742)

--- trunk/LayoutTests/webaudio/mediastreamaudiosourcenode-expected.txt	2017-01-13 21:19:55 UTC (rev 210741)
+++ trunk/LayoutTests/webaudio/mediastreamaudiosourcenode-expected.txt	2017-01-13 21:27:30 UTC (rev 210742)
@@ -3,14 +3,15 @@
 On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
 
 

[webkit-changes] [210743] tags/Safari-603.1.20/

2017-01-13 Thread matthew_hanson
Title: [210743] tags/Safari-603.1.20/








Revision 210743
Author matthew_han...@apple.com
Date 2017-01-13 15:01:32 -0800 (Fri, 13 Jan 2017)


Log Message
New tag.

Added Paths

tags/Safari-603.1.20/




Diff




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


[webkit-changes] [210744] branches/safari-603-branch/Source

2017-01-13 Thread matthew_hanson
Title: [210744] branches/safari-603-branch/Source








Revision 210744
Author matthew_han...@apple.com
Date 2017-01-13 15:02:58 -0800 (Fri, 13 Jan 2017)


Log Message
Versioning.

Modified Paths

branches/safari-603-branch/Source/_javascript_Core/Configurations/Version.xcconfig
branches/safari-603-branch/Source/WebCore/Configurations/Version.xcconfig
branches/safari-603-branch/Source/WebInspectorUI/Configurations/Version.xcconfig
branches/safari-603-branch/Source/WebKit/mac/Configurations/Version.xcconfig
branches/safari-603-branch/Source/WebKit2/Configurations/Version.xcconfig




Diff

Modified: branches/safari-603-branch/Source/_javascript_Core/Configurations/Version.xcconfig (210743 => 210744)

--- branches/safari-603-branch/Source/_javascript_Core/Configurations/Version.xcconfig	2017-01-13 23:01:32 UTC (rev 210743)
+++ branches/safari-603-branch/Source/_javascript_Core/Configurations/Version.xcconfig	2017-01-13 23:02:58 UTC (rev 210744)
@@ -23,7 +23,7 @@
 
 MAJOR_VERSION = 603;
 MINOR_VERSION = 1;
-TINY_VERSION = 20;
+TINY_VERSION = 21;
 MICRO_VERSION = 0;
 NANO_VERSION = 0;
 FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION);


Modified: branches/safari-603-branch/Source/WebCore/Configurations/Version.xcconfig (210743 => 210744)

--- branches/safari-603-branch/Source/WebCore/Configurations/Version.xcconfig	2017-01-13 23:01:32 UTC (rev 210743)
+++ branches/safari-603-branch/Source/WebCore/Configurations/Version.xcconfig	2017-01-13 23:02:58 UTC (rev 210744)
@@ -23,7 +23,7 @@
 
 MAJOR_VERSION = 603;
 MINOR_VERSION = 1;
-TINY_VERSION = 20;
+TINY_VERSION = 21;
 MICRO_VERSION = 0;
 NANO_VERSION = 0;
 FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION);


Modified: branches/safari-603-branch/Source/WebInspectorUI/Configurations/Version.xcconfig (210743 => 210744)

--- branches/safari-603-branch/Source/WebInspectorUI/Configurations/Version.xcconfig	2017-01-13 23:01:32 UTC (rev 210743)
+++ branches/safari-603-branch/Source/WebInspectorUI/Configurations/Version.xcconfig	2017-01-13 23:02:58 UTC (rev 210744)
@@ -1,6 +1,6 @@
 MAJOR_VERSION = 603;
 MINOR_VERSION = 1;
-TINY_VERSION = 20;
+TINY_VERSION = 21;
 MICRO_VERSION = 0;
 NANO_VERSION = 0;
 FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION);


Modified: branches/safari-603-branch/Source/WebKit/mac/Configurations/Version.xcconfig (210743 => 210744)

--- branches/safari-603-branch/Source/WebKit/mac/Configurations/Version.xcconfig	2017-01-13 23:01:32 UTC (rev 210743)
+++ branches/safari-603-branch/Source/WebKit/mac/Configurations/Version.xcconfig	2017-01-13 23:02:58 UTC (rev 210744)
@@ -23,7 +23,7 @@
 
 MAJOR_VERSION = 603;
 MINOR_VERSION = 1;
-TINY_VERSION = 20;
+TINY_VERSION = 21;
 MICRO_VERSION = 0;
 NANO_VERSION = 0;
 FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION);


Modified: branches/safari-603-branch/Source/WebKit2/Configurations/Version.xcconfig (210743 => 210744)

--- branches/safari-603-branch/Source/WebKit2/Configurations/Version.xcconfig	2017-01-13 23:01:32 UTC (rev 210743)
+++ branches/safari-603-branch/Source/WebKit2/Configurations/Version.xcconfig	2017-01-13 23:02:58 UTC (rev 210744)
@@ -23,7 +23,7 @@
 
 MAJOR_VERSION = 603;
 MINOR_VERSION = 1;
-TINY_VERSION = 20;
+TINY_VERSION = 21;
 MICRO_VERSION = 0;
 NANO_VERSION = 0;
 FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION);






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


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

2017-01-13 Thread sbarati
Title: [210745] trunk/Source/_javascript_Core








Revision 210745
Author sbar...@apple.com
Date 2017-01-13 15:30:45 -0800 (Fri, 13 Jan 2017)


Log Message
Initialize the ArraySpecies watchpoint as Clear and transition to IsWatched once slice is called for the first time
https://bugs.webkit.org/show_bug.cgi?id=167017


Reviewed by Keith Miller and Filip Pizlo.

This patch is to reverse the JSBench regression from r210695.

The new state diagram for the array species watchpoint is as
follows:

1. On GlobalObject construction, it starts life out as ClearWatchpoint.
2. When slice is called for the first time, we observe the state
of the world, and either transition it to IsWatched if we were able
to set up the object property conditions, or to IsInvalidated if we
were not.
3. The DFG compiler will now only lower slice as an intrinsic if
it observed the speciesWatchpoint.state() as IsWatched.
4. The IsWatched => IsInvalidated transition happens only when
one of the object property condition watchpoints fire.

* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::handleIntrinsicCall):
* runtime/ArrayPrototype.cpp:
(JSC::speciesWatchpointIsValid):
(JSC::speciesConstructArray):
(JSC::arrayProtoPrivateFuncConcatMemcpy):
(JSC::ArrayPrototype::tryInitializeSpeciesWatchpoint):
(JSC::ArrayPrototype::initializeSpeciesWatchpoint): Deleted.
* runtime/ArrayPrototype.h:
* runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::JSGlobalObject):
(JSC::JSGlobalObject::init):

Modified Paths

trunk/Source/_javascript_Core/ChangeLog
trunk/Source/_javascript_Core/dfg/DFGByteCodeParser.cpp
trunk/Source/_javascript_Core/runtime/ArrayPrototype.cpp
trunk/Source/_javascript_Core/runtime/ArrayPrototype.h
trunk/Source/_javascript_Core/runtime/JSGlobalObject.cpp




Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (210744 => 210745)

--- trunk/Source/_javascript_Core/ChangeLog	2017-01-13 23:02:58 UTC (rev 210744)
+++ trunk/Source/_javascript_Core/ChangeLog	2017-01-13 23:30:45 UTC (rev 210745)
@@ -1,3 +1,39 @@
+2017-01-13  Saam Barati  
+
+Initialize the ArraySpecies watchpoint as Clear and transition to IsWatched once slice is called for the first time
+https://bugs.webkit.org/show_bug.cgi?id=167017
+
+
+Reviewed by Keith Miller and Filip Pizlo.
+
+This patch is to reverse the JSBench regression from r210695.
+
+The new state diagram for the array species watchpoint is as
+follows:
+
+1. On GlobalObject construction, it starts life out as ClearWatchpoint.
+2. When slice is called for the first time, we observe the state
+of the world, and either transition it to IsWatched if we were able
+to set up the object property conditions, or to IsInvalidated if we
+were not.
+3. The DFG compiler will now only lower slice as an intrinsic if
+it observed the speciesWatchpoint.state() as IsWatched.
+4. The IsWatched => IsInvalidated transition happens only when
+one of the object property condition watchpoints fire.
+
+* dfg/DFGByteCodeParser.cpp:
+(JSC::DFG::ByteCodeParser::handleIntrinsicCall):
+* runtime/ArrayPrototype.cpp:
+(JSC::speciesWatchpointIsValid):
+(JSC::speciesConstructArray):
+(JSC::arrayProtoPrivateFuncConcatMemcpy):
+(JSC::ArrayPrototype::tryInitializeSpeciesWatchpoint):
+(JSC::ArrayPrototype::initializeSpeciesWatchpoint): Deleted.
+* runtime/ArrayPrototype.h:
+* runtime/JSGlobalObject.cpp:
+(JSC::JSGlobalObject::JSGlobalObject):
+(JSC::JSGlobalObject::init):
+
 2017-01-13  Yusuke Suzuki  
 
 Reserve capacity for StringBuilder in unescape


Modified: trunk/Source/_javascript_Core/dfg/DFGByteCodeParser.cpp (210744 => 210745)

--- trunk/Source/_javascript_Core/dfg/DFGByteCodeParser.cpp	2017-01-13 23:02:58 UTC (rev 210744)
+++ trunk/Source/_javascript_Core/dfg/DFGByteCodeParser.cpp	2017-01-13 23:30:45 UTC (rev 210745)
@@ -2278,7 +2278,7 @@
 InlineWatchpointSet& arrayPrototypeTransition = globalObject->arrayPrototype()->structure()->transitionWatchpointSet();
 
 // FIXME: We could easily relax the Array/Object.prototype transition as long as we OSR exitted if we saw a hole.
-if (globalObject->arraySpeciesWatchpoint().isStillValid()
+if (globalObject->arraySpeciesWatchpoint().state() == IsWatched
 && globalObject->havingABadTimeWatchpoint()->isStillValid()
 && arrayPrototypeTransition.isStillValid()
 && objectPrototypeTransition.isStillValid()


Modified: trunk/Source/_javascript_Core/runtime/ArrayPrototype.cpp (210744 => 210745)

--- trunk/Source/_javascript_Core/runtime/ArrayPrototype.cpp	2017-01-13 23:02:58 UTC (rev 210744)
+++ trunk/Source/_javascript_Core/runtime/ArrayPrototype.cpp	2017-01-13 23:30:45 UTC (rev 210745)
@@ -191,12 +191,19 @@
 throwTypeError(exec, sco

[webkit-changes] [210746] trunk/Source/bmalloc

2017-01-13 Thread ggaren
Title: [210746] trunk/Source/bmalloc








Revision 210746
Author gga...@apple.com
Date 2017-01-13 15:39:09 -0800 (Fri, 13 Jan 2017)


Log Message
bmalloc: Use a separate zone when using system malloc
https://bugs.webkit.org/show_bug.cgi?id=167014

Reviewed by Filip Pizlo.

Harris asked for this so he could separate Safari and WebKit memory use
when doing memory analysis.

This patch adds an explicit DebugHeap class that contains all our
code for specialized allocation with debugging.

* bmalloc.xcodeproj/project.pbxproj:

* bmalloc/Allocator.cpp:
(bmalloc::Allocator::Allocator):
(bmalloc::Allocator::tryAllocate):
(bmalloc::Allocator::allocateImpl):
(bmalloc::Allocator::reallocate):
(bmalloc::Allocator::allocateSlowCase):
* bmalloc/Allocator.h: Forward to DebugHeap instead of inlining all the
code. This is required for our new interface, and it is also a nice
simplification that moves some not-very-important code out of the way.

* bmalloc/Deallocator.cpp:
(bmalloc::Deallocator::Deallocator):
(bmalloc::Deallocator::scavenge):
(bmalloc::Deallocator::deallocateSlowCase):
* bmalloc/Deallocator.h: Ditto.

* bmalloc/DebugHeap.cpp: Added.
(bmalloc::DebugHeap::DebugHeap):
(bmalloc::DebugHeap::malloc):
(bmalloc::DebugHeap::memalign):
(bmalloc::DebugHeap::realloc):
(bmalloc::DebugHeap::free):
* bmalloc/DebugHeap.h: Added. New class for overriding normal heap
behavior. Right now, it just adds a malloc zone and then forwards to
system malloc -- but we can add lots more kinds of debug heaps in the
future if we find them useful.

* bmalloc/Environment.cpp:
(bmalloc::Environment::Environment):
(bmalloc::Environment::computeIsDebugHeapEnabled):
(bmalloc::Environment::computeIsBmallocEnabled): Deleted.
* bmalloc/Environment.h:
(bmalloc::Environment::isDebugHeapEnabled):
(bmalloc::Environment::isBmallocEnabled): Deleted. Renamed everything to
reflect our new use of DebugHeap.

* bmalloc/Heap.cpp:
(bmalloc::Heap::Heap):
* bmalloc/Heap.h:
(bmalloc::Heap::debugHeap): Updated to use DebugHeap.
(bmalloc::Heap::environment): Deleted. 

* bmalloc/bmalloc.h:
(bmalloc::api::isEnabled): Updated to use DebugHeap.

Modified Paths

trunk/Source/bmalloc/CMakeLists.txt
trunk/Source/bmalloc/ChangeLog
trunk/Source/bmalloc/bmalloc/Allocator.cpp
trunk/Source/bmalloc/bmalloc/Allocator.h
trunk/Source/bmalloc/bmalloc/Deallocator.cpp
trunk/Source/bmalloc/bmalloc/Deallocator.h
trunk/Source/bmalloc/bmalloc/Environment.cpp
trunk/Source/bmalloc/bmalloc/Environment.h
trunk/Source/bmalloc/bmalloc/Heap.cpp
trunk/Source/bmalloc/bmalloc/Heap.h
trunk/Source/bmalloc/bmalloc/bmalloc.h
trunk/Source/bmalloc/bmalloc.xcodeproj/project.pbxproj


Added Paths

trunk/Source/bmalloc/bmalloc/DebugHeap.cpp
trunk/Source/bmalloc/bmalloc/DebugHeap.h




Diff

Modified: trunk/Source/bmalloc/CMakeLists.txt (210745 => 210746)

--- trunk/Source/bmalloc/CMakeLists.txt	2017-01-13 23:30:45 UTC (rev 210745)
+++ trunk/Source/bmalloc/CMakeLists.txt	2017-01-13 23:39:09 UTC (rev 210746)
@@ -8,6 +8,7 @@
 bmalloc/Allocator.cpp
 bmalloc/Cache.cpp
 bmalloc/Deallocator.cpp
+bmalloc/DebugHeap.cpp
 bmalloc/Environment.cpp
 bmalloc/Heap.cpp
 bmalloc/LargeMap.cpp


Modified: trunk/Source/bmalloc/ChangeLog (210745 => 210746)

--- trunk/Source/bmalloc/ChangeLog	2017-01-13 23:30:45 UTC (rev 210745)
+++ trunk/Source/bmalloc/ChangeLog	2017-01-13 23:39:09 UTC (rev 210746)
@@ -1,3 +1,63 @@
+2017-01-13  Geoffrey Garen  
+
+bmalloc: Use a separate zone when using system malloc
+https://bugs.webkit.org/show_bug.cgi?id=167014
+
+Reviewed by Filip Pizlo.
+
+Harris asked for this so he could separate Safari and WebKit memory use
+when doing memory analysis.
+
+This patch adds an explicit DebugHeap class that contains all our
+code for specialized allocation with debugging.
+
+* bmalloc.xcodeproj/project.pbxproj:
+
+* bmalloc/Allocator.cpp:
+(bmalloc::Allocator::Allocator):
+(bmalloc::Allocator::tryAllocate):
+(bmalloc::Allocator::allocateImpl):
+(bmalloc::Allocator::reallocate):
+(bmalloc::Allocator::allocateSlowCase):
+* bmalloc/Allocator.h: Forward to DebugHeap instead of inlining all the
+code. This is required for our new interface, and it is also a nice
+simplification that moves some not-very-important code out of the way.
+
+* bmalloc/Deallocator.cpp:
+(bmalloc::Deallocator::Deallocator):
+(bmalloc::Deallocator::scavenge):
+(bmalloc::Deallocator::deallocateSlowCase):
+* bmalloc/Deallocator.h: Ditto.
+
+* bmalloc/DebugHeap.cpp: Added.
+(bmalloc::DebugHeap::DebugHeap):
+(bmalloc::DebugHeap::malloc):
+(bmalloc::DebugHeap::memalign):
+(bmalloc::DebugHeap::realloc):
+(bmalloc::DebugHeap::free):
+* bmalloc/DebugHeap.h: Added. New class for overriding normal heap
+behavior. Right now, it just adds a malloc zone and then forwards to
+  

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

2017-01-13 Thread jer . noble
Title: [210747] trunk/Source/WebCore








Revision 210747
Author jer.no...@apple.com
Date 2017-01-13 15:42:02 -0800 (Fri, 13 Jan 2017)


Log Message
Protect MediaPlayer from being destroyed mid-load()
https://bugs.webkit.org/show_bug.cgi?id=166976

Reviewed by Eric Carlson.

It's possible for a message sent by MediaPlayer to HTMLMediaElement to cause
MediaPlayer to be destroyed before MediaPlayer::load() completes. We have
previously protected against this same problem in HTMLMediaElement::loadResource()
by ref'ing at the beginning of the function and deref'ing on exit. To do the
same in MediaPlayer, it must become RefCounted.

To keep the same semantics about m_client in MediaPlayer (always available without
requiring a null-check), make a new static MediaPlayerClient object which can
replace the real (HTMLMediaElement) client when the MediaPlayer is invalidated.

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::~HTMLMediaElement):
(WebCore::HTMLMediaElement::clearMediaPlayer):
(WebCore::HTMLMediaElement::createMediaPlayer):
* html/HTMLMediaElement.h:
* platform/graphics/MediaPlayer.cpp:
(WebCore::nullMediaPlayerClient):
(WebCore::MediaPlayer::create):
(WebCore::MediaPlayer::MediaPlayer):
(WebCore::MediaPlayer::invalidate):
(WebCore::MediaPlayer::load):
(WebCore::MediaPlayer::loadWithNextMediaEngine):
(WebCore::MediaPlayer::inMediaDocument):
(WebCore::MediaPlayer::fullscreenMode):
(WebCore::MediaPlayer::requestedRate):
(WebCore::MediaPlayer::currentPlaybackTargetIsWirelessChanged):
(WebCore::MediaPlayer::networkStateChanged):
(WebCore::MediaPlayer::readyStateChanged):
(WebCore::MediaPlayer::volumeChanged):
(WebCore::MediaPlayer::muteChanged):
(WebCore::MediaPlayer::timeChanged):
(WebCore::MediaPlayer::sizeChanged):
(WebCore::MediaPlayer::repaint):
(WebCore::MediaPlayer::durationChanged):
(WebCore::MediaPlayer::rateChanged):
(WebCore::MediaPlayer::playbackStateChanged):
(WebCore::MediaPlayer::firstVideoFrameAvailable):
(WebCore::MediaPlayer::characteristicChanged):
(WebCore::MediaPlayer::cachedKeyForKeyId):
(WebCore::MediaPlayer::keyNeeded):
(WebCore::MediaPlayer::mediaKeysStorageDirectory):
(WebCore::MediaPlayer::referrer):
(WebCore::MediaPlayer::userAgent):
(WebCore::MediaPlayer::graphicsDeviceAdapter):
(WebCore::MediaPlayer::cachedResourceLoader):
(WebCore::MediaPlayer::createResourceLoader):
(WebCore::MediaPlayer::addAudioTrack):
(WebCore::MediaPlayer::removeAudioTrack):
(WebCore::MediaPlayer::addTextTrack):
(WebCore::MediaPlayer::removeTextTrack):
(WebCore::MediaPlayer::addVideoTrack):
(WebCore::MediaPlayer::removeVideoTrack):
(WebCore::MediaPlayer::outOfBandTrackSources):
(WebCore::MediaPlayer::shouldWaitForResponseToAuthenticationChallenge):
(WebCore::MediaPlayer::handlePlaybackCommand):
(WebCore::MediaPlayer::sourceApplicationIdentifier):
(WebCore::MediaPlayer::preferredAudioCharacteristics):
(WebCore::MediaPlayer::doesHaveAttribute):
(WebCore::MediaPlayer::mediaPlayerNetworkInterfaceName):
(WebCore::MediaPlayer::getRawCookies):
(WebCore::MediaPlayer::shouldDisableSleep):
* platform/graphics/MediaPlayer.h:
(WebCore::MediaPlayer::platformVolumeConfigurationRequired):
(WebCore::MediaPlayer::client):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/html/HTMLMediaElement.cpp
trunk/Source/WebCore/html/HTMLMediaElement.h
trunk/Source/WebCore/platform/graphics/MediaPlayer.cpp
trunk/Source/WebCore/platform/graphics/MediaPlayer.h




Diff

Modified: trunk/Source/WebCore/ChangeLog (210746 => 210747)

--- trunk/Source/WebCore/ChangeLog	2017-01-13 23:39:09 UTC (rev 210746)
+++ trunk/Source/WebCore/ChangeLog	2017-01-13 23:42:02 UTC (rev 210747)
@@ -1,3 +1,75 @@
+2017-01-12  Jer Noble  
+
+Protect MediaPlayer from being destroyed mid-load()
+https://bugs.webkit.org/show_bug.cgi?id=166976
+
+Reviewed by Eric Carlson.
+
+It's possible for a message sent by MediaPlayer to HTMLMediaElement to cause
+MediaPlayer to be destroyed before MediaPlayer::load() completes. We have
+previously protected against this same problem in HTMLMediaElement::loadResource()
+by ref'ing at the beginning of the function and deref'ing on exit. To do the
+same in MediaPlayer, it must become RefCounted.
+
+To keep the same semantics about m_client in MediaPlayer (always available without
+requiring a null-check), make a new static MediaPlayerClient object which can
+replace the real (HTMLMediaElement) client when the MediaPlayer is invalidated.
+
+* html/HTMLMediaElement.cpp:
+(WebCore::HTMLMediaElement::~HTMLMediaElement):
+(WebCore::HTMLMediaElement::clearMediaPlayer):
+(WebCore::HTMLMediaElement::createMediaPlayer):
+* html/HTMLMediaElement.h:
+* platform/graphics/MediaPlayer.cpp:
+(WebCore::nullMediaPlayerClient):
+(WebCore::MediaPlayer::create):
+(WebCore::MediaPlayer::MediaPlayer):
+(WebCore::MediaPlayer::invalidate):
+(WebCore::Me

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

2017-01-13 Thread jer . noble
Title: [210748] trunk/Source/WebCore








Revision 210748
Author jer.no...@apple.com
Date 2017-01-13 15:46:22 -0800 (Fri, 13 Jan 2017)


Log Message
Use a strong reference when calling callOnMainThread to schedule events in AudioScheduledSourceNode.
https://bugs.webkit.org/show_bug.cgi?id=166983

Reviewed by Brent Fulgham.

* Modules/webaudio/AudioScheduledSourceNode.cpp:
(WebCore::AudioScheduledSourceNode::finish):
* Modules/webaudio/AudioScheduledSourceNode.h:

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/Modules/webaudio/AudioScheduledSourceNode.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (210747 => 210748)

--- trunk/Source/WebCore/ChangeLog	2017-01-13 23:42:02 UTC (rev 210747)
+++ trunk/Source/WebCore/ChangeLog	2017-01-13 23:46:22 UTC (rev 210748)
@@ -1,3 +1,14 @@
+2017-01-13  Jer Noble  
+
+Use a strong reference when calling callOnMainThread to schedule events in AudioScheduledSourceNode.
+https://bugs.webkit.org/show_bug.cgi?id=166983
+
+Reviewed by Brent Fulgham.
+
+* Modules/webaudio/AudioScheduledSourceNode.cpp:
+(WebCore::AudioScheduledSourceNode::finish):
+* Modules/webaudio/AudioScheduledSourceNode.h:
+
 2017-01-12  Jer Noble  
 
 Protect MediaPlayer from being destroyed mid-load()


Modified: trunk/Source/WebCore/Modules/webaudio/AudioScheduledSourceNode.cpp (210747 => 210748)

--- trunk/Source/WebCore/Modules/webaudio/AudioScheduledSourceNode.cpp	2017-01-13 23:42:02 UTC (rev 210747)
+++ trunk/Source/WebCore/Modules/webaudio/AudioScheduledSourceNode.cpp	2017-01-13 23:46:22 UTC (rev 210748)
@@ -167,8 +167,8 @@
 }
 
 if (m_hasEndedListener) {
-callOnMainThread([this] {
-dispatchEvent(Event::create(eventNames().endedEvent, false, false));
+callOnMainThread([strongThis = makeRef(*this)] () mutable {
+strongThis->dispatchEvent(Event::create(eventNames().endedEvent, false, false));
 });
 }
 }






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


[webkit-changes] [210749] trunk/LayoutTests/imported/w3c

2017-01-13 Thread cdumez
Title: [210749] trunk/LayoutTests/imported/w3c








Revision 210749
Author cdu...@apple.com
Date 2017-01-13 16:16:10 -0800 (Fri, 13 Jan 2017)


Log Message
Resync domparsing/ web-platform-tests from upstream
https://bugs.webkit.org/show_bug.cgi?id=167023

Reviewed by Alex Christensen.

Resync domparsing/ web-platform-tests from upstream 4b4b2eeb.

* web-platform-tests/domparsing/DOMParser-parseFromString-xml-doctype-expected.txt: Added.
* web-platform-tests/domparsing/DOMParser-parseFromString-xml-doctype.html: Added.
* web-platform-tests/domparsing/DOMParser-parseFromString-xml-expected.txt: Added.
* web-platform-tests/domparsing/DOMParser-parseFromString-xml.html: Added.
* web-platform-tests/domparsing/XMLSerializer-serializeToString-expected.txt: Added.
* web-platform-tests/domparsing/XMLSerializer-serializeToString.html: Added.
* web-platform-tests/domparsing/createContextualFragment-expected.txt:
* web-platform-tests/domparsing/createContextualFragment.html:
* web-platform-tests/domparsing/insert_adjacent_html-xhtml-expected.txt: Added.
* web-platform-tests/domparsing/insert_adjacent_html-xhtml.xhtml: Added.
* web-platform-tests/domparsing/style_attribute_html-expected.txt: Added.
* web-platform-tests/domparsing/style_attribute_html.html: Added.
* web-platform-tests/domparsing/w3c-import.log:

Modified Paths

trunk/LayoutTests/imported/w3c/ChangeLog
trunk/LayoutTests/imported/w3c/web-platform-tests/domparsing/createContextualFragment-expected.txt
trunk/LayoutTests/imported/w3c/web-platform-tests/domparsing/createContextualFragment.html
trunk/LayoutTests/imported/w3c/web-platform-tests/domparsing/w3c-import.log


Added Paths

trunk/LayoutTests/imported/w3c/web-platform-tests/domparsing/DOMParser-parseFromString-xml-doctype-expected.txt
trunk/LayoutTests/imported/w3c/web-platform-tests/domparsing/DOMParser-parseFromString-xml-doctype.html
trunk/LayoutTests/imported/w3c/web-platform-tests/domparsing/DOMParser-parseFromString-xml-expected.txt
trunk/LayoutTests/imported/w3c/web-platform-tests/domparsing/DOMParser-parseFromString-xml.html
trunk/LayoutTests/imported/w3c/web-platform-tests/domparsing/XMLSerializer-serializeToString-expected.txt
trunk/LayoutTests/imported/w3c/web-platform-tests/domparsing/XMLSerializer-serializeToString.html
trunk/LayoutTests/imported/w3c/web-platform-tests/domparsing/insert_adjacent_html-xhtml-expected.txt
trunk/LayoutTests/imported/w3c/web-platform-tests/domparsing/insert_adjacent_html-xhtml.xhtml
trunk/LayoutTests/imported/w3c/web-platform-tests/domparsing/style_attribute_html-expected.txt
trunk/LayoutTests/imported/w3c/web-platform-tests/domparsing/style_attribute_html.html




Diff

Modified: trunk/LayoutTests/imported/w3c/ChangeLog (210748 => 210749)

--- trunk/LayoutTests/imported/w3c/ChangeLog	2017-01-13 23:46:22 UTC (rev 210748)
+++ trunk/LayoutTests/imported/w3c/ChangeLog	2017-01-14 00:16:10 UTC (rev 210749)
@@ -1,3 +1,26 @@
+2017-01-13  Chris Dumez  
+
+Resync domparsing/ web-platform-tests from upstream
+https://bugs.webkit.org/show_bug.cgi?id=167023
+
+Reviewed by Alex Christensen.
+
+Resync domparsing/ web-platform-tests from upstream 4b4b2eeb.
+
+* web-platform-tests/domparsing/DOMParser-parseFromString-xml-doctype-expected.txt: Added.
+* web-platform-tests/domparsing/DOMParser-parseFromString-xml-doctype.html: Added.
+* web-platform-tests/domparsing/DOMParser-parseFromString-xml-expected.txt: Added.
+* web-platform-tests/domparsing/DOMParser-parseFromString-xml.html: Added.
+* web-platform-tests/domparsing/XMLSerializer-serializeToString-expected.txt: Added.
+* web-platform-tests/domparsing/XMLSerializer-serializeToString.html: Added.
+* web-platform-tests/domparsing/createContextualFragment-expected.txt:
+* web-platform-tests/domparsing/createContextualFragment.html:
+* web-platform-tests/domparsing/insert_adjacent_html-xhtml-expected.txt: Added.
+* web-platform-tests/domparsing/insert_adjacent_html-xhtml.xhtml: Added.
+* web-platform-tests/domparsing/style_attribute_html-expected.txt: Added.
+* web-platform-tests/domparsing/style_attribute_html.html: Added.
+* web-platform-tests/domparsing/w3c-import.log:
+
 2017-01-11  Youenn Fablet  
 
 Remove request.formData property until it gets implemented


Added: trunk/LayoutTests/imported/w3c/web-platform-tests/domparsing/DOMParser-parseFromString-xml-doctype-expected.txt (0 => 210749)

--- trunk/LayoutTests/imported/w3c/web-platform-tests/domparsing/DOMParser-parseFromString-xml-doctype-expected.txt	(rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/domparsing/DOMParser-parseFromString-xml-doctype-expected.txt	2017-01-14 00:16:10 UTC (rev 210749)
@@ -0,0 +1,5 @@
+
+PASS Doctype parsing of System Id must fail on ommitted value 
+PASS Doctype parsing of System Id can handle empty string 
+PASS Doctype parsing of System Id can handle a quo

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

2017-01-13 Thread bfulgham
Title: [210750] trunk/Source/WebCore








Revision 210750
Author bfulg...@apple.com
Date 2017-01-13 16:36:53 -0800 (Fri, 13 Jan 2017)


Log Message
Avoid nullptr frame dereference when scrollTo is called on a disconnected DOMWindow
https://bugs.webkit.org/show_bug.cgi?id=167030


Reviewed by Dean Jackson.

Correct DOMWindow::scrollTo to match all other functions in the class so that the it
checks that the current frame is valid before attempting to use it.

* page/DOMWindow.cpp:
(WebCore::DOMWindow::scrollTo):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/page/DOMWindow.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (210749 => 210750)

--- trunk/Source/WebCore/ChangeLog	2017-01-14 00:16:10 UTC (rev 210749)
+++ trunk/Source/WebCore/ChangeLog	2017-01-14 00:36:53 UTC (rev 210750)
@@ -1,3 +1,17 @@
+2017-01-13  Brent Fulgham  
+
+Avoid nullptr frame dereference when scrollTo is called on a disconnected DOMWindow
+https://bugs.webkit.org/show_bug.cgi?id=167030
+
+
+Reviewed by Dean Jackson.
+
+Correct DOMWindow::scrollTo to match all other functions in the class so that the it
+checks that the current frame is valid before attempting to use it.
+
+* page/DOMWindow.cpp:
+(WebCore::DOMWindow::scrollTo):
+
 2017-01-13  Jer Noble  
 
 Use a strong reference when calling callOnMainThread to schedule events in AudioScheduledSourceNode.


Modified: trunk/Source/WebCore/page/DOMWindow.cpp (210749 => 210750)

--- trunk/Source/WebCore/page/DOMWindow.cpp	2017-01-14 00:16:10 UTC (rev 210749)
+++ trunk/Source/WebCore/page/DOMWindow.cpp	2017-01-14 00:36:53 UTC (rev 210750)
@@ -1565,6 +1565,9 @@
 
 void DOMWindow::scrollTo(const ScrollToOptions& options) const
 {
+if (!isCurrentlyDisplayedInFrame())
+return;
+
 RefPtr view = m_frame->view();
 if (!view)
 return;






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


[webkit-changes] [210751] trunk/LayoutTests/imported/w3c

2017-01-13 Thread cdumez
Title: [210751] trunk/LayoutTests/imported/w3c








Revision 210751
Author cdu...@apple.com
Date 2017-01-13 16:46:12 -0800 (Fri, 13 Jan 2017)


Log Message
Import innerText/ w3c web-platform-tests
https://bugs.webkit.org/show_bug.cgi?id=167024

Reviewed by Alex Christensen.

Import innerText/ w3c web-platform-tests from upstream 4b4b2eeb.

* web-platform-tests/innerText/getter-expected.txt: Added.
* web-platform-tests/innerText/getter-tests.js: Added.
(CSS.supports):
* web-platform-tests/innerText/getter.html: Added.
* web-platform-tests/innerText/setter-expected.txt: Added.
* web-platform-tests/innerText/setter-tests.js: Added.
(string_appeared_here.forEach):
* web-platform-tests/innerText/setter.html: Added.
* web-platform-tests/innerText/w3c-import.log: Added.

Modified Paths

trunk/LayoutTests/imported/w3c/ChangeLog


Added Paths

trunk/LayoutTests/imported/w3c/web-platform-tests/innerText/
trunk/LayoutTests/imported/w3c/web-platform-tests/innerText/getter-expected.txt
trunk/LayoutTests/imported/w3c/web-platform-tests/innerText/getter-tests.js
trunk/LayoutTests/imported/w3c/web-platform-tests/innerText/getter.html
trunk/LayoutTests/imported/w3c/web-platform-tests/innerText/setter-expected.txt
trunk/LayoutTests/imported/w3c/web-platform-tests/innerText/setter-tests.js
trunk/LayoutTests/imported/w3c/web-platform-tests/innerText/setter.html
trunk/LayoutTests/imported/w3c/web-platform-tests/innerText/w3c-import.log




Diff

Modified: trunk/LayoutTests/imported/w3c/ChangeLog (210750 => 210751)

--- trunk/LayoutTests/imported/w3c/ChangeLog	2017-01-14 00:36:53 UTC (rev 210750)
+++ trunk/LayoutTests/imported/w3c/ChangeLog	2017-01-14 00:46:12 UTC (rev 210751)
@@ -1,5 +1,24 @@
 2017-01-13  Chris Dumez  
 
+Import innerText/ w3c web-platform-tests
+https://bugs.webkit.org/show_bug.cgi?id=167024
+
+Reviewed by Alex Christensen.
+
+Import innerText/ w3c web-platform-tests from upstream 4b4b2eeb.
+
+* web-platform-tests/innerText/getter-expected.txt: Added.
+* web-platform-tests/innerText/getter-tests.js: Added.
+(CSS.supports):
+* web-platform-tests/innerText/getter.html: Added.
+* web-platform-tests/innerText/setter-expected.txt: Added.
+* web-platform-tests/innerText/setter-tests.js: Added.
+(string_appeared_here.forEach):
+* web-platform-tests/innerText/setter.html: Added.
+* web-platform-tests/innerText/w3c-import.log: Added.
+
+2017-01-13  Chris Dumez  
+
 Resync domparsing/ web-platform-tests from upstream
 https://bugs.webkit.org/show_bug.cgi?id=167023
 


Added: trunk/LayoutTests/imported/w3c/web-platform-tests/innerText/getter-expected.txt (0 => 210751)

--- trunk/LayoutTests/imported/w3c/web-platform-tests/innerText/getter-expected.txt	(rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/innerText/getter-expected.txt	2017-01-14 00:46:12 UTC (rev 210751)
@@ -0,0 +1,207 @@
+1
+2
+
+PASS Simplest possible test ("abc") 
+PASS Leading whitespace removed (" abc") 
+PASS Trailing whitespace removed ("abc ") 
+PASS Internal whitespace compressed ("abc  def") 
+PASS \n converted to space ("abc\ndef") 
+PASS \r converted to space ("abc\rdef") 
+PASS \t converted to space ("abc\tdef") 
+FAIL Trailing whitespace before hard line break removed ("abc def") assert_equals: expected "abc\ndef" but got "abc \ndef"
+PASS Leading whitespace preserved (" abc") 
+PASS Trailing whitespace preserved ("abc ") 
+PASS Internal whitespace preserved ("abc  def") 
+PASS \n preserved ("abc\ndef") 
+PASS \r converted to newline ("abc\rdef") 
+PASS \t preserved ("abc\tdef") 
+PASS Leading whitespace preserved (" abc") 
+PASS Trailing whitespace preserved ("abc ") 
+PASS Internal whitespace preserved ("abc  def") 
+PASS \n preserved ("abc\ndef") 
+PASS \r converted to newline ("abc\rdef") 
+PASS \t preserved ("abc\tdef") 
+PASS Leading whitespace preserved (" abc") 
+PASS Trailing whitespace preserved ("abc ") 
+PASS Internal whitespace preserved ("abc  def") 
+PASS \n preserved ("abc\ndef") 
+PASS \r converted to newline ("abc\rdef") 
+PASS \t preserved ("abc\tdef") 
+PASS Leading whitespace removed (" abc") 
+PASS Trailing whitespace removed ("abc ") 
+PASS Internal whitespace collapsed ("abc  def") 
+FAIL \n preserved ("abc\ndef") assert_equals: expected "abc\ndef" but got "abcdef"
+FAIL \r converted to newline ("abc\rdef") assert_equals: expected "abc\ndef" but got "abcdef"
+PASS \t converted to space ("abc\tdef") 
+PASS Whitespace collapses across element boundaries ("abc  def") 
+PASS Whitespace collapses across element boundaries ("abc  def") 
+FAIL Whitespace collapses across element boundaries ("abc  def") assert_equals: expected "abc def" but got "abc  def"
+PASS Soft line breaks ignored ("abc def") 
+FAIL ::first-line styles applied ("abc def") assert_equals: expected "ABC def" but got "abc def"
+PASS ::first-letter styles applied ("abc def") 
+PASS ::first-letter float ign

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

2017-01-13 Thread ryanhaddad
Title: [210752] trunk/Source/_javascript_Core








Revision 210752
Author ryanhad...@apple.com
Date 2017-01-13 17:03:17 -0800 (Fri, 13 Jan 2017)


Log Message
Unreviewed, rolling out r210735.

This change introduced LayoutTest and JSC test flakiness.

Reverted changeset:

"Reserve capacity for StringBuilder in unescape"
https://bugs.webkit.org/show_bug.cgi?id=167008
http://trac.webkit.org/changeset/210735

Modified Paths

trunk/Source/_javascript_Core/ChangeLog
trunk/Source/_javascript_Core/runtime/JSGlobalObjectFunctions.cpp




Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (210751 => 210752)

--- trunk/Source/_javascript_Core/ChangeLog	2017-01-14 00:46:12 UTC (rev 210751)
+++ trunk/Source/_javascript_Core/ChangeLog	2017-01-14 01:03:17 UTC (rev 210752)
@@ -1,3 +1,15 @@
+2017-01-13  Ryan Haddad  
+
+Unreviewed, rolling out r210735.
+
+This change introduced LayoutTest and JSC test flakiness.
+
+Reverted changeset:
+
+"Reserve capacity for StringBuilder in unescape"
+https://bugs.webkit.org/show_bug.cgi?id=167008
+http://trac.webkit.org/changeset/210735
+
 2017-01-13  Saam Barati  
 
 Initialize the ArraySpecies watchpoint as Clear and transition to IsWatched once slice is called for the first time


Modified: trunk/Source/_javascript_Core/runtime/JSGlobalObjectFunctions.cpp (210751 => 210752)

--- trunk/Source/_javascript_Core/runtime/JSGlobalObjectFunctions.cpp	2017-01-14 00:46:12 UTC (rev 210751)
+++ trunk/Source/_javascript_Core/runtime/JSGlobalObjectFunctions.cpp	2017-01-14 01:03:17 UTC (rev 210752)
@@ -814,24 +814,22 @@
 EncodedJSValue JSC_HOST_CALL globalFuncUnescape(ExecState* exec)
 {
 return JSValue::encode(toStringView(exec, exec->argument(0), [&] (StringView view) {
-unsigned k = 0;
-unsigned length = view.length();
-
 StringBuilder builder;
-builder.reserveCapacity(length);
+int k = 0;
+int len = view.length();
 
 if (view.is8Bit()) {
 const LChar* characters = view.characters8();
 LChar convertedLChar;
-while (k < length) {
+while (k < len) {
 const LChar* c = characters + k;
-if (c[0] == '%' && k <= length - 6 && c[1] == 'u') {
+if (c[0] == '%' && k <= len - 6 && c[1] == 'u') {
 if (isASCIIHexDigit(c[2]) && isASCIIHexDigit(c[3]) && isASCIIHexDigit(c[4]) && isASCIIHexDigit(c[5])) {
 builder.append(Lexer::convertUnicode(c[2], c[3], c[4], c[5]));
 k += 6;
 continue;
 }
-} else if (c[0] == '%' && k <= length - 3 && isASCIIHexDigit(c[1]) && isASCIIHexDigit(c[2])) {
+} else if (c[0] == '%' && k <= len - 3 && isASCIIHexDigit(c[1]) && isASCIIHexDigit(c[2])) {
 convertedLChar = LChar(Lexer::convertHex(c[1], c[2]));
 c = &convertedLChar;
 k += 2;
@@ -842,16 +840,16 @@
 } else {
 const UChar* characters = view.characters16();
 
-while (k < length) {
+while (k < len) {
 const UChar* c = characters + k;
 UChar convertedUChar;
-if (c[0] == '%' && k <= length - 6 && c[1] == 'u') {
+if (c[0] == '%' && k <= len - 6 && c[1] == 'u') {
 if (isASCIIHexDigit(c[2]) && isASCIIHexDigit(c[3]) && isASCIIHexDigit(c[4]) && isASCIIHexDigit(c[5])) {
 convertedUChar = Lexer::convertUnicode(c[2], c[3], c[4], c[5]);
 c = &convertedUChar;
 k += 5;
 }
-} else if (c[0] == '%' && k <= length - 3 && isASCIIHexDigit(c[1]) && isASCIIHexDigit(c[2])) {
+} else if (c[0] == '%' && k <= len - 3 && isASCIIHexDigit(c[1]) && isASCIIHexDigit(c[2])) {
 convertedUChar = UChar(Lexer::convertHex(c[1], c[2]));
 c = &convertedUChar;
 k += 2;






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


[webkit-changes] [210753] trunk/Source

2017-01-13 Thread cdumez
Title: [210753] trunk/Source








Revision 210753
Author cdu...@apple.com
Date 2017-01-13 17:05:32 -0800 (Fri, 13 Jan 2017)


Log Message
[WK2] Add diagnostic logging to measure WebGL usage
https://bugs.webkit.org/show_bug.cgi?id=166730


Reviewed by Alex Christensen.

Add diagnostic logging to measure high performance WebGL usage. We report
at regular intervals in which WebGL state Safari is:
- Inactive
- ActiveInForegroundTab
- ActiveInBackgroundTabOnly

This should give us an estimate of:
- What % of the time is Safari using high performance graphics
- What % of this time is only due to background tabs

Source/WebCore:

No new tests, no Web-facing behavior change.

* WebCore.xcodeproj/project.pbxproj:
* html/canvas/WebGLRenderingContextBase.cpp:
(WebCore::WebGLRenderingContextBase::create):
(WebCore::WebGLRenderingContextBase::WebGLRenderingContextBase):
(WebCore::WebGLRenderingContextBase::registerWithWebGLStateTracker):
* html/canvas/WebGLRenderingContextBase.h:
* page/DiagnosticLoggingKeys.cpp:
(WebCore::DiagnosticLoggingKeys::inactiveKey):
(WebCore::DiagnosticLoggingKeys::activeInForegroundTabKey):
(WebCore::DiagnosticLoggingKeys::activeInBackgroundTabOnlyKey):
(WebCore::DiagnosticLoggingKeys::stateKey):
(WebCore::WebCore::DiagnosticLoggingKeys::webGLKey):
* page/DiagnosticLoggingKeys.h:
* page/Page.cpp:
(WebCore::Page::Page):
* page/Page.h:
(WebCore::Page::webGLStateTracker):
* page/PageConfiguration.cpp:
* page/PageConfiguration.h:
* platform/WebGLStateTracker.cpp: Copied from Source/WebCore/platform/graphics/GraphicsContext3DAttributes.h.
(WebCore::WebGLStateTracker::WebGLStateTracker):
(WebCore::m_stateChangeHandler):
(WebCore::WebGLStateTracker::updateWebGLState):
* platform/WebGLStateTracker.h: Copied from Source/WebCore/platform/graphics/GraphicsContext3DAttributes.h.
* platform/graphics/GraphicsContext3DAttributes.h:

Source/WebKit2:

* UIProcess/HighPerformanceGraphicsUsageSampler.cpp: Added.
(WebKit::HighPerformanceGraphicsUsageSampler::HighPerformanceGraphicsUsageSampler):
(WebKit::HighPerformanceGraphicsUsageSampler::timerFired):
* UIProcess/HighPerformanceGraphicsUsageSampler.h: Copied from Source/WebCore/platform/graphics/GraphicsContext3DAttributes.h.
* UIProcess/WebPageProxy.h:
(WebKit::WebPageProxy::setIsUsingHighPerformanceWebGL):
(WebKit::WebPageProxy::isUsingHighPerformanceWebGL):
* UIProcess/WebPageProxy.messages.in:
* UIProcess/WebProcessPool.cpp:
(WebKit::m_highPerformanceGraphicsUsageSampler):
* UIProcess/WebProcessPool.h:
* WebKit2.xcodeproj/project.pbxproj:
* WebProcess/WebPage/WebPage.cpp:
(WebKit::m_userInterfaceLayoutDirection):

Modified Paths

trunk/Source/WebCore/CMakeLists.txt
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj
trunk/Source/WebCore/html/canvas/WebGLRenderingContextBase.cpp
trunk/Source/WebCore/html/canvas/WebGLRenderingContextBase.h
trunk/Source/WebCore/page/DiagnosticLoggingKeys.cpp
trunk/Source/WebCore/page/DiagnosticLoggingKeys.h
trunk/Source/WebCore/page/Page.cpp
trunk/Source/WebCore/page/Page.h
trunk/Source/WebCore/page/PageConfiguration.cpp
trunk/Source/WebCore/page/PageConfiguration.h
trunk/Source/WebCore/platform/graphics/GraphicsContext3DAttributes.h
trunk/Source/WebKit2/ChangeLog
trunk/Source/WebKit2/UIProcess/WebPageProxy.h
trunk/Source/WebKit2/UIProcess/WebPageProxy.messages.in
trunk/Source/WebKit2/UIProcess/WebProcessPool.cpp
trunk/Source/WebKit2/UIProcess/WebProcessPool.h
trunk/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj
trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp


Added Paths

trunk/Source/WebCore/platform/WebGLStateTracker.cpp
trunk/Source/WebCore/platform/WebGLStateTracker.h
trunk/Source/WebKit2/UIProcess/HighPerformanceGraphicsUsageSampler.cpp
trunk/Source/WebKit2/UIProcess/HighPerformanceGraphicsUsageSampler.h




Diff

Modified: trunk/Source/WebCore/CMakeLists.txt (210752 => 210753)

--- trunk/Source/WebCore/CMakeLists.txt	2017-01-14 01:03:17 UTC (rev 210752)
+++ trunk/Source/WebCore/CMakeLists.txt	2017-01-14 01:05:32 UTC (rev 210753)
@@ -2107,6 +2107,7 @@
 platform/UUID.cpp
 platform/UserActivity.cpp
 platform/WebCoreCrossThreadCopier.cpp
+platform/WebGLStateTracker.cpp
 platform/Widget.cpp
 
 platform/animation/Animation.cpp


Modified: trunk/Source/WebCore/ChangeLog (210752 => 210753)

--- trunk/Source/WebCore/ChangeLog	2017-01-14 01:03:17 UTC (rev 210752)
+++ trunk/Source/WebCore/ChangeLog	2017-01-14 01:05:32 UTC (rev 210753)
@@ -1,3 +1,49 @@
+2017-01-13  Chris Dumez  
+
+[WK2] Add diagnostic logging to measure WebGL usage
+https://bugs.webkit.org/show_bug.cgi?id=166730
+
+
+Reviewed by Alex Christensen.
+
+Add diagnostic logging to measure high performance WebGL usage. We report
+at regular intervals in which WebGL state Safari is:
+- Inactive
+- ActiveInForegroundTab
+- ActiveInBackgroundTabOnly
+
+This should give us an estimate of:
+- What % of the time is Safari

[webkit-changes] [210754] trunk/LayoutTests

2017-01-13 Thread ryanhaddad
Title: [210754] trunk/LayoutTests








Revision 210754
Author ryanhad...@apple.com
Date 2017-01-13 17:32:50 -0800 (Fri, 13 Jan 2017)


Log Message
Marking inspector/worker/debugger-scripts.html as flaky on macOS.
https://trac.webkit.org/changeset/209517

Unreviewed test gardening.

* platform/mac-wk2/TestExpectations:
* platform/mac/TestExpectations:

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/platform/mac/TestExpectations
trunk/LayoutTests/platform/mac-wk2/TestExpectations




Diff

Modified: trunk/LayoutTests/ChangeLog (210753 => 210754)

--- trunk/LayoutTests/ChangeLog	2017-01-14 01:05:32 UTC (rev 210753)
+++ trunk/LayoutTests/ChangeLog	2017-01-14 01:32:50 UTC (rev 210754)
@@ -1,3 +1,13 @@
+2017-01-13  Ryan Haddad  
+
+Marking inspector/worker/debugger-scripts.html as flaky on macOS.
+https://trac.webkit.org/changeset/209517
+
+Unreviewed test gardening.
+
+* platform/mac-wk2/TestExpectations:
+* platform/mac/TestExpectations:
+
 2017-01-13  Eric Carlson  
 
 [MediaStream, Mac] Add mock audio source


Modified: trunk/LayoutTests/platform/mac/TestExpectations (210753 => 210754)

--- trunk/LayoutTests/platform/mac/TestExpectations	2017-01-14 01:05:32 UTC (rev 210753)
+++ trunk/LayoutTests/platform/mac/TestExpectations	2017-01-14 01:32:50 UTC (rev 210754)
@@ -1203,6 +1203,7 @@
 webkit.org/b/161361 inspector/unit-tests/yieldable-task.html [ Pass Failure ]
 webkit.org/b/164872 inspector/worker/debugger-multiple-targets-pause.html [ Pass Failure Timeout ]
 webkit.org/b/164833 inspector/worker/debugger-pause.html [ Pass Failure ]
+webkit.org/b/165582 inspector/worker/debugger-scripts.html [ Pass Failure ]
 webkit.org/b/155607 inspector/heap/snapshot.html [ Pass Timeout ]
 webkit.org/b/143719 inspector/console/console-api.html [ Pass Timeout ]
 webkit.org/b/156078 inspector/console/heapSnapshot.html [ Pass Timeout ]


Modified: trunk/LayoutTests/platform/mac-wk2/TestExpectations (210753 => 210754)

--- trunk/LayoutTests/platform/mac-wk2/TestExpectations	2017-01-14 01:05:32 UTC (rev 210753)
+++ trunk/LayoutTests/platform/mac-wk2/TestExpectations	2017-01-14 01:32:50 UTC (rev 210754)
@@ -545,7 +545,6 @@
 
 webkit.org/b/163604 inspector/debugger/breakpoint-action-eval.html [ Pass Timeout ]
 webkit.org/b/159447 [ Debug ] inspector/debugger/tail-deleted-frames-from-vm-entry.html [ Pass Failure ]
-webkit.org/b/165582 inspector/worker/debugger-scripts.html [ Pass Failure ]
 
 webkit.org/b/159430 [ Debug Sierra+ ] media/restore-from-page-cache.html [ Pass Crash ]
 






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


[webkit-changes] [210755] trunk/Websites/perf.webkit.org

2017-01-13 Thread rniwa
Title: [210755] trunk/Websites/perf.webkit.org








Revision 210755
Author rn...@webkit.org
Date 2017-01-13 18:53:57 -0800 (Fri, 13 Jan 2017)


Log Message
Instrument calls to render()
https://bugs.webkit.org/show_bug.cgi?id=167037

Reviewed by Sam Weinig.

Wrap every call to render() by newly added ComponentBase.updateRendering() to instrument it.
Also, use arrow functions instead of this.render.bind or regular closures for simplicity.

Currently, we're making 5100 calls to render() while opening the summary page, and that's way too high.

* public/v3/components/analysis-results-viewer.js:
(AnalysisResultsViewer.prototype._expandBetween):
* public/v3/components/bar-graph-group.js:
(BarGraphGroup.prototype.updateGroupRendering): Renamed form render() as BarGraphGroup is not a component.
* public/v3/components/base.js:
(ComponentBase.prototype.updateRendering): Added. Instruments render() call.
* public/v3/components/chart-pane-base.js:
(ChartPaneBase.prototype.fetchAnalysisTasks):
(ChartPaneBase.prototype._mainSelectionDidZoom):
(ChartPaneBase.prototype._updateStatus):
(ChartPaneBase.prototype._requestOpeningCommitViewer):
(ChartPaneBase.prototype._keyup):
(ChartPaneBase.prototype.render):
* public/v3/components/commit-log-viewer.js:
* public/v3/components/customizable-test-group-form.js:
(CustomizableTestGroupForm):
(CustomizableTestGroupForm.prototype._customize):
* public/v3/components/editable-text.js:
(EditableText.prototype._didUpdate):
* public/v3/components/pane-selector.js:
(PaneSelector.prototype._selectedItem):
* public/v3/components/results-table.js:
(ResultsTable.prototype.render):
* public/v3/components/time-series-chart.js:
(TimeSeriesChart._renderEnqueuedCharts):
* public/v3/pages/analysis-category-page.js:
(AnalysisCategoryPage.prototype.open):
(AnalysisCategoryPage.prototype.updateFromSerializedState):
(AnalysisCategoryPage.prototype.filterDidChange):
(AnalysisCategoryPage.prototype.render):
* public/v3/pages/analysis-task-page.js:
(AnalysisTaskChartPane.prototype._updateStatus):
(AnalysisTaskPage.prototype.updateFromSerializedState):
(AnalysisTaskPage.prototype._didFetchTask):
(AnalysisTaskPage.prototype._didFetchRelatedAnalysisTasks):
(AnalysisTaskPage.prototype._didFetchMeasurement):
(AnalysisTaskPage.prototype._didFetchTestGroups):
(AnalysisTaskPage.prototype._showAllTestGroups):
(AnalysisTaskPage.prototype._didFetchAnalysisResults):
(AnalysisTaskPage.prototype.render):
(AnalysisTaskPage.prototype._renderTestGroupList.):
(AnalysisTaskPage.prototype._renderTestGroupList):
(AnalysisTaskPage.prototype._createTestGroupListItem):
(AnalysisTaskPage.prototype._showTestGroup):
(AnalysisTaskPage.prototype._didStartEditingTaskName):
(AnalysisTaskPage.prototype._updateTaskName):
(AnalysisTaskPage.prototype._updateTestGroupName):
(AnalysisTaskPage.prototype._hideCurrentTestGroup):
(AnalysisTaskPage.prototype._updateChangeType):
(AnalysisTaskPage.prototype._associateBug):
(AnalysisTaskPage.prototype._dissociateBug):
(AnalysisTaskPage.prototype._associateCommit):
(AnalysisTaskPage.prototype._dissociateCommit):
(AnalysisTaskPage.prototype._chartSelectionDidChange):
(AnalysisTaskPage.prototype._selectedRowInAnalysisResultsViewer):
* public/v3/pages/build-request-queue-page.js:
(BuildRequestQueuePage.prototype.open.):
(BuildRequestQueuePage.prototype.open):
* public/v3/pages/chart-pane.js:
(ChartPane.prototype.setOpenRepository):
(ChartPane.prototype._trendLineTypeDidChange):
(ChartPane.prototype._updateTrendLine):
* public/v3/pages/charts-page.js:
(ChartsPage.prototype.updateFromSerializedState):
(ChartsPage.prototype._updateDomainsFromSerializedState):
(ChartsPage.prototype.setNumberOfDaysFromToolbar):
(ChartsPage.prototype._didMutatePaneList):
(ChartsPage.prototype.render):
* public/v3/pages/charts-toolbar.js:
(ChartsToolbar.prototype.render):
* public/v3/pages/create-analysis-task-page.js:
(CreateAnalysisTaskPage.prototype.updateFromSerializedState):
* public/v3/pages/dashboard-page.js:
(DashboardPage.prototype.updateFromSerializedState):
(DashboardPage.prototype._fetchedData):
* public/v3/pages/heading.js:
(Heading.prototype.render):
* public/v3/pages/page-with-heading.js:
(PageWithHeading.prototype.render):
* public/v3/pages/page.js:
(Page.prototype.open):
* public/v3/pages/summary-page.js:
(SummaryPage.prototype.open):
(SummaryPage.prototype.this._renderQueue.push):
(SummaryPage):
(SummaryPage.prototype._renderCell):

Modified Paths

trunk/Websites/perf.webkit.org/ChangeLog
trunk/Websites/perf.webkit.org/public/v3/components/analysis-results-viewer.js
trunk/Websites/perf.webkit.org/public/v3/components/bar-graph-group.js
trunk/Websites/perf.webkit.org/public/v3/components/base.js
trunk/Websites/perf.webkit.org/public/v3/components/chart-pane-base.js
trunk/Websites/perf.webkit.org/public/v3/components/commit-log-viewer.js
trunk/Websites/perf.webkit.org/public/v3/components/customizable-test-group-form.js
trunk/Websites/perf.webkit.org/public/v3/components/editable-text.js
trunk/Websites/perf.

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

2017-01-13 Thread nvasilyev
Title: [210756] trunk/Source/WebInspectorUI








Revision 210756
Author nvasil...@apple.com
Date 2017-01-13 19:07:31 -0800 (Fri, 13 Jan 2017)


Log Message
Web Inspector: the 'lock' icon for non-editable rules in the Style Rules sidebar lacks a tooltip
https://bugs.webkit.org/show_bug.cgi?id=166909


Reviewed by Matt Baker.

Convert the lock icon from a pseudo-element to an 'img' element and add a title attribute.

* Localizations/en.lproj/localizedStrings.js:
* UserInterface/Views/CSSStyleDeclarationSection.css:
(.style-declaration-section.locked > .header > .locked-icon):
(.style-declaration-section.locked > .header::before): Deleted.
* UserInterface/Views/CSSStyleDeclarationSection.js:
(WebInspector.CSSStyleDeclarationSection):

Modified Paths

trunk/Source/WebInspectorUI/ChangeLog
trunk/Source/WebInspectorUI/Localizations/en.lproj/localizedStrings.js
trunk/Source/WebInspectorUI/UserInterface/Views/CSSStyleDeclarationSection.css
trunk/Source/WebInspectorUI/UserInterface/Views/CSSStyleDeclarationSection.js




Diff

Modified: trunk/Source/WebInspectorUI/ChangeLog (210755 => 210756)

--- trunk/Source/WebInspectorUI/ChangeLog	2017-01-14 02:53:57 UTC (rev 210755)
+++ trunk/Source/WebInspectorUI/ChangeLog	2017-01-14 03:07:31 UTC (rev 210756)
@@ -1,3 +1,20 @@
+2017-01-13  Nikita Vasilyev  
+
+Web Inspector: the 'lock' icon for non-editable rules in the Style Rules sidebar lacks a tooltip
+https://bugs.webkit.org/show_bug.cgi?id=166909
+
+
+Reviewed by Matt Baker.
+
+Convert the lock icon from a pseudo-element to an 'img' element and add a title attribute.
+
+* Localizations/en.lproj/localizedStrings.js:
+* UserInterface/Views/CSSStyleDeclarationSection.css:
+(.style-declaration-section.locked > .header > .locked-icon):
+(.style-declaration-section.locked > .header::before): Deleted.
+* UserInterface/Views/CSSStyleDeclarationSection.js:
+(WebInspector.CSSStyleDeclarationSection):
+
 2017-01-12  Nikita Vasilyev  
 
 REGRESSION (r209711): Web Inspector: in Elements Tab, selecting a deeply nested DOM element causes navigation bar buttons to be pushed off the leading edge


Modified: trunk/Source/WebInspectorUI/Localizations/en.lproj/localizedStrings.js (210755 => 210756)

--- trunk/Source/WebInspectorUI/Localizations/en.lproj/localizedStrings.js	2017-01-14 02:53:57 UTC (rev 210755)
+++ trunk/Source/WebInspectorUI/Localizations/en.lproj/localizedStrings.js	2017-01-14 03:07:31 UTC (rev 210756)
@@ -38,6 +38,7 @@
 localizedStrings["%s Prototype"] = "%s Prototype";
 localizedStrings["%s \u2013 %s"] = "%s \u2013 %s";
 localizedStrings["%s \u2014 %s"] = "%s \u2014 %s";
+localizedStrings["%s cannot be modified"] = "%s cannot be modified";
 localizedStrings["%s delay"] = "%s delay";
 localizedStrings["%s interval"] = "%s interval";
 localizedStrings["(Index)"] = "(Index)";
@@ -746,6 +747,7 @@
 localizedStrings["Style"] = "Style";
 localizedStrings["Style Attribute"] = "Style Attribute";
 localizedStrings["Style Rules"] = "Style Rules";
+localizedStrings["Style rule"] = "Style rule";
 localizedStrings["Styles"] = "Styles";
 localizedStrings["Styles Invalidated"] = "Styles Invalidated";
 localizedStrings["Styles Recalculated"] = "Styles Recalculated";


Modified: trunk/Source/WebInspectorUI/UserInterface/Views/CSSStyleDeclarationSection.css (210755 => 210756)

--- trunk/Source/WebInspectorUI/UserInterface/Views/CSSStyleDeclarationSection.css	2017-01-14 02:53:57 UTC (rev 210755)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/CSSStyleDeclarationSection.css	2017-01-14 03:07:31 UTC (rev 210756)
@@ -60,16 +60,12 @@
 line-height: 12px;
 }
 
-.style-declaration-section.locked > .header::before {
+.style-declaration-section.locked > .header > .locked-icon {
 float: right;
 width: 8px;
 height: 10px;
 margin-left: 5px;
-content: "";
-background-image: url(../Images/Locked.svg);
-background-repeat: no-repeat;
-background-position: center;
-background-size: 8px 10px;
+content: url(../Images/Locked.svg);
 }
 
 .style-declaration-section > .header > .icon {


Modified: trunk/Source/WebInspectorUI/UserInterface/Views/CSSStyleDeclarationSection.js (210755 => 210756)

--- trunk/Source/WebInspectorUI/UserInterface/Views/CSSStyleDeclarationSection.js	2017-01-14 02:53:57 UTC (rev 210755)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/CSSStyleDeclarationSection.js	2017-01-14 03:07:31 UTC (rev 210756)
@@ -47,6 +47,18 @@
 this._headerElement = document.createElement("div");
 this._headerElement.classList.add("header");
 
+if (!style.editable) {
+let lockedIconElement = this._headerElement.createChild("img", "locked-icon");
+
+let styleLabel;
+if (style.ownerRule && style.ownerRule.type === WebInspector.CSSStyleSheet.Type.UserAgent)
+styleLabel = WebInspector.UIString("User Agent Stylesheet");
+else
+ 

[webkit-changes] [210757] trunk

2017-01-13 Thread commit-queue
Title: [210757] trunk








Revision 210757
Author commit-qu...@webkit.org
Date 2017-01-13 19:17:54 -0800 (Fri, 13 Jan 2017)


Log Message
26 MotionMark performance tests failing
https://bugs.webkit.org/show_bug.cgi?id=166854

Patch by Said Abou-Hallawa  on 2017-01-13
Reviewed by Ryosuke Niwa.
PerformanceTests:

Skip running MotionMark on WebKit perf bots.

* Skipped:

Tools:

Unrelated change. This is the last place that we need to rename Animometer
to MotionMark.

* Scripts/webkitpy/common/config/watchlist:

Modified Paths

trunk/PerformanceTests/ChangeLog
trunk/PerformanceTests/Skipped
trunk/Tools/ChangeLog
trunk/Tools/Scripts/webkitpy/common/config/watchlist




Diff

Modified: trunk/PerformanceTests/ChangeLog (210756 => 210757)

--- trunk/PerformanceTests/ChangeLog	2017-01-14 03:07:31 UTC (rev 210756)
+++ trunk/PerformanceTests/ChangeLog	2017-01-14 03:17:54 UTC (rev 210757)
@@ -1,3 +1,14 @@
+2017-01-13  Said Abou-Hallawa  
+
+26 MotionMark performance tests failing
+https://bugs.webkit.org/show_bug.cgi?id=166854
+
+Reviewed by Ryosuke Niwa.
+
+Skip running MotionMark on WebKit perf bots.
+
+* Skipped:
+
 2017-01-06  Said Abou-Hallawa  
 
 Rename the directory and the files of MotionMark from Animometer to MotionMark


Modified: trunk/PerformanceTests/Skipped (210756 => 210757)

--- trunk/PerformanceTests/Skipped	2017-01-14 03:07:31 UTC (rev 210756)
+++ trunk/PerformanceTests/Skipped	2017-01-14 03:17:54 UTC (rev 210757)
@@ -94,7 +94,7 @@
 Dromaeo/jslib-modify-prototype.html
 
 # Still under development so skip it for now.
-Animometer
+MotionMark
 JSBench
 ES6SampleBench
 


Modified: trunk/Tools/ChangeLog (210756 => 210757)

--- trunk/Tools/ChangeLog	2017-01-14 03:07:31 UTC (rev 210756)
+++ trunk/Tools/ChangeLog	2017-01-14 03:17:54 UTC (rev 210757)
@@ -1,3 +1,15 @@
+2017-01-13  Said Abou-Hallawa  
+
+26 MotionMark performance tests failing
+https://bugs.webkit.org/show_bug.cgi?id=166854
+
+Reviewed by Ryosuke Niwa.
+
+Unrelated change. This is the last place that we need to rename Animometer
+to MotionMark.
+
+* Scripts/webkitpy/common/config/watchlist:
+
 2017-01-13  Yusuke Suzuki  
 
 run-jsc-benchmarks' echo should have -e option


Modified: trunk/Tools/Scripts/webkitpy/common/config/watchlist (210756 => 210757)

--- trunk/Tools/Scripts/webkitpy/common/config/watchlist	2017-01-14 03:07:31 UTC (rev 210756)
+++ trunk/Tools/Scripts/webkitpy/common/config/watchlist	2017-01-14 03:17:54 UTC (rev 210757)
@@ -237,8 +237,8 @@
 "filename": r"PerformanceTests"
 r"|Tools/Scripts/webkitpy/performance_tests",
 },
-"Animometer": {
-"filename": r"PerformanceTests/Animometer",
+"MotionMark": {
+"filename": r"PerformanceTests/MotionMark",
 },
 "ConsoleUsage": {
 "more": r"[Aa]ddConsoleMessage|reportException|logExceptionToConsole|addMessage|printErrorMessage"
@@ -352,7 +352,7 @@
 # two different accounts as far as bugzilla is concerned.
 "Accessibility": [ "cfleiz...@apple.com", "dmazz...@google.com", "apinhe...@igalia.com", "jdi...@igalia.com", "aboxh...@chromium.org", "ma...@webkit.org", "samuel_wh...@apple.com", "jcr...@apple.com" ],
 "Animation" : [ "simon.fra...@apple.com", "d...@apple.com", "dstockw...@chromium.org" ],
-"Animometer" : [ "sabouhall...@apple.com" ],
+"MotionMark" : [ "sabouhall...@apple.com" ],
 "AppleMacPublicApi": [ "timo...@apple.com" ],
 "BindingsScripts": [ "cdu...@apple.com" ],
 "CMake": [ "rak...@webkit.org", "gyuyoung@webkit.org", "ryuan.c...@gmail.com", "sergio.corr...@openbossa.org", "mcatanz...@igalia.com" ],






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


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

2017-01-13 Thread nvasilyev
Title: [210759] trunk/Source/WebInspectorUI








Revision 210759
Author nvasil...@apple.com
Date 2017-01-13 19:40:52 -0800 (Fri, 13 Jan 2017)


Log Message
Web Inspector: Resources disappear from the network tab when iframe gets removed from DOM
https://bugs.webkit.org/show_bug.cgi?id=166776


Reviewed by Matt Baker.

* UserInterface/Views/NetworkSidebarPanel.js:
(WebInspector.NetworkSidebarPanel):
Don't remove resource tree elements from Network tab when iframe gets detached from the DOM.

Modified Paths

trunk/Source/WebInspectorUI/ChangeLog
trunk/Source/WebInspectorUI/UserInterface/Views/NetworkSidebarPanel.js




Diff

Modified: trunk/Source/WebInspectorUI/ChangeLog (210758 => 210759)

--- trunk/Source/WebInspectorUI/ChangeLog	2017-01-14 03:35:54 UTC (rev 210758)
+++ trunk/Source/WebInspectorUI/ChangeLog	2017-01-14 03:40:52 UTC (rev 210759)
@@ -1,5 +1,17 @@
 2017-01-13  Nikita Vasilyev  
 
+Web Inspector: Resources disappear from the network tab when iframe gets removed from DOM
+https://bugs.webkit.org/show_bug.cgi?id=166776
+
+
+Reviewed by Matt Baker.
+
+* UserInterface/Views/NetworkSidebarPanel.js:
+(WebInspector.NetworkSidebarPanel):
+Don't remove resource tree elements from Network tab when iframe gets detached from the DOM.
+
+2017-01-13  Nikita Vasilyev  
+
 Web Inspector: the 'lock' icon for non-editable rules in the Style Rules sidebar lacks a tooltip
 https://bugs.webkit.org/show_bug.cgi?id=166909
 


Modified: trunk/Source/WebInspectorUI/UserInterface/Views/NetworkSidebarPanel.js (210758 => 210759)

--- trunk/Source/WebInspectorUI/UserInterface/Views/NetworkSidebarPanel.js	2017-01-14 03:35:54 UTC (rev 210758)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/NetworkSidebarPanel.js	2017-01-14 03:40:52 UTC (rev 210759)
@@ -27,7 +27,7 @@
 {
 constructor(contentBrowser)
 {
-super("network", WebInspector.UIString("Network"), true);
+super("network", WebInspector.UIString("Network"), false);
 
 this.contentBrowser = contentBrowser;
 






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


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

2017-01-13 Thread bfulgham
Title: [210760] trunk/Source/WebCore








Revision 210760
Author bfulg...@apple.com
Date 2017-01-13 19:42:32 -0800 (Fri, 13 Jan 2017)


Log Message
Potential nullptr dereference in RenderLayer::updateLayerPosition()
https://bugs.webkit.org/show_bug.cgi?id=167036


Reviewed by Dean Jackson.

A value was being used without nullptr checking, even though it had been checked for null a
few lines prior.

* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::updateLayerPosition): Add missing nullptr check.

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/rendering/RenderLayer.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (210759 => 210760)

--- trunk/Source/WebCore/ChangeLog	2017-01-14 03:40:52 UTC (rev 210759)
+++ trunk/Source/WebCore/ChangeLog	2017-01-14 03:42:32 UTC (rev 210760)
@@ -1,3 +1,17 @@
+2017-01-13  Brent Fulgham  
+
+Potential nullptr dereference in RenderLayer::updateLayerPosition()
+https://bugs.webkit.org/show_bug.cgi?id=167036
+
+
+Reviewed by Dean Jackson.
+
+A value was being used without nullptr checking, even though it had been checked for null a
+few lines prior.
+
+* rendering/RenderLayer.cpp:
+(WebCore::RenderLayer::updateLayerPosition): Add missing nullptr check.
+
 2017-01-11  Darin Adler  
 
 Remove PassRefPtr from more of "platform"


Modified: trunk/Source/WebCore/rendering/RenderLayer.cpp (210759 => 210760)

--- trunk/Source/WebCore/rendering/RenderLayer.cpp	2017-01-14 03:40:52 UTC (rev 210759)
+++ trunk/Source/WebCore/rendering/RenderLayer.cpp	2017-01-14 03:42:32 UTC (rev 210760)
@@ -1360,7 +1360,7 @@
 }
 ancestor = ancestor->parent();
 }
-if (is(*ancestor) && is(*ancestor)) {
+if (ancestor && is(*ancestor) && is(*ancestor)) {
 // Put ourselves into the row coordinate space.
 localPoint -= downcast(*ancestor).topLeftLocationOffset();
 }






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


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

2017-01-13 Thread beidson
Title: [210761] trunk/Source/WebKit2








Revision 210761
Author beid...@apple.com
Date 2017-01-13 20:04:59 -0800 (Fri, 13 Jan 2017)


Log Message
Crash when visiting a webpage that uses Gamepads in a new WebProcess after a previous page has used gamepads..
https://bugs.webkit.org/show_bug.cgi?id=167033

Reviewed by Alex Christensen.

* UIProcess/Gamepad/UIGamepadProvider.cpp:
(WebKit::UIGamepadProvider::processPoolStartedUsingGamepads): Don't schedule a state update here.
(WebKit::UIGamepadProvider::processPoolStoppedUsingGamepads): Ditto.
* UIProcess/Gamepad/UIGamepadProvider.h:

* UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::startedUsingGamepads): Populate the WebProcess with initial gamepads.

Modified Paths

trunk/Source/WebKit2/ChangeLog
trunk/Source/WebKit2/UIProcess/Gamepad/UIGamepadProvider.cpp
trunk/Source/WebKit2/UIProcess/Gamepad/UIGamepadProvider.h
trunk/Source/WebKit2/UIProcess/WebProcessPool.cpp




Diff

Modified: trunk/Source/WebKit2/ChangeLog (210760 => 210761)

--- trunk/Source/WebKit2/ChangeLog	2017-01-14 03:42:32 UTC (rev 210760)
+++ trunk/Source/WebKit2/ChangeLog	2017-01-14 04:04:59 UTC (rev 210761)
@@ -1,3 +1,18 @@
+2017-01-13  Brady Eidson  
+
+Crash when visiting a webpage that uses Gamepads in a new WebProcess after a previous page has used gamepads..
+https://bugs.webkit.org/show_bug.cgi?id=167033
+
+Reviewed by Alex Christensen.
+
+* UIProcess/Gamepad/UIGamepadProvider.cpp:
+(WebKit::UIGamepadProvider::processPoolStartedUsingGamepads): Don't schedule a state update here.
+(WebKit::UIGamepadProvider::processPoolStoppedUsingGamepads): Ditto.
+* UIProcess/Gamepad/UIGamepadProvider.h:
+
+* UIProcess/WebProcessPool.cpp:
+(WebKit::WebProcessPool::startedUsingGamepads): Populate the WebProcess with initial gamepads.
+
 2017-01-11  Darin Adler  
 
 Remove PassRefPtr from more of "platform"


Modified: trunk/Source/WebKit2/UIProcess/Gamepad/UIGamepadProvider.cpp (210760 => 210761)

--- trunk/Source/WebKit2/UIProcess/Gamepad/UIGamepadProvider.cpp	2017-01-14 03:42:32 UTC (rev 210760)
+++ trunk/Source/WebKit2/UIProcess/Gamepad/UIGamepadProvider.cpp	2017-01-14 04:04:59 UTC (rev 210761)
@@ -151,8 +151,6 @@
 
 if (!m_isMonitoringGamepads && platformWebPageProxyForGamepadInput())
 startMonitoringGamepads();
-
-scheduleGamepadStateSync();
 }
 
 void UIGamepadProvider::processPoolStoppedUsingGamepads(WebProcessPool& pool)
@@ -162,8 +160,6 @@
 
 if (m_isMonitoringGamepads && !platformWebPageProxyForGamepadInput())
 platformStopMonitoringInput();
-
-scheduleGamepadStateSync();
 }
 
 void UIGamepadProvider::viewBecameActive(WebPageProxy& page)


Modified: trunk/Source/WebKit2/UIProcess/Gamepad/UIGamepadProvider.h (210760 => 210761)

--- trunk/Source/WebKit2/UIProcess/Gamepad/UIGamepadProvider.h	2017-01-14 03:42:32 UTC (rev 210760)
+++ trunk/Source/WebKit2/UIProcess/Gamepad/UIGamepadProvider.h	2017-01-14 04:04:59 UTC (rev 210761)
@@ -56,6 +56,8 @@
 static void setUsesGameControllerFramework();
 #endif
 
+Vector snapshotGamepads();
+
 private:
 friend NeverDestroyed;
 UIGamepadProvider();
@@ -77,8 +79,6 @@
 void scheduleGamepadStateSync();
 void gamepadSyncTimerFired();
 
-Vector snapshotGamepads();
-
 HashSet m_processPoolsUsingGamepads;
 
 Vector> m_gamepads;


Modified: trunk/Source/WebKit2/UIProcess/WebProcessPool.cpp (210760 => 210761)

--- trunk/Source/WebKit2/UIProcess/WebProcessPool.cpp	2017-01-14 03:42:32 UTC (rev 210760)
+++ trunk/Source/WebKit2/UIProcess/WebProcessPool.cpp	2017-01-14 04:04:59 UTC (rev 210761)
@@ -1273,6 +1273,8 @@
 
 if (!wereAnyProcessesUsingGamepads)
 UIGamepadProvider::singleton().processPoolStartedUsingGamepads(*this);
+
+proxy->send(Messages::WebProcess::SetInitialGamepads(UIGamepadProvider::singleton().snapshotGamepads()), 0);
 }
 
 void WebProcessPool::stoppedUsingGamepads(IPC::Connection& connection)






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


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

2017-01-13 Thread achristensen
Title: [210762] trunk/Source/WebCore








Revision 210762
Author achristen...@apple.com
Date 2017-01-13 21:52:49 -0800 (Fri, 13 Jan 2017)


Log Message
Fix WinCairo build after r210753.
https://bugs.webkit.org/show_bug.cgi?id=166730

* platform/WebGLStateTracker.h:
WTF::Function apparently needs to explicitly be differentiated from JSC::Attribute Function in PropertySlot.h.

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/platform/WebGLStateTracker.h




Diff

Modified: trunk/Source/WebCore/ChangeLog (210761 => 210762)

--- trunk/Source/WebCore/ChangeLog	2017-01-14 04:04:59 UTC (rev 210761)
+++ trunk/Source/WebCore/ChangeLog	2017-01-14 05:52:49 UTC (rev 210762)
@@ -1,3 +1,11 @@
+2017-01-13  Alex Christensen  
+
+Fix WinCairo build after r210753.
+https://bugs.webkit.org/show_bug.cgi?id=166730
+
+* platform/WebGLStateTracker.h:
+WTF::Function apparently needs to explicitly be differentiated from JSC::Attribute Function in PropertySlot.h.
+
 2017-01-13  Brent Fulgham  
 
 Potential nullptr dereference in RenderLayer::updateLayerPosition()


Modified: trunk/Source/WebCore/platform/WebGLStateTracker.h (210761 => 210762)

--- trunk/Source/WebCore/platform/WebGLStateTracker.h	2017-01-14 04:04:59 UTC (rev 210761)
+++ trunk/Source/WebCore/platform/WebGLStateTracker.h	2017-01-14 05:52:49 UTC (rev 210762)
@@ -32,7 +32,7 @@
 
 class WebGLStateTracker {
 public:
-using StateChangeHandler = Function;
+using StateChangeHandler = WTF::Function;
 WEBCORE_EXPORT explicit WebGLStateTracker(StateChangeHandler&&);
 
 enum WebGLContextCounterType { };






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


[webkit-changes] [210763] trunk

2017-01-13 Thread commit-queue
Title: [210763] trunk








Revision 210763
Author commit-qu...@webkit.org
Date 2017-01-13 21:59:03 -0800 (Fri, 13 Jan 2017)


Log Message
Remove ENABLE(DETAILS_ELEMENT) guards
https://bugs.webkit.org/show_bug.cgi?id=167042

Patch by Joseph Pecoraro  on 2017-01-13
Reviewed by Alex Christensen.

.:

* Source/cmake/OptionsMac.cmake:
* Source/cmake/OptionsWin.cmake:
* Source/cmake/WebKitFeatures.cmake:
* Source/cmake/tools/vsprops/FeatureDefines.props:
* Source/cmake/tools/vsprops/FeatureDefinesCairo.props:

Source/_javascript_Core:

* Configurations/FeatureDefines.xcconfig:

Source/WebCore:

* Configurations/FeatureDefines.xcconfig:
* DerivedSources.make:
* accessibility/AccessibilityNodeObject.cpp:
(WebCore::AccessibilityNodeObject::setIsExpanded):
* html/HTMLDetailsElement.cpp:
* html/HTMLDetailsElement.idl:
* html/HTMLSummaryElement.cpp:
* html/HTMLTagNames.in:
* html/shadow/DetailsMarkerControl.cpp:
* rendering/RenderDetailsMarker.cpp:
* rendering/RenderDetailsMarker.h:
* rendering/RenderObject.h:
(WebCore::RenderObject::isDetailsMarker):
* rendering/RenderTreeAsText.cpp:
(WebCore::RenderTreeAsText::writeRenderObject):

Source/WebKit/mac:

* Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

* Configurations/FeatureDefines.xcconfig:

Source/WTF:

* wtf/FeatureDefines.h:

Tools:

* TestWebKitAPI/Configurations/FeatureDefines.xcconfig:

Modified Paths

trunk/ChangeLog
trunk/Source/_javascript_Core/ChangeLog
trunk/Source/_javascript_Core/Configurations/FeatureDefines.xcconfig
trunk/Source/WTF/ChangeLog
trunk/Source/WTF/wtf/FeatureDefines.h
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/Configurations/FeatureDefines.xcconfig
trunk/Source/WebCore/DerivedSources.make
trunk/Source/WebCore/accessibility/AccessibilityNodeObject.cpp
trunk/Source/WebCore/html/HTMLDetailsElement.cpp
trunk/Source/WebCore/html/HTMLDetailsElement.idl
trunk/Source/WebCore/html/HTMLSummaryElement.cpp
trunk/Source/WebCore/html/HTMLTagNames.in
trunk/Source/WebCore/html/shadow/DetailsMarkerControl.cpp
trunk/Source/WebCore/rendering/RenderDetailsMarker.cpp
trunk/Source/WebCore/rendering/RenderDetailsMarker.h
trunk/Source/WebCore/rendering/RenderObject.h
trunk/Source/WebCore/rendering/RenderTreeAsText.cpp
trunk/Source/WebKit/mac/ChangeLog
trunk/Source/WebKit/mac/Configurations/FeatureDefines.xcconfig
trunk/Source/WebKit2/ChangeLog
trunk/Source/WebKit2/Configurations/FeatureDefines.xcconfig
trunk/Source/cmake/OptionsMac.cmake
trunk/Source/cmake/OptionsWin.cmake
trunk/Source/cmake/WebKitFeatures.cmake
trunk/Source/cmake/tools/vsprops/FeatureDefines.props
trunk/Source/cmake/tools/vsprops/FeatureDefinesCairo.props
trunk/Tools/ChangeLog
trunk/Tools/Scripts/webkitperl/FeatureList.pm
trunk/Tools/TestWebKitAPI/Configurations/FeatureDefines.xcconfig




Diff

Modified: trunk/ChangeLog (210762 => 210763)

--- trunk/ChangeLog	2017-01-14 05:52:49 UTC (rev 210762)
+++ trunk/ChangeLog	2017-01-14 05:59:03 UTC (rev 210763)
@@ -1,3 +1,16 @@
+2017-01-13  Joseph Pecoraro  
+
+Remove ENABLE(DETAILS_ELEMENT) guards
+https://bugs.webkit.org/show_bug.cgi?id=167042
+
+Reviewed by Alex Christensen.
+
+* Source/cmake/OptionsMac.cmake:
+* Source/cmake/OptionsWin.cmake:
+* Source/cmake/WebKitFeatures.cmake:
+* Source/cmake/tools/vsprops/FeatureDefines.props:
+* Source/cmake/tools/vsprops/FeatureDefinesCairo.props:
+
 2017-01-13  Michael Catanzaro  
 
 [CMake] Clean up SHARED_CORE option


Modified: trunk/Source/_javascript_Core/ChangeLog (210762 => 210763)

--- trunk/Source/_javascript_Core/ChangeLog	2017-01-14 05:52:49 UTC (rev 210762)
+++ trunk/Source/_javascript_Core/ChangeLog	2017-01-14 05:59:03 UTC (rev 210763)
@@ -1,3 +1,12 @@
+2017-01-13  Joseph Pecoraro  
+
+Remove ENABLE(DETAILS_ELEMENT) guards
+https://bugs.webkit.org/show_bug.cgi?id=167042
+
+Reviewed by Alex Christensen.
+
+* Configurations/FeatureDefines.xcconfig:
+
 2017-01-11  Darin Adler  
 
 Remove PassRefPtr from more of "platform"


Modified: trunk/Source/_javascript_Core/Configurations/FeatureDefines.xcconfig (210762 => 210763)

--- trunk/Source/_javascript_Core/Configurations/FeatureDefines.xcconfig	2017-01-14 05:52:49 UTC (rev 210762)
+++ trunk/Source/_javascript_Core/Configurations/FeatureDefines.xcconfig	2017-01-14 05:59:03 UTC (rev 210763)
@@ -77,7 +77,6 @@
 ENABLE_DASHBOARD_SUPPORT[sdk=macosx*] = ENABLE_DASHBOARD_SUPPORT;
 ENABLE_DATALIST_ELEMENT = ;
 ENABLE_DATA_TRANSFER_ITEMS = ;
-ENABLE_DETAILS_ELEMENT = ENABLE_DETAILS_ELEMENT;
 ENABLE_DEVICE_ORIENTATION[sdk=iphone*] = ENABLE_DEVICE_ORIENTATION;
 ENABLE_FETCH_API = ENABLE_FETCH_API;
 ENABLE_FILTERS_LEVEL_2 = ENABLE_FILTERS_LEVEL_2;
@@ -218,4 +217,4 @@
 ENABLE_VARIATION_FONTS_IF_NOT_NO = ENABLE_VARIATION_FONTS;
 ENABLE_VARIATION_FONTS_IF_NOT_YES = ;
 
-FEATURE_DEFINES = $(ENABLE_3D_TRANSFORMS) $(ENABLE_ACCELERATED_2D_CANVAS) $(ENABLE_ACCELERATED_OVERFLOW_SCROLLING) $(ENABLE_APPLE_PAY) $(ENABLE_ATTACHMENT_ELEMENT) $(ENA

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

2017-01-13 Thread commit-queue
Title: [210764] trunk/Source/WebInspectorUI








Revision 210764
Author commit-qu...@webkit.org
Date 2017-01-13 23:09:50 -0800 (Fri, 13 Jan 2017)


Log Message
Web Inspector: Settings tab is restored when reopening inspector
https://bugs.webkit.org/show_bug.cgi?id=167025

Patch by Devin Rousso  on 2017-01-13
Reviewed by Matt Baker.

* UserInterface/Base/Main.js:
(WebInspector._tabBrowserSelectedTabContentViewDidChange):
Only save the selectedTabIndex if the current tab should be saved and reloaded upon opening
the WebInspector window.

Modified Paths

trunk/Source/WebInspectorUI/ChangeLog
trunk/Source/WebInspectorUI/UserInterface/Base/Main.js




Diff

Modified: trunk/Source/WebInspectorUI/ChangeLog (210763 => 210764)

--- trunk/Source/WebInspectorUI/ChangeLog	2017-01-14 05:59:03 UTC (rev 210763)
+++ trunk/Source/WebInspectorUI/ChangeLog	2017-01-14 07:09:50 UTC (rev 210764)
@@ -1,3 +1,15 @@
+2017-01-13  Devin Rousso  
+
+Web Inspector: Settings tab is restored when reopening inspector
+https://bugs.webkit.org/show_bug.cgi?id=167025
+
+Reviewed by Matt Baker.
+
+* UserInterface/Base/Main.js:
+(WebInspector._tabBrowserSelectedTabContentViewDidChange):
+Only save the selectedTabIndex if the current tab should be saved and reloaded upon opening
+the WebInspector window.
+
 2017-01-13  Nikita Vasilyev  
 
 Web Inspector: Resources disappear from the network tab when iframe gets removed from DOM


Modified: trunk/Source/WebInspectorUI/UserInterface/Base/Main.js (210763 => 210764)

--- trunk/Source/WebInspectorUI/UserInterface/Base/Main.js	2017-01-14 05:59:03 UTC (rev 210763)
+++ trunk/Source/WebInspectorUI/UserInterface/Base/Main.js	2017-01-14 07:09:50 UTC (rev 210764)
@@ -1590,7 +1590,7 @@
 
 WebInspector._tabBrowserSelectedTabContentViewDidChange = function(event)
 {
-if (this.tabBar.selectedTabBarItem)
+if (this.tabBar.selectedTabBarItem && this.tabBar.selectedTabBarItem.representedObject.constructor.shouldSaveTab())
 this._selectedTabIndexSetting.value = this.tabBar.tabBarItems.indexOf(this.tabBar.selectedTabBarItem);
 
 if (!this.doesCurrentTabSupportSplitContentBrowser())






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