| 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 |