InspectorFrontendClientImpl.cpp [plain text]
#include "config.h"
#include "InspectorFrontendClientImpl.h"
#include "Document.h"
#include "Frame.h"
#include "InspectorFrontendHost.h"
#include "Page.h"
#include "PlatformString.h"
#include "V8InspectorFrontendHost.h"
#include "V8Proxy.h"
#include "WebDevToolsFrontendClient.h"
#include "WebDevToolsFrontendImpl.h"
#include "platform/WebFloatPoint.h"
#include "platform/WebString.h"
using namespace WebCore;
namespace WebKit {
InspectorFrontendClientImpl::InspectorFrontendClientImpl(Page* frontendPage, WebDevToolsFrontendClient* client, WebDevToolsFrontendImpl* frontend)
: m_frontendPage(frontendPage)
, m_client(client)
, m_frontend(frontend)
{
}
InspectorFrontendClientImpl::~InspectorFrontendClientImpl()
{
if (m_frontendHost)
m_frontendHost->disconnectClient();
m_client = 0;
}
void InspectorFrontendClientImpl::windowObjectCleared()
{
v8::HandleScope handleScope;
v8::Handle<v8::Context> frameContext = V8Proxy::context(m_frontendPage->mainFrame());
v8::Context::Scope contextScope(frameContext);
ASSERT(!m_frontendHost);
m_frontendHost = InspectorFrontendHost::create(this, m_frontendPage);
v8::Handle<v8::Value> frontendHostObj = toV8(m_frontendHost.get());
v8::Handle<v8::Object> global = frameContext->Global();
global->Set(v8::String::New("InspectorFrontendHost"), frontendHostObj);
}
void InspectorFrontendClientImpl::frontendLoaded()
{
}
void InspectorFrontendClientImpl::moveWindowBy(float x, float y)
{
m_client->moveWindowBy(WebFloatPoint(x, y));
}
String InspectorFrontendClientImpl::localizedStringsURL()
{
return "";
}
String InspectorFrontendClientImpl::hiddenPanels()
{
return "";
}
void InspectorFrontendClientImpl::bringToFront()
{
m_client->activateWindow();
}
void InspectorFrontendClientImpl::closeWindow()
{
m_client->closeWindow();
}
void InspectorFrontendClientImpl::requestAttachWindow()
{
m_client->requestDockWindow();
}
void InspectorFrontendClientImpl::requestDetachWindow()
{
m_client->requestUndockWindow();
}
void InspectorFrontendClientImpl::requestSetDockSide(const String& side)
{
m_client->requestSetDockSide(side);
}
void InspectorFrontendClientImpl::changeAttachedWindowHeight(unsigned)
{
}
void InspectorFrontendClientImpl::openInNewTab(const String& url)
{
m_client->openInNewTab(url);
}
bool InspectorFrontendClientImpl::canSave()
{
return true;
}
void InspectorFrontendClientImpl::save(const String& url, const String& content, bool forceSaveAs)
{
m_client->save(url, content, forceSaveAs);
}
void InspectorFrontendClientImpl::append(const String& url, const String& content)
{
m_client->append(url, content);
}
void InspectorFrontendClientImpl::inspectedURLChanged(const String& url)
{
m_frontendPage->mainFrame()->document()->setTitle("Developer Tools - " + url);
}
void InspectorFrontendClientImpl::sendMessageToBackend(const String& message)
{
m_client->sendMessageToBackend(message);
}
}