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

Unified Diff: ppapi/proxy/plugin_resource.h

Issue 10544089: Implement the file chooser as a new resource "host" (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 6 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: ppapi/proxy/plugin_resource.h
diff --git a/ppapi/proxy/plugin_resource.h b/ppapi/proxy/plugin_resource.h
new file mode 100644
index 0000000000000000000000000000000000000000..d43179ed2d64818a18b500ef0f629ccd3895fb7c
--- /dev/null
+++ b/ppapi/proxy/plugin_resource.h
@@ -0,0 +1,64 @@
+// Copyright (c) 2012 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_PROXY_PLUGIN_RESOURCE_H_
+#define PPAPI_PROXY_PLUGIN_RESOURCE_H_
+
+#include "base/compiler_specific.h"
+#include "ipc/ipc_sender.h"
+#include "ppapi/proxy/ppapi_proxy_export.h"
+#include "ppapi/shared_impl/resource.h"
+
+namespace IPC {
+class Message;
+}
+
+namespace ppapi {
+namespace proxy {
+
+class PluginDispatcher;
+
+class PPAPI_PROXY_EXPORT PluginResource : public Resource,
+ public IPC::Sender {
+ public:
+ PluginResource(IPC::Sender* sender,
+ PP_Instance instance);
+ virtual ~PluginResource();
+
+ // IPC::Sender implementation.
+ virtual bool Send(IPC::Message* message) OVERRIDE;
+
+ bool sent_create_to_renderer() const { return sent_create_to_renderer_; }
+
+ protected:
+ // Sends a create message to the renderer for the current resource.
+ void SendCreateToRenderer(const IPC::Message& msg);
+
+ // Sends the given IPC message as a resource request to the host
+ // corresponding to this resource object and does not expect a reply.
+ void PostToRenderer(const IPC::Message& msg);
+
+ // Like PostToRenderer but expects a response.
+ //
+ // Returns the new request's sequence number which can be used to identify
+ // the callback. The host will reply and ppapi::Resource::OnReplyReceived
+ // will be called.
+ //
+ // Note that all integers (including 0 and -1) are valid request IDs.
+ int32_t CallRenderer(const IPC::Message& msg);
bbudge 2012/07/02 20:06:06 It seems odd that sequence numbers are signed ints
brettw 2012/07/07 05:28:04 Well, it's going to theoretically wrap anyway (so
+
+ private:
+ IPC::Sender* sender_;
+
+ int next_sequence_number_;
bbudge 2012/07/02 20:06:06 int -> int32_t or uint32_t?
+
+ bool sent_create_to_renderer_;
+
+ DISALLOW_COPY_AND_ASSIGN(PluginResource);
+};
+
+} // namespace proxy
+} // namespace ppapi
+
+#endif // PPAPI_PROXY_PLUGIN_RESOURCE_H_

Powered by Google App Engine
This is Rietveld 408576698