diff options
author | Lorry Tar Creator <lorry-tar-importer@lorry> | 2017-06-27 06:07:23 +0000 |
---|---|---|
committer | Lorry Tar Creator <lorry-tar-importer@lorry> | 2017-06-27 06:07:23 +0000 |
commit | 1bf1084f2b10c3b47fd1a588d85d21ed0eb41d0c (patch) | |
tree | 46dcd36c86e7fbc6e5df36deb463b33e9967a6f7 /Source/WebCore/page/PageDebuggable.cpp | |
parent | 32761a6cee1d0dee366b885b7b9c777e67885688 (diff) | |
download | WebKitGtk-tarball-master.tar.gz |
webkitgtk-2.16.5HEADwebkitgtk-2.16.5master
Diffstat (limited to 'Source/WebCore/page/PageDebuggable.cpp')
-rw-r--r-- | Source/WebCore/page/PageDebuggable.cpp | 44 |
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) |