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

Side by Side Diff: components/message_port/web_message_port_channel_impl.h

Issue 1182303012: Componentize html_viewer's MessagePort (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: header-only target types: static_library -> none Created 5 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 unified diff | Download patch
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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 COMPONENTS_HTML_VIEWER_WEB_MESSAGE_PORT_CHANNEL_IMPL_H_ 5 #ifndef COMPONENTS_MESSAGE_PORT_WEB_MESSAGE_PORT_CHANNEL_IMPL_H_
6 #define COMPONENTS_HTML_VIEWER_WEB_MESSAGE_PORT_CHANNEL_IMPL_H_ 6 #define COMPONENTS_MESSAGE_PORT_WEB_MESSAGE_PORT_CHANNEL_IMPL_H_
7 7
8 #include "base/basictypes.h" 8 #include "base/basictypes.h"
9 #include "mojo/common/handle_watcher.h" 9 #include "mojo/common/handle_watcher.h"
10 #include "third_party/WebKit/public/platform/WebMessagePortChannel.h" 10 #include "third_party/WebKit/public/platform/WebMessagePortChannel.h"
11 #include "third_party/mojo/src/mojo/public/cpp/system/message_pipe.h" 11 #include "third_party/mojo/src/mojo/public/cpp/system/message_pipe.h"
12 12
13 namespace html_viewer { 13 namespace message_port {
14 14
15 class WebMessagePortChannelImpl : public blink::WebMessagePortChannel { 15 class WebMessagePortChannelImpl : public blink::WebMessagePortChannel {
16 public: 16 public:
17 static void CreatePair( 17 static void CreatePair(
18 blink::WebMessagePortChannel** channel1, 18 blink::WebMessagePortChannel** channel1,
19 blink::WebMessagePortChannel** channel2); 19 blink::WebMessagePortChannel** channel2);
20 20
21 private: 21 private:
22 explicit WebMessagePortChannelImpl(mojo::ScopedMessagePipeHandle pipe); 22 explicit WebMessagePortChannelImpl(mojo::ScopedMessagePipeHandle pipe);
23 virtual ~WebMessagePortChannelImpl(); 23 virtual ~WebMessagePortChannelImpl();
24 24
25 // blink::WebMessagePortChannel implementation. 25 // blink::WebMessagePortChannel implementation.
26 virtual void setClient(blink::WebMessagePortChannelClient* client); 26 virtual void setClient(blink::WebMessagePortChannelClient* client);
27 virtual void destroy(); 27 virtual void destroy();
28 virtual void postMessage(const blink::WebString& message, 28 virtual void postMessage(const blink::WebString& message,
29 blink::WebMessagePortChannelArray* channels); 29 blink::WebMessagePortChannelArray* channels);
30 virtual bool tryGetMessage(blink::WebString* message, 30 virtual bool tryGetMessage(blink::WebString* message,
31 blink::WebMessagePortChannelArray& channels); 31 blink::WebMessagePortChannelArray& channels);
32 32
33 void WaitForNextMessage(); 33 void WaitForNextMessage();
34 void OnMessageAvailable(MojoResult result); 34 void OnMessageAvailable(MojoResult result);
35 35
36 blink::WebMessagePortChannelClient* client_; 36 blink::WebMessagePortChannelClient* client_;
37 mojo::ScopedMessagePipeHandle pipe_; 37 mojo::ScopedMessagePipeHandle pipe_;
38 mojo::common::HandleWatcher handle_watcher_; 38 mojo::common::HandleWatcher handle_watcher_;
39 39
40 DISALLOW_COPY_AND_ASSIGN(WebMessagePortChannelImpl); 40 DISALLOW_COPY_AND_ASSIGN(WebMessagePortChannelImpl);
41 }; 41 };
42 42
43 } // namespace html_viewer 43 } // namespace message_port
44 44
45 #endif // COMPONENTS_HTML_VIEWER_WEB_MESSAGE_PORT_CHANNEL_IMPL_H_ 45 #endif // COMPONENTS_MESSAGE_PORT_WEB_MESSAGE_PORT_CHANNEL_IMPL_H_
OLDNEW
« no previous file with comments | « components/message_port/OWNERS ('k') | components/message_port/web_message_port_channel_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698