| Index: ppapi/proxy/ppb_url_loader_proxy.h
|
| ===================================================================
|
| --- ppapi/proxy/ppb_url_loader_proxy.h (revision 0)
|
| +++ ppapi/proxy/ppb_url_loader_proxy.h (revision 0)
|
| @@ -0,0 +1,74 @@
|
| +// Copyright (c) 2010 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 PPAPI_PPB_URL_LOADER_PROXY_H_
|
| +#define PPAPI_PPB_URL_LOADER_PROXY_H_
|
| +
|
| +#include "base/weak_ptr.h"
|
| +#include "ppapi/c/pp_completion_callback.h"
|
| +#include "ppapi/c/pp_instance.h"
|
| +#include "ppapi/c/pp_module.h"
|
| +#include "ppapi/c/pp_resource.h"
|
| +#include "ppapi/c/pp_size.h"
|
| +#include "ppapi/c/pp_var.h"
|
| +#include "ppapi/proxy/interface_proxy.h"
|
| +
|
| +struct PPB_URLLoader_Dev;
|
| +
|
| +namespace pp {
|
| +namespace proxy {
|
| +
|
| +class PPB_URLLoader_Proxy : public InterfaceProxy,
|
| + public base::SupportsWeakPtr<PPB_URLLoader_Proxy> {
|
| + public:
|
| + PPB_URLLoader_Proxy(Dispatcher* dispatcher, const void* target_interface);
|
| + virtual ~PPB_URLLoader_Proxy();
|
| +
|
| + // URLLoader objects are normally allocated by the Create function, but
|
| + // they are also provided to PPP_Instance.OnMsgHandleDocumentLoad. This
|
| + // function allows the proxy for DocumentLoad to create the correct plugin
|
| + // proxied info for the given browser-supplied URLLoader resource ID.
|
| + static void TrackPluginResource(PP_Resource url_loader_resource);
|
| +
|
| + const PPB_URLLoader_Dev* ppb_url_loader_target() const {
|
| + return reinterpret_cast<const PPB_URLLoader_Dev*>(target_interface());
|
| + }
|
| +
|
| + // InterfaceProxy implementation.
|
| + virtual const void* GetSourceInterface() const;
|
| + virtual InterfaceID GetInterfaceId() const;
|
| + virtual void OnMessageReceived(const IPC::Message& msg);
|
| +
|
| + private:
|
| + // Plugin->renderer message handlers.
|
| + void OnMsgCreate(PP_Instance instance,
|
| + PP_Resource* result);
|
| + void OnMsgOpen(PP_Resource loader,
|
| + PP_Resource request_info,
|
| + uint32_t serialized_callback);
|
| + void OnMsgFollowRedirect(PP_Resource loader,
|
| + uint32_t serialized_callback);
|
| + void OnMsgGetResponseInfo(PP_Resource loader,
|
| + PP_Resource* result);
|
| + void OnMsgReadResponseBody(PP_Resource loader,
|
| + int32_t bytes_to_read);
|
| + void OnMsgFinishStreamingToFile(PP_Resource loader,
|
| + uint32_t serialized_callback);
|
| + void OnMsgClose(PP_Resource loader);
|
| +
|
| + // Renderer->plugin message handlers.
|
| + void OnMsgUpdateProgress(PP_Resource resource,
|
| + int64_t bytes_sent,
|
| + int64_t total_bytes_to_be_sent,
|
| + int64_t bytes_received,
|
| + int64_t total_bytes_to_be_received);
|
| + void OnMsgReadResponseBodyAck(PP_Resource pp_resource,
|
| + int32_t result,
|
| + const std::string& data);
|
| +};
|
| +
|
| +} // namespace proxy
|
| +} // namespace pp
|
| +
|
| +#endif // PPAPI_PPB_URL_LOADER_PROXY_H_
|
|
|
| Property changes on: ppapi/proxy/ppb_url_loader_proxy.h
|
| ___________________________________________________________________
|
| Added: svn:eol-style
|
| + LF
|
|
|
|
|