Title: [208334] branches/safari-602-branch/Source

Diff

Modified: branches/safari-602-branch/Source/WebCore/ChangeLog (208333 => 208334)


--- branches/safari-602-branch/Source/WebCore/ChangeLog	2016-11-03 18:04:39 UTC (rev 208333)
+++ branches/safari-602-branch/Source/WebCore/ChangeLog	2016-11-03 18:04:43 UTC (rev 208334)
@@ -1,5 +1,24 @@
 2016-11-03  Matthew Hanson  <matthew_han...@apple.com>
 
+        Merge r208307. rdar://problem/29078457
+
+    2016-11-02  David Kilzer  <ddkil...@apple.com>
+
+            Bug 164333: Add logging for "WebKit encountered an internal error" messages due to Network process crashes
+            <https://webkit.org/b/164333>
+            <rdar://problem/29072727>
+
+            Reviewed by Alex Christensen.
+
+            * page/DiagnosticLoggingKeys.cpp:
+            (WebCore::DiagnosticLoggingKeys::networkProcessCrashedKey):
+            - Add implementation for new key method.
+            * page/DiagnosticLoggingKeys.h:
+            (WebCore::DiagnosticLoggingKeys::networkProcessCrashedKey):
+            - Add declaration for new key method.
+
+2016-11-03  Matthew Hanson  <matthew_han...@apple.com>
+
         Merge r208286. rdar://problem/28634857
 
     2016-11-02  David Kilzer  <ddkil...@apple.com>

Modified: branches/safari-602-branch/Source/WebCore/page/DiagnosticLoggingKeys.cpp (208333 => 208334)


--- branches/safari-602-branch/Source/WebCore/page/DiagnosticLoggingKeys.cpp	2016-11-03 18:04:39 UTC (rev 208333)
+++ branches/safari-602-branch/Source/WebCore/page/DiagnosticLoggingKeys.cpp	2016-11-03 18:04:43 UTC (rev 208334)
@@ -133,6 +133,11 @@
     return ASCIILiteral("network");
 }
 
+String DiagnosticLoggingKeys::networkProcessCrashedKey()
+{
+    return ASCIILiteral("networkProcessCrashed");
+}
+
 String DiagnosticLoggingKeys::neverSeenBeforeKey()
 {
     return ASCIILiteral("neverSeenBefore");

Modified: branches/safari-602-branch/Source/WebCore/page/DiagnosticLoggingKeys.h (208333 => 208334)


--- branches/safari-602-branch/Source/WebCore/page/DiagnosticLoggingKeys.h	2016-11-03 18:04:39 UTC (rev 208333)
+++ branches/safari-602-branch/Source/WebCore/page/DiagnosticLoggingKeys.h	2016-11-03 18:04:43 UTC (rev 208334)
@@ -78,6 +78,7 @@
     WEBCORE_EXPORT static String needsRevalidationKey();
     WEBCORE_EXPORT static String networkCacheKey();
     static String networkKey();
+    WEBCORE_EXPORT static String networkProcessCrashedKey();
     WEBCORE_EXPORT static String neverSeenBeforeKey();
     static String noCacheKey();
     static String noCurrentHistoryItemKey();

Modified: branches/safari-602-branch/Source/WebKit2/ChangeLog (208333 => 208334)


--- branches/safari-602-branch/Source/WebKit2/ChangeLog	2016-11-03 18:04:39 UTC (rev 208333)
+++ branches/safari-602-branch/Source/WebKit2/ChangeLog	2016-11-03 18:04:43 UTC (rev 208334)
@@ -1,5 +1,26 @@
 2016-11-03  Matthew Hanson  <matthew_han...@apple.com>
 
+        Merge r208307. rdar://problem/29078457
+
+    2016-11-02  David Kilzer  <ddkil...@apple.com>
+
+            Bug 164333: Add logging for "WebKit encountered an internal error" messages due to Network process crashes
+            <https://webkit.org/b/164333>
+            <rdar://problem/29072727>
+
+            Reviewed by Alex Christensen.
+
+            * WebProcess/WebProcess.cpp:
+            (WebKit::WebProcess::logDiagnosticMessageForNetworkProcessCrash):
+            Add private method to log diagnostic message.
+            (WebKit::WebProcess::networkProcessConnectionClosed):
+            Call logDiagnosticMessageForNetworkProcessCrash().
+            * WebProcess/WebProcess.h:
+            (WebKit::WebProcess::logDiagnosticMessageForNetworkProcessCrash):
+            Declare new method.
+
+2016-11-03  Matthew Hanson  <matthew_han...@apple.com>
+
         Merge r208286. rdar://problem/28634857
 
     2016-11-02  David Kilzer  <ddkil...@apple.com>

Modified: branches/safari-602-branch/Source/WebKit2/WebProcess/WebProcess.cpp (208333 => 208334)


--- branches/safari-602-branch/Source/WebKit2/WebProcess/WebProcess.cpp	2016-11-03 18:04:39 UTC (rev 208333)
+++ branches/safari-602-branch/Source/WebKit2/WebProcess/WebProcess.cpp	2016-11-03 18:04:43 UTC (rev 208334)
@@ -71,6 +71,8 @@
 #include <WebCore/DNS.h>
 #include <WebCore/DatabaseManager.h>
 #include <WebCore/DatabaseTracker.h>
+#include <WebCore/DiagnosticLoggingClient.h>
+#include <WebCore/DiagnosticLoggingKeys.h>
 #include <WebCore/FontCache.h>
 #include <WebCore/FontCascade.h>
 #include <WebCore/Frame.h>
@@ -1055,6 +1057,26 @@
     return *m_networkProcessConnection;
 }
 
+void WebProcess::logDiagnosticMessageForNetworkProcessCrash()
+{
+    WebCore::Page* page = nullptr;
+
+    if (auto* webPage = focusedWebPage())
+        page = webPage->corePage();
+
+    if (!page) {
+        for (auto& webPage : m_pageMap.values()) {
+            if (auto* corePage = webPage->corePage()) {
+                page = corePage;
+                break;
+            }
+        }
+    }
+
+    if (page)
+        page->diagnosticLoggingClient().logDiagnosticMessage(WebCore::DiagnosticLoggingKeys::internalErrorKey(), WebCore::DiagnosticLoggingKeys::networkProcessCrashedKey(), WebCore::ShouldSample::No);
+}
+
 void WebProcess::networkProcessConnectionClosed(NetworkProcessConnection* connection)
 {
     ASSERT(m_networkProcessConnection);
@@ -1061,7 +1083,9 @@
     ASSERT_UNUSED(connection, m_networkProcessConnection == connection);
 
     m_networkProcessConnection = nullptr;
-    
+
+    logDiagnosticMessageForNetworkProcessCrash();
+
     m_webLoaderStrategy.networkProcessCrashed();
 }
 

Modified: branches/safari-602-branch/Source/WebKit2/WebProcess/WebProcess.h (208333 => 208334)


--- branches/safari-602-branch/Source/WebKit2/WebProcess/WebProcess.h	2016-11-03 18:04:39 UTC (rev 208333)
+++ branches/safari-602-branch/Source/WebKit2/WebProcess/WebProcess.h	2016-11-03 18:04:43 UTC (rev 208334)
@@ -298,6 +298,8 @@
     void ensureAutomationSessionProxy(const String& sessionIdentifier);
     void destroyAutomationSessionProxy();
 
+    void logDiagnosticMessageForNetworkProcessCrash();
+
     // ChildProcess
     void initializeProcess(const ChildProcessInitializationParameters&) override;
     void initializeProcessName(const ChildProcessInitializationParameters&) override;
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to