[Android] Added UMA for search by image context menu.
[chromium-blink-merge.git] / chrome / renderer / pepper / pepper_flash_renderer_host.h
blob299b1094a5f7d4eb02420b3675ea0482789a6099
1 // Copyright (c) 2012 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.
5 #ifndef CHROME_RENDERER_PEPPER_PEPPER_FLASH_RENDERER_HOST_H_
6 #define CHROME_RENDERER_PEPPER_PEPPER_FLASH_RENDERER_HOST_H_
8 #include <string>
9 #include <vector>
11 #include "base/basictypes.h"
12 #include "base/memory/weak_ptr.h"
13 #include "ppapi/host/host_message_context.h"
14 #include "ppapi/host/resource_host.h"
16 struct PP_Rect;
18 namespace ppapi {
19 struct URLRequestInfoData;
22 namespace ppapi {
23 namespace proxy {
24 struct PPBFlash_DrawGlyphs_Params;
28 namespace content {
29 class RendererPpapiHost;
32 namespace chrome {
34 class PepperFlashRendererHost : public ppapi::host::ResourceHost {
35 public:
36 PepperFlashRendererHost(content::RendererPpapiHost* host,
37 PP_Instance instance,
38 PP_Resource resource);
39 virtual ~PepperFlashRendererHost();
41 // ppapi::host::ResourceHost override.
42 virtual int32_t OnResourceMessageReceived(
43 const IPC::Message& msg,
44 ppapi::host::HostMessageContext* context) OVERRIDE;
46 private:
47 int32_t OnGetProxyForURL(ppapi::host::HostMessageContext* host_context,
48 const std::string& url);
49 int32_t OnSetInstanceAlwaysOnTop(
50 ppapi::host::HostMessageContext* host_context,
51 bool on_top);
52 int32_t OnDrawGlyphs(ppapi::host::HostMessageContext* host_context,
53 ppapi::proxy::PPBFlash_DrawGlyphs_Params params);
54 int32_t OnNavigate(ppapi::host::HostMessageContext* host_context,
55 const ppapi::URLRequestInfoData& data,
56 const std::string& target,
57 bool from_user_action);
58 int32_t OnIsRectTopmost(ppapi::host::HostMessageContext* host_context,
59 const PP_Rect& rect);
60 int32_t OnInvokePrinting(ppapi::host::HostMessageContext* host_context);
62 base::WeakPtrFactory<PepperFlashRendererHost> weak_factory_;
63 // A stack of ReplyMessageContexts to track Navigate() calls which have not
64 // yet been replied to.
65 std::vector<ppapi::host::ReplyMessageContext> navigate_replies_;
67 content::RendererPpapiHost* host_;
69 DISALLOW_COPY_AND_ASSIGN(PepperFlashRendererHost);
72 } // namespace chrome
74 #endif // CHROME_RENDERER_PEPPER_PEPPER_FLASH_RENDERER_HOST_H_