OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 // IPC messages for extensions. | 5 // IPC messages for extensions. |
6 // Multiply-included message file, hence no include guard. | 6 // Multiply-included message file, hence no include guard. |
7 | 7 |
8 #include <string> | 8 #include <string> |
9 #include <vector> | 9 #include <vector> |
10 | 10 |
11 #include "base/memory/shared_memory.h" | 11 #include "base/memory/shared_memory.h" |
12 #include "base/values.h" | 12 #include "base/values.h" |
13 #include "content/public/common/common_param_traits.h" | 13 #include "content/public/common/common_param_traits.h" |
14 #include "content/public/common/socket_permission_request.h" | 14 #include "content/public/common/socket_permission_request.h" |
15 #include "extensions/common/api/messaging/message.h" | 15 #include "extensions/common/api/messaging/message.h" |
16 #include "extensions/common/draggable_region.h" | 16 #include "extensions/common/draggable_region.h" |
17 #include "extensions/common/extension.h" | 17 #include "extensions/common/extension.h" |
18 #include "extensions/common/extensions_client.h" | 18 #include "extensions/common/extensions_client.h" |
19 #include "extensions/common/permissions/media_galleries_permission_data.h" | 19 #include "extensions/common/permissions/media_galleries_permission_data.h" |
20 #include "extensions/common/permissions/permission_set.h" | 20 #include "extensions/common/permissions/permission_set.h" |
21 #include "extensions/common/permissions/socket_permission_data.h" | 21 #include "extensions/common/permissions/socket_permission_data.h" |
22 #include "extensions/common/permissions/usb_device_permission_data.h" | 22 #include "extensions/common/permissions/usb_device_permission_data.h" |
23 #include "extensions/common/url_pattern.h" | 23 #include "extensions/common/url_pattern.h" |
24 #include "extensions/common/url_pattern_set.h" | 24 #include "extensions/common/url_pattern_set.h" |
25 #include "extensions/common/view_type.h" | 25 #include "extensions/common/view_type.h" |
| 26 #include "extensions/common/watched_pages_recipient.h" |
26 #include "ipc/ipc_message_macros.h" | 27 #include "ipc/ipc_message_macros.h" |
27 #include "url/gurl.h" | 28 #include "url/gurl.h" |
28 | 29 |
29 #define IPC_MESSAGE_START ExtensionMsgStart | 30 #define IPC_MESSAGE_START ExtensionMsgStart |
30 | 31 |
31 IPC_ENUM_TRAITS_MAX_VALUE(extensions::ViewType, extensions::VIEW_TYPE_LAST) | 32 IPC_ENUM_TRAITS_MAX_VALUE(extensions::ViewType, extensions::VIEW_TYPE_LAST) |
32 IPC_ENUM_TRAITS_MAX_VALUE(content::SocketPermissionRequest::OperationType, | 33 IPC_ENUM_TRAITS_MAX_VALUE(content::SocketPermissionRequest::OperationType, |
33 content::SocketPermissionRequest::OPERATION_TYPE_LAST) | 34 content::SocketPermissionRequest::OPERATION_TYPE_LAST) |
| 35 IPC_ENUM_TRAITS_MAX_VALUE(extensions::WatchedPagesRecipient, |
| 36 extensions::WATCHED_PAGES_RECIPIENT_LAST) |
34 | 37 |
35 // Parameters structure for ExtensionHostMsg_AddAPIActionToActivityLog and | 38 // Parameters structure for ExtensionHostMsg_AddAPIActionToActivityLog and |
36 // ExtensionHostMsg_AddEventToActivityLog. | 39 // ExtensionHostMsg_AddEventToActivityLog. |
37 IPC_STRUCT_BEGIN(ExtensionHostMsg_APIActionOrEvent_Params) | 40 IPC_STRUCT_BEGIN(ExtensionHostMsg_APIActionOrEvent_Params) |
38 // API name. | 41 // API name. |
39 IPC_STRUCT_MEMBER(std::string, api_call) | 42 IPC_STRUCT_MEMBER(std::string, api_call) |
40 | 43 |
41 // List of arguments. | 44 // List of arguments. |
42 IPC_STRUCT_MEMBER(base::ListValue, arguments) | 45 IPC_STRUCT_MEMBER(base::ListValue, arguments) |
43 | 46 |
(...skipping 402 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
446 content::ConsoleMessageLevel /* level */, | 449 content::ConsoleMessageLevel /* level */, |
447 std::string /* message */) | 450 std::string /* message */) |
448 | 451 |
449 // Notify the renderer that its window has closed. | 452 // Notify the renderer that its window has closed. |
450 IPC_MESSAGE_ROUTED0(ExtensionMsg_AppWindowClosed) | 453 IPC_MESSAGE_ROUTED0(ExtensionMsg_AppWindowClosed) |
451 | 454 |
452 // Notify the renderer that an extension wants notifications when certain | 455 // Notify the renderer that an extension wants notifications when certain |
453 // searches match the active page. This message replaces the old set of | 456 // searches match the active page. This message replaces the old set of |
454 // searches, and triggers ExtensionHostMsg_OnWatchedPageChange messages from | 457 // searches, and triggers ExtensionHostMsg_OnWatchedPageChange messages from |
455 // each tab to keep the browser updated about changes. | 458 // each tab to keep the browser updated about changes. |
456 IPC_MESSAGE_CONTROL1(ExtensionMsg_WatchPages, | 459 IPC_MESSAGE_CONTROL3(ExtensionMsg_WatchPages, |
| 460 std::string, /* event_name */ |
| 461 extensions::WatchedPagesRecipient, |
457 std::vector<std::string> /* CSS selectors */) | 462 std::vector<std::string> /* CSS selectors */) |
458 | 463 |
459 // Send by the browser to indicate a Blob handle has been transferred to the | 464 // Send by the browser to indicate a Blob handle has been transferred to the |
460 // renderer. This is sent after the actual extension response, and depends on | 465 // renderer. This is sent after the actual extension response, and depends on |
461 // the sequential nature of IPCs so that the blob has already been caught. | 466 // the sequential nature of IPCs so that the blob has already been caught. |
462 // This is a separate control message, so that the renderer process will send | 467 // This is a separate control message, so that the renderer process will send |
463 // an acknowledgement even if the RenderView has closed or navigated away. | 468 // an acknowledgement even if the RenderView has closed or navigated away. |
464 IPC_MESSAGE_CONTROL1(ExtensionMsg_TransferBlobs, | 469 IPC_MESSAGE_CONTROL1(ExtensionMsg_TransferBlobs, |
465 std::vector<std::string> /* blob_uuids */) | 470 std::vector<std::string> /* blob_uuids */) |
466 | 471 |
(...skipping 186 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
653 | 658 |
654 // Notifies the browser process that a tab has started or stopped matching | 659 // Notifies the browser process that a tab has started or stopped matching |
655 // certain conditions. This message is sent in response to several events: | 660 // certain conditions. This message is sent in response to several events: |
656 // | 661 // |
657 // * ExtensionMsg_WatchPages was received, updating the set of conditions. | 662 // * ExtensionMsg_WatchPages was received, updating the set of conditions. |
658 // * A new page is loaded. This will be sent after | 663 // * A new page is loaded. This will be sent after |
659 // FrameHostMsg_DidCommitProvisionalLoad. Currently this only fires for the | 664 // FrameHostMsg_DidCommitProvisionalLoad. Currently this only fires for the |
660 // main frame. | 665 // main frame. |
661 // * Something changed on an existing frame causing the set of matching searches | 666 // * Something changed on an existing frame causing the set of matching searches |
662 // to change. | 667 // to change. |
663 IPC_MESSAGE_ROUTED1(ExtensionHostMsg_OnWatchedPageChange, | 668 IPC_MESSAGE_ROUTED2(ExtensionHostMsg_OnWatchedPageChange, |
| 669 std::string, /* event_name */ |
664 std::vector<std::string> /* Matching CSS selectors */) | 670 std::vector<std::string> /* Matching CSS selectors */) |
665 | 671 |
666 // Sent by the renderer when it has received a Blob handle from the browser. | 672 // Sent by the renderer when it has received a Blob handle from the browser. |
667 IPC_MESSAGE_CONTROL1(ExtensionHostMsg_TransferBlobsAck, | 673 IPC_MESSAGE_CONTROL1(ExtensionHostMsg_TransferBlobsAck, |
668 std::vector<std::string> /* blob_uuids */) | 674 std::vector<std::string> /* blob_uuids */) |
OLD | NEW |