Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2136)

Unified Diff: android_webview/browser/renderer_host/view_renderer_host.h

Issue 12041009: [Android WebView] Migrate the rendering code to a separate set of classes. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: upload error, re-uploading. Created 7 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: android_webview/browser/renderer_host/view_renderer_host.h
diff --git a/android_webview/browser/renderer_host/view_renderer_host.h b/android_webview/browser/renderer_host/view_renderer_host.h
new file mode 100644
index 0000000000000000000000000000000000000000..aaaad5db631aae17d900070c296d9ea6a16faa0d
--- /dev/null
+++ b/android_webview/browser/renderer_host/view_renderer_host.h
@@ -0,0 +1,52 @@
+// Copyright (c) 2013 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 ANDROID_WEBVIEW_BROWSER_RENDER_HOST_VIEW_RENDERER_HOST_H_
+#define ANDROID_WEBVIEW_BROWSER_RENDER_HOST_VIEW_RENDERER_HOST_H_
+
+#include "base/threading/non_thread_safe.h"
+#include "content/public/browser/web_contents_observer.h"
+
+namespace android_webview {
+
+// Provides RenderViewHost wrapper functionality for sending WebView-specific
+// IPC messages to the renderer and from there to WebKit.
+class ViewRendererHost : public content::WebContentsObserver,
+ public base::NonThreadSafe {
+ public:
+ class Client {
+ public:
+ virtual void OnPictureUpdated(int process_id, int render_view_id) = 0;
+
+ protected:
+ virtual ~Client() {}
+ };
+
+ ViewRendererHost(content::WebContents* contents, Client* client);
+ virtual ~ViewRendererHost();
+
+ // Captures the latest available picture pile synchronously.
+ void CapturePictureSync();
+
+ // Enables updating picture piles on every new frame.
+ // OnPictureUpdated is called when a new picture is available,
+ // stored by renderer id in RendererPictureMap.
+ void EnableCapturePictureCallback(bool enabled);
+
+ using content::WebContentsObserver::Observe;
+
+ private:
+ // content::WebContentsObserver implementation.
+ virtual void RenderViewGone(base::TerminationStatus status) OVERRIDE;
+ virtual bool OnMessageReceived(const IPC::Message& message) OVERRIDE;
+
+ void OnPictureUpdated();
+ bool IsRenderViewReady() const;
+
+ Client* client_;
+};
+
+} // namespace android_webview
+
+#endif // ANDROID_WEBVIEW_BROWSER_RENDER_HOST_VIEW_RENDERER_HOST_H_

Powered by Google App Engine
This is Rietveld 408576698