Update To 11.40.268.0
[platform/framework/web/crosswalk.git] / src / third_party / WebKit / Source / web / WebDevToolsFrontendImpl.h
index f6efa04..32c3a0f 100644 (file)
 #ifndef WebDevToolsFrontendImpl_h
 #define WebDevToolsFrontendImpl_h
 
-#include "platform/Timer.h"
+#include "core/inspector/InspectorFrontendClient.h"
+#include "platform/heap/Handle.h"
 #include "public/web/WebDevToolsFrontend.h"
-#include "wtf/Deque.h"
-#include "wtf/Forward.h"
 #include "wtf/Noncopyable.h"
-#include "wtf/Vector.h"
 #include "wtf/text/WTFString.h"
 
 namespace blink {
 
-class WebDevToolsClientDelegate;
+class InspectorFrontendHost;
 class WebViewImpl;
-struct WebDevToolsMessageData;
 
-using WTF::String;
-
-class WebDevToolsFrontendImpl FINAL : public blink::WebDevToolsFrontend {
+class WebDevToolsFrontendImpl final : public WebDevToolsFrontend, public InspectorFrontendClient {
     WTF_MAKE_NONCOPYABLE(WebDevToolsFrontendImpl);
 public:
-    WebDevToolsFrontendImpl(
-        blink::WebViewImpl* webViewImpl,
-        blink::WebDevToolsFrontendClient* client,
-        const String& applicationLocale);
+    WebDevToolsFrontendImpl(WebViewImpl*, WebDevToolsFrontendClient*);
     virtual ~WebDevToolsFrontendImpl();
 
-    // WebDevToolsFrontend implementation.
-    virtual void dispatchOnInspectorFrontend(const WebString& message) OVERRIDE;
+    // InspectorFrontendClient implementation.
+    virtual void windowObjectCleared() override;
 
-private:
-    class InspectorFrontendResumeObserver;
-    void resume();
-    void maybeDispatch(WebCore::Timer<WebDevToolsFrontendImpl>*);
-    void doDispatchOnInspectorFrontend(const WebString& message);
+    virtual void sendMessageToBackend(const WTF::String&) override;
+
+    virtual void sendMessageToEmbedder(const WTF::String&) override;
 
-    blink::WebViewImpl* m_webViewImpl;
-    blink::WebDevToolsFrontendClient* m_client;
-    String m_applicationLocale;
-    OwnPtr<InspectorFrontendResumeObserver> m_inspectorFrontendResumeObserver;
-    Deque<WebString> m_messages;
-    WebCore::Timer<WebDevToolsFrontendImpl> m_inspectorFrontendDispatchTimer;
+    virtual bool isUnderTest() override;
+
+    virtual void dispose() override;
+
+private:
+    WebViewImpl* m_webViewImpl;
+    WebDevToolsFrontendClient* m_client;
+    RefPtrWillBePersistent<InspectorFrontendHost> m_frontendHost;
 };
 
 } // namespace blink