summaryrefslogtreecommitdiffstats
path: root/ipc/ipc_message_utils.h
diff options
context:
space:
mode:
authorgrt@chromium.org <grt@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-02-28 21:46:11 +0000
committergrt@chromium.org <grt@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-02-28 21:46:11 +0000
commitecf59c793327fd2dcba719a4160a37147b8be668 (patch)
tree390565b6d99337eebde69eadbd7024e41202e600 /ipc/ipc_message_utils.h
parent19106891c09d31ccc686edaa5919f26d737f7c7e (diff)
downloadchromium_src-ecf59c793327fd2dcba719a4160a37147b8be668.zip
chromium_src-ecf59c793327fd2dcba719a4160a37147b8be668.tar.gz
chromium_src-ecf59c793327fd2dcba719a4160a37147b8be668.tar.bz2
Minimal Chrome Frame with Aura.
It builds and runs, but not a whole lot else. This change includes: * ChromeFrameAutomationProvider is now OS_WIN only. In practice, this has been the case for some time. Now it's formalized by giving the implementation files the _win suffix. * Automation messages and datatypes used exclusively by Chrome Frame now use HWND directly rather than a toolkit-specific gfx typedef of one since the requirement is that an actual HWND be sent over the channel. A change in toolkit (e.g., switching to Aura) must not change this. As a consequence of this change, some automation types and messages are now only defined for OS_WIN builds. * ExternalTabContainerWin is no longer derived from a NativeWidget type (this was previously the case so that the ETCW could be notified of NW lifecycle events). Now, in contrast, ETCW registers itself as an observer of its Widget. Two additional lifecycle methods have been added to WidgetObserver: OnWidgetCreated and OnWidgetDestroyed. * ExternalTabContianerWin initializes its Widget with an instance of DesktopNativeWidgetAura when use_aura. * A special note about HWND IPC marshaling: this change adds a type mapping from HWND to a generic HANDLE in ipc_message_utils.h, which allows for the removal of a hack in content_message_generator.h to marshal HWNDs. This change reverts all of: * r178752 -- Remove CF from all.gyp targets if use_aura is defined. * r164590 -- Remove setup -> Chrome Frame dependency. Make it possible to build an installer for Aura. and portions of: * r99993 -- Get chrome to link with USE_AURA * r99787 -- Preliminary work to allow Chrome to build with USE_AURA. BUG=171018 TEST=chrome_frame_tests provides good coverage in non-Aura builds. Review URL: https://chromiumcodereview.appspot.com/12220101 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@185328 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ipc/ipc_message_utils.h')
-rw-r--r--ipc/ipc_message_utils.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/ipc/ipc_message_utils.h b/ipc/ipc_message_utils.h
index fc72210..c775d8d 100644
--- a/ipc/ipc_message_utils.h
+++ b/ipc/ipc_message_utils.h
@@ -475,6 +475,13 @@ struct SimilarTypeTraits<base::PlatformFileError> {
typedef int Type;
};
+#if defined(OS_WIN)
+template <>
+struct SimilarTypeTraits<HWND> {
+ typedef HANDLE Type;
+};
+#endif // defined(OS_WIN)
+
template <>
struct IPC_EXPORT ParamTraits<base::Time> {
typedef base::Time param_type;