blob: 396d7a989ce64003320351b9b33a624b935a8c6d [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, )
25 IPC_MESSAGE_HANDLER_GENERIC(AutomationMsg_SetCookieAsync, )
26 IPC_MESSAGE_HANDLER_GENERIC(AutomationMsg_AttachExternalTab, )
[email protected]f9cc4c452009-10-13 14:56:3827 IPC_MESSAGE_HANDLER_GENERIC(AutomationMsg_RequestGoToHistoryEntryOffset, )
[email protected]f7817822009-09-24 05:11:5828 IPC_MESSAGE_UNHANDLED(is_tab_message = false);
29 IPC_END_MESSAGE_MAP()
30
31 if (is_tab_message) {
32 // Read tab handle from the message.
33 void* iter = NULL;
34 is_tab_message = message.ReadInt(&iter, tab_handle);
35 }
36
37 return is_tab_message;
38}
39
40void ChromeFrameDelegateImpl::OnMessageReceived(const IPC::Message& msg) {
41 if (!IsValid()) {
42 DLOG(WARNING) << __FUNCTION__
43 << " Msgs received for a NULL automation client instance";
44 return;
45 }
46
47 IPC_BEGIN_MESSAGE_MAP(ChromeFrameDelegateImpl, msg)
48 IPC_MESSAGE_HANDLER(AutomationMsg_NavigationStateChanged,
49 OnNavigationStateChanged)
50 IPC_MESSAGE_HANDLER(AutomationMsg_UpdateTargetUrl, OnUpdateTargetUrl)
51 IPC_MESSAGE_HANDLER(AutomationMsg_HandleAccelerator,
52 OnAcceleratorPressed)
53 IPC_MESSAGE_HANDLER(AutomationMsg_TabbedOut, OnTabbedOut)
54 IPC_MESSAGE_HANDLER(AutomationMsg_OpenURL, OnOpenURL)
55 IPC_MESSAGE_HANDLER(AutomationMsg_NavigationFailed, OnNavigationFailed)
56 IPC_MESSAGE_HANDLER(AutomationMsg_DidNavigate, OnDidNavigate)
57 IPC_MESSAGE_HANDLER(AutomationMsg_TabLoaded, OnLoad)
58 IPC_MESSAGE_HANDLER(AutomationMsg_ForwardMessageToExternalHost,
59 OnMessageFromChromeFrame)
60 IPC_MESSAGE_HANDLER(AutomationMsg_ForwardContextMenuToExternalHost,
61 OnHandleContextMenu)
62 IPC_MESSAGE_HANDLER(AutomationMsg_RequestStart, OnRequestStart)
63 IPC_MESSAGE_HANDLER(AutomationMsg_RequestRead, OnRequestRead)
64 IPC_MESSAGE_HANDLER(AutomationMsg_RequestEnd, OnRequestEnd)
65 IPC_MESSAGE_HANDLER(AutomationMsg_SetCookieAsync, OnSetCookieAsync)
66 IPC_MESSAGE_HANDLER(AutomationMsg_AttachExternalTab, OnAttachExternalTab)
[email protected]f9cc4c452009-10-13 14:56:3867 IPC_MESSAGE_HANDLER(AutomationMsg_RequestGoToHistoryEntryOffset,
68 OnGoToHistoryEntryOffset)
[email protected]f7817822009-09-24 05:11:5869 IPC_END_MESSAGE_MAP()
70}