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

Side by Side Diff: ppapi/proxy/host_dispatcher.h

Issue 10383262: RefCounted types should not have public destructors, delegate cleanup (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 7 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
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 PPAPI_PROXY_HOST_DISPATCHER_H_ 5 #ifndef PPAPI_PROXY_HOST_DISPATCHER_H_
6 #define PPAPI_PROXY_HOST_DISPATCHER_H_ 6 #define PPAPI_PROXY_HOST_DISPATCHER_H_
7 7
8 #include <map> 8 #include <map>
9 #include <string> 9 #include <string>
10 #include <vector> 10 #include <vector>
(...skipping 14 matching lines...) Expand all
25 25
26 class PPAPI_PROXY_EXPORT HostDispatcher : public Dispatcher { 26 class PPAPI_PROXY_EXPORT HostDispatcher : public Dispatcher {
27 public: 27 public:
28 // This interface receives notifications about sync messages being sent by 28 // This interface receives notifications about sync messages being sent by
29 // the dispatcher to the plugin process. It is used to detect a hung plugin. 29 // the dispatcher to the plugin process. It is used to detect a hung plugin.
30 // 30 //
31 // Note that there can be nested sync messages, so the begin/end status 31 // Note that there can be nested sync messages, so the begin/end status
32 // actually represents a stack of blocking messages. 32 // actually represents a stack of blocking messages.
33 class SyncMessageStatusReceiver : public IPC::ChannelProxy::MessageFilter { 33 class SyncMessageStatusReceiver : public IPC::ChannelProxy::MessageFilter {
34 public: 34 public:
35 virtual ~SyncMessageStatusReceiver() {}
36
37 // Notification that a sync message is about to be sent out. 35 // Notification that a sync message is about to be sent out.
38 virtual void BeginBlockOnSyncMessage() = 0; 36 virtual void BeginBlockOnSyncMessage() = 0;
39 37
40 // Notification that a sync message reply was received and the dispatcher 38 // Notification that a sync message reply was received and the dispatcher
41 // is no longer blocked on a sync message. 39 // is no longer blocked on a sync message.
42 virtual void EndBlockOnSyncMessage() = 0; 40 virtual void EndBlockOnSyncMessage() = 0;
41
42 protected:
43 virtual ~SyncMessageStatusReceiver() {}
43 }; 44 };
44 45
45 // Constructor for the renderer side. This will take a reference to the 46 // Constructor for the renderer side. This will take a reference to the
46 // SyncMessageStatusReceiver. 47 // SyncMessageStatusReceiver.
47 // 48 //
48 // You must call InitHostWithChannel after the constructor. 49 // You must call InitHostWithChannel after the constructor.
49 HostDispatcher(PP_Module module, 50 HostDispatcher(PP_Module module,
50 PP_GetInterface_Func local_get_interface, 51 PP_GetInterface_Func local_get_interface,
51 SyncMessageStatusReceiver* sync_status); 52 SyncMessageStatusReceiver* sync_status);
52 ~HostDispatcher(); 53 ~HostDispatcher();
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after
143 private: 144 private:
144 HostDispatcher* dispatcher_; 145 HostDispatcher* dispatcher_;
145 146
146 DISALLOW_COPY_AND_ASSIGN(ScopedModuleReference); 147 DISALLOW_COPY_AND_ASSIGN(ScopedModuleReference);
147 }; 148 };
148 149
149 } // namespace proxy 150 } // namespace proxy
150 } // namespace ppapi 151 } // namespace ppapi
151 152
152 #endif // PPAPI_PROXY_HOST_DISPATCHER_H_ 153 #endif // PPAPI_PROXY_HOST_DISPATCHER_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698