2009-05-19 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Timothy Hatcher.
Split InspectorController into InspectorController and InspectorFrontend. Latter encapsulates all frontend interaction and is the only entity allowed to make ScriptFunctionCalls. The further plan is to serialize these script function calls.
https://bugs.webkit.org/show_bug.cgi?id=25419
* GNUmakefile.am:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* WebCoreSources.bkl:
* inspector/ConsoleMessage.cpp:
(WebCore::ConsoleMessage::addToConsole):
* inspector/ConsoleMessage.h:
* inspector/InspectorController.cpp:
(WebCore::InspectorController::~InspectorController):
(WebCore::InspectorController::inspect):
(WebCore::InspectorController::focusNode):
(WebCore::InspectorController::setWindowVisible):
(WebCore::InspectorController::addConsoleMessage):
(WebCore::InspectorController::setAttachedWindow):
(WebCore::InspectorController::inspectedWindowScriptObjectCleared):
(WebCore::InspectorController::scriptObjectReady):
(WebCore::InspectorController::showPanel):
(WebCore::InspectorController::close):
(WebCore::InspectorController::populateScriptObjects):
(WebCore::InspectorController::resetScriptObjects):
(WebCore::InspectorController::pruneResources):
(WebCore::InspectorController::didCommitLoad):
(WebCore::InspectorController::didLoadResourceFromMemoryCache):
(WebCore::InspectorController::identifierForInitialRequest):
(WebCore::InspectorController::willSendRequest):
(WebCore::InspectorController::didReceiveResponse):
(WebCore::InspectorController::didReceiveContentLength):
(WebCore::InspectorController::didFinishLoading):
(WebCore::InspectorController::didFailLoading):
(WebCore::InspectorController::resourceRetrievedByXMLHttpRequest):
(WebCore::InspectorController::scriptImported):
(WebCore::InspectorController::didOpenDatabase):
(WebCore::InspectorController::didUseDOMStorage):
(WebCore::InspectorController::addScriptProfile):
(WebCore::InspectorController::toggleRecordButton):
(WebCore::InspectorController::enableProfiler):
(WebCore::InspectorController::disableProfiler):
(WebCore::InspectorController::enableDebugger):
(WebCore::InspectorController::disableDebugger):
(WebCore::InspectorController::didParseSource):
(WebCore::InspectorController::failedToParseSource):
(WebCore::InspectorController::didPause):
(WebCore::InspectorController::didContinue):
* inspector/InspectorController.h:
* inspector/InspectorDOMStorageResource.cpp:
(WebCore::InspectorDOMStorageResource::bind):
* inspector/InspectorDOMStorageResource.h:
* inspector/InspectorDatabaseResource.cpp:
(WebCore::InspectorDatabaseResource::bind):
* inspector/InspectorDatabaseResource.h:
* inspector/InspectorFrontend.cpp: Added.
(WebCore::callSimpleFunction):
(WebCore::InspectorFrontend::InspectorFrontend):
(WebCore::InspectorFrontend::~InspectorFrontend):
(WebCore::InspectorFrontend::newJSONObject):
(WebCore::InspectorFrontend::addMessageToConsole):
(WebCore::InspectorFrontend::addResource):
(WebCore::InspectorFrontend::updateResource):
(WebCore::InspectorFrontend::removeResource):
(WebCore::InspectorFrontend::updateFocusedNode):
(WebCore::InspectorFrontend::setAttachedWindow):
(WebCore::InspectorFrontend::inspectedWindowScriptObjectCleared):
(WebCore::InspectorFrontend::showPanel):
(WebCore::InspectorFrontend::populateInterface):
(WebCore::InspectorFrontend::reset):
(WebCore::InspectorFrontend::debuggerWasEnabled):
(WebCore::InspectorFrontend::debuggerWasDisabled):
(WebCore::InspectorFrontend::profilerWasEnabled):
(WebCore::InspectorFrontend::profilerWasDisabled):
(WebCore::InspectorFrontend::parsedScriptSource):
(WebCore::InspectorFrontend::failedToParseScriptSource):
(WebCore::InspectorFrontend::addProfile):
(WebCore::InspectorFrontend::setRecordingProfile):
(WebCore::InspectorFrontend::pausedScript):
(WebCore::InspectorFrontend::resumedScript):
(WebCore::InspectorFrontend::addDatabase):
(WebCore::InspectorFrontend::addDOMStorage):
* inspector/InspectorFrontend.h: Added.
* inspector/InspectorResource.cpp:
(WebCore::InspectorResource::createScriptObject):
(WebCore::InspectorResource::updateScriptObject):
(WebCore::InspectorResource::releaseScriptObject):
* inspector/InspectorResource.h:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@43864 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/WebCore/inspector/InspectorDatabaseResource.cpp b/WebCore/inspector/InspectorDatabaseResource.cpp
index 2628089..b61344c 100644
--- a/WebCore/inspector/InspectorDatabaseResource.cpp
+++ b/WebCore/inspector/InspectorDatabaseResource.cpp
@@ -35,10 +35,10 @@
#include "Database.h"
#include "Document.h"
#include "Frame.h"
+#include "InspectorFrontend.h"
#include "JSONObject.h"
-#include "ScriptFunctionCall.h"
#include "ScriptObjectQuarantine.h"
-#include "ScriptValue.h"
+
namespace WebCore {
@@ -51,17 +51,12 @@
{
}
-void InspectorDatabaseResource::bind(ScriptState* scriptState, const ScriptObject& webInspector)
+void InspectorDatabaseResource::bind(InspectorFrontend* frontend)
{
if (m_scriptObjectCreated)
return;
- ASSERT(scriptState);
- ASSERT(!webInspector.hasNoValue());
- if (!scriptState || webInspector.hasNoValue())
- return;
-
- JSONObject jsonObject = JSONObject::createNew(scriptState);
+ JSONObject jsonObject = frontend->newJSONObject();
ScriptObject database;
if (!getQuarantinedScriptObject(m_database.get(), database))
return;
@@ -69,11 +64,8 @@
jsonObject.set("domain", m_domain);
jsonObject.set("name", m_name);
jsonObject.set("version", m_version);
-
- ScriptFunctionCall addDatabase(scriptState, webInspector, "addDatabase");
- addDatabase.appendArgument(jsonObject.scriptObject());
- addDatabase.call();
- m_scriptObjectCreated = true;
+ if (frontend->addDatabase(jsonObject))
+ m_scriptObjectCreated = true;
}
void InspectorDatabaseResource::unbind()