<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[173736] trunk/Source</title>
</head>
<body>
<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; }
#msg dl a { font-weight: bold}
#msg dl a:link { color:#fc3; }
#msg dl a:active { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a href="http://trac.webkit.org/projects/webkit/changeset/173736">173736</a></dd>
<dt>Author</dt> <dd>joepeck@webkit.org</dd>
<dt>Date</dt> <dd>2014-09-18 15:06:26 -0700 (Thu, 18 Sep 2014)</dd>
</dl>
<h3>Log Message</h3>
<pre>Unreviewed rollout <a href="http://trac.webkit.org/projects/webkit/changeset/173731">r173731</a>. Broke multiple builds.
Source/JavaScriptCore:
* inspector/JSGlobalObjectInspectorController.cpp:
(Inspector::JSGlobalObjectInspectorController::JSGlobalObjectInspectorController):
(Inspector::JSGlobalObjectInspectorController::connectFrontend):
* inspector/JSGlobalObjectInspectorController.h:
* inspector/remote/RemoteInspector.h:
* inspector/remote/RemoteInspector.mm:
(Inspector::RemoteInspector::RemoteInspector):
(Inspector::RemoteInspector::setupFailed):
(Inspector::RemoteInspector::start):
(Inspector::RemoteInspector::stopInternal):
(Inspector::RemoteInspector::setupXPCConnectionIfNeeded):
(Inspector::RemoteInspector::xpcConnectionReceivedMessage):
(Inspector::RemoteInspector::xpcConnectionFailed):
(Inspector::RemoteInspector::receivedSetupMessage):
(Inspector::globalAutomaticInspectionState): Deleted.
(Inspector::RemoteInspector::updateDebuggableAutomaticInspectCandidate): Deleted.
(Inspector::RemoteInspector::sendAutomaticInspectionCandidateMessage): Deleted.
(Inspector::RemoteInspector::setupSucceeded): Deleted.
(Inspector::RemoteInspector::waitingForAutomaticInspection): Deleted.
(Inspector::RemoteInspector::receivedAutomaticInspectionConfigurationMessage): Deleted.
(Inspector::RemoteInspector::receivedAutomaticInspectionRejectMessage): Deleted.
* inspector/remote/RemoteInspectorConstants.h:
* inspector/remote/RemoteInspectorDebuggable.cpp:
(Inspector::RemoteInspectorDebuggable::setRemoteDebuggingAllowed):
(Inspector::RemoteInspectorDebuggable::pauseWaitingForAutomaticInspection): Deleted.
* inspector/remote/RemoteInspectorDebuggable.h:
* inspector/remote/RemoteInspectorDebuggableConnection.h:
* inspector/remote/RemoteInspectorDebuggableConnection.mm:
(Inspector::RemoteInspectorDebuggableConnection::setup):
* runtime/JSGlobalObjectDebuggable.cpp:
(JSC::JSGlobalObjectDebuggable::connect):
(JSC::JSGlobalObjectDebuggable::pauseWaitingForAutomaticInspection): Deleted.
* runtime/JSGlobalObjectDebuggable.h:
Source/WebCore:
* WebCore.exp.in:
* inspector/InspectorController.cpp:
(WebCore::InspectorController::connectFrontend):
(WebCore::InspectorController::show):
* inspector/InspectorController.h:
* page/PageDebuggable.cpp:
(WebCore::PageDebuggable::connect):
* page/PageDebuggable.h:
* testing/Internals.cpp:
(WebCore::Internals::openDummyInspectorFrontend):
Source/WTF:
* wtf/Assertions.cpp:
* wtf/Assertions.h:</pre>
<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkSourceJavaScriptCoreChangeLog">trunk/Source/JavaScriptCore/ChangeLog</a></li>
<li><a href="#trunkSourceJavaScriptCoreinspectorJSGlobalObjectInspectorControllercpp">trunk/Source/JavaScriptCore/inspector/JSGlobalObjectInspectorController.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreinspectorJSGlobalObjectInspectorControllerh">trunk/Source/JavaScriptCore/inspector/JSGlobalObjectInspectorController.h</a></li>
<li><a href="#trunkSourceJavaScriptCoreinspectorremoteRemoteInspectorh">trunk/Source/JavaScriptCore/inspector/remote/RemoteInspector.h</a></li>
<li><a href="#trunkSourceJavaScriptCoreinspectorremoteRemoteInspectormm">trunk/Source/JavaScriptCore/inspector/remote/RemoteInspector.mm</a></li>
<li><a href="#trunkSourceJavaScriptCoreinspectorremoteRemoteInspectorConstantsh">trunk/Source/JavaScriptCore/inspector/remote/RemoteInspectorConstants.h</a></li>
<li><a href="#trunkSourceJavaScriptCoreinspectorremoteRemoteInspectorDebuggablecpp">trunk/Source/JavaScriptCore/inspector/remote/RemoteInspectorDebuggable.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreinspectorremoteRemoteInspectorDebuggableh">trunk/Source/JavaScriptCore/inspector/remote/RemoteInspectorDebuggable.h</a></li>
<li><a href="#trunkSourceJavaScriptCoreinspectorremoteRemoteInspectorDebuggableConnectionh">trunk/Source/JavaScriptCore/inspector/remote/RemoteInspectorDebuggableConnection.h</a></li>
<li><a href="#trunkSourceJavaScriptCoreinspectorremoteRemoteInspectorDebuggableConnectionmm">trunk/Source/JavaScriptCore/inspector/remote/RemoteInspectorDebuggableConnection.mm</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeJSGlobalObjectDebuggablecpp">trunk/Source/JavaScriptCore/runtime/JSGlobalObjectDebuggable.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeJSGlobalObjectDebuggableh">trunk/Source/JavaScriptCore/runtime/JSGlobalObjectDebuggable.h</a></li>
<li><a href="#trunkSourceWTFChangeLog">trunk/Source/WTF/ChangeLog</a></li>
<li><a href="#trunkSourceWTFwtfAssertionscpp">trunk/Source/WTF/wtf/Assertions.cpp</a></li>
<li><a href="#trunkSourceWTFwtfAssertionsh">trunk/Source/WTF/wtf/Assertions.h</a></li>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCoreWebCoreexpin">trunk/Source/WebCore/WebCore.exp.in</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorControllercpp">trunk/Source/WebCore/inspector/InspectorController.cpp</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorControllerh">trunk/Source/WebCore/inspector/InspectorController.h</a></li>
<li><a href="#trunkSourceWebCorepagePageDebuggablecpp">trunk/Source/WebCore/page/PageDebuggable.cpp</a></li>
<li><a href="#trunkSourceWebCorepagePageDebuggableh">trunk/Source/WebCore/page/PageDebuggable.h</a></li>
<li><a href="#trunkSourceWebCoretestingInternalscpp">trunk/Source/WebCore/testing/Internals.cpp</a></li>
</ul>
</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkSourceJavaScriptCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/ChangeLog (173735 => 173736)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/ChangeLog        2014-09-18 21:59:22 UTC (rev 173735)
+++ trunk/Source/JavaScriptCore/ChangeLog        2014-09-18 22:06:26 UTC (rev 173736)
</span><span class="lines">@@ -1,5 +1,43 @@
</span><span class="cx"> 2014-09-18 Joseph Pecoraro <pecoraro@apple.com>
</span><span class="cx">
</span><ins>+ Unreviewed rollout r173731. Broke multiple builds.
+
+ * inspector/JSGlobalObjectInspectorController.cpp:
+ (Inspector::JSGlobalObjectInspectorController::JSGlobalObjectInspectorController):
+ (Inspector::JSGlobalObjectInspectorController::connectFrontend):
+ * inspector/JSGlobalObjectInspectorController.h:
+ * inspector/remote/RemoteInspector.h:
+ * inspector/remote/RemoteInspector.mm:
+ (Inspector::RemoteInspector::RemoteInspector):
+ (Inspector::RemoteInspector::setupFailed):
+ (Inspector::RemoteInspector::start):
+ (Inspector::RemoteInspector::stopInternal):
+ (Inspector::RemoteInspector::setupXPCConnectionIfNeeded):
+ (Inspector::RemoteInspector::xpcConnectionReceivedMessage):
+ (Inspector::RemoteInspector::xpcConnectionFailed):
+ (Inspector::RemoteInspector::receivedSetupMessage):
+ (Inspector::globalAutomaticInspectionState): Deleted.
+ (Inspector::RemoteInspector::updateDebuggableAutomaticInspectCandidate): Deleted.
+ (Inspector::RemoteInspector::sendAutomaticInspectionCandidateMessage): Deleted.
+ (Inspector::RemoteInspector::setupSucceeded): Deleted.
+ (Inspector::RemoteInspector::waitingForAutomaticInspection): Deleted.
+ (Inspector::RemoteInspector::receivedAutomaticInspectionConfigurationMessage): Deleted.
+ (Inspector::RemoteInspector::receivedAutomaticInspectionRejectMessage): Deleted.
+ * inspector/remote/RemoteInspectorConstants.h:
+ * inspector/remote/RemoteInspectorDebuggable.cpp:
+ (Inspector::RemoteInspectorDebuggable::setRemoteDebuggingAllowed):
+ (Inspector::RemoteInspectorDebuggable::pauseWaitingForAutomaticInspection): Deleted.
+ * inspector/remote/RemoteInspectorDebuggable.h:
+ * inspector/remote/RemoteInspectorDebuggableConnection.h:
+ * inspector/remote/RemoteInspectorDebuggableConnection.mm:
+ (Inspector::RemoteInspectorDebuggableConnection::setup):
+ * runtime/JSGlobalObjectDebuggable.cpp:
+ (JSC::JSGlobalObjectDebuggable::connect):
+ (JSC::JSGlobalObjectDebuggable::pauseWaitingForAutomaticInspection): Deleted.
+ * runtime/JSGlobalObjectDebuggable.h:
+
+2014-09-18 Joseph Pecoraro <pecoraro@apple.com>
+
</ins><span class="cx"> Web Inspector: Should be able to attach a debugger to a JSContext before anything is executed
</span><span class="cx"> https://bugs.webkit.org/show_bug.cgi?id=136893
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreinspectorJSGlobalObjectInspectorControllercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/inspector/JSGlobalObjectInspectorController.cpp (173735 => 173736)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/inspector/JSGlobalObjectInspectorController.cpp        2014-09-18 21:59:22 UTC (rev 173735)
+++ trunk/Source/JavaScriptCore/inspector/JSGlobalObjectInspectorController.cpp        2014-09-18 22:06:26 UTC (rev 173736)
</span><span class="lines">@@ -61,7 +61,6 @@
</span><span class="cx"> auto consoleAgent = std::make_unique<JSGlobalObjectConsoleAgent>(m_injectedScriptManager.get());
</span><span class="cx"> auto debuggerAgent = std::make_unique<JSGlobalObjectDebuggerAgent>(m_injectedScriptManager.get(), m_globalObject, consoleAgent.get());
</span><span class="cx">
</span><del>- m_debuggerAgent = debuggerAgent.get();
</del><span class="cx"> m_consoleAgent = consoleAgent.get();
</span><span class="cx"> m_consoleClient = std::make_unique<JSGlobalObjectConsoleClient>(m_consoleAgent);
</span><span class="cx">
</span><span class="lines">@@ -85,7 +84,7 @@
</span><span class="cx"> m_injectedScriptManager->disconnect();
</span><span class="cx"> }
</span><span class="cx">
</span><del>-void JSGlobalObjectInspectorController::connectFrontend(InspectorFrontendChannel* frontendChannel, bool isAutomaticInspection)
</del><ins>+void JSGlobalObjectInspectorController::connectFrontend(InspectorFrontendChannel* frontendChannel)
</ins><span class="cx"> {
</span><span class="cx"> ASSERT(!m_inspectorFrontendChannel);
</span><span class="cx"> ASSERT(!m_inspectorBackendDispatcher);
</span><span class="lines">@@ -94,15 +93,6 @@
</span><span class="cx"> m_inspectorBackendDispatcher = InspectorBackendDispatcher::create(frontendChannel);
</span><span class="cx">
</span><span class="cx"> m_agents.didCreateFrontendAndBackend(frontendChannel, m_inspectorBackendDispatcher.get());
</span><del>-
- if (isAutomaticInspection) {
- // FIXME: We should not always pause for automatic inspection.
- // Currently if we don't automatically pause, then we may miss a breakpoint, since breakpoints
- // come from the frontend and might be received after some evaluateScript message. We should
- // have the frontend signal the backend when its setup messages are complete.
- m_debuggerAgent->enable(nullptr);
- m_debuggerAgent->pause(nullptr);
- }
</del><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void JSGlobalObjectInspectorController::disconnectFrontend(InspectorDisconnectReason reason)
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreinspectorJSGlobalObjectInspectorControllerh"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/inspector/JSGlobalObjectInspectorController.h (173735 => 173736)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/inspector/JSGlobalObjectInspectorController.h        2014-09-18 21:59:22 UTC (rev 173735)
+++ trunk/Source/JavaScriptCore/inspector/JSGlobalObjectInspectorController.h        2014-09-18 22:06:26 UTC (rev 173736)
</span><span class="lines">@@ -47,7 +47,6 @@
</span><span class="cx"> class InspectorConsoleAgent;
</span><span class="cx"> class InspectorBackendDispatcher;
</span><span class="cx"> class InspectorConsoleAgent;
</span><del>-class InspectorDebuggerAgent;
</del><span class="cx"> class InspectorFrontendChannel;
</span><span class="cx"> class JSGlobalObjectConsoleClient;
</span><span class="cx"> class ScriptCallStack;
</span><span class="lines">@@ -59,7 +58,7 @@
</span><span class="cx"> JSGlobalObjectInspectorController(JSC::JSGlobalObject&);
</span><span class="cx"> ~JSGlobalObjectInspectorController();
</span><span class="cx">
</span><del>- void connectFrontend(InspectorFrontendChannel*, bool isAutomaticInspection);
</del><ins>+ void connectFrontend(InspectorFrontendChannel*);
</ins><span class="cx"> void disconnectFrontend(InspectorDisconnectReason reason);
</span><span class="cx"> void dispatchMessageFromFrontend(const String&);
</span><span class="cx">
</span><span class="lines">@@ -86,7 +85,6 @@
</span><span class="cx"> std::unique_ptr<InjectedScriptManager> m_injectedScriptManager;
</span><span class="cx"> std::unique_ptr<JSGlobalObjectConsoleClient> m_consoleClient;
</span><span class="cx"> InspectorConsoleAgent* m_consoleAgent;
</span><del>- InspectorDebuggerAgent* m_debuggerAgent;
</del><span class="cx"> InspectorAgentRegistry m_agents;
</span><span class="cx"> InspectorFrontendChannel* m_inspectorFrontendChannel;
</span><span class="cx"> RefPtr<InspectorBackendDispatcher> m_inspectorBackendDispatcher;
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreinspectorremoteRemoteInspectorh"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/inspector/remote/RemoteInspector.h (173735 => 173736)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/inspector/remote/RemoteInspector.h        2014-09-18 21:59:22 UTC (rev 173735)
+++ trunk/Source/JavaScriptCore/inspector/remote/RemoteInspector.h        2014-09-18 22:06:26 UTC (rev 173736)
</span><span class="lines">@@ -52,11 +52,8 @@
</span><span class="cx"> void registerDebuggable(RemoteInspectorDebuggable*);
</span><span class="cx"> void unregisterDebuggable(RemoteInspectorDebuggable*);
</span><span class="cx"> void updateDebuggable(RemoteInspectorDebuggable*);
</span><del>- void updateDebuggableAutomaticInspectCandidate(RemoteInspectorDebuggable*);
</del><span class="cx"> void sendMessageToRemoteFrontend(unsigned identifier, const String& message);
</span><span class="cx"> void setupFailed(unsigned identifier);
</span><del>- void setupSucceeded(unsigned identifier);
- bool waitingForAutomaticInspection(unsigned identifier);
</del><span class="cx">
</span><span class="cx"> bool enabled() const { return m_enabled; }
</span><span class="cx"> bool hasActiveDebugSession() const { return m_hasActiveDebugSession; }
</span><span class="lines">@@ -86,8 +83,6 @@
</span><span class="cx">
</span><span class="cx"> void updateHasActiveDebugSession();
</span><span class="cx">
</span><del>- void sendAutomaticInspectionCandidateMessage();
-
</del><span class="cx"> virtual void xpcConnectionReceivedMessage(RemoteInspectorXPCConnection*, NSString *messageName, NSDictionary *userInfo) override;
</span><span class="cx"> virtual void xpcConnectionFailed(RemoteInspectorXPCConnection*) override;
</span><span class="cx"> virtual void xpcConnectionUnhandledMessage(RemoteInspectorXPCConnection*, xpc_object_t) override;
</span><span class="lines">@@ -99,8 +94,6 @@
</span><span class="cx"> void receivedIndicateMessage(NSDictionary *userInfo);
</span><span class="cx"> void receivedProxyApplicationSetupMessage(NSDictionary *userInfo);
</span><span class="cx"> void receivedConnectionDiedMessage(NSDictionary *userInfo);
</span><del>- void receivedAutomaticInspectionConfigurationMessage(NSDictionary *userInfo);
- void receivedAutomaticInspectionRejectMessage(NSDictionary *userInfo);
</del><span class="cx">
</span><span class="cx"> static bool startEnabled;
</span><span class="cx">
</span><span class="lines">@@ -124,9 +117,6 @@
</span><span class="cx"> pid_t m_parentProcessIdentifier;
</span><span class="cx"> RetainPtr<CFDataRef> m_parentProcessAuditData;
</span><span class="cx"> bool m_shouldSendParentProcessInformation;
</span><del>- bool m_automaticInspectionEnabled;
- bool m_automaticInspectionPaused;
- unsigned m_automaticInspectionCandidateIdentifier;
</del><span class="cx"> };
</span><span class="cx">
</span><span class="cx"> } // namespace Inspector
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreinspectorremoteRemoteInspectormm"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/inspector/remote/RemoteInspector.mm (173735 => 173736)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/inspector/remote/RemoteInspector.mm        2014-09-18 21:59:22 UTC (rev 173735)
+++ trunk/Source/JavaScriptCore/inspector/remote/RemoteInspector.mm        2014-09-18 22:06:26 UTC (rev 173736)
</span><span class="lines">@@ -1,5 +1,5 @@
</span><span class="cx"> /*
</span><del>- * Copyright (C) 2013, 2014 Apple Inc. All Rights Reserved.
</del><ins>+ * Copyright (C) 2013 Apple Inc. All Rights Reserved.
</ins><span class="cx"> *
</span><span class="cx"> * Redistribution and use in source and binary forms, with or without
</span><span class="cx"> * modification, are permitted provided that the following conditions
</span><span class="lines">@@ -68,17 +68,6 @@
</span><span class="cx"> return sandbox_check(getpid(), "mach-lookup", SANDBOX_FILTER_GLOBAL_NAME, WIRXPCMachPortName) == 0;
</span><span class="cx"> }
</span><span class="cx">
</span><del>-static bool globalAutomaticInspectionState()
-{
- int token = 0;
- if (notify_register_check(WIRAutomaticInspectionEnabledState, &token) != NOTIFY_STATUS_OK)
- return false;
-
- uint64_t automaticInspectionEnabled = 0;
- notify_get_state(token, &automaticInspectionEnabled);
- return automaticInspectionEnabled == 1;
-}
-
</del><span class="cx"> static void dispatchAsyncOnQueueSafeForAnyDebuggable(void (^block)())
</span><span class="cx"> {
</span><span class="cx"> #if PLATFORM(IOS)
</span><span class="lines">@@ -123,9 +112,6 @@
</span><span class="cx"> , m_pushScheduled(false)
</span><span class="cx"> , m_parentProcessIdentifier(0)
</span><span class="cx"> , m_shouldSendParentProcessInformation(false)
</span><del>- , m_automaticInspectionEnabled(false)
- , m_automaticInspectionPaused(false)
- , m_automaticInspectionCandidateIdentifier(0)
</del><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx">
</span><span class="lines">@@ -184,74 +170,6 @@
</span><span class="cx"> pushListingSoon();
</span><span class="cx"> }
</span><span class="cx">
</span><del>-void RemoteInspector::updateDebuggableAutomaticInspectCandidate(RemoteInspectorDebuggable* debuggable)
-{
- {
- std::lock_guard<std::mutex> lock(m_mutex);
-
- unsigned identifier = debuggable->identifier();
- if (!identifier)
- return;
-
- auto result = m_debuggableMap.set(identifier, std::make_pair(debuggable, debuggable->info()));
- ASSERT_UNUSED(result, !result.isNewEntry);
-
- // Don't allow automatic inspection unless there is a debugger or we are stopped.
- if (!WTFIsDebuggerAttached() || !m_automaticInspectionEnabled || !m_enabled) {
- pushListingSoon();
- return;
- }
-
- // FIXME: We should handle multiple debuggables trying to pause at the same time on different threads.
- // To make this work we will need to change m_automaticInspectionCandidateIdentifier to be a per-thread value.
- // Multiple attempts on the same thread should not be possible because our nested run loop is in a special RWI mode.
- if (m_automaticInspectionPaused) {
- LOG_ERROR("Skipping Automatic Inspection Candidate with pageId(%u) because we are already paused waiting for pageId(%u)", identifier, m_automaticInspectionCandidateIdentifier);
- pushListingSoon();
- return;
- }
-
- m_automaticInspectionPaused = true;
- m_automaticInspectionCandidateIdentifier = identifier;
-
- // If we are pausing before we have connected to webinspectord the candidate message will be sent as soon as the connection is established.
- if (m_xpcConnection) {
- pushListingNow();
- sendAutomaticInspectionCandidateMessage();
- }
-
- // In case debuggers fail to respond, or we cannot connect to webinspectord, automatically continue after a short period of time.
- dispatch_after(dispatch_time(DISPATCH_TIME_NOW, 0.3 * NSEC_PER_SEC), dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
- std::lock_guard<std::mutex> lock(m_mutex);
- if (m_automaticInspectionCandidateIdentifier == identifier) {
- LOG_ERROR("Skipping Automatic Inspection Candidate with pageId(%u) because we failed to receive a response in time.", m_automaticInspectionCandidateIdentifier);
- m_automaticInspectionPaused = false;
- }
- });
- }
-
- debuggable->pauseWaitingForAutomaticInspection();
-
- {
- std::lock_guard<std::mutex> lock(m_mutex);
-
- ASSERT(m_automaticInspectionCandidateIdentifier);
- m_automaticInspectionCandidateIdentifier = 0;
- }
-}
-
-void RemoteInspector::sendAutomaticInspectionCandidateMessage()
-{
- ASSERT(m_enabled);
- ASSERT(m_automaticInspectionEnabled);
- ASSERT(m_automaticInspectionPaused);
- ASSERT(m_automaticInspectionCandidateIdentifier);
- ASSERT(m_xpcConnection);
-
- NSDictionary *details = @{WIRPageIdentifierKey: @(m_automaticInspectionCandidateIdentifier)};
- m_xpcConnection->sendMessage(WIRAutomaticInspectionCandidateMessage, details);
-}
-
</del><span class="cx"> void RemoteInspector::sendMessageToRemoteFrontend(unsigned identifier, const String& message)
</span><span class="cx"> {
</span><span class="cx"> std::lock_guard<std::mutex> lock(m_mutex);
</span><span class="lines">@@ -280,26 +198,9 @@
</span><span class="cx">
</span><span class="cx"> updateHasActiveDebugSession();
</span><span class="cx">
</span><del>- if (identifier == m_automaticInspectionCandidateIdentifier)
- m_automaticInspectionPaused = false;
-
</del><span class="cx"> pushListingSoon();
</span><span class="cx"> }
</span><span class="cx">
</span><del>-void RemoteInspector::setupSucceeded(unsigned identifier)
-{
- std::lock_guard<std::mutex> lock(m_mutex);
-
- if (identifier == m_automaticInspectionCandidateIdentifier)
- m_automaticInspectionPaused = false;
-}
-
-bool RemoteInspector::waitingForAutomaticInspection(unsigned)
-{
- // We don't take the lock to check this because we assume it will be checked repeatedly.
- return m_automaticInspectionPaused;
-}
-
</del><span class="cx"> void RemoteInspector::start()
</span><span class="cx"> {
</span><span class="cx"> std::lock_guard<std::mutex> lock(m_mutex);
</span><span class="lines">@@ -309,12 +210,6 @@
</span><span class="cx">
</span><span class="cx"> m_enabled = true;
</span><span class="cx">
</span><del>- // Load the initial automatic inspection state when first started, so we know it before we have even connected to webinspectord.
- static dispatch_once_t once;
- dispatch_once(&once, ^{
- m_automaticInspectionEnabled = globalAutomaticInspectionState();
- });
-
</del><span class="cx"> notify_register_dispatch(WIRServiceAvailableNotification, &m_notifyToken, m_xpcQueue, ^(int) {
</span><span class="cx"> RemoteInspector::shared().setupXPCConnectionIfNeeded();
</span><span class="cx"> });
</span><span class="lines">@@ -344,8 +239,6 @@
</span><span class="cx">
</span><span class="cx"> updateHasActiveDebugSession();
</span><span class="cx">
</span><del>- m_automaticInspectionPaused = false;
-
</del><span class="cx"> if (m_xpcConnection) {
</span><span class="cx"> switch (source) {
</span><span class="cx"> case StopSource::API:
</span><span class="lines">@@ -377,12 +270,7 @@
</span><span class="cx"> m_xpcConnection->sendMessage(@"syn", nil); // Send a simple message to initialize the XPC connection.
</span><span class="cx"> xpc_release(connection);
</span><span class="cx">
</span><del>- if (m_automaticInspectionCandidateIdentifier) {
- // We already have a debuggable waiting to be automatically inspected.
- pushListingNow();
- sendAutomaticInspectionCandidateMessage();
- } else
- pushListingSoon();
</del><ins>+ pushListingSoon();
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> #pragma mark - Proxy Application Information
</span><span class="lines">@@ -426,10 +314,6 @@
</span><span class="cx"> receivedProxyApplicationSetupMessage(userInfo);
</span><span class="cx"> else if ([messageName isEqualToString:WIRConnectionDiedMessage])
</span><span class="cx"> receivedConnectionDiedMessage(userInfo);
</span><del>- else if ([messageName isEqualToString:WIRAutomaticInspectionConfigurationMessage])
- receivedAutomaticInspectionConfigurationMessage(userInfo);
- else if ([messageName isEqualToString:WIRAutomaticInspectionRejectMessage])
- receivedAutomaticInspectionRejectMessage(userInfo);
</del><span class="cx"> else
</span><span class="cx"> NSLog(@"Unrecognized RemoteInspector XPC Message: %@", messageName);
</span><span class="cx"> }
</span><span class="lines">@@ -450,8 +334,6 @@
</span><span class="cx">
</span><span class="cx"> updateHasActiveDebugSession();
</span><span class="cx">
</span><del>- m_automaticInspectionPaused = false;
-
</del><span class="cx"> // The connection will close itself.
</span><span class="cx"> m_xpcConnection = nullptr;
</span><span class="cx"> }
</span><span class="lines">@@ -551,7 +433,6 @@
</span><span class="cx"> // Legacy iOS WebKit 1 had a notification. This will need to be smarter with WebKit2.
</span><span class="cx"> }
</span><span class="cx">
</span><del>-
</del><span class="cx"> #pragma mark - Received XPC Messages
</span><span class="cx">
</span><span class="cx"> void RemoteInspector::receivedSetupMessage(NSDictionary *userInfo)
</span><span class="lines">@@ -580,8 +461,7 @@
</span><span class="cx"> RemoteInspectorDebuggable* debuggable = it->value.first;
</span><span class="cx"> RemoteInspectorDebuggableInfo debuggableInfo = it->value.second;
</span><span class="cx"> RefPtr<RemoteInspectorDebuggableConnection> connection = adoptRef(new RemoteInspectorDebuggableConnection(debuggable, connectionIdentifier, sender, debuggableInfo.type));
</span><del>- bool isAutomaticInspection = m_automaticInspectionCandidateIdentifier == debuggable->identifier();
- if (!connection->setup(isAutomaticInspection)) {
</del><ins>+ if (!connection->setup()) {
</ins><span class="cx"> connection->close();
</span><span class="cx"> return;
</span><span class="cx"> }
</span><span class="lines">@@ -713,23 +593,6 @@
</span><span class="cx"> updateHasActiveDebugSession();
</span><span class="cx"> }
</span><span class="cx">
</span><del>-void RemoteInspector::receivedAutomaticInspectionConfigurationMessage(NSDictionary *userInfo)
-{
- m_automaticInspectionEnabled = [[userInfo objectForKey:WIRAutomaticInspectionEnabledKey] boolValue];
-
- if (!m_automaticInspectionEnabled && m_automaticInspectionPaused)
- m_automaticInspectionPaused = false;
-}
-
-void RemoteInspector::receivedAutomaticInspectionRejectMessage(NSDictionary *userInfo)
-{
- unsigned rejectionIdentifier = [[userInfo objectForKey:WIRPageIdentifierKey] unsignedIntValue];
-
- ASSERT(rejectionIdentifier == m_automaticInspectionCandidateIdentifier);
- if (rejectionIdentifier == m_automaticInspectionCandidateIdentifier)
- m_automaticInspectionPaused = false;
-}
-
</del><span class="cx"> } // namespace Inspector
</span><span class="cx">
</span><span class="cx"> #endif // ENABLE(REMOTE_INSPECTOR)
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreinspectorremoteRemoteInspectorConstantsh"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/inspector/remote/RemoteInspectorConstants.h (173735 => 173736)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/inspector/remote/RemoteInspectorConstants.h        2014-09-18 21:59:22 UTC (rev 173735)
+++ trunk/Source/JavaScriptCore/inspector/remote/RemoteInspectorConstants.h        2014-09-18 22:06:26 UTC (rev 173736)
</span><span class="lines">@@ -37,14 +37,12 @@
</span><span class="cx"> #define WIRServiceAvailabilityCheckNotification "com.apple.webinspectord.availability_check"
</span><span class="cx"> #define WIRServiceEnabledNotification "com.apple.webinspectord.enabled"
</span><span class="cx"> #define WIRServiceDisabledNotification "com.apple.webinspectord.disabled"
</span><del>-#define WIRAutomaticInspectionEnabledState "com.apple.webinspectord.automatic_inspection_enabled"
</del><span class="cx">
</span><span class="cx">
</span><span class="cx"> #define WIRApplicationIdentifierKey @"WIRApplicationIdentifierKey"
</span><span class="cx"> #define WIRApplicationBundleIdentifierKey @"WIRApplicationBundleIdentifierKey"
</span><span class="cx"> #define WIRApplicationNameKey @"WIRApplicationNameKey"
</span><span class="cx"> #define WIRIsApplicationProxyKey @"WIRIsApplicationProxyKey"
</span><del>-#define WIRIsApplicationActiveKey @"WIRIsApplicationActiveKey"
</del><span class="cx"> #define WIRHostApplicationIdentifierKey @"WIRHostApplicationIdentifierKey"
</span><span class="cx"> #define WIRHostApplicationNameKey @"WIRHostApplicationNameKey"
</span><span class="cx"> #define WIRConnectionIdentifierKey @"WIRConnectionIdentifierKey"
</span><span class="lines">@@ -73,12 +71,6 @@
</span><span class="cx"> #define WIRTypeJavaScript @"WIRTypeJavaScript"
</span><span class="cx"> #define WIRTypeWeb @"WIRTypeWeb"
</span><span class="cx">
</span><del>-#define WIRAutomaticInspectionEnabledKey @"WIRAutomaticInspectionEnabledKey"
-#define WIRAutomaticInspectionSessionIdentifierKey @"WIRAutomaticInspectionSessionIdentifierKey"
-#define WIRAutomaticInspectionConfigurationMessage @"WIRAutomaticInspectionConfigurationMessage"
-#define WIRAutomaticInspectionRejectMessage @"WIRAutomaticInspectionRejectMessage"
-#define WIRAutomaticInspectionCandidateMessage @"WIRAutomaticInspectionCandidateMessage"
-
</del><span class="cx"> // These definitions are shared with a Simulator webinspectord and
</span><span class="cx"> // OS X process communicating with it.
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreinspectorremoteRemoteInspectorDebuggablecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/inspector/remote/RemoteInspectorDebuggable.cpp (173735 => 173736)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/inspector/remote/RemoteInspectorDebuggable.cpp        2014-09-18 21:59:22 UTC (rev 173735)
+++ trunk/Source/JavaScriptCore/inspector/remote/RemoteInspectorDebuggable.cpp        2014-09-18 22:06:26 UTC (rev 173736)
</span><span class="lines">@@ -28,7 +28,6 @@
</span><span class="cx">
</span><span class="cx"> #if ENABLE(REMOTE_INSPECTOR)
</span><span class="cx">
</span><del>-#include "EventLoop.h"
</del><span class="cx"> #include "InspectorFrontendChannel.h"
</span><span class="cx"> #include "RemoteInspector.h"
</span><span class="cx">
</span><span class="lines">@@ -62,10 +61,7 @@
</span><span class="cx">
</span><span class="cx"> m_allowed = allowed;
</span><span class="cx">
</span><del>- if (m_allowed && automaticInspectionAllowed())
- RemoteInspector::shared().updateDebuggableAutomaticInspectCandidate(this);
- else
- RemoteInspector::shared().updateDebuggable(this);
</del><ins>+ update();
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> RemoteInspectorDebuggableInfo RemoteInspectorDebuggable::info() const
</span><span class="lines">@@ -80,17 +76,6 @@
</span><span class="cx"> return info;
</span><span class="cx"> }
</span><span class="cx">
</span><del>-void RemoteInspectorDebuggable::pauseWaitingForAutomaticInspection()
-{
- ASSERT(m_identifier);
- ASSERT(m_allowed);
- ASSERT(automaticInspectionAllowed());
-
- EventLoop loop;
- while (RemoteInspector::shared().waitingForAutomaticInspection(identifier()) && !loop.ended())
- loop.cycle();
-}
-
</del><span class="cx"> } // namespace Inspector
</span><span class="cx">
</span><span class="cx"> #endif // ENABLE(REMOTE_INSPECTOR)
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreinspectorremoteRemoteInspectorDebuggableh"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/inspector/remote/RemoteInspectorDebuggable.h (173735 => 173736)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/inspector/remote/RemoteInspectorDebuggable.h        2014-09-18 21:59:22 UTC (rev 173735)
+++ trunk/Source/JavaScriptCore/inspector/remote/RemoteInspectorDebuggable.h        2014-09-18 22:06:26 UTC (rev 173736)
</span><span class="lines">@@ -62,14 +62,11 @@
</span><span class="cx"> virtual String url() const { return String(); } // Web
</span><span class="cx"> virtual bool hasLocalDebugger() const = 0;
</span><span class="cx">
</span><del>- virtual void connect(InspectorFrontendChannel*, bool isAutomaticInspection) = 0;
</del><ins>+ virtual void connect(InspectorFrontendChannel*) = 0;
</ins><span class="cx"> virtual void disconnect() = 0;
</span><span class="cx"> virtual void dispatchMessageFromRemoteFrontend(const String& message) = 0;
</span><span class="cx"> virtual void setIndicating(bool) { } // Default is to do nothing.
</span><span class="cx">
</span><del>- virtual bool automaticInspectionAllowed() const { return false; }
- virtual void pauseWaitingForAutomaticInspection();
-
</del><span class="cx"> private:
</span><span class="cx"> unsigned m_identifier;
</span><span class="cx"> bool m_allowed;
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreinspectorremoteRemoteInspectorDebuggableConnectionh"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/inspector/remote/RemoteInspectorDebuggableConnection.h (173735 => 173736)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/inspector/remote/RemoteInspectorDebuggableConnection.h        2014-09-18 21:59:22 UTC (rev 173735)
+++ trunk/Source/JavaScriptCore/inspector/remote/RemoteInspectorDebuggableConnection.h        2014-09-18 22:06:26 UTC (rev 173736)
</span><span class="lines">@@ -84,7 +84,7 @@
</span><span class="cx"> NSString *connectionIdentifier() const;
</span><span class="cx"> unsigned identifier() const { return m_identifier; }
</span><span class="cx">
</span><del>- bool setup(bool isAutomaticInspection);
</del><ins>+ bool setup();
</ins><span class="cx">
</span><span class="cx"> void close();
</span><span class="cx"> void closeFromDebuggable();
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreinspectorremoteRemoteInspectorDebuggableConnectionmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/inspector/remote/RemoteInspectorDebuggableConnection.mm (173735 => 173736)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/inspector/remote/RemoteInspectorDebuggableConnection.mm        2014-09-18 21:59:22 UTC (rev 173735)
+++ trunk/Source/JavaScriptCore/inspector/remote/RemoteInspectorDebuggableConnection.mm        2014-09-18 22:06:26 UTC (rev 173736)
</span><span class="lines">@@ -149,7 +149,7 @@
</span><span class="cx"> RemoteInspectorQueueTaskOnGlobalQueue(block);
</span><span class="cx"> }
</span><span class="cx">
</span><del>-bool RemoteInspectorDebuggableConnection::setup(bool isAutomaticInspection)
</del><ins>+bool RemoteInspectorDebuggableConnection::setup()
</ins><span class="cx"> {
</span><span class="cx"> std::lock_guard<std::mutex> lock(m_debuggableMutex);
</span><span class="cx">
</span><span class="lines">@@ -164,9 +164,8 @@
</span><span class="cx"> RemoteInspector::shared().setupFailed(identifier());
</span><span class="cx"> m_debuggable = nullptr;
</span><span class="cx"> } else {
</span><del>- m_debuggable->connect(this, isAutomaticInspection);
</del><ins>+ m_debuggable->connect(this);
</ins><span class="cx"> m_connected = true;
</span><del>- RemoteInspector::shared().setupSucceeded(identifier());
</del><span class="cx"> }
</span><span class="cx"> }
</span><span class="cx"> deref();
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeJSGlobalObjectDebuggablecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/JSGlobalObjectDebuggable.cpp (173735 => 173736)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/JSGlobalObjectDebuggable.cpp        2014-09-18 21:59:22 UTC (rev 173735)
+++ trunk/Source/JavaScriptCore/runtime/JSGlobalObjectDebuggable.cpp        2014-09-18 22:06:26 UTC (rev 173736)
</span><span class="lines">@@ -28,7 +28,6 @@
</span><span class="cx">
</span><span class="cx"> #if ENABLE(REMOTE_INSPECTOR)
</span><span class="cx">
</span><del>-#include "JSLock.h"
</del><span class="cx"> #include "InspectorAgentBase.h"
</span><span class="cx"> #include "InspectorFrontendChannel.h"
</span><span class="cx"> #include "JSGlobalObject.h"
</span><span class="lines">@@ -49,11 +48,11 @@
</span><span class="cx"> return name.isEmpty() ? ASCIILiteral("JSContext") : name;
</span><span class="cx"> }
</span><span class="cx">
</span><del>-void JSGlobalObjectDebuggable::connect(InspectorFrontendChannel* frontendChannel, bool automaticInspection)
</del><ins>+void JSGlobalObjectDebuggable::connect(InspectorFrontendChannel* frontendChannel)
</ins><span class="cx"> {
</span><span class="cx"> JSLockHolder locker(&m_globalObject.vm());
</span><span class="cx">
</span><del>- m_globalObject.inspectorController().connectFrontend(frontendChannel, automaticInspection);
</del><ins>+ m_globalObject.inspectorController().connectFrontend(frontendChannel);
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void JSGlobalObjectDebuggable::disconnect()
</span><span class="lines">@@ -70,12 +69,6 @@
</span><span class="cx"> m_globalObject.inspectorController().dispatchMessageFromFrontend(message);
</span><span class="cx"> }
</span><span class="cx">
</span><del>-void JSGlobalObjectDebuggable::pauseWaitingForAutomaticInspection()
-{
- JSC::JSLock::DropAllLocks dropAllLocks(&m_globalObject.vm());
- RemoteInspectorDebuggable::pauseWaitingForAutomaticInspection();
-}
-
</del><span class="cx"> } // namespace JSC
</span><span class="cx">
</span><span class="cx"> #endif // ENABLE(REMOTE_INSPECTOR)
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeJSGlobalObjectDebuggableh"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/JSGlobalObjectDebuggable.h (173735 => 173736)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/JSGlobalObjectDebuggable.h        2014-09-18 21:59:22 UTC (rev 173735)
+++ trunk/Source/JavaScriptCore/runtime/JSGlobalObjectDebuggable.h        2014-09-18 22:06:26 UTC (rev 173736)
</span><span class="lines">@@ -51,13 +51,10 @@
</span><span class="cx"> virtual String name() const override;
</span><span class="cx"> virtual bool hasLocalDebugger() const override { return false; }
</span><span class="cx">
</span><del>- virtual void connect(Inspector::InspectorFrontendChannel*, bool automaticInspection) override;
</del><ins>+ virtual void connect(Inspector::InspectorFrontendChannel*) override;
</ins><span class="cx"> virtual void disconnect() override;
</span><span class="cx"> virtual void dispatchMessageFromRemoteFrontend(const String& message) override;
</span><span class="cx">
</span><del>- virtual bool automaticInspectionAllowed() const override { return true; }
- virtual void pauseWaitingForAutomaticInspection() override;
-
</del><span class="cx"> private:
</span><span class="cx"> JSGlobalObject& m_globalObject;
</span><span class="cx"> };
</span></span></pre></div>
<a id="trunkSourceWTFChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WTF/ChangeLog (173735 => 173736)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WTF/ChangeLog        2014-09-18 21:59:22 UTC (rev 173735)
+++ trunk/Source/WTF/ChangeLog        2014-09-18 22:06:26 UTC (rev 173736)
</span><span class="lines">@@ -1,5 +1,12 @@
</span><span class="cx"> 2014-09-18 Joseph Pecoraro <pecoraro@apple.com>
</span><span class="cx">
</span><ins>+ Unreviewed rollout r173731. Broke multiple builds.
+
+ * wtf/Assertions.cpp:
+ * wtf/Assertions.h:
+
+2014-09-18 Joseph Pecoraro <pecoraro@apple.com>
+
</ins><span class="cx"> Web Inspector: Should be able to attach a debugger to a JSContext before anything is executed
</span><span class="cx"> https://bugs.webkit.org/show_bug.cgi?id=136893
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWTFwtfAssertionscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WTF/wtf/Assertions.cpp (173735 => 173736)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WTF/wtf/Assertions.cpp        2014-09-18 21:59:22 UTC (rev 173735)
+++ trunk/Source/WTF/wtf/Assertions.cpp        2014-09-18 22:06:26 UTC (rev 173736)
</span><span class="lines">@@ -63,11 +63,6 @@
</span><span class="cx"> #include <windows.h>
</span><span class="cx"> #endif
</span><span class="cx">
</span><del>-#if OS(DARWIN)
-#include <sys/sysctl.h>
-#include <unistd.h>
-#endif
-
</del><span class="cx"> #if OS(DARWIN) || (OS(LINUX) && !defined(__UCLIBC__))
</span><span class="cx"> #include <cxxabi.h>
</span><span class="cx"> #include <dlfcn.h>
</span><span class="lines">@@ -390,20 +385,6 @@
</span><span class="cx"> #endif
</span><span class="cx"> }
</span><span class="cx">
</span><del>-bool WTFIsDebuggerAttached()
-{
-#if OS(DARWIN)
- struct kinfo_proc info;
- int mib[] = { CTL_KERN, KERN_PROC, KERN_PROC_PID, getpid() };
- size_t size = sizeof(info);
- if (sysctl(mib, sizeof(mib) / sizeof(mib[0]), &info, &size, nullptr, 0) != 0)
- return false;
- return (info.kp_proc.p_flag & P_TRACED) != 0;
-#else
- return false;
-#endif
-}
-
</del><span class="cx"> void WTFReportFatalError(const char* file, int line, const char* function, const char* format, ...)
</span><span class="cx"> {
</span><span class="cx"> va_list args;
</span></span></pre></div>
<a id="trunkSourceWTFwtfAssertionsh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WTF/wtf/Assertions.h (173735 => 173736)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WTF/wtf/Assertions.h        2014-09-18 21:59:22 UTC (rev 173735)
+++ trunk/Source/WTF/wtf/Assertions.h        2014-09-18 22:06:26 UTC (rev 173736)
</span><span class="lines">@@ -38,7 +38,6 @@
</span><span class="cx">
</span><span class="cx"> #include <inttypes.h>
</span><span class="cx"> #include <stdarg.h>
</span><del>-#include <stdbool.h>
</del><span class="cx"> #include <stddef.h>
</span><span class="cx">
</span><span class="cx"> #ifdef NDEBUG
</span><span class="lines">@@ -146,8 +145,6 @@
</span><span class="cx"> WTF_EXPORT_PRIVATE void WTFSetCrashHook(WTFCrashHookFunction);
</span><span class="cx"> WTF_EXPORT_PRIVATE void WTFInstallReportBacktraceOnCrashHook();
</span><span class="cx">
</span><del>-WTF_EXPORT_PRIVATE bool WTFIsDebuggerAttached();
-
</del><span class="cx"> #ifdef __cplusplus
</span><span class="cx"> }
</span><span class="cx"> #endif
</span></span></pre></div>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (173735 => 173736)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2014-09-18 21:59:22 UTC (rev 173735)
+++ trunk/Source/WebCore/ChangeLog        2014-09-18 22:06:26 UTC (rev 173736)
</span><span class="lines">@@ -1,3 +1,18 @@
</span><ins>+2014-09-18 Joseph Pecoraro <pecoraro@apple.com>
+
+ Unreviewed rollout r173731. Broke multiple builds.
+
+ * WebCore.exp.in:
+ * inspector/InspectorController.cpp:
+ (WebCore::InspectorController::connectFrontend):
+ (WebCore::InspectorController::show):
+ * inspector/InspectorController.h:
+ * page/PageDebuggable.cpp:
+ (WebCore::PageDebuggable::connect):
+ * page/PageDebuggable.h:
+ * testing/Internals.cpp:
+ (WebCore::Internals::openDummyInspectorFrontend):
+
</ins><span class="cx"> 2014-09-18 Beth Dakin <bdakin@apple.com>
</span><span class="cx">
</span><span class="cx"> ASSERT in RenderBox::instrinsicScrollbarLogicalWidth opening the inspector
</span></span></pre></div>
<a id="trunkSourceWebCoreWebCoreexpin"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/WebCore.exp.in (173735 => 173736)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/WebCore.exp.in        2014-09-18 21:59:22 UTC (rev 173735)
+++ trunk/Source/WebCore/WebCore.exp.in        2014-09-18 22:06:26 UTC (rev 173736)
</span><span class="lines">@@ -3123,7 +3123,7 @@
</span><span class="cx"> #if ENABLE(INSPECTOR)
</span><span class="cx"> __ZN7WebCore14SchemeRegistry27shouldTreatURLSchemeAsLocalERKN3WTF6StringE
</span><span class="cx"> __ZN7WebCore15InspectorClient31doDispatchMessageOnFrontendPageEPNS_4PageERKN3WTF6StringE
</span><del>-__ZN7WebCore19InspectorController15connectFrontendEPN9Inspector24InspectorFrontendChannelEb
</del><ins>+__ZN7WebCore19InspectorController15connectFrontendEPN9Inspector24InspectorFrontendChannelE
</ins><span class="cx"> __ZN7WebCore19InspectorController18disconnectFrontendEN9Inspector25InspectorDisconnectReasonE
</span><span class="cx"> __ZN7WebCore19InspectorController18setProfilerEnabledEb
</span><span class="cx"> __ZN7WebCore19InspectorController25evaluateForTestInFrontendERKN3WTF6StringE
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorControllercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorController.cpp (173735 => 173736)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorController.cpp        2014-09-18 21:59:22 UTC (rev 173735)
+++ trunk/Source/WebCore/inspector/InspectorController.cpp        2014-09-18 22:06:26 UTC (rev 173736)
</span><span class="lines">@@ -230,7 +230,7 @@
</span><span class="cx"> m_inspectorFrontendClient->windowObjectCleared();
</span><span class="cx"> }
</span><span class="cx">
</span><del>-void InspectorController::connectFrontend(InspectorFrontendChannel* frontendChannel, bool)
</del><ins>+void InspectorController::connectFrontend(InspectorFrontendChannel* frontendChannel)
</ins><span class="cx"> {
</span><span class="cx"> ASSERT(frontendChannel);
</span><span class="cx"> ASSERT(m_inspectorClient);
</span><span class="lines">@@ -285,7 +285,7 @@
</span><span class="cx"> else {
</span><span class="cx"> InspectorFrontendChannel* frontendChannel = m_inspectorClient->openInspectorFrontend(this);
</span><span class="cx"> if (frontendChannel)
</span><del>- connectFrontend(frontendChannel, false);
</del><ins>+ connectFrontend(frontendChannel);
</ins><span class="cx"> }
</span><span class="cx"> }
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorControllerh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorController.h (173735 => 173736)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorController.h        2014-09-18 21:59:22 UTC (rev 173735)
+++ trunk/Source/WebCore/inspector/InspectorController.h        2014-09-18 22:06:26 UTC (rev 173736)
</span><span class="lines">@@ -93,7 +93,7 @@
</span><span class="cx"> bool hasLocalFrontend() const;
</span><span class="cx"> bool hasRemoteFrontend() const;
</span><span class="cx">
</span><del>- WEBCORE_EXPORT void connectFrontend(Inspector::InspectorFrontendChannel*, bool isAutomaticInspection);
</del><ins>+ WEBCORE_EXPORT void connectFrontend(Inspector::InspectorFrontendChannel*);
</ins><span class="cx"> WEBCORE_EXPORT void disconnectFrontend(Inspector::InspectorDisconnectReason);
</span><span class="cx"> void setProcessId(long);
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebCorepagePageDebuggablecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/PageDebuggable.cpp (173735 => 173736)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/PageDebuggable.cpp        2014-09-18 21:59:22 UTC (rev 173735)
+++ trunk/Source/WebCore/page/PageDebuggable.cpp        2014-09-18 22:06:26 UTC (rev 173736)
</span><span class="lines">@@ -68,7 +68,7 @@
</span><span class="cx"> return m_page.inspectorController().hasLocalFrontend();
</span><span class="cx"> }
</span><span class="cx">
</span><del>-void PageDebuggable::connect(Inspector::InspectorFrontendChannel* channel, bool isAutomaticInspection)
</del><ins>+void PageDebuggable::connect(Inspector::InspectorFrontendChannel* channel)
</ins><span class="cx"> {
</span><span class="cx"> if (!m_page.settings().developerExtrasEnabled()) {
</span><span class="cx"> m_forcedDeveloperExtrasEnabled = true;
</span><span class="lines">@@ -78,7 +78,7 @@
</span><span class="cx">
</span><span class="cx"> InspectorController& inspectorController = m_page.inspectorController();
</span><span class="cx"> inspectorController.setHasRemoteFrontend(true);
</span><del>- inspectorController.connectFrontend(reinterpret_cast<WebCore::InspectorFrontendChannel*>(channel), isAutomaticInspection);
</del><ins>+ inspectorController.connectFrontend(reinterpret_cast<WebCore::InspectorFrontendChannel*>(channel));
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void PageDebuggable::disconnect()
</span></span></pre></div>
<a id="trunkSourceWebCorepagePageDebuggableh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/PageDebuggable.h (173735 => 173736)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/PageDebuggable.h        2014-09-18 21:59:22 UTC (rev 173735)
+++ trunk/Source/WebCore/page/PageDebuggable.h        2014-09-18 22:06:26 UTC (rev 173736)
</span><span class="lines">@@ -47,7 +47,7 @@
</span><span class="cx"> virtual String url() const override;
</span><span class="cx"> virtual bool hasLocalDebugger() const override;
</span><span class="cx">
</span><del>- virtual void connect(Inspector::InspectorFrontendChannel*, bool isAutomaticInspection) override;
</del><ins>+ virtual void connect(Inspector::InspectorFrontendChannel*) override;
</ins><span class="cx"> virtual void disconnect() override;
</span><span class="cx"> virtual void dispatchMessageFromRemoteFrontend(const String& message) override;
</span><span class="cx"> virtual void setIndicating(bool) override;
</span></span></pre></div>
<a id="trunkSourceWebCoretestingInternalscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/testing/Internals.cpp (173735 => 173736)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/testing/Internals.cpp        2014-09-18 21:59:22 UTC (rev 173735)
+++ trunk/Source/WebCore/testing/Internals.cpp        2014-09-18 22:06:26 UTC (rev 173736)
</span><span class="lines">@@ -1477,8 +1477,7 @@
</span><span class="cx">
</span><span class="cx"> m_frontendChannel = adoptPtr(new InspectorFrontendChannelDummy(frontendPage));
</span><span class="cx">
</span><del>- bool isAutomaticInspection = false;
- page->inspectorController().connectFrontend(m_frontendChannel.get(), isAutomaticInspection);
</del><ins>+ page->inspectorController().connectFrontend(m_frontendChannel.get());
</ins><span class="cx">
</span><span class="cx"> return m_frontendWindow;
</span><span class="cx"> }
</span></span></pre>
</div>
</div>
</body>
</html>