summaryrefslogtreecommitdiff
path: root/Source/WebCore/page/PageDebuggable.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Source/WebCore/page/PageDebuggable.cpp')
-rw-r--r--Source/WebCore/page/PageDebuggable.cpp44
1 files changed, 27 insertions, 17 deletions
diff --git a/Source/WebCore/page/PageDebuggable.cpp b/Source/WebCore/page/PageDebuggable.cpp
index 067df5a1c..9c99f2279 100644
--- a/Source/WebCore/page/PageDebuggable.cpp
+++ b/Source/WebCore/page/PageDebuggable.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2013 Apple Inc. All rights reserved.
+ * Copyright (C) 2013, 2015 Apple Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -29,11 +29,10 @@
#if ENABLE(REMOTE_INSPECTOR)
#include "Document.h"
-#include "InspectorClient.h"
#include "InspectorController.h"
-#include "InspectorForwarding.h"
#include "MainFrame.h"
#include "Page.h"
+#include "Settings.h"
#include <inspector/InspectorAgentBase.h>
using namespace Inspector;
@@ -42,11 +41,15 @@ namespace WebCore {
PageDebuggable::PageDebuggable(Page& page)
: m_page(page)
+ , m_forcedDeveloperExtrasEnabled(false)
{
}
String PageDebuggable::name() const
{
+ if (!m_nameOverride.isNull())
+ return m_nameOverride;
+
if (!m_page.mainFrame().document())
return String();
@@ -67,29 +70,30 @@ bool PageDebuggable::hasLocalDebugger() const
return m_page.inspectorController().hasLocalFrontend();
}
-pid_t PageDebuggable::parentProcessIdentifier() const
+void PageDebuggable::connect(Inspector::FrontendChannel* channel, bool isAutomaticConnection)
{
- if (InspectorClient* inspectorClient = m_page.inspectorController().inspectorClient())
- return inspectorClient->parentProcessIdentifier();
-
- return 0;
-}
+ if (!m_page.settings().developerExtrasEnabled()) {
+ m_forcedDeveloperExtrasEnabled = true;
+ m_page.settings().setDeveloperExtrasEnabled(true);
+ } else
+ m_forcedDeveloperExtrasEnabled = false;
-void PageDebuggable::connect(Inspector::InspectorFrontendChannel* channel)
-{
InspectorController& inspectorController = m_page.inspectorController();
- inspectorController.setHasRemoteFrontend(true);
- inspectorController.connectFrontend(reinterpret_cast<WebCore::InspectorFrontendChannel*>(channel));
+ inspectorController.connectFrontend(channel, isAutomaticConnection);
}
-void PageDebuggable::disconnect()
+void PageDebuggable::disconnect(Inspector::FrontendChannel* channel)
{
InspectorController& inspectorController = m_page.inspectorController();
- inspectorController.disconnectFrontend(InspectorDisconnectReason::InspectorDestroyed);
- inspectorController.setHasRemoteFrontend(false);
+ inspectorController.disconnectFrontend(channel);
+
+ if (m_forcedDeveloperExtrasEnabled) {
+ m_forcedDeveloperExtrasEnabled = false;
+ m_page.settings().setDeveloperExtrasEnabled(false);
+ }
}
-void PageDebuggable::dispatchMessageFromRemoteFrontend(const String& message)
+void PageDebuggable::dispatchMessageFromRemote(const String& message)
{
m_page.inspectorController().dispatchMessageFromFrontend(message);
}
@@ -99,6 +103,12 @@ void PageDebuggable::setIndicating(bool indicating)
m_page.inspectorController().setIndicating(indicating);
}
+void PageDebuggable::setNameOverride(const String& name)
+{
+ m_nameOverride = name;
+ update();
+}
+
} // namespace WebCore
#endif // ENABLE(REMOTE_INSPECTOR)