blob: d4e2cd1ab463bcf96d93af1fa23e5382e7883d57 [file] [log] [blame]
// Copyright (c) 2006-2008 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef WEBKIT_GLUE_INSPECTOR_CLIENT_IMPL_H__
#define WEBKIT_GLUE_INSPECTOR_CLIENT_IMPL_H__
#include "InspectorClient.h"
#include "InspectorController.h"
#include <wtf/OwnPtr.h>
#include "base/ref_counted.h"
class WebNodeHighlight;
class WebViewImpl;
class WebInspectorClient : public WebCore::InspectorClient {
public:
WebInspectorClient(WebViewImpl*);
// InspectorClient
virtual void inspectorDestroyed();
virtual WebCore::Page* createPage();
virtual WebCore::String localizedStringsURL();
virtual WebCore::String hiddenPanels();
virtual void showWindow();
virtual void closeWindow();
virtual bool windowVisible();
virtual void attachWindow();
virtual void detachWindow();
virtual void setAttachedWindowHeight(unsigned height);
virtual void highlight(WebCore::Node*);
virtual void hideHighlight();
virtual void inspectedURLChanged(const WebCore::String& newURL);
virtual void populateSetting(
const WebCore::String& key,
WebCore::InspectorController::Setting&);
virtual void storeSetting(
const WebCore::String& key,
const WebCore::InspectorController::Setting&);
virtual void removeSetting(const WebCore::String& key);
private:
~WebInspectorClient();
void LoadSettings();
void SaveSettings();
// The WebViewImpl of the page being inspected; gets passed to the constructor
scoped_refptr<WebViewImpl> inspected_web_view_;
typedef HashMap<WebCore::String, WebCore::InspectorController::Setting>
SettingsMap;
OwnPtr<SettingsMap> settings_;
// The WebView of the Inspector popup window
WebViewImpl* inspector_web_view_;
};
#endif // WEBKIT_GLUE_INSPECTOR_CLIENT_IMPL_H__