blob: eb97186cb0dcf5abc7d984b923a6454ec86fb7e4 [file] [log] [blame]
[email protected]f7817822009-09-24 05:11:581// Copyright (c) 2009 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#include "chrome_frame/chrome_frame_delegate.h"
6
7bool ChromeFrameDelegateImpl::IsTabMessage(const IPC::Message& message,
8 int* tab_handle) {
9 bool is_tab_message = true;
10 IPC_BEGIN_MESSAGE_MAP(ChromeFrameDelegateImpl, message)
11 IPC_MESSAGE_HANDLER_GENERIC(AutomationMsg_NavigationStateChanged, )
12 IPC_MESSAGE_HANDLER_GENERIC(AutomationMsg_UpdateTargetUrl, )
13 IPC_MESSAGE_HANDLER_GENERIC(AutomationMsg_HandleAccelerator, )
14 IPC_MESSAGE_HANDLER_GENERIC(AutomationMsg_TabbedOut, )
15 IPC_MESSAGE_HANDLER_GENERIC(AutomationMsg_OpenURL, )
16 IPC_MESSAGE_HANDLER_GENERIC(AutomationMsg_NavigationFailed, )
17 IPC_MESSAGE_HANDLER_GENERIC(AutomationMsg_DidNavigate, )
18 IPC_MESSAGE_HANDLER_GENERIC(AutomationMsg_TabLoaded, )
19 IPC_MESSAGE_HANDLER_GENERIC(AutomationMsg_ForwardMessageToExternalHost, )
20 IPC_MESSAGE_HANDLER_GENERIC(
21 AutomationMsg_ForwardContextMenuToExternalHost, )
22 IPC_MESSAGE_HANDLER_GENERIC(AutomationMsg_RequestStart, )
23 IPC_MESSAGE_HANDLER_GENERIC(AutomationMsg_RequestRead, )
24 IPC_MESSAGE_HANDLER_GENERIC(AutomationMsg_RequestEnd, )
[email protected]fc6fb7fb2009-11-07 02:35:0425 IPC_MESSAGE_HANDLER_GENERIC(AutomationMsg_DownloadRequestInHost, )
[email protected]f7817822009-09-24 05:11:5826 IPC_MESSAGE_HANDLER_GENERIC(AutomationMsg_SetCookieAsync, )
27 IPC_MESSAGE_HANDLER_GENERIC(AutomationMsg_AttachExternalTab, )
[email protected]f9cc4c452009-10-13 14:56:3828 IPC_MESSAGE_HANDLER_GENERIC(AutomationMsg_RequestGoToHistoryEntryOffset, )
[email protected]f7817822009-09-24 05:11:5829 IPC_MESSAGE_UNHANDLED(is_tab_message = false);
30 IPC_END_MESSAGE_MAP()
31
32 if (is_tab_message) {
33 // Read tab handle from the message.
34 void* iter = NULL;
35 is_tab_message = message.ReadInt(&iter, tab_handle);
36 }
37
38 return is_tab_message;
39}
40
41void ChromeFrameDelegateImpl::OnMessageReceived(const IPC::Message& msg) {
42 if (!IsValid()) {
43 DLOG(WARNING) << __FUNCTION__
44 << " Msgs received for a NULL automation client instance";
45 return;
46 }
47
48 IPC_BEGIN_MESSAGE_MAP(ChromeFrameDelegateImpl, msg)
49 IPC_MESSAGE_HANDLER(AutomationMsg_NavigationStateChanged,
50 OnNavigationStateChanged)
51 IPC_MESSAGE_HANDLER(AutomationMsg_UpdateTargetUrl, OnUpdateTargetUrl)
52 IPC_MESSAGE_HANDLER(AutomationMsg_HandleAccelerator,
53 OnAcceleratorPressed)
54 IPC_MESSAGE_HANDLER(AutomationMsg_TabbedOut, OnTabbedOut)
55 IPC_MESSAGE_HANDLER(AutomationMsg_OpenURL, OnOpenURL)
56 IPC_MESSAGE_HANDLER(AutomationMsg_NavigationFailed, OnNavigationFailed)
57 IPC_MESSAGE_HANDLER(AutomationMsg_DidNavigate, OnDidNavigate)
58 IPC_MESSAGE_HANDLER(AutomationMsg_TabLoaded, OnLoad)
59 IPC_MESSAGE_HANDLER(AutomationMsg_ForwardMessageToExternalHost,
60 OnMessageFromChromeFrame)
61 IPC_MESSAGE_HANDLER(AutomationMsg_ForwardContextMenuToExternalHost,
62 OnHandleContextMenu)
63 IPC_MESSAGE_HANDLER(AutomationMsg_RequestStart, OnRequestStart)
64 IPC_MESSAGE_HANDLER(AutomationMsg_RequestRead, OnRequestRead)
65 IPC_MESSAGE_HANDLER(AutomationMsg_RequestEnd, OnRequestEnd)
[email protected]fc6fb7fb2009-11-07 02:35:0466 IPC_MESSAGE_HANDLER(AutomationMsg_DownloadRequestInHost,
67 OnDownloadRequestInHost)
[email protected]f7817822009-09-24 05:11:5868 IPC_MESSAGE_HANDLER(AutomationMsg_SetCookieAsync, OnSetCookieAsync)
69 IPC_MESSAGE_HANDLER(AutomationMsg_AttachExternalTab, OnAttachExternalTab)
[email protected]f9cc4c452009-10-13 14:56:3870 IPC_MESSAGE_HANDLER(AutomationMsg_RequestGoToHistoryEntryOffset,
71 OnGoToHistoryEntryOffset)
[email protected]f7817822009-09-24 05:11:5872 IPC_END_MESSAGE_MAP()
73}