summaryrefslogtreecommitdiffstats
path: root/WebKit/chromium/src/WebDevToolsAgentImpl.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'WebKit/chromium/src/WebDevToolsAgentImpl.cpp')
-rw-r--r--WebKit/chromium/src/WebDevToolsAgentImpl.cpp61
1 files changed, 23 insertions, 38 deletions
diff --git a/WebKit/chromium/src/WebDevToolsAgentImpl.cpp b/WebKit/chromium/src/WebDevToolsAgentImpl.cpp
index 971c290..c7bb050 100644
--- a/WebKit/chromium/src/WebDevToolsAgentImpl.cpp
+++ b/WebKit/chromium/src/WebDevToolsAgentImpl.cpp
@@ -36,7 +36,6 @@
#include "InjectedScriptHost.h"
#include "InspectorBackendDispatcher.h"
#include "InspectorController.h"
-#include "InspectorValues.h"
#include "Page.h"
#include "PageGroup.h"
#include "PlatformString.h"
@@ -58,6 +57,7 @@
#include "WebURLResponse.h"
#include "WebViewClient.h"
#include "WebViewImpl.h"
+#include <wtf/CurrentTime.h>
#include <wtf/Noncopyable.h>
#include <wtf/OwnPtr.h>
@@ -67,8 +67,6 @@ using WebCore::InjectedScriptHost;
using WebCore::InspectorArray;
using WebCore::InspectorBackendDispatcher;
using WebCore::InspectorController;
-using WebCore::InspectorObject;
-using WebCore::InspectorValue;
using WebCore::Node;
using WebCore::Page;
using WebCore::ResourceError;
@@ -82,10 +80,9 @@ namespace WebKit {
namespace {
-static const char kFrontendConnectedFeatureName[] = "frontend-connected";
-static const char kResourceTrackingFeatureName[] = "resource-tracking";
-static const char kTimelineFeatureName[] = "timeline-profiler";
static const char kApuAgentFeatureName[] = "apu-agent";
+static const char kFrontendConnectedFeatureName[] = "frontend-connected";
+static const char kInspectorStateFeatureName[] = "inspector-state";
class ClientMessageLoopAdapter : public WebCore::ScriptDebugServer::ClientMessageLoop {
public:
@@ -223,9 +220,7 @@ void WebDevToolsAgentImpl::detach()
void WebDevToolsAgentImpl::frontendLoaded()
{
- inspectorController()->connectFrontend();
- // We know that by this time injected script has already been pushed to the backend.
- m_client->runtimePropertyChanged(kFrontendConnectedFeatureName, inspectorController()->injectedScriptHost()->injectedScriptSource());
+ connectFrontend(false);
}
void WebDevToolsAgentImpl::didNavigate()
@@ -253,17 +248,12 @@ void WebDevToolsAgentImpl::setRuntimeProperty(const WebString& name, const WebSt
{
if (name == kApuAgentFeatureName)
setApuAgentEnabled(value == "true");
- else if (name == kTimelineFeatureName)
- setTimelineProfilingEnabled(value == "true");
- else if (name == kResourceTrackingFeatureName) {
+ else if (name == kInspectorStateFeatureName) {
InspectorController* ic = inspectorController();
- if (value == "true")
- ic->enableResourceTracking(false /* not sticky */, false /* no reload */);
- else
- ic->disableResourceTracking(false /* not sticky */);
+ ic->restoreInspectorStateFromCookie(value);
} else if (name == kFrontendConnectedFeatureName && !inspectorController()->hasFrontend()) {
inspectorController()->injectedScriptHost()->setInjectedScriptSource(value);
- frontendLoaded();
+ connectFrontend(true);
}
}
@@ -273,19 +263,19 @@ void WebDevToolsAgentImpl::setApuAgentEnabled(bool enabled)
InspectorController* ic = inspectorController();
if (enabled) {
if (!ic->hasFrontend())
- frontendLoaded();
+ connectFrontend(true);
m_resourceTrackingWasEnabled = ic->resourceTrackingEnabled();
ic->startTimelineProfiler();
if (!m_resourceTrackingWasEnabled) {
// TODO(knorton): Introduce some kind of agents dependency here so that
// user could turn off resource tracking while apu agent is on.
- ic->enableResourceTracking(false, false);
+ ic->setResourceTrackingEnabled(true);
}
m_debuggerAgentImpl->setAutoContinueOnException(true);
} else {
ic->stopTimelineProfiler();
if (!m_resourceTrackingWasEnabled)
- ic->disableResourceTracking(false);
+ ic->setResourceTrackingEnabled(false);
m_resourceTrackingWasEnabled = false;
}
m_client->runtimePropertyChanged(
@@ -293,6 +283,16 @@ void WebDevToolsAgentImpl::setApuAgentEnabled(bool enabled)
enabled ? String("true") : String("false"));
}
+void WebDevToolsAgentImpl::connectFrontend(bool afterNavigation)
+{
+ if (afterNavigation)
+ inspectorController()->reuseFrontend();
+ else
+ inspectorController()->connectFrontend();
+ // We know that by this time injected script has already been pushed to the backend.
+ m_client->runtimePropertyChanged(kFrontendConnectedFeatureName, inspectorController()->injectedScriptHost()->injectedScriptSource());
+}
+
WebCore::InspectorController* WebDevToolsAgentImpl::inspectorController()
{
if (Page* page = m_webViewImpl->page())
@@ -336,7 +336,7 @@ void WebDevToolsAgentImpl::didReceiveResponse(unsigned long resourceId, const We
void WebDevToolsAgentImpl::didFinishLoading(unsigned long resourceId)
{
if (InspectorController* ic = inspectorController())
- ic->didFinishLoading(resourceId);
+ ic->didFinishLoading(resourceId, 0);
}
void WebDevToolsAgentImpl::didFailLoading(unsigned long resourceId, const WebURLError& error)
@@ -402,24 +402,9 @@ bool WebDevToolsAgentImpl::sendMessageToFrontend(const WTF::String& message)
return true;
}
-void WebDevToolsAgentImpl::resourceTrackingWasEnabled()
-{
- m_client->runtimePropertyChanged(kResourceTrackingFeatureName, "true");
-}
-
-void WebDevToolsAgentImpl::resourceTrackingWasDisabled()
-{
- m_client->runtimePropertyChanged(kResourceTrackingFeatureName, "false");
-}
-
-void WebDevToolsAgentImpl::timelineProfilerWasStarted()
-{
- m_client->runtimePropertyChanged(kTimelineFeatureName, "true");
-}
-
-void WebDevToolsAgentImpl::timelineProfilerWasStopped()
+void WebDevToolsAgentImpl::updateInspectorStateCookie(const WTF::String& state)
{
- m_client->runtimePropertyChanged(kTimelineFeatureName, "false");
+ m_client->runtimePropertyChanged(kInspectorStateFeatureName, state);
}
void WebDevToolsAgentImpl::evaluateInWebInspector(long callId, const WebString& script)