OLD | NEW |
---|---|
(Empty) | |
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | |
2 // Use of this source code is governed by a BSD-style license that can be | |
3 // found in the LICENSE file. | |
4 | |
5 #include "android_webview/renderer/view_renderer.h" | |
6 | |
7 #include "android_webview/common/render_view_messages.h" | |
8 #include "android_webview/common/renderer_picture_map.h" | |
9 #include "content/public/renderer/render_view.h" | |
10 #include "skia/ext/refptr.h" | |
11 | |
12 namespace android_webview { | |
13 | |
14 // static | |
15 void ViewRenderer::RenderViewCreated(content::RenderView* render_view) { | |
16 new ViewRenderer(render_view); // |render_view| takes ownership. | |
17 } | |
18 | |
19 ViewRenderer::ViewRenderer(content::RenderView* render_view) | |
20 : content::RenderViewObserver(render_view), | |
21 // TODO(leandrogracia): default to false when SW mode uses Ubercompositor. | |
22 // Until then we need picture updates enabled for SW mode invalidation. | |
23 // http://crbug.com/170086. | |
24 capture_picture_enabled_(true) { | |
joth
2013/02/06 20:26:31
unindent
Leandro Graciá Gil
2013/02/07 12:43:56
That's still part of the constructor initializatio
| |
25 } | |
26 | |
27 ViewRenderer::~ViewRenderer() { | |
28 RendererPictureMap::GetInstance()->ClearRendererPicture(routing_id()); | |
29 } | |
30 | |
31 bool ViewRenderer::OnMessageReceived(const IPC::Message& message) { | |
32 bool handled = true; | |
33 IPC_BEGIN_MESSAGE_MAP(ViewRenderer, message) | |
34 IPC_MESSAGE_HANDLER(AwViewMsg_EnableCapturePictureCallback, | |
35 OnEnableCapturePictureCallback) | |
36 IPC_MESSAGE_HANDLER(AwViewMsg_CapturePictureSync, | |
37 OnCapturePictureSync) | |
38 IPC_MESSAGE_UNHANDLED(handled = false) | |
39 IPC_END_MESSAGE_MAP() | |
40 return handled; | |
41 } | |
42 | |
43 void ViewRenderer::DidCommitCompositorFrame() { | |
44 if (!capture_picture_enabled_) | |
45 return; | |
46 | |
47 //skia::RefPtr<SkPicture> picture = render_view()->CapturePicture(); | |
48 //RendererPictureMap::GetInstance()->SetRendererPicture(routing_id(), picture) ; | |
joth
2013/02/06 20:26:31
comment? or remove.
Leandro Graciá Gil
2013/02/07 12:43:56
This is the part of the patch depending on https:/
| |
49 Send(new AwViewHostMsg_PictureUpdated(routing_id())); | |
50 } | |
51 | |
52 void ViewRenderer::OnEnableCapturePictureCallback(bool enable) { | |
53 capture_picture_enabled_ = enable; | |
54 } | |
55 | |
56 void ViewRenderer::OnCapturePictureSync() { | |
57 /*RendererPictureMap::GetInstance()->SetRendererPicture( | |
58 routing_id(), render_view()->CapturePicture());*/ | |
joth
2013/02/06 20:26:31
ditto
Leandro Graciá Gil
2013/02/07 12:43:56
Same as above.
| |
59 } | |
60 | |
61 } // namespace android_webview | |
OLD | NEW |