OLD | NEW |
---|---|
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 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 | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef WEBKIT_PLUGINS_PPAPI_PPAPI_PLUGIN_INSTANCE_H_ | 5 #ifndef WEBKIT_PLUGINS_PPAPI_PPAPI_PLUGIN_INSTANCE_H_ |
6 #define WEBKIT_PLUGINS_PPAPI_PPAPI_PLUGIN_INSTANCE_H_ | 6 #define WEBKIT_PLUGINS_PPAPI_PPAPI_PLUGIN_INSTANCE_H_ |
7 | 7 |
8 #include <set> | 8 #include <set> |
9 #include <string> | 9 #include <string> |
10 #include <vector> | 10 #include <vector> |
11 | 11 |
12 #include "base/basictypes.h" | 12 #include "base/basictypes.h" |
13 #include "base/callback.h" | 13 #include "base/callback.h" |
14 #include "base/compiler_specific.h" | 14 #include "base/compiler_specific.h" |
15 #include "base/memory/ref_counted.h" | 15 #include "base/memory/ref_counted.h" |
16 #include "base/memory/scoped_ptr.h" | 16 #include "base/memory/scoped_ptr.h" |
17 #include "base/memory/weak_ptr.h" | 17 #include "base/memory/weak_ptr.h" |
18 #include "base/string16.h" | 18 #include "base/string16.h" |
19 #include "media/base/decryptor.h" | |
ddorwin
2012/08/22 01:26:26
After 20
xhwang
2012/08/24 00:51:51
Done.
| |
19 #include "googleurl/src/gurl.h" | 20 #include "googleurl/src/gurl.h" |
20 #include "ppapi/c/dev/pp_cursor_type_dev.h" | 21 #include "ppapi/c/dev/pp_cursor_type_dev.h" |
21 #include "ppapi/c/dev/ppp_printing_dev.h" | 22 #include "ppapi/c/dev/ppp_printing_dev.h" |
22 #include "ppapi/c/dev/ppp_find_dev.h" | 23 #include "ppapi/c/dev/ppp_find_dev.h" |
23 #include "ppapi/c/dev/ppp_selection_dev.h" | 24 #include "ppapi/c/dev/ppp_selection_dev.h" |
24 #include "ppapi/c/dev/ppp_text_input_dev.h" | 25 #include "ppapi/c/dev/ppp_text_input_dev.h" |
25 #include "ppapi/c/dev/ppp_zoom_dev.h" | 26 #include "ppapi/c/dev/ppp_zoom_dev.h" |
26 #include "ppapi/c/pp_completion_callback.h" | 27 #include "ppapi/c/pp_completion_callback.h" |
27 #include "ppapi/c/pp_instance.h" | 28 #include "ppapi/c/pp_instance.h" |
28 #include "ppapi/c/pp_resource.h" | 29 #include "ppapi/c/pp_resource.h" |
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
61 | 62 |
62 namespace WebKit { | 63 namespace WebKit { |
63 class WebInputEvent; | 64 class WebInputEvent; |
64 class WebMouseEvent; | 65 class WebMouseEvent; |
65 class WebPluginContainer; | 66 class WebPluginContainer; |
66 struct WebCompositionUnderline; | 67 struct WebCompositionUnderline; |
67 struct WebCursorInfo; | 68 struct WebCursorInfo; |
68 struct WebPrintParams; | 69 struct WebPrintParams; |
69 } | 70 } |
70 | 71 |
72 namespace media { | |
73 class DecoderBuffer; | |
74 class DecryptorClient; | |
75 } | |
76 | |
71 namespace ppapi { | 77 namespace ppapi { |
72 struct InputEventData; | 78 struct InputEventData; |
73 struct PPP_Instance_Combined; | 79 struct PPP_Instance_Combined; |
74 class Resource; | 80 class Resource; |
75 } | 81 } |
76 | 82 |
77 namespace ui { | 83 namespace ui { |
78 class Range; | 84 class Range; |
79 } | 85 } |
80 | 86 |
(...skipping 154 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
235 bool PrintPage(int page_number, WebKit::WebCanvas* canvas); | 241 bool PrintPage(int page_number, WebKit::WebCanvas* canvas); |
236 void PrintEnd(); | 242 void PrintEnd(); |
237 | 243 |
238 bool CanRotateView(); | 244 bool CanRotateView(); |
239 void RotateView(WebKit::WebPlugin::RotationType type); | 245 void RotateView(WebKit::WebPlugin::RotationType type); |
240 | 246 |
241 void Graphics3DContextLost(); | 247 void Graphics3DContextLost(); |
242 | 248 |
243 // Provides access to PPP_ContentDecryptor_Private. | 249 // Provides access to PPP_ContentDecryptor_Private. |
244 // TODO(tomfinegan): Move decryptor methods to delegate class. | 250 // TODO(tomfinegan): Move decryptor methods to delegate class. |
245 typedef base::Callback<void(void*, int)> DecryptedDataCB; | 251 void SetDecryptClient(media::DecryptorClient* client); |
246 bool GenerateKeyRequest(const std::string& key_system, | 252 bool GenerateKeyRequest(const std::string& key_system, |
247 const std::string& init_data); | 253 const std::string& init_data); |
248 bool AddKey(const std::string& session_id, | 254 bool AddKey(const std::string& session_id, |
249 const std::string& key, | 255 const std::string& key, |
250 const std::string& init_data); | 256 const std::string& init_data); |
251 bool CancelKeyRequest(const std::string& session_id); | 257 bool CancelKeyRequest(const std::string& session_id); |
252 bool Decrypt(const base::StringPiece& encypted_block, | 258 bool Decrypt(const scoped_refptr<media::DecoderBuffer>& encrypted_buffer, |
253 const DecryptedDataCB& callback); | 259 const media::Decryptor::DecryptCB& decrypt_cb); |
254 bool DecryptAndDecode(const base::StringPiece& encypted_block, | 260 // TODO(xhwang): Update this when we need to support decrypt and decode. |
255 const DecryptedDataCB& callback); | 261 bool DecryptAndDecode( |
262 const scoped_refptr<media::DecoderBuffer>& encrypted_buffer, | |
263 const media::Decryptor::DecryptCB& decrypt_cb); | |
256 | 264 |
257 // There are 2 implementations of the fullscreen interface | 265 // There are 2 implementations of the fullscreen interface |
258 // PPB_FlashFullscreen is used by Pepper Flash. | 266 // PPB_FlashFullscreen is used by Pepper Flash. |
259 // PPB_Fullscreen is intended for other applications including NaCl. | 267 // PPB_Fullscreen is intended for other applications including NaCl. |
260 // The two interface are mutually exclusive. | 268 // The two interface are mutually exclusive. |
261 | 269 |
262 // Implementation of PPB_FlashFullscreen. | 270 // Implementation of PPB_FlashFullscreen. |
263 | 271 |
264 // Because going to fullscreen is asynchronous (but going out is not), there | 272 // Because going to fullscreen is asynchronous (but going out is not), there |
265 // are 3 states: | 273 // are 3 states: |
(...skipping 455 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
721 | 729 |
722 // We store the arguments so we can re-send them if we are reset to talk to | 730 // We store the arguments so we can re-send them if we are reset to talk to |
723 // NaCl via the IPC NaCl proxy. | 731 // NaCl via the IPC NaCl proxy. |
724 std::vector<std::string> argn_; | 732 std::vector<std::string> argn_; |
725 std::vector<std::string> argv_; | 733 std::vector<std::string> argv_; |
726 | 734 |
727 // This is NULL unless HandleDocumentLoad has called. In that case, we store | 735 // This is NULL unless HandleDocumentLoad has called. In that case, we store |
728 // the pointer so we can re-send it later if we are reset to talk to NaCl. | 736 // the pointer so we can re-send it later if we are reset to talk to NaCl. |
729 scoped_refptr<PPB_URLLoader_Impl> document_loader_; | 737 scoped_refptr<PPB_URLLoader_Impl> document_loader_; |
730 | 738 |
739 media::DecryptorClient* decryptor_client_; | |
740 uint64_t next_decryption_request_id_; | |
ddorwin
2012/08/22 04:09:21
Does this need to be unsigned? Does it really need
xhwang
2012/08/24 00:51:51
Done.
| |
741 typedef std::map<uint64, media::Decryptor::DecryptCB> DecryptionCBMap; | |
742 DecryptionCBMap pending_decryption_cbs_; | |
743 | |
731 DISALLOW_COPY_AND_ASSIGN(PluginInstance); | 744 DISALLOW_COPY_AND_ASSIGN(PluginInstance); |
732 }; | 745 }; |
733 | 746 |
734 } // namespace ppapi | 747 } // namespace ppapi |
735 } // namespace webkit | 748 } // namespace webkit |
736 | 749 |
737 #endif // WEBKIT_PLUGINS_PPAPI_PPAPI_PLUGIN_INSTANCE_H_ | 750 #endif // WEBKIT_PLUGINS_PPAPI_PPAPI_PLUGIN_INSTANCE_H_ |
OLD | NEW |