OLD | NEW |
1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 CHROME_FRAME_COM_MESSAGE_EVENT_H_ | 5 #ifndef CHROME_FRAME_COM_MESSAGE_EVENT_H_ |
6 #define CHROME_FRAME_COM_MESSAGE_EVENT_H_ | 6 #define CHROME_FRAME_COM_MESSAGE_EVENT_H_ |
7 | 7 |
8 #include <atlbase.h> | 8 #include <atlbase.h> |
9 #include <atlcom.h> | 9 #include <atlcom.h> |
10 #include <mshtml.h> // IHTMLEventObj | 10 #include <mshtml.h> // IHTMLEventObj |
| 11 |
11 #include "base/basictypes.h" | 12 #include "base/basictypes.h" |
12 #include "base/scoped_comptr_win.h" | 13 #include "base/win/scoped_comptr.h" |
13 | 14 |
14 // Implements a MessageEvent compliant event object by providing MessageEvent | 15 // Implements a MessageEvent compliant event object by providing MessageEvent |
15 // specific properties itself and inherited properties from a browser provided | 16 // specific properties itself and inherited properties from a browser provided |
16 // event implementation. | 17 // event implementation. |
17 // NOTE: The messagePort and source properties will always be NULL. | 18 // NOTE: The messagePort and source properties will always be NULL. |
18 // See the HTML 5 spec for further details on a MessageEvent object: | 19 // See the HTML 5 spec for further details on a MessageEvent object: |
19 // http://www.whatwg.org/specs/web-apps/current-work/multipage/comms.html#messag
eevent | 20 // http://www.whatwg.org/specs/web-apps/current-work/multipage/comms.html#messag
eevent |
20 class ComMessageEvent | 21 class ComMessageEvent |
21 : public CComObjectRootEx<CComSingleThreadModel>, | 22 : public CComObjectRootEx<CComSingleThreadModel>, |
22 public IDispatch { | 23 public IDispatch { |
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
56 // Initializes this object. The container pointer is used to find the | 57 // Initializes this object. The container pointer is used to find the |
57 // container's IHTMLEventObj implementation if available. | 58 // container's IHTMLEventObj implementation if available. |
58 bool Initialize(IOleContainer* container, const std::string& message, | 59 bool Initialize(IOleContainer* container, const std::string& message, |
59 const std::string& origin, const std::string& event_type); | 60 const std::string& origin, const std::string& event_type); |
60 | 61 |
61 protected: | 62 protected: |
62 // HTML Event object to which we delegate property and method | 63 // HTML Event object to which we delegate property and method |
63 // calls that we do not directly support. This may not be initialized | 64 // calls that we do not directly support. This may not be initialized |
64 // if our container does not require the properties/methods exposed by | 65 // if our container does not require the properties/methods exposed by |
65 // the basic event object. | 66 // the basic event object. |
66 ScopedComPtr<IHTMLEventObj> basic_event_; | 67 base::win::ScopedComPtr<IHTMLEventObj> basic_event_; |
67 std::string message_; | 68 std::string message_; |
68 std::string origin_; | 69 std::string origin_; |
69 std::string type_; | 70 std::string type_; |
70 | 71 |
71 private: | 72 private: |
72 DISALLOW_COPY_AND_ASSIGN(ComMessageEvent); | 73 DISALLOW_COPY_AND_ASSIGN(ComMessageEvent); |
73 }; | 74 }; |
74 | 75 |
75 #endif // CHROME_FRAME_COM_MESSAGE_EVENT_H_ | 76 #endif // CHROME_FRAME_COM_MESSAGE_EVENT_H_ |
OLD | NEW |