Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(219)

Side by Side Diff: chrome/common/render_messages.h

Issue 6646005: Creates the ipclist utility that chrome security team has wanted to dump... (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 9 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2011 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_COMMON_RENDER_MESSAGES_H_ 5 // Multiply-included file, no traditional include guard
6 #define CHROME_COMMON_RENDER_MESSAGES_H_ 6 #include <map>
7 #pragma once 7 #include <set>
8
9 #include <string> 8 #include <string>
10 #include <vector> 9 #include <vector>
11 10
12 // TODO(erg): This list has been temporarily annotated by erg while doing work 11 // TODO(erg): This list has been temporarily annotated by erg while doing work
13 // on which headers to pull out. 12 // on which headers to pull out.
13
14 #include "base/basictypes.h" 14 #include "base/basictypes.h"
15 #include "base/file_path.h"
16 #include "base/nullable_string16.h"
17 #include "base/platform_file.h"
15 #include "base/ref_counted.h" 18 #include "base/ref_counted.h"
16 #include "base/string16.h" 19 #include "base/string16.h"
20 #include "base/sync_socket.h"
21 #include "base/values.h"
22 #include "build/build_config.h"
17 #include "chrome/common/common_param_traits.h" 23 #include "chrome/common/common_param_traits.h"
24 #include "chrome/common/content_settings.h"
18 #include "chrome/common/css_colors.h" 25 #include "chrome/common/css_colors.h"
26 #include "chrome/common/edit_command.h"
27 #include "chrome/common/extensions/extension.h"
28 #include "chrome/common/extensions/extension_extent.h"
29 #include "chrome/common/extensions/url_pattern.h"
30 #include "chrome/common/geoposition.h"
31 #include "chrome/common/gpu_param_traits.h"
32 #include "chrome/common/nacl_types.h"
33 #include "chrome/common/notification_type.h"
19 #include "chrome/common/page_transition_types.h" 34 #include "chrome/common/page_transition_types.h"
35 #include "chrome/common/page_zoom.h"
36 #include "chrome/common/render_messages_params.h"
37 #include "chrome/common/thumbnail_score.h"
38 #include "chrome/common/translate_errors.h"
20 #include "chrome/common/translate_errors.h" 39 #include "chrome/common/translate_errors.h"
21 #include "chrome/common/view_types.h" 40 #include "chrome/common/view_types.h"
41 #include "chrome/common/web_apps.h"
22 #include "chrome/common/webkit_param_traits.h" 42 #include "chrome/common/webkit_param_traits.h"
43 #include "chrome/common/window_container_type.h"
23 #include "content/common/common_param_traits.h" 44 #include "content/common/common_param_traits.h"
45 #include "content/common/resource_response.h"
46 #include "ipc/ipc_channel_handle.h"
47 #include "ipc/ipc_message_macros.h"
24 #include "ipc/ipc_message_utils.h" 48 #include "ipc/ipc_message_utils.h"
25 #include "ipc/ipc_platform_file.h" // ifdefed typedef. 49 #include "ipc/ipc_platform_file.h" // ifdefed typedef.
50 #include "media/audio/audio_buffers_state.h"
51 #include "third_party/WebKit/Source/WebKit/chromium/public/WebCompositionUnderli ne.h"
52 #include "third_party/WebKit/Source/WebKit/chromium/public/WebFindOptions.h"
53 #include "third_party/WebKit/Source/WebKit/chromium/public/WebMediaPlayerAction. h"
54 #include "third_party/WebKit/Source/WebKit/chromium/public/WebScreenInfo.h"
55 #include "third_party/skia/include/core/SkBitmap.h"
26 #include "ui/base/clipboard/clipboard.h" // enum 56 #include "ui/base/clipboard/clipboard.h" // enum
57 #include "ui/gfx/rect.h"
27 #include "webkit/appcache/appcache_interfaces.h" // enum appcache::Status 58 #include "webkit/appcache/appcache_interfaces.h" // enum appcache::Status
59 #include "webkit/blob/blob_data.h"
60 #include "webkit/glue/context_menu.h"
61 #include "webkit/glue/webaccessibility.h"
62 #include "webkit/glue/webcookie.h"
63 #include "webkit/glue/webcursor.h"
64 #include "webkit/glue/webdropdata.h"
65 #include "webkit/glue/webmenuitem.h"
66 #include "webkit/plugins/npapi/webplugin.h"
67 #include "webkit/plugins/npapi/webplugininfo.h"
68
69 #if defined(OS_POSIX)
70 #include "base/file_descriptor_posix.h"
71 #endif
72
73 #if defined(OS_MACOSX)
74 #include "chrome/common/font_descriptor_mac.h"
75 #endif
76
77 #define IPC_MESSAGE_START ViewMsgStart
78
79 // Singly-included section, not yet converted.
80 #ifndef CHROME_COMMON_RENDER_MESSAGES_H_
81 #define CHROME_COMMON_RENDER_MESSAGES_H_
28 82
29 #if defined(OS_MACOSX) 83 #if defined(OS_MACOSX)
jam 2011/03/09 06:33:45 nit: can take out all the forward declarations in
30 struct FontDescriptor; 84 struct FontDescriptor;
31 #endif 85 #endif
32 86
33 namespace appcache { 87 namespace appcache {
34 struct AppCacheInfo; 88 struct AppCacheInfo;
35 struct AppCacheResourceInfo; 89 struct AppCacheResourceInfo;
36 } 90 }
37 91
38 namespace base { 92 namespace base {
39 class Time; 93 class Time;
(...skipping 419 matching lines...) Expand 10 before | Expand all | Expand 10 after
459 template <> 513 template <>
460 struct ParamTraits<AudioBuffersState> { 514 struct ParamTraits<AudioBuffersState> {
461 typedef AudioBuffersState param_type; 515 typedef AudioBuffersState param_type;
462 static void Write(Message* m, const param_type& p); 516 static void Write(Message* m, const param_type& p);
463 static bool Read(const Message* m, void** iter, param_type* p); 517 static bool Read(const Message* m, void** iter, param_type* p);
464 static void Log(const param_type& p, std::string* l); 518 static void Log(const param_type& p, std::string* l);
465 }; 519 };
466 520
467 } // namespace IPC 521 } // namespace IPC
468 522
469 #include "chrome/common/render_messages_internal.h" 523 // TODO(mpcomplete): rename ViewMsg and ViewHostMsg to something that makes
524 // more sense with our current design.
525
526 // IPC_MESSAGE macros choke on extra , in the std::map, when expanding. We need
527 // to typedef it to avoid that.
528 // Substitution map for l10n messages.
529 typedef std::map<std::string, std::string> SubstitutionMap;
530
531 class Value;
532 class SkBitmap;
533 class WebCursor;
534 struct GPUInfo;
535 struct ThumbnailScore;
536
537 namespace gfx {
538 class Rect;
539 }
540
541 namespace IPC {
542 struct ChannelHandle;
543 class Message;
544 }
545
546 namespace webkit_blob {
547 class BlobData;
548 }
549
550 namespace file_util {
551 struct FileInfo;
552 }
553
470 554
471 #endif // CHROME_COMMON_RENDER_MESSAGES_H_ 555 #endif // CHROME_COMMON_RENDER_MESSAGES_H_
556
557
558 //-----------------------------------------------------------------------------
559 // RenderView messages
560 // These are messages sent from the browser to the renderer process.
561
562 // Used typically when recovering from a crash. The new rendering process
563 // sets its global "next page id" counter to the given value.
564 IPC_MESSAGE_CONTROL1(ViewMsg_SetNextPageID,
565 int32 /* next_page_id */)
566
567 // Sends System Colors corresponding to a set of CSS color keywords
568 // down the pipe.
569 // This message must be sent to the renderer immediately on launch
570 // before creating any new views.
571 // The message can also be sent during a renderer's lifetime if system colors
572 // are updated.
573 // TODO(jeremy): Possibly change IPC format once we have this all hooked up.
574 IPC_MESSAGE_ROUTED1(ViewMsg_SetCSSColors,
575 std::vector<CSSColors::CSSColorMapping>)
576
577 // Asks the browser for a unique routing ID.
578 IPC_SYNC_MESSAGE_CONTROL0_1(ViewHostMsg_GenerateRoutingID,
579 int /* routing_id */)
580
581 // Tells the renderer to create a new view.
582 // This message is slightly different, the view it takes (via
583 // ViewMsg_New_Params) is the view to create, the message itself is sent as a
584 // non-view control message.
585 IPC_MESSAGE_CONTROL1(ViewMsg_New,
586 ViewMsg_New_Params)
587
588 // Tells the renderer to set its maximum cache size to the supplied value.
589 IPC_MESSAGE_CONTROL3(ViewMsg_SetCacheCapacities,
590 size_t /* min_dead_capacity */,
591 size_t /* max_dead_capacity */,
592 size_t /* capacity */)
593
594 // Tells the renderer to clear the cache.
595 IPC_MESSAGE_CONTROL0(ViewMsg_ClearCache)
596
597 // Reply in response to ViewHostMsg_ShowView or ViewHostMsg_ShowWidget.
598 // similar to the new command, but used when the renderer created a view
599 // first, and we need to update it.
600 IPC_MESSAGE_ROUTED1(ViewMsg_CreatingNew_ACK,
601 gfx::NativeViewId /* parent_hwnd */)
602
603 // Sends updated preferences to the renderer.
604 IPC_MESSAGE_ROUTED1(ViewMsg_SetRendererPrefs,
605 RendererPreferences)
606
607 // Tells the renderer to perform the given action on the media player
608 // located at the given point.
609 IPC_MESSAGE_ROUTED2(ViewMsg_MediaPlayerActionAt,
610 gfx::Point, /* location */
611 WebKit::WebMediaPlayerAction)
612
613 IPC_MESSAGE_ROUTED0(ViewMsg_PrintNodeUnderContextMenu)
614
615 // Tells the renderer to print the print preview tab's PDF plugin without
616 // showing the print dialog.
617 IPC_MESSAGE_ROUTED1(ViewMsg_PrintForPrintPreview,
618 DictionaryValue /* settings*/)
619
620 // Tells the render view to close.
621 IPC_MESSAGE_ROUTED0(ViewMsg_Close)
622
623 // Tells the render view to change its size. A ViewHostMsg_PaintRect message
624 // is generated in response provided new_size is not empty and not equal to
625 // the view's current size. The generated ViewHostMsg_PaintRect message will
626 // have the IS_RESIZE_ACK flag set. It also receives the resizer rect so that
627 // we don't have to fetch it every time WebKit asks for it.
628 IPC_MESSAGE_ROUTED2(ViewMsg_Resize,
629 gfx::Size /* new_size */,
630 gfx::Rect /* resizer_rect */)
631
632 // Sent to inform the view that it was hidden. This allows it to reduce its
633 // resource utilization.
634 IPC_MESSAGE_ROUTED0(ViewMsg_WasHidden)
635
636 // Tells the render view that it is no longer hidden (see WasHidden), and the
637 // render view is expected to respond with a full repaint if needs_repainting
638 // is true. In that case, the generated ViewHostMsg_PaintRect message will
639 // have the IS_RESTORE_ACK flag set. If needs_repainting is false, then this
640 // message does not trigger a message in response.
641 IPC_MESSAGE_ROUTED1(ViewMsg_WasRestored,
642 bool /* needs_repainting */)
643
644 // Tells the render view to capture a thumbnail image of the page. The
645 // render view responds with a ViewHostMsg_Thumbnail.
646 IPC_MESSAGE_ROUTED0(ViewMsg_CaptureThumbnail)
647
648 // Tells the render view to capture a thumbnail image of the page. The
649 // render view responds with a ViewHostMsg_Snapshot.
650 IPC_MESSAGE_ROUTED0(ViewMsg_CaptureSnapshot)
651
652 // Tells the render view to switch the CSS to print media type, renders every
653 // requested pages and switch back the CSS to display media type.
654 IPC_MESSAGE_ROUTED0(ViewMsg_PrintPages)
655
656 // Tells the render view that printing is done so it can clean up.
657 IPC_MESSAGE_ROUTED2(ViewMsg_PrintingDone,
658 int /* document_cookie */,
659 bool /* success */)
660
661 // Tells the render view to switch the CSS to print media type, renders every
662 // requested pages for print preview.
663 IPC_MESSAGE_ROUTED0(ViewMsg_PrintPreview)
664
665 // Sends back to the browser the rendered "printed document" for preview that
666 // was requested by a ViewMsg_PrintPreview message. The memory handle in this
667 // message is already valid in the browser process.
668 IPC_MESSAGE_ROUTED1(ViewHostMsg_PagesReadyForPreview,
669 ViewHostMsg_DidPreviewDocument_Params /* params */)
670
671 // Tells the renderer to dump as much memory as it can, perhaps because we
672 // have memory pressure or the renderer is (or will be) paged out. This
673 // should only result in purging objects we can recalculate, e.g. caches or
674 // JS garbage, not in purging irreplaceable objects.
675 IPC_MESSAGE_CONTROL0(ViewMsg_PurgeMemory)
676
677 // Sent to render the view into the supplied transport DIB, resize
678 // the web widget to match the |page_size|, scale it by the
679 // appropriate scale to make it fit the |desired_size|, and return
680 // it. In response to this message, the host generates a
681 // ViewHostMsg_PaintAtSize_ACK message. Note that the DIB *must* be
682 // the right size to receive an RGBA image at the |desired_size|.
683 // |tag| is sent along with ViewHostMsg_PaintAtSize_ACK unmodified to
684 // identify the PaintAtSize message the ACK belongs to.
685 IPC_MESSAGE_ROUTED4(ViewMsg_PaintAtSize,
686 TransportDIB::Handle /* dib_handle */,
687 int /* tag */,
688 gfx::Size /* page_size */,
689 gfx::Size /* desired_size */)
690
691 // Tells the render view that a ViewHostMsg_UpdateRect message was processed.
692 // This signals the render view that it can send another UpdateRect message.
693 IPC_MESSAGE_ROUTED0(ViewMsg_UpdateRect_ACK)
694
695 // Message payload includes:
696 // 1. A blob that should be cast to WebInputEvent
697 // 2. An optional boolean value indicating if a RawKeyDown event is associated
698 // to a keyboard shortcut of the browser.
699 IPC_MESSAGE_ROUTED0(ViewMsg_HandleInputEvent)
700
701 // This message notifies the renderer that the next key event is bound to one
702 // or more pre-defined edit commands. If the next key event is not handled
703 // by webkit, the specified edit commands shall be executed against current
704 // focused frame.
705 // Parameters
706 // * edit_commands (see chrome/common/edit_command_types.h)
707 // Contains one or more edit commands.
708 // See third_party/WebKit/Source/WebCore/editing/EditorCommand.cpp for detailed
709 // definition of webkit edit commands.
710 //
711 // This message must be sent just before sending a key event.
712 IPC_MESSAGE_ROUTED1(ViewMsg_SetEditCommandsForNextKeyEvent,
713 std::vector<EditCommand> /* edit_commands */)
714
715 // Message payload is the name/value of a WebCore edit command to execute.
716 IPC_MESSAGE_ROUTED2(ViewMsg_ExecuteEditCommand,
717 std::string, /* name */
718 std::string /* value */)
719
720 IPC_MESSAGE_ROUTED0(ViewMsg_MouseCaptureLost)
721
722 // TODO(darin): figure out how this meshes with RestoreFocus
723 IPC_MESSAGE_ROUTED1(ViewMsg_SetFocus, bool /* enable */)
724
725 // Tells the renderer to focus the first (last if reverse is true) focusable
726 // node.
727 IPC_MESSAGE_ROUTED1(ViewMsg_SetInitialFocus, bool /* reverse */)
728
729 // Tells the renderer to scroll the currently focused node into view only if
730 // the currently focused node is a Text node (textfield, text area or content
731 // editable divs).
732 IPC_MESSAGE_ROUTED0(ViewMsg_ScrollFocusedEditableNodeIntoView)
733
734 // Tells the renderer to perform the specified navigation, interrupting any
735 // existing navigation.
736 IPC_MESSAGE_ROUTED1(ViewMsg_Navigate, ViewMsg_Navigate_Params)
737
738 IPC_MESSAGE_ROUTED0(ViewMsg_Stop)
739
740 // Tells the renderer to reload the current focused frame
741 IPC_MESSAGE_ROUTED0(ViewMsg_ReloadFrame)
742
743 // This message notifies the renderer that the user has closed the FindInPage
744 // window (and what action to take regarding the selection).
745 IPC_MESSAGE_ROUTED1(ViewMsg_StopFinding,
746 ViewMsg_StopFinding_Params /* action */)
747
748 // These messages are typically generated from context menus and request the
749 // renderer to apply the specified operation to the current selection.
750 IPC_MESSAGE_ROUTED0(ViewMsg_Undo)
751 IPC_MESSAGE_ROUTED0(ViewMsg_Redo)
752 IPC_MESSAGE_ROUTED0(ViewMsg_Cut)
753 IPC_MESSAGE_ROUTED0(ViewMsg_Copy)
754 #if defined(OS_MACOSX)
755 IPC_MESSAGE_ROUTED0(ViewMsg_CopyToFindPboard)
756 #endif
757 IPC_MESSAGE_ROUTED0(ViewMsg_Paste)
758 // Replaces the selected region or a word around the cursor with the
759 // specified string.
760 IPC_MESSAGE_ROUTED1(ViewMsg_Replace, string16)
761 IPC_MESSAGE_ROUTED0(ViewMsg_ToggleSpellCheck)
762 IPC_MESSAGE_ROUTED0(ViewMsg_Delete)
763 IPC_MESSAGE_ROUTED0(ViewMsg_SelectAll)
764 IPC_MESSAGE_ROUTED1(ViewMsg_ToggleSpellPanel, bool)
765 IPC_MESSAGE_ROUTED3(ViewMsg_SpellChecker_RespondTextCheck,
766 int /* request identifier given by WebKit */,
767 int /* document tag */,
768 std::vector<WebKit::WebTextCheckingResult>)
769
770 // This message tells the renderer to advance to the next misspelling. It is
771 // sent when the user clicks the "Find Next" button on the spelling panel.
772 IPC_MESSAGE_ROUTED0(ViewMsg_AdvanceToNextMisspelling)
773
774 // Copies the image at location x, y to the clipboard (if there indeed is an
775 // image at that location).
776 IPC_MESSAGE_ROUTED2(ViewMsg_CopyImageAt,
777 int /* x */,
778 int /* y */)
779
780 // History system notification that the visited link database has been
781 // replaced. It has one SharedMemoryHandle argument consisting of the table
782 // handle. This handle is valid in the context of the renderer
783 IPC_MESSAGE_CONTROL1(ViewMsg_VisitedLink_NewTable, base::SharedMemoryHandle)
784
785 // History system notification that a link has been added and the link
786 // coloring state for the given hash must be re-calculated.
787 IPC_MESSAGE_CONTROL1(ViewMsg_VisitedLink_Add, std::vector<uint64>)
788
789 // History system notification that one or more history items have been
790 // deleted, which at this point means that all link coloring state must be
791 // re-calculated.
792 IPC_MESSAGE_CONTROL0(ViewMsg_VisitedLink_Reset)
793
794 // Notification that the user scripts have been updated. It has one
795 // SharedMemoryHandle argument consisting of the pickled script data. This
796 // handle is valid in the context of the renderer.
797 IPC_MESSAGE_CONTROL1(ViewMsg_UserScripts_UpdatedScripts,
798 base::SharedMemoryHandle)
799
800 // Sent when the user wants to search for a word on the page (find in page).
801 IPC_MESSAGE_ROUTED3(ViewMsg_Find,
802 int /* request_id */,
803 string16 /* search_text */,
804 WebKit::WebFindOptions)
805
806 // Send from the renderer to the browser to return the script running result.
807 IPC_MESSAGE_ROUTED2(ViewMsg_ExecuteCodeFinished,
808 int, /* request id */
809 bool /* whether the script ran successfully */)
810
811 // Sent when user prompting is required before a ViewHostMsg_GetCookies
812 // message can complete. This message indicates that the renderer should
813 // pump messages while waiting for cookies.
814 IPC_MESSAGE_CONTROL0(ViewMsg_SignalCookiePromptEvent)
815
816 // Request for the renderer to evaluate an xpath to a frame and execute a
817 // javascript: url in that frame's context. The message is completely
818 // asynchronous and no corresponding response message is sent back.
819 //
820 // frame_xpath contains the modified xpath notation to identify an inner
821 // subframe (starting from the root frame). It is a concatenation of
822 // number of smaller xpaths delimited by '\n'. Each chunk in the string can
823 // be evaluated to a frame in its parent-frame's context.
824 //
825 // Example: /html/body/iframe/\n/html/body/div/iframe/\n/frameset/frame[0]
826 // can be broken into 3 xpaths
827 // /html/body/iframe evaluates to an iframe within the root frame
828 // /html/body/div/iframe evaluates to an iframe within the level-1 iframe
829 // /frameset/frame[0] evaluates to first frame within the level-2 iframe
830 //
831 // jscript_url is the string containing the javascript: url to be executed
832 // in the target frame's context. The string should start with "javascript:"
833 // and continue with a valid JS text.
834 //
835 // If the fourth parameter is true the result is sent back to the renderer
836 // using the message ViewHostMsg_ScriptEvalResponse.
837 // ViewHostMsg_ScriptEvalResponse is passed the ID parameter so that the
838 // client can uniquely identify the request.
839 IPC_MESSAGE_ROUTED4(ViewMsg_ScriptEvalRequest,
840 string16, /* frame_xpath */
841 string16, /* jscript_url */
842 int, /* ID */
843 bool /* If true, result is sent back. */)
844
845 // Request for the renderer to evaluate an xpath to a frame and insert css
846 // into that frame's document. See ViewMsg_ScriptEvalRequest for details on
847 // allowed xpath expressions.
848 IPC_MESSAGE_ROUTED3(ViewMsg_CSSInsertRequest,
849 std::wstring, /* frame_xpath */
850 std::string, /* css string */
851 std::string /* element id */)
852
853 // Log a message to the console of the target frame
854 IPC_MESSAGE_ROUTED3(ViewMsg_AddMessageToConsole,
855 string16 /* frame_xpath */,
856 string16 /* message */,
857 WebKit::WebConsoleMessage::Level /* message_level */)
858
859 // RenderViewHostDelegate::RenderViewCreated method sends this message to a
860 // new renderer to notify it that it will host developer tools UI and should
861 // set up all neccessary bindings and create DevToolsClient instance that
862 // will handle communication with inspected page DevToolsAgent.
863 IPC_MESSAGE_ROUTED0(ViewMsg_SetupDevToolsClient)
864
865 // Change the zoom level for the current main frame. If the level actually
866 // changes, a ViewHostMsg_DidZoomURL message will be sent back to the browser
867 // telling it what url got zoomed and what its current zoom level is.
868 IPC_MESSAGE_ROUTED1(ViewMsg_Zoom,
869 PageZoom::Function /* function */)
870
871 // Set the zoom level for the current main frame. If the level actually
872 // changes, a ViewHostMsg_DidZoomURL message will be sent back to the browser
873 // telling it what url got zoomed and what its current zoom level is.
874 IPC_MESSAGE_ROUTED1(ViewMsg_SetZoomLevel,
875 double /* zoom_level */)
876
877 // Set the zoom level for a particular url that the renderer is in the
878 // process of loading. This will be stored, to be used if the load commits
879 // and ignored otherwise.
880 IPC_MESSAGE_ROUTED2(ViewMsg_SetZoomLevelForLoadingURL,
881 GURL /* url */,
882 double /* zoom_level */)
883
884 // Set the zoom level for a particular url, so all render views
885 // displaying this url can update their zoom levels to match.
886 IPC_MESSAGE_CONTROL2(ViewMsg_SetZoomLevelForCurrentURL,
887 GURL /* url */,
888 double /* zoom_level */)
889
890 // Set the content settings for a particular url that the renderer is in the
891 // process of loading. This will be stored, to be used if the load commits
892 // and ignored otherwise.
893 IPC_MESSAGE_ROUTED2(ViewMsg_SetContentSettingsForLoadingURL,
894 GURL /* url */,
895 ContentSettings /* content_settings */)
896
897 // Set the content settings for a particular url, so all render views
898 // displaying this host url update their content settings to match.
899 IPC_MESSAGE_CONTROL2(ViewMsg_SetContentSettingsForCurrentURL,
900 GURL /* url */,
901 ContentSettings /* content_settings */)
902
903 // Change encoding of page in the renderer.
904 IPC_MESSAGE_ROUTED1(ViewMsg_SetPageEncoding,
905 std::string /*new encoding name*/)
906
907 // Reset encoding of page in the renderer back to default.
908 IPC_MESSAGE_ROUTED0(ViewMsg_ResetPageEncodingToDefault)
909
910 // Requests the renderer to reserve a range of page ids.
911 IPC_MESSAGE_ROUTED1(ViewMsg_ReservePageIDRange,
912 int /* size_of_range */)
913
914 // D&d drop target messages.
915 IPC_MESSAGE_ROUTED4(ViewMsg_DragTargetDragEnter,
916 WebDropData /* drop_data */,
917 gfx::Point /* client_pt */,
918 gfx::Point /* screen_pt */,
919 WebKit::WebDragOperationsMask /* ops_allowed */)
920 IPC_MESSAGE_ROUTED3(ViewMsg_DragTargetDragOver,
921 gfx::Point /* client_pt */,
922 gfx::Point /* screen_pt */,
923 WebKit::WebDragOperationsMask /* ops_allowed */)
924 IPC_MESSAGE_ROUTED0(ViewMsg_DragTargetDragLeave)
925 IPC_MESSAGE_ROUTED2(ViewMsg_DragTargetDrop,
926 gfx::Point /* client_pt */,
927 gfx::Point /* screen_pt */)
928
929 // Notifies the renderer of updates in mouse position of an in-progress
930 // drag. if |ended| is true, then the user has ended the drag operation.
931 IPC_MESSAGE_ROUTED4(ViewMsg_DragSourceEndedOrMoved,
932 gfx::Point /* client_pt */,
933 gfx::Point /* screen_pt */,
934 bool /* ended */,
935 WebKit::WebDragOperation /* drag_operation */)
936
937 // Notifies the renderer that the system DoDragDrop call has ended.
938 IPC_MESSAGE_ROUTED0(ViewMsg_DragSourceSystemDragEnded)
939
940 // Used to tell a render view whether it should expose various bindings
941 // that allow JS content extended privileges. See BindingsPolicy for valid
942 // flag values.
943 IPC_MESSAGE_ROUTED1(ViewMsg_AllowBindings,
944 int /* enabled_bindings_flags */)
945
946 // Tell the renderer to add a property to the WebUI binding object. This
947 // only works if we allowed WebUI bindings.
948 IPC_MESSAGE_ROUTED2(ViewMsg_SetWebUIProperty,
949 std::string /* property_name */,
950 std::string /* property_value_json */)
951
952 // This message starts/stop monitoring the input method status of the focused
953 // edit control of a renderer process.
954 // Parameters
955 // * is_active (bool)
956 // Indicates if an input method is active in the browser process.
957 // The possible actions when a renderer process receives this message are
958 // listed below:
959 // Value Action
960 // true Start sending IPC message ViewHostMsg_ImeUpdateTextInputState
961 // to notify the input method status of the focused edit control.
962 // false Stop sending IPC message ViewHostMsg_ImeUpdateTextInputState.
963 IPC_MESSAGE_ROUTED1(ViewMsg_SetInputMethodActive,
964 bool /* is_active */)
965
966 // This message sends a string being composed with an input method.
967 IPC_MESSAGE_ROUTED4(
968 ViewMsg_ImeSetComposition,
969 string16, /* text */
970 std::vector<WebKit::WebCompositionUnderline>, /* underlines */
971 int, /* selectiont_start */
972 int /* selection_end */)
973
974 // This message confirms an ongoing composition.
975 IPC_MESSAGE_ROUTED1(ViewMsg_ImeConfirmComposition,
976 string16 /* text */)
977
978 // This passes a set of webkit preferences down to the renderer.
979 IPC_MESSAGE_ROUTED1(ViewMsg_UpdateWebPreferences, WebPreferences)
980
981 // Used to notify the render-view that the browser has received a reply for
982 // the Find operation and is interested in receiving the next one. This is
983 // used to prevent the renderer from spamming the browser process with
984 // results.
985 IPC_MESSAGE_ROUTED0(ViewMsg_FindReplyACK)
986
987 // Used to notify the render-view that we have received a target URL. Used
988 // to prevent target URLs spamming the browser.
989 IPC_MESSAGE_ROUTED0(ViewMsg_UpdateTargetURL_ACK)
990
991 // Sets the alternate error page URL (link doctor) for the renderer process.
992 IPC_MESSAGE_ROUTED1(ViewMsg_SetAltErrorPageURL, GURL)
993
994 // Install the first missing pluign.
995 IPC_MESSAGE_ROUTED0(ViewMsg_InstallMissingPlugin)
996
997 // Tells the renderer to empty its plugin list cache, optional reloading
998 // pages containing plugins.
999 IPC_MESSAGE_CONTROL1(ViewMsg_PurgePluginListCache,
1000 bool /* reload_pages */)
1001
1002 // Tells the render view to load all blocked plugins.
1003 IPC_MESSAGE_ROUTED0(ViewMsg_LoadBlockedPlugins)
1004
1005 // Tells the render view a prerendered page is about to be displayed.
1006 IPC_MESSAGE_ROUTED0(ViewMsg_DisplayPrerenderedPage)
1007
1008 IPC_MESSAGE_ROUTED1(ViewMsg_RunFileChooserResponse,
1009 std::vector<FilePath> /* selected files */)
1010
1011 // Used to instruct the RenderView to go into "view source" mode.
1012 IPC_MESSAGE_ROUTED0(ViewMsg_EnableViewSourceMode)
1013
1014 // Get all savable resource links from current webpage, include main
1015 // frame and sub-frame.
1016 IPC_MESSAGE_ROUTED1(ViewMsg_GetAllSavableResourceLinksForCurrentPage,
1017 GURL /* url of page which is needed to save */)
1018
1019 // Get html data by serializing all frames of current page with lists
1020 // which contain all resource links that have local copy.
1021 IPC_MESSAGE_ROUTED3(ViewMsg_GetSerializedHtmlDataForCurrentPageWithLocalLinks,
1022 std::vector<GURL> /* urls that have local copy */,
1023 std::vector<FilePath> /* paths of local copy */,
1024 FilePath /* local directory path */)
1025
1026 // Requests application info for the page. The renderer responds back with
1027 // ViewHostMsg_DidGetApplicationInfo.
1028 IPC_MESSAGE_ROUTED1(ViewMsg_GetApplicationInfo, int32 /*page_id*/)
1029
1030 // Requests the renderer to download the specified favicon image encode it as
1031 // PNG and send the PNG data back ala ViewHostMsg_DidDownloadFavIcon.
1032 IPC_MESSAGE_ROUTED3(ViewMsg_DownloadFavIcon,
1033 int /* identifier for the request */,
1034 GURL /* URL of the image */,
1035 int /* Size of the image. Normally 0, but set if you have
1036 a preferred image size to request, such as when
1037 downloading the favicon */)
1038
1039 // When a renderer sends a ViewHostMsg_Focus to the browser process,
1040 // the browser has the option of sending a ViewMsg_CantFocus back to
1041 // the renderer.
1042 IPC_MESSAGE_ROUTED0(ViewMsg_CantFocus)
1043
1044 // Instructs the renderer to invoke the frame's shouldClose method, which
1045 // runs the onbeforeunload event handler. Expects the result to be returned
1046 // via ViewHostMsg_ShouldClose.
1047 IPC_MESSAGE_ROUTED0(ViewMsg_ShouldClose)
1048
1049 // Instructs the renderer to close the current page, including running the
1050 // onunload event handler. See the struct in render_messages.h for more.
1051 //
1052 // Expects a ClosePage_ACK message when finished, where the parameters are
1053 // echoed back.
1054 IPC_MESSAGE_ROUTED1(ViewMsg_ClosePage,
1055 ViewMsg_ClosePage_Params)
1056
1057 // Asks the renderer to send back stats on the WebCore cache broken down by
1058 // resource types.
1059 IPC_MESSAGE_CONTROL0(ViewMsg_GetCacheResourceStats)
1060
1061 // Asks the renderer to send back Histograms.
1062 IPC_MESSAGE_CONTROL1(ViewMsg_GetRendererHistograms,
1063 int /* sequence number of Renderer Histograms. */)
1064
1065 #if defined(USE_TCMALLOC)
1066 // Asks the renderer to send back tcmalloc stats.
1067 IPC_MESSAGE_CONTROL0(ViewMsg_GetRendererTcmalloc)
1068 #endif
1069
1070 // Asks the renderer to send back V8 heap stats.
1071 IPC_MESSAGE_CONTROL0(ViewMsg_GetV8HeapStats)
1072
1073 // Notifies the renderer about ui theme changes
1074 IPC_MESSAGE_ROUTED0(ViewMsg_ThemeChanged)
1075
1076 // Notifies the renderer that a paint is to be generated for the rectangle
1077 // passed in.
1078 IPC_MESSAGE_ROUTED1(ViewMsg_Repaint,
1079 gfx::Size /* The view size to be repainted */)
1080
1081 // Posts a message to the renderer.
1082 IPC_MESSAGE_ROUTED3(ViewMsg_HandleMessageFromExternalHost,
1083 std::string /* The message */,
1084 std::string /* The origin */,
1085 std::string /* The target*/)
1086
1087 // Sent to the renderer when a popup window should no longer count against
1088 // the current popup count (either because it's not a popup or because it was
1089 // a generated by a user action or because a constrained popup got turned
1090 // into a full window).
1091 IPC_MESSAGE_ROUTED0(ViewMsg_DisassociateFromPopupCount)
1092
1093 // The browser sends this to a renderer process in response to a
1094 // GpuHostMsg_EstablishGpuChannel message.
1095 IPC_MESSAGE_CONTROL3(ViewMsg_GpuChannelEstablished,
1096 IPC::ChannelHandle /* handle to channel */,
1097 base::ProcessHandle /* renderer_process_for_gpu */,
1098 GPUInfo /* stats about GPU process*/)
1099
1100 // Notifies the renderer of the appcache that has been selected for a
1101 // a particular host. This is sent in reply to AppCacheMsg_SelectCache.
1102 IPC_MESSAGE_CONTROL2(AppCacheMsg_CacheSelected,
1103 int /* host_id */,
1104 appcache::AppCacheInfo)
1105
1106 // Notifies the renderer of an AppCache status change.
1107 IPC_MESSAGE_CONTROL2(AppCacheMsg_StatusChanged,
1108 std::vector<int> /* host_ids */,
1109 appcache::Status)
1110
1111 // Notifies the renderer of an AppCache event other than the
1112 // progress event which has a seperate message.
1113 IPC_MESSAGE_CONTROL2(AppCacheMsg_EventRaised,
1114 std::vector<int> /* host_ids */,
1115 appcache::EventID)
1116
1117 // Notifies the renderer of an AppCache progress event.
1118 IPC_MESSAGE_CONTROL4(AppCacheMsg_ProgressEventRaised,
1119 std::vector<int> /* host_ids */,
1120 GURL /* url being processed */,
1121 int /* total */,
1122 int /* complete */)
1123
1124 // Notifies the renderer of an AppCache error event.
1125 IPC_MESSAGE_CONTROL2(AppCacheMsg_ErrorEventRaised,
1126 std::vector<int> /* host_ids */,
1127 std::string /* error_message */)
1128
1129 // Notifies the renderer of an AppCache logging message.
1130 IPC_MESSAGE_CONTROL3(AppCacheMsg_LogMessage,
1131 int /* host_id */,
1132 int /* log_level */,
1133 std::string /* message */)
1134
1135 // Notifies the renderer of the fact that AppCache access was blocked.
1136 IPC_MESSAGE_CONTROL2(AppCacheMsg_ContentBlocked,
1137 int /* host_id */,
1138 GURL /* manifest_url */)
1139
1140 // Sent by the Browser process to alert a window about whether a it should
1141 // allow a scripted window.close(). The renderer assumes every new window is a
1142 // blocked popup until notified otherwise.
1143 IPC_MESSAGE_ROUTED1(ViewMsg_AllowScriptToClose,
1144 bool /* script_can_close */)
1145
1146 // Sent by AudioRendererHost to renderer to request an audio packet.
1147 IPC_MESSAGE_ROUTED2(ViewMsg_RequestAudioPacket,
1148 int /* stream id */,
1149 AudioBuffersState)
1150
1151 // Tell the renderer process that the audio stream has been created, renderer
1152 // process would be given a ShareMemoryHandle that it should write to from
1153 // then on.
1154 IPC_MESSAGE_ROUTED3(ViewMsg_NotifyAudioStreamCreated,
1155 int /* stream id */,
1156 base::SharedMemoryHandle /* handle */,
1157 uint32 /* length */)
1158
1159 // Tell the renderer process that a low latency audio stream has been created,
1160 // renderer process would be given a SyncSocket that it should write to from
1161 // then on.
1162 #if defined(OS_WIN)
1163 IPC_MESSAGE_ROUTED4(ViewMsg_NotifyLowLatencyAudioStreamCreated,
1164 int /* stream id */,
1165 base::SharedMemoryHandle /* handle */,
1166 base::SyncSocket::Handle /* socket handle */,
1167 uint32 /* length */)
1168 #else
1169 IPC_MESSAGE_ROUTED4(ViewMsg_NotifyLowLatencyAudioStreamCreated,
1170 int /* stream id */,
1171 base::SharedMemoryHandle /* handle */,
1172 base::FileDescriptor /* socket handle */,
1173 uint32 /* length */)
1174 #endif
1175
1176 // Notification message sent from AudioRendererHost to renderer for state
1177 // update after the renderer has requested a Create/Start/Close.
1178 IPC_MESSAGE_ROUTED2(ViewMsg_NotifyAudioStreamStateChanged,
1179 int /* stream id */,
1180 ViewMsg_AudioStreamState_Params /* new state */)
1181
1182 IPC_MESSAGE_ROUTED2(ViewMsg_NotifyAudioStreamVolume,
1183 int /* stream id */,
1184 double /* volume */)
1185
1186 // Notification that a move or resize renderer's containing window has
1187 // started.
1188 IPC_MESSAGE_ROUTED0(ViewMsg_MoveOrResizeStarted)
1189
1190 // The browser sends this message in response to all extension api calls.
1191 IPC_MESSAGE_ROUTED4(ViewMsg_ExtensionResponse,
1192 int /* request_id */,
1193 bool /* success */,
1194 std::string /* response */,
1195 std::string /* error */)
1196
1197 // This message is optionally routed. If used as a control message, it
1198 // will call a javascript function in every registered context in the
1199 // target process. If routed, it will be restricted to the contexts that
1200 // are part of the target RenderView.
1201 // If |extension_id| is non-empty, the function will be invoked only in
1202 // contexts owned by the extension. |args| is a list of primitive Value types
1203 // that are passed to the function.
1204 IPC_MESSAGE_ROUTED4(ViewMsg_ExtensionMessageInvoke,
1205 std::string /* extension_id */,
1206 std::string /* function_name */,
1207 ListValue /* args */,
1208 GURL /* event URL */)
1209
1210 // Tell the renderer process all known extension function names.
1211 IPC_MESSAGE_CONTROL1(ViewMsg_Extension_SetFunctionNames,
1212 std::vector<std::string>)
1213
1214 // TODO(aa): SetAPIPermissions, SetHostPermissions, and possibly
1215 // UpdatePageActions should be replaced with just sending additional data in
1216 // ExtensionLoaded. See: crbug.com/70516.
1217
1218 // Tell the renderer process which permissions the given extension has. See
1219 // Extension::Permissions for which elements correspond to which permissions.
1220 IPC_MESSAGE_CONTROL2(ViewMsg_Extension_SetAPIPermissions,
1221 std::string /* extension_id */,
1222 std::set<std::string> /* permissions */)
1223
1224 // Tell the renderer process which host permissions the given extension has.
1225 IPC_MESSAGE_CONTROL2(
1226 ViewMsg_Extension_SetHostPermissions,
1227 GURL /* source extension's origin */,
1228 std::vector<URLPattern> /* URLPatterns the extension can access */)
1229
1230 // Tell the renderer process all known page action ids for a particular
1231 // extension.
1232 IPC_MESSAGE_CONTROL2(ViewMsg_Extension_UpdatePageActions,
1233 std::string /* extension_id */,
1234 std::vector<std::string> /* page_action_ids */)
1235
1236 // Notifies the renderer that an extension was loaded in the browser.
1237 IPC_MESSAGE_CONTROL1(ViewMsg_ExtensionLoaded, ViewMsg_ExtensionLoaded_Params)
1238
1239 // Notifies the renderer that an extension was unloaded in the browser.
1240 IPC_MESSAGE_CONTROL1(ViewMsg_ExtensionUnloaded, std::string)
1241
1242 // Updates the scripting whitelist for extensions in the render process. This is
1243 // only used for testing.
1244 IPC_MESSAGE_CONTROL1(ViewMsg_Extension_SetScriptingWhitelist,
1245 Extension::ScriptingWhitelist /* extenison ids */)
1246
1247 // Changes the text direction of the currently selected input field (if any).
1248 IPC_MESSAGE_ROUTED1(ViewMsg_SetTextDirection,
1249 WebKit::WebTextDirection /* direction */)
1250
1251 // Tells the renderer to clear the focused node (if any).
1252 IPC_MESSAGE_ROUTED0(ViewMsg_ClearFocusedNode)
1253
1254 // Make the RenderView transparent and render it onto a custom background. The
1255 // background will be tiled in both directions if it is not large enough.
1256 IPC_MESSAGE_ROUTED1(ViewMsg_SetBackground,
1257 SkBitmap /* background */)
1258
1259 // Reply to ViewHostMsg_RequestMove, ViewHostMsg_ShowView, and
1260 // ViewHostMsg_ShowWidget to inform the renderer that the browser has
1261 // processed the move. The browser may have ignored the move, but it finished
1262 // processing. This is used because the renderer keeps a temporary cache of
1263 // the widget position while these asynchronous operations are in progress.
1264 IPC_MESSAGE_ROUTED0(ViewMsg_Move_ACK)
1265
1266 // Used to instruct the RenderView to send back updates to the preferred size.
1267 IPC_MESSAGE_ROUTED1(ViewMsg_EnablePreferredSizeChangedMode, int /*flags*/)
1268
1269 IPC_MESSAGE_ROUTED4(ViewMsg_SearchBoxChange,
1270 string16 /* value */,
1271 bool /* verbatim */,
1272 int /* selection_start */,
1273 int /* selection_end */)
1274 IPC_MESSAGE_ROUTED2(ViewMsg_SearchBoxSubmit,
1275 string16 /* value */,
1276 bool /* verbatim */)
1277 IPC_MESSAGE_ROUTED0(ViewMsg_SearchBoxCancel)
1278 IPC_MESSAGE_ROUTED1(ViewMsg_SearchBoxResize,
1279 gfx::Rect /* search_box_bounds */)
1280 IPC_MESSAGE_ROUTED4(ViewMsg_DetermineIfPageSupportsInstant,
1281 string16 /* value*/,
1282 bool /* verbatim */,
1283 int /* selection_start */,
1284 int /* selection_end */)
1285
1286 // Used to tell the renderer not to add scrollbars with height and
1287 // width below a threshold.
1288 IPC_MESSAGE_ROUTED1(ViewMsg_DisableScrollbarsForSmallWindows,
1289 gfx::Size /* disable_scrollbar_size_limit */)
1290
1291 // Used to inform the renderer that the browser has displayed its
1292 // requested notification.
1293 IPC_MESSAGE_ROUTED1(ViewMsg_PostDisplayToNotificationObject,
1294 int /* notification_id */)
1295
1296 // Used to inform the renderer that the browser has encountered an error
1297 // trying to display a notification.
1298 IPC_MESSAGE_ROUTED2(ViewMsg_PostErrorToNotificationObject,
1299 int /* notification_id */,
1300 string16 /* message */)
1301
1302 // Informs the renderer that the one if its notifications has closed.
1303 IPC_MESSAGE_ROUTED2(ViewMsg_PostCloseToNotificationObject,
1304 int /* notification_id */,
1305 bool /* by_user */)
1306
1307 // Informs the renderer that one of its notifications was clicked on.
1308 IPC_MESSAGE_ROUTED1(ViewMsg_PostClickToNotificationObject,
1309 int /* notification_id */)
1310
1311 // Informs the renderer that the one if its notifications has closed.
1312 IPC_MESSAGE_ROUTED1(ViewMsg_PermissionRequestDone,
1313 int /* request_id */)
1314
1315 // Activate/deactivate the RenderView (i.e., set its controls' tint
1316 // accordingly, etc.).
1317 IPC_MESSAGE_ROUTED1(ViewMsg_SetActive,
1318 bool /* active */)
1319
1320 #if defined(OS_MACOSX)
1321 // Let the RenderView know its window has changed visibility.
1322 IPC_MESSAGE_ROUTED1(ViewMsg_SetWindowVisibility,
1323 bool /* visibile */)
1324
1325 // Let the RenderView know its window's frame has changed.
1326 IPC_MESSAGE_ROUTED2(ViewMsg_WindowFrameChanged,
1327 gfx::Rect /* window frame */,
1328 gfx::Rect /* content view frame */)
1329
1330 // Tell the renderer that plugin IME has completed.
1331 IPC_MESSAGE_ROUTED2(ViewMsg_PluginImeCompositionCompleted,
1332 string16 /* text */,
1333 int /* plugin_id */)
1334 #endif
1335
1336 // Response message to ViewHostMsg_CreateShared/DedicatedWorker.
1337 // Sent when the worker has started.
1338 IPC_MESSAGE_ROUTED0(ViewMsg_WorkerCreated)
1339
1340 // Tell the renderer which browser window it's being attached to.
1341 IPC_MESSAGE_ROUTED1(ViewMsg_UpdateBrowserWindowId,
1342 int /* id of browser window */)
1343
1344 // Tell the renderer which type this view is.
1345 IPC_MESSAGE_ROUTED1(ViewMsg_NotifyRenderViewType,
1346 ViewType::Type /* view_type */)
1347
1348 // Notification that renderer should run some JavaScript code.
1349 IPC_MESSAGE_ROUTED1(ViewMsg_ExecuteCode,
1350 ViewMsg_ExecuteCode_Params)
1351
1352 // SpellChecker messages.
1353
1354 // Passes some initialization params to the renderer's spellchecker. This can
1355 // be called directly after startup or in (async) response to a
1356 // RequestDictionary ViewHost message.
1357 IPC_MESSAGE_CONTROL4(ViewMsg_SpellChecker_Init,
1358 IPC::PlatformFileForTransit /* bdict_file */,
1359 std::vector<std::string> /* custom_dict_words */,
1360 std::string /* language */,
1361 bool /* auto spell correct */)
1362
1363 // A word has been added to the custom dictionary; update the local custom
1364 // word list.
1365 IPC_MESSAGE_CONTROL1(ViewMsg_SpellChecker_WordAdded,
1366 std::string /* word */)
1367
1368 // Toggle the auto spell correct functionality.
1369 IPC_MESSAGE_CONTROL1(ViewMsg_SpellChecker_EnableAutoSpellCorrect,
1370 bool /* enable */)
1371
1372 // Executes custom context menu action that was provided from WebKit.
1373 IPC_MESSAGE_ROUTED2(ViewMsg_CustomContextMenuAction,
1374 webkit_glue::CustomContextMenuContext /* custom_context */,
1375 unsigned /* action */)
1376
1377 // Tells the renderer to translate the page contents from one language to
1378 // another.
1379 IPC_MESSAGE_ROUTED4(ViewMsg_TranslatePage,
1380 int /* page id */,
1381 std::string, /* the script injected in the page */
1382 std::string, /* BCP 47/RFC 5646 language code the page
1383 is in */
1384 std::string /* BCP 47/RFC 5646 language code to translate
1385 to */)
1386
1387 // Tells the renderer to revert the text of translated page to its original
1388 // contents.
1389 IPC_MESSAGE_ROUTED1(ViewMsg_RevertTranslation,
1390 int /* page id */)
1391
1392 // Reply in response to ViewHostMsg_Geolocation_RequestPermission.
1393 IPC_MESSAGE_ROUTED2(ViewMsg_Geolocation_PermissionSet,
1394 int /* bridge_id */,
1395 bool /* is_allowed */)
1396
1397 // Sent after ViewHostMsg_Geolocation_StartUpdating iff the user has granted
1398 // permission and we have a position available or an error occurs (such as
1399 // permission denied, position unavailable, etc.)
1400 IPC_MESSAGE_ROUTED1(ViewMsg_Geolocation_PositionUpdated,
1401 Geoposition /* geoposition */)
1402
1403 // Sent on process startup to indicate whether this process is running in
1404 // incognito mode.
1405 IPC_MESSAGE_CONTROL1(ViewMsg_SetIsIncognitoProcess,
1406 bool /* is_incognito_processs */)
1407
1408 // Enable accessibility in the renderer process.
1409 IPC_MESSAGE_ROUTED0(ViewMsg_EnableAccessibility)
1410
1411 // Relay a request from assistive technology to set focus to a given node.
1412 IPC_MESSAGE_ROUTED1(ViewMsg_SetAccessibilityFocus,
1413 int /* object id */)
1414
1415 // Relay a request from assistive technology to perform the default action
1416 // on a given node.
1417 IPC_MESSAGE_ROUTED1(ViewMsg_AccessibilityDoDefaultAction,
1418 int /* object id */)
1419
1420 // Tells the render view that a ViewHostMsg_AccessibilityNotifications
1421 // message was processed and it can send addition notifications.
1422 IPC_MESSAGE_ROUTED0(ViewMsg_AccessibilityNotifications_ACK)
1423
1424 // Notification that the device's orientation has changed.
1425 IPC_MESSAGE_ROUTED1(ViewMsg_DeviceOrientationUpdated,
1426 ViewMsg_DeviceOrientationUpdated_Params)
1427
1428 // The response to ViewHostMsg_AsyncOpenFile.
1429 IPC_MESSAGE_ROUTED3(ViewMsg_AsyncOpenFile_ACK,
1430 base::PlatformFileError /* error_code */,
1431 IPC::PlatformFileForTransit /* file descriptor */,
1432 int /* message_id */)
1433
1434 // A classification model for client-side phishing detection.
1435 // The given file contains an encoded safe_browsing::ClientSideModel
1436 // protocol buffer.
1437 IPC_MESSAGE_CONTROL1(ViewMsg_SetPhishingModel,
1438 IPC::PlatformFileForTransit /* model_file */)
1439
1440 // Request a DOM tree when a malware interstitial is shown.
1441 IPC_MESSAGE_ROUTED0(ViewMsg_GetMalwareDOMDetails)
1442
1443 // Tells the renderer to begin phishing detection for the given toplevel URL
1444 // which it has started loading.
1445 IPC_MESSAGE_ROUTED1(ViewMsg_StartPhishingDetection, GURL)
1446
1447 // External popup menus.
1448 IPC_MESSAGE_ROUTED1(ViewMsg_SelectPopupMenuItem,
1449 int /* selected index, -1 means no selection */)
1450
1451 // Sent in response to a ViewHostMsg_ContextMenu to let the renderer know that
1452 // the menu has been closed.
1453 IPC_MESSAGE_ROUTED1(ViewMsg_ContextMenuClosed,
1454 webkit_glue::CustomContextMenuContext /* custom_context */)
1455
1456 // Tells the renderer that the network state has changed and that
1457 // window.navigator.onLine should be updated for all WebViews.
1458 IPC_MESSAGE_ROUTED1(ViewMsg_NetworkStateChanged,
1459 bool /* online */)
1460
1461 //-----------------------------------------------------------------------------
1462 // TabContents messages
1463 // These are messages sent from the renderer to the browser process.
1464
1465 // Sent by the renderer when it is creating a new window. The browser creates
1466 // a tab for it and responds with a ViewMsg_CreatingNew_ACK. If route_id is
1467 // MSG_ROUTING_NONE, the view couldn't be created.
1468 IPC_SYNC_MESSAGE_CONTROL1_2(ViewHostMsg_CreateWindow,
1469 ViewHostMsg_CreateWindow_Params,
1470 int /* route_id */,
1471 int64 /* cloned_session_storage_namespace_id */)
1472
1473 // Similar to ViewHostMsg_CreateWindow, except used for sub-widgets, like
1474 // <select> dropdowns. This message is sent to the TabContents that
1475 // contains the widget being created.
1476 IPC_SYNC_MESSAGE_CONTROL2_1(ViewHostMsg_CreateWidget,
1477 int /* opener_id */,
1478 WebKit::WebPopupType /* popup type */,
1479 int /* route_id */)
1480
1481 // Similar to ViewHostMsg_CreateWidget except the widget is a full screen
1482 // window.
1483 IPC_SYNC_MESSAGE_CONTROL1_1(ViewHostMsg_CreateFullscreenWidget,
1484 int /* opener_id */,
1485 int /* route_id */)
1486
1487 // These three messages are sent to the parent RenderViewHost to display the
1488 // page/widget that was created by
1489 // CreateWindow/CreateWidget/CreateFullscreenWidget. routing_id
1490 // refers to the id that was returned from the Create message above.
1491 // The initial_position parameter is a rectangle in screen coordinates.
1492 //
1493 // FUTURE: there will probably be flags here to control if the result is
1494 // in a new window.
1495 IPC_MESSAGE_ROUTED4(ViewHostMsg_ShowView,
1496 int /* route_id */,
1497 WindowOpenDisposition /* disposition */,
1498 gfx::Rect /* initial_pos */,
1499 bool /* opened_by_user_gesture */)
1500
1501 IPC_MESSAGE_ROUTED2(ViewHostMsg_ShowWidget,
1502 int /* route_id */,
1503 gfx::Rect /* initial_pos */)
1504
1505 // Message to show a full screen widget.
1506 IPC_MESSAGE_ROUTED1(ViewHostMsg_ShowFullscreenWidget,
1507 int /* route_id */)
1508
1509 // Message to show a popup menu using native cocoa controls (Mac only).
1510 IPC_MESSAGE_ROUTED1(ViewHostMsg_ShowPopup,
1511 ViewHostMsg_ShowPopup_Params)
1512
1513 // This message is sent after ViewHostMsg_ShowView to cause the RenderView
1514 // to run in a modal fashion until it is closed.
1515 IPC_SYNC_MESSAGE_ROUTED0_0(ViewHostMsg_RunModal)
1516
1517 IPC_MESSAGE_CONTROL1(ViewHostMsg_UpdatedCacheStats,
1518 WebKit::WebCache::UsageStats /* stats */)
1519
1520 // Indicates the renderer is ready in response to a ViewMsg_New or
1521 // a ViewMsg_CreatingNew_ACK.
1522 IPC_MESSAGE_ROUTED0(ViewHostMsg_RenderViewReady)
1523
1524
1525 // Indicates the renderer process is gone. This actually is sent by the
1526 // browser process to itself, but keeps the interface cleaner.
1527 IPC_MESSAGE_ROUTED2(ViewHostMsg_RenderViewGone,
1528 int, /* this really is base::TerminationStatus */
1529 int /* exit_code */)
1530
1531 // Sent by the renderer process to request that the browser close the view.
1532 // This corresponds to the window.close() API, and the browser may ignore
1533 // this message. Otherwise, the browser will generates a ViewMsg_Close
1534 // message to close the view.
1535 IPC_MESSAGE_ROUTED0(ViewHostMsg_Close)
1536
1537 // Sent by the renderer process to request that the browser move the view.
1538 // This corresponds to the window.resizeTo() and window.moveTo() APIs, and
1539 // the browser may ignore this message.
1540 IPC_MESSAGE_ROUTED1(ViewHostMsg_RequestMove,
1541 gfx::Rect /* position */)
1542
1543 // Notifies the browser that a frame in the view has changed. This message
1544 // has a lot of parameters and is packed/unpacked by functions defined in
1545 // render_messages.h.
1546 IPC_MESSAGE_ROUTED1(ViewHostMsg_FrameNavigate,
1547 ViewHostMsg_FrameNavigate_Params)
1548
1549 // Notifies the browser that we have session history information.
1550 // page_id: unique ID that allows us to distinguish between history entries.
1551 IPC_MESSAGE_ROUTED2(ViewHostMsg_UpdateState,
1552 int32 /* page_id */,
1553 std::string /* state */)
1554
1555 // Notifies the browser that a document has been loaded in a frame.
1556 IPC_MESSAGE_ROUTED1(ViewHostMsg_DocumentLoadedInFrame,
1557 int64 /* frame_id */)
1558
1559 // Notifies the browser that a frame finished loading.
1560 IPC_MESSAGE_ROUTED1(ViewHostMsg_DidFinishLoad,
1561 int64 /* frame_id */)
1562
1563 // Changes the title for the page in the UI when the page is navigated or the
1564 // title changes.
1565 // TODO(darin): use a UTF-8 string to reduce data size
1566 IPC_MESSAGE_ROUTED2(ViewHostMsg_UpdateTitle, int32, std::wstring)
1567
1568 // Changes the icon url for the page in the UI.
1569 IPC_MESSAGE_ROUTED2(ViewHostMsg_UpdateIconURL, int32, GURL)
1570
1571 // Change the encoding name of the page in UI when the page has detected
1572 // proper encoding name.
1573 IPC_MESSAGE_ROUTED1(ViewHostMsg_UpdateEncoding,
1574 std::string /* new encoding name */)
1575
1576 // Notifies the browser that we want to show a destination url for a potential
1577 // action (e.g. when the user is hovering over a link).
1578 IPC_MESSAGE_ROUTED2(ViewHostMsg_UpdateTargetURL, int32, GURL)
1579
1580 // Sent when the renderer starts loading the page. This corresponds to
1581 // WebKit's notion of the throbber starting. Note that sometimes you may get
1582 // duplicates of these during a single load.
1583 IPC_MESSAGE_ROUTED0(ViewHostMsg_DidStartLoading)
1584
1585 // Sent when the renderer is done loading a page. This corresponds to WebKit's
1586 // notion of the throbber stopping.
1587 IPC_MESSAGE_ROUTED0(ViewHostMsg_DidStopLoading)
1588
1589 // Sent when the renderer main frame has made progress loading.
1590 IPC_MESSAGE_ROUTED1(ViewHostMsg_DidChangeLoadProgress,
1591 double /* load_progress */)
1592
1593 // Sent when the document element is available for the toplevel frame. This
1594 // happens after the page starts loading, but before all resources are
1595 // finished.
1596 IPC_MESSAGE_ROUTED0(ViewHostMsg_DocumentAvailableInMainFrame)
1597
1598 // Sent when after the onload handler has been invoked for the document
1599 // in the toplevel frame.
1600 IPC_MESSAGE_ROUTED1(ViewHostMsg_DocumentOnLoadCompletedInMainFrame,
1601 int32 /* page_id */)
1602
1603 // Sent when the renderer loads a resource from its memory cache.
1604 // The security info is non empty if the resource was originally loaded over
1605 // a secure connection.
1606 // Note: May only be sent once per URL per frame per committed load.
1607 IPC_MESSAGE_ROUTED2(ViewHostMsg_DidLoadResourceFromMemoryCache,
1608 GURL /* url */,
1609 std::string /* security info */)
1610
1611 // Sent when the renderer displays insecure content in a secure page.
1612 IPC_MESSAGE_ROUTED0(ViewHostMsg_DidDisplayInsecureContent)
1613
1614 // Sent when the renderer runs insecure content in a secure origin.
1615 IPC_MESSAGE_ROUTED2(ViewHostMsg_DidRunInsecureContent,
1616 std::string /* security_origin */,
1617 GURL /* target URL */)
1618
1619 // Sent when the renderer starts a provisional load for a frame.
1620 IPC_MESSAGE_ROUTED3(ViewHostMsg_DidStartProvisionalLoadForFrame,
1621 int64 /* frame_id */,
1622 bool /* true if it is the main frame */,
1623 GURL /* url */)
1624
1625 // Sent when the renderer fails a provisional load with an error.
1626 IPC_MESSAGE_ROUTED5(ViewHostMsg_DidFailProvisionalLoadWithError,
1627 int64 /* frame_id */,
1628 bool /* true if it is the main frame */,
1629 int /* error_code */,
1630 GURL /* url */,
1631 bool /* true if the failure is the result of
1632 navigating to a POST again and we're going to
1633 show the POST interstitial */)
1634
1635 // Tells the render view that a ViewHostMsg_PaintAtSize message was
1636 // processed, and the DIB is ready for use. |tag| has the same value that
1637 // the tag sent along with ViewMsg_PaintAtSize.
1638 IPC_MESSAGE_ROUTED2(ViewHostMsg_PaintAtSize_ACK,
1639 int /* tag */,
1640 gfx::Size /* size */)
1641
1642 // Sent to update part of the view. In response to this message, the host
1643 // generates a ViewMsg_UpdateRect_ACK message.
1644 IPC_MESSAGE_ROUTED1(ViewHostMsg_UpdateRect,
1645 ViewHostMsg_UpdateRect_Params)
1646
1647 // Sent by the renderer when accelerated compositing is enabled or disabled to
1648 // notify the browser whether or not is should do painting.
1649 IPC_MESSAGE_ROUTED1(ViewHostMsg_DidActivateAcceleratedCompositing,
1650 bool /* true if the accelerated compositor is actve */)
1651
1652 // Acknowledges receipt of a ViewMsg_HandleInputEvent message.
1653 // Payload is a WebInputEvent::Type which is the type of the event, followed
1654 // by an optional WebInputEvent which is provided only if the event was not
1655 // processed.
1656 IPC_MESSAGE_ROUTED0(ViewHostMsg_HandleInputEvent_ACK)
1657
1658 IPC_MESSAGE_ROUTED0(ViewHostMsg_Focus)
1659 IPC_MESSAGE_ROUTED0(ViewHostMsg_Blur)
1660
1661 // Message sent from renderer to the browser when focus changes inside the
1662 // webpage. The parameter says whether the newly focused element needs
1663 // keyboard input (true for textfields, text areas and content editable divs).
1664 IPC_MESSAGE_ROUTED1(ViewHostMsg_FocusedNodeChanged,
1665 bool /* is_editable_node */)
1666
1667 // Returns the window location of the given window.
1668 // TODO(shess): Provide a mapping from reply_msg->routing_id() to
1669 // HWND so that we can eliminate the NativeViewId parameter.
1670 IPC_SYNC_MESSAGE_ROUTED1_1(ViewHostMsg_GetWindowRect,
1671 gfx::NativeViewId /* window */,
1672 gfx::Rect /* Out: Window location */)
1673
1674 IPC_MESSAGE_ROUTED1(ViewHostMsg_SetCursor, WebCursor)
1675 // Result of string search in the page.
1676 // Response to ViewMsg_Find with the results of the requested find-in-page
1677 // search, the number of matches found and the selection rect (in screen
1678 // coordinates) for the string found. If |final_update| is false, it signals
1679 // that this is not the last Find_Reply message - more will be sent as the
1680 // scoping effort continues.
1681 IPC_MESSAGE_ROUTED5(ViewHostMsg_Find_Reply,
1682 int /* request_id */,
1683 int /* number of matches */,
1684 gfx::Rect /* selection_rect */,
1685 int /* active_match_ordinal */,
1686 bool /* final_update */)
1687
1688 // Used to set a cookie. The cookie is set asynchronously, but will be
1689 // available to a subsequent ViewHostMsg_GetCookies request.
1690 IPC_MESSAGE_ROUTED3(ViewHostMsg_SetCookie,
1691 GURL /* url */,
1692 GURL /* first_party_for_cookies */,
1693 std::string /* cookie */)
1694
1695 // Used to get cookies for the given URL. This may block waiting for a
1696 // previous SetCookie message to be processed.
1697 IPC_SYNC_MESSAGE_ROUTED2_1(ViewHostMsg_GetCookies,
1698 GURL /* url */,
1699 GURL /* first_party_for_cookies */,
1700 std::string /* cookies */)
1701
1702 // Used to get raw cookie information for the given URL. This may block
1703 // waiting for a previous SetCookie message to be processed.
1704 IPC_SYNC_MESSAGE_ROUTED2_1(ViewHostMsg_GetRawCookies,
1705 GURL /* url */,
1706 GURL /* first_party_for_cookies */,
1707 std::vector<webkit_glue::WebCookie>
1708 /* raw_cookies */)
1709
1710 // Used to delete cookie for the given URL and name
1711 IPC_SYNC_MESSAGE_CONTROL2_0(ViewHostMsg_DeleteCookie,
1712 GURL /* url */,
1713 std::string /* cookie_name */)
1714
1715 // Used to check if cookies are enabled for the given URL. This may block
1716 // waiting for a previous SetCookie message to be processed.
1717 IPC_SYNC_MESSAGE_ROUTED2_1(ViewHostMsg_CookiesEnabled,
1718 GURL /* url */,
1719 GURL /* first_party_for_cookies */,
1720 bool /* cookies_enabled */)
1721
1722 // Used to get the list of plugins
1723 IPC_SYNC_MESSAGE_CONTROL1_1(ViewHostMsg_GetPlugins,
1724 bool /* refresh*/,
1725 std::vector<webkit::npapi::WebPluginInfo> /* plugins */)
1726
1727 // Return information about a plugin for the given URL and MIME
1728 // type. If there is no matching plugin, |found| is false. If
1729 // |enabled| in the WebPluginInfo struct is false, the plug-in is
1730 // treated as if it was not installed at all.
1731 //
1732 // If |setting| is set to CONTENT_SETTING_BLOCK, the plug-in is
1733 // blocked by the content settings for |policy_url|. It still
1734 // appears in navigator.plugins in Javascript though, and can be
1735 // loaded via click-to-play.
1736 //
1737 // If |setting| is set to CONTENT_SETTING_ALLOW, the domain is
1738 // explicitly white-listed for the plug-in, or the user has chosen
1739 // not to block nonsandboxed plugins.
1740 //
1741 // If |setting| is set to CONTENT_SETTING_DEFAULT, the plug-in is
1742 // neither blocked nor white-listed, which means that it's allowed
1743 // by default and can still be blocked if it's non-sandboxed.
1744 //
1745 // |actual_mime_type| is the actual mime type supported by the
1746 // plugin found that match the URL given (one for each item in
1747 // |info|).
1748 IPC_SYNC_MESSAGE_CONTROL4_4(ViewHostMsg_GetPluginInfo,
1749 int /* routing_id */,
1750 GURL /* url */,
1751 GURL /* policy_url */,
1752 std::string /* mime_type */,
1753 bool /* found */,
1754 webkit::npapi::WebPluginInfo /* plugin info */,
1755 ContentSetting /* setting */,
1756 std::string /* actual_mime_type */)
1757
1758 // Requests spellcheck for a word.
1759 IPC_SYNC_MESSAGE_ROUTED2_2(ViewHostMsg_SpellCheck,
1760 string16 /* word to check */,
1761 int /* document tag*/,
1762 int /* misspell location */,
1763 int /* misspell length */)
1764
1765 // Asks the browser for a unique document tag.
1766 IPC_SYNC_MESSAGE_ROUTED0_1(ViewHostMsg_GetDocumentTag,
1767 int /* the tag */)
1768
1769
1770 // This message tells the spellchecker that a document, identified by an int
1771 // tag, has been closed and all of the ignored words for that document can be
1772 // forgotten.
1773 IPC_MESSAGE_ROUTED1(ViewHostMsg_DocumentWithTagClosed,
1774 int /* the tag */)
1775
1776 // Tells the browser to display or not display the SpellingPanel
1777 IPC_MESSAGE_ROUTED1(ViewHostMsg_ShowSpellingPanel,
1778 bool /* if true, then show it, otherwise hide it*/)
1779
1780 // Tells the browser to update the spelling panel with the given word.
1781 IPC_MESSAGE_ROUTED1(ViewHostMsg_UpdateSpellingPanelWithMisspelledWord,
1782 string16 /* the word to update the panel with */)
1783
1784 // Tells the browser that content in the current page was blocked due to the
1785 // user's content settings.
1786 IPC_MESSAGE_ROUTED2(ViewHostMsg_ContentBlocked,
1787 ContentSettingsType, /* type of blocked content */
1788 std::string /* resource identifier */)
1789
1790 // Tells the browser that a specific Appcache manifest in the current page
1791 // was accessed.
1792 IPC_MESSAGE_ROUTED2(ViewHostMsg_AppCacheAccessed,
1793 GURL /* manifest url */,
1794 bool /* blocked by policy */)
1795
1796 // Tells the browser that a specific Web database in the current page was
1797 // accessed.
1798 IPC_MESSAGE_ROUTED5(ViewHostMsg_WebDatabaseAccessed,
1799 GURL /* origin url */,
1800 string16 /* database name */,
1801 string16 /* database display name */,
1802 unsigned long /* estimated size */,
1803 bool /* blocked by policy */)
1804
1805 // Initiates a download based on user actions like 'ALT+click'.
1806 IPC_MESSAGE_ROUTED2(ViewHostMsg_DownloadUrl,
1807 GURL /* url */,
1808 GURL /* referrer */)
1809
1810 // Used to go to the session history entry at the given offset (ie, -1 will
1811 // return the "back" item).
1812 IPC_MESSAGE_ROUTED1(ViewHostMsg_GoToEntryAtOffset,
1813 int /* offset (from current) of history item to get */)
1814
1815 IPC_SYNC_MESSAGE_ROUTED4_2(ViewHostMsg_RunJavaScriptMessage,
1816 std::wstring /* in - alert message */,
1817 std::wstring /* in - default prompt */,
1818 GURL /* in - originating page URL */,
1819 int /* in - dialog flags */,
1820 bool /* out - success */,
1821 std::wstring /* out - prompt field */)
1822
1823 // Provides the contents for the given page that was loaded recently.
1824 IPC_MESSAGE_ROUTED5(ViewHostMsg_PageContents,
1825 GURL /* URL of the page */,
1826 int32 /* page id */,
1827 string16 /* page contents */,
1828 std::string /* page ISO639_1 language code */,
1829 bool /* whether the page can be translated */)
1830
1831 // Used to get the extension message bundle.
1832 IPC_SYNC_MESSAGE_CONTROL1_1(ViewHostMsg_GetExtensionMessageBundle,
1833 std::string /* extension id */,
1834 SubstitutionMap /* message bundle */)
1835
1836 // Specifies the URL as the first parameter (a wstring) and thumbnail as
1837 // binary data as the second parameter.
1838 IPC_MESSAGE_ROUTED3(ViewHostMsg_Thumbnail,
1839 GURL /* url */,
1840 ThumbnailScore /* score */,
1841 SkBitmap /* bitmap */)
1842
1843 // Send a snapshot of the tab contents to the render host.
1844 IPC_MESSAGE_ROUTED1(ViewHostMsg_Snapshot,
1845 SkBitmap /* bitmap */)
1846
1847 // Notification that the url for the favicon of a site has been determined.
1848 IPC_MESSAGE_ROUTED2(ViewHostMsg_UpdateFavIconURL,
1849 int32 /* page_id */,
1850 GURL /* url of the favicon */)
1851
1852 // Used to tell the parent that the user right clicked on an area of the
1853 // content area, and a context menu should be shown for it. The params
1854 // object contains information about the node(s) that were selected when the
1855 // user right clicked.
1856 IPC_MESSAGE_ROUTED1(ViewHostMsg_ContextMenu, ContextMenuParams)
1857
1858 // Requests that the given URL be opened in the specified manner.
1859 IPC_MESSAGE_ROUTED3(ViewHostMsg_OpenURL,
1860 GURL /* url */,
1861 GURL /* referrer */,
1862 WindowOpenDisposition /* disposition */)
1863
1864 // Notifies that the preferred size of the content changed.
1865 IPC_MESSAGE_ROUTED1(ViewHostMsg_DidContentsPreferredSizeChange,
1866 gfx::Size /* pref_size */)
1867
1868 // Following message is used to communicate the values received by the
1869 // callback binding the JS to Cpp.
1870 // An instance of browser that has an automation host listening to it can
1871 // have a javascript send a native value (string, number, boolean) to the
1872 // listener in Cpp. (DomAutomationController)
1873 IPC_MESSAGE_ROUTED2(ViewHostMsg_DomOperationResponse,
1874 std::string /* json_string */,
1875 int /* automation_id */)
1876
1877 // A message from HTML-based UI. When (trusted) Javascript calls
1878 // send(message, args), this message is sent to the browser.
1879 IPC_MESSAGE_ROUTED3(ViewHostMsg_WebUISend,
1880 GURL /* source_url */,
1881 std::string /* message */,
1882 std::string /* args (as a JSON string) */)
1883
1884 // A message for an external host.
1885 IPC_MESSAGE_ROUTED3(ViewHostMsg_ForwardMessageToExternalHost,
1886 std::string /* message */,
1887 std::string /* origin */,
1888 std::string /* target */)
1889
1890 // A renderer sends this to the browser process when it wants to
1891 // create a plugin. The browser will create the plugin process if
1892 // necessary, and will return a handle to the channel on success.
1893 // On error an empty string is returned.
1894 IPC_SYNC_MESSAGE_CONTROL3_2(ViewHostMsg_OpenChannelToPlugin,
1895 int /* routing_id */,
1896 GURL /* url */,
1897 std::string /* mime_type */,
1898 IPC::ChannelHandle /* channel_handle */,
1899 webkit::npapi::WebPluginInfo /* info */)
1900
1901 // A renderer sends this to the browser process when it wants to
1902 // create a pepper plugin. The browser will create the plugin process if
1903 // necessary, and will return a handle to the channel on success.
1904 // On error an empty string is returned.
1905 IPC_SYNC_MESSAGE_CONTROL1_2(ViewHostMsg_OpenChannelToPepperPlugin,
1906 FilePath /* path */,
1907 base::ProcessHandle /* plugin_process_handle */,
1908 IPC::ChannelHandle /* handle to channel */)
1909
1910 // A renderer sends this to the browser process when it wants to start
1911 // a new instance of the Native Client process. The browser will launch
1912 // the process and return a handle to an IMC channel.
1913 IPC_SYNC_MESSAGE_CONTROL2_3(ViewHostMsg_LaunchNaCl,
1914 std::wstring /* url for the NaCl module */,
1915 int /* socket count */,
1916 std::vector<nacl::FileDescriptor>
1917 /* imc channel handles */,
1918 base::ProcessHandle /* NaCl process handle */,
1919 base::ProcessId /* NaCl process id */)
1920
1921 #if defined(USE_X11)
1922 // A renderer sends this when it needs a browser-side widget for
1923 // hosting a windowed plugin. id is the XID of the plugin window, for which
1924 // the container is created.
1925 IPC_SYNC_MESSAGE_ROUTED1_0(ViewHostMsg_CreatePluginContainer,
1926 gfx::PluginWindowHandle /* id */)
1927
1928 // Destroy a plugin container previously created using CreatePluginContainer.
1929 // id is the XID of the plugin window corresponding to the container that is
1930 // to be destroyed.
1931 IPC_SYNC_MESSAGE_ROUTED1_0(ViewHostMsg_DestroyPluginContainer,
1932 gfx::PluginWindowHandle /* id */)
1933 #endif
1934
1935 // Clipboard IPC messages
1936
1937 // This message is used when the object list does not contain a bitmap.
1938 IPC_MESSAGE_CONTROL1(ViewHostMsg_ClipboardWriteObjectsAsync,
1939 ui::Clipboard::ObjectMap /* objects */)
1940 // This message is used when the object list contains a bitmap.
1941 // It is synchronized so that the renderer knows when it is safe to
1942 // free the shared memory used to transfer the bitmap.
1943 IPC_SYNC_MESSAGE_CONTROL2_0(ViewHostMsg_ClipboardWriteObjectsSync,
1944 ui::Clipboard::ObjectMap /* objects */,
1945 base::SharedMemoryHandle /* bitmap handle */)
1946 IPC_SYNC_MESSAGE_CONTROL2_1(ViewHostMsg_ClipboardIsFormatAvailable,
1947 std::string /* format */,
1948 ui::Clipboard::Buffer /* buffer */,
1949 bool /* result */)
1950 IPC_SYNC_MESSAGE_CONTROL1_1(ViewHostMsg_ClipboardReadText,
1951 ui::Clipboard::Buffer /* buffer */,
1952 string16 /* result */)
1953 IPC_SYNC_MESSAGE_CONTROL1_1(ViewHostMsg_ClipboardReadAsciiText,
1954 ui::Clipboard::Buffer /* buffer */,
1955 std::string /* result */)
1956 IPC_SYNC_MESSAGE_CONTROL1_2(ViewHostMsg_ClipboardReadHTML,
1957 ui::Clipboard::Buffer /* buffer */,
1958 string16 /* markup */,
1959 GURL /* url */)
1960
1961 IPC_SYNC_MESSAGE_CONTROL1_3(ViewHostMsg_ClipboardReadAvailableTypes,
1962 ui::Clipboard::Buffer /* buffer */,
1963 bool /* result */,
1964 std::vector<string16> /* types */,
1965 bool /* contains filenames */)
1966 IPC_SYNC_MESSAGE_CONTROL2_3(ViewHostMsg_ClipboardReadData,
1967 ui::Clipboard::Buffer /* buffer */,
1968 string16 /* type */,
1969 bool /* succeeded */,
1970 string16 /* data */,
1971 string16 /* metadata */)
1972 IPC_SYNC_MESSAGE_CONTROL1_2(ViewHostMsg_ClipboardReadFilenames,
1973 ui::Clipboard::Buffer /* buffer */,
1974 bool /* result */,
1975 std::vector<string16> /* filenames */)
1976
1977 #if defined(OS_MACOSX)
1978 IPC_MESSAGE_CONTROL1(ViewHostMsg_ClipboardFindPboardWriteStringAsync,
1979 string16 /* text */)
1980
1981 // Request that the browser load a font into shared memory for us.
1982 IPC_SYNC_MESSAGE_CONTROL1_2(ViewHostMsg_LoadFont,
1983 FontDescriptor /* font to load */,
1984 uint32 /* buffer size */,
1985 base::SharedMemoryHandle /* font data */)
1986 #endif
1987
1988 #if defined(OS_WIN)
1989 // Request that the given font be loaded by the browser so it's cached by the
1990 // OS. Please see ChildProcessHost::PreCacheFont for details.
1991 IPC_SYNC_MESSAGE_CONTROL1_0(ViewHostMsg_PreCacheFont,
1992 LOGFONT /* font data */)
1993 #endif // defined(OS_WIN)
1994
1995 // Returns WebScreenInfo corresponding to the view.
1996 // TODO(shess): Provide a mapping from reply_msg->routing_id() to
1997 // HWND so that we can eliminate the NativeViewId parameter.
1998 IPC_SYNC_MESSAGE_ROUTED1_1(ViewHostMsg_GetScreenInfo,
1999 gfx::NativeViewId /* view */,
2000 WebKit::WebScreenInfo /* results */)
2001
2002 // Send the tooltip text for the current mouse position to the browser.
2003 IPC_MESSAGE_ROUTED2(ViewHostMsg_SetTooltipText,
2004 std::wstring /* tooltip text string */,
2005 WebKit::WebTextDirection /* text direction hint */)
2006
2007 // Notification that the text selection has changed.
2008 IPC_MESSAGE_ROUTED1(ViewHostMsg_SelectionChanged,
2009 std::string /* currently selected text */)
2010
2011 // Asks the browser to display the file chooser. The result is returned in a
2012 // ViewHost_RunFileChooserResponse message.
2013 IPC_MESSAGE_ROUTED1(ViewHostMsg_RunFileChooser,
2014 ViewHostMsg_RunFileChooser_Params)
2015
2016 // Used to tell the parent the user started dragging in the content area. The
2017 // WebDropData struct contains contextual information about the pieces of the
2018 // page the user dragged. The parent uses this notification to initiate a
2019 // drag session at the OS level.
2020 IPC_MESSAGE_ROUTED4(ViewHostMsg_StartDragging,
2021 WebDropData /* drop_data */,
2022 WebKit::WebDragOperationsMask /* ops_allowed */,
2023 SkBitmap /* image */,
2024 gfx::Point /* image_offset */)
2025
2026 // The page wants to update the mouse cursor during a drag & drop operation.
2027 // |is_drop_target| is true if the mouse is over a valid drop target.
2028 IPC_MESSAGE_ROUTED1(ViewHostMsg_UpdateDragCursor,
2029 WebKit::WebDragOperation /* drag_operation */)
2030
2031 // Tells the browser to move the focus to the next (previous if reverse is
2032 // true) focusable element.
2033 IPC_MESSAGE_ROUTED1(ViewHostMsg_TakeFocus, bool /* reverse */)
2034
2035 // Notification that the page has an OpenSearch description document
2036 // associated with it.
2037 IPC_MESSAGE_ROUTED3(ViewHostMsg_PageHasOSDD,
2038 int32 /* page_id */,
2039 GURL /* url of OS description document */,
2040 ViewHostMsg_PageHasOSDD_Type)
2041
2042 // Find out if the given url's security origin is installed as a search
2043 // provider.
2044 IPC_SYNC_MESSAGE_ROUTED2_1(
2045 ViewHostMsg_GetSearchProviderInstallState,
2046 GURL /* page url */,
2047 GURL /* inquiry url */,
2048 ViewHostMsg_GetSearchProviderInstallState_Params /* install */)
2049
2050 // Required for updating text input state.
2051 IPC_MESSAGE_ROUTED2(ViewHostMsg_ImeUpdateTextInputState,
2052 WebKit::WebTextInputType, /* text_input_type */
2053 gfx::Rect /* caret_rect */)
2054
2055 // Required for cancelling an ongoing input method composition.
2056 IPC_MESSAGE_ROUTED0(ViewHostMsg_ImeCancelComposition)
2057
2058 // Tells the browser that the renderer is done calculating the number of
2059 // rendered pages according to the specified settings.
2060 IPC_MESSAGE_ROUTED2(ViewHostMsg_DidGetPrintedPagesCount,
2061 int /* rendered document cookie */,
2062 int /* number of rendered pages */)
2063
2064 // Sends back to the browser the rendered "printed page" that was requested by
2065 // a ViewMsg_PrintPage message or from scripted printing. The memory handle in
2066 // this message is already valid in the browser process.
2067 IPC_MESSAGE_ROUTED1(ViewHostMsg_DidPrintPage,
2068 ViewHostMsg_DidPrintPage_Params /* page content */)
2069
2070 // The renderer wants to know the default print settings.
2071 IPC_SYNC_MESSAGE_ROUTED0_1(ViewHostMsg_GetDefaultPrintSettings,
2072 ViewMsg_Print_Params /* default_settings */)
2073
2074 // The renderer wants to update the current print settings with new
2075 // |job_settings|.
2076 IPC_SYNC_MESSAGE_ROUTED2_1(ViewHostMsg_UpdatePrintSettings,
2077 int /* document_cookie */,
2078 DictionaryValue /* job_settings */,
2079 ViewMsg_Print_Params /* current_settings */)
2080
2081 // It's the renderer that controls the printing process when it is generated
2082 // by javascript. This step is about showing UI to the user to select the
2083 // final print settings. The output parameter is the same as
2084 // ViewMsg_PrintPages which is executed implicitly.
2085 IPC_SYNC_MESSAGE_ROUTED1_1(ViewHostMsg_ScriptedPrint,
2086 ViewHostMsg_ScriptedPrint_Params,
2087 ViewMsg_PrintPages_Params
2088 /* settings chosen by the user*/)
2089
2090 // WebKit and JavaScript error messages to log to the console
2091 // or debugger UI.
2092 IPC_MESSAGE_ROUTED3(ViewHostMsg_AddMessageToConsole,
2093 std::wstring, /* msg */
2094 int32, /* line number */
2095 std::wstring /* source id */)
2096
2097 // Stores new inspector setting in the profile.
2098 IPC_MESSAGE_ROUTED2(ViewHostMsg_UpdateInspectorSetting,
2099 std::string, /* key */
2100 std::string /* value */)
2101
2102 // Wraps an IPC message that's destined to the DevToolsClient on
2103 // DevToolsAgent->browser hop.
2104 IPC_MESSAGE_ROUTED1(ViewHostMsg_ForwardToDevToolsClient,
2105 IPC::Message /* one of DevToolsClientMsg_XXX types */)
2106
2107 // Wraps an IPC message that's destined to the DevToolsAgent on
2108 // DevToolsClient->browser hop.
2109 IPC_MESSAGE_ROUTED1(ViewHostMsg_ForwardToDevToolsAgent,
2110 IPC::Message /* one of DevToolsAgentMsg_XXX types */)
2111
2112 // Activates (brings to the front) corresponding dev tools window.
2113 IPC_MESSAGE_ROUTED0(ViewHostMsg_ActivateDevToolsWindow)
2114
2115 // Closes dev tools window that is inspecting current render_view_host.
2116 IPC_MESSAGE_ROUTED0(ViewHostMsg_CloseDevToolsWindow)
2117
2118 // Attaches dev tools window that is inspecting current render_view_host.
2119 IPC_MESSAGE_ROUTED0(ViewHostMsg_RequestDockDevToolsWindow)
2120
2121 // Detaches dev tools window that is inspecting current render_view_host.
2122 IPC_MESSAGE_ROUTED0(ViewHostMsg_RequestUndockDevToolsWindow)
2123
2124 // Updates runtime features store in devtools manager in order to support
2125 // cross-navigation instrumentation.
2126 IPC_MESSAGE_ROUTED2(ViewHostMsg_DevToolsRuntimePropertyChanged,
2127 std::string /* name */,
2128 std::string /* value */)
2129
2130 // Send back a string to be recorded by UserMetrics.
2131 IPC_MESSAGE_CONTROL1(ViewHostMsg_UserMetricsRecordAction,
2132 std::string /* action */)
2133
2134 // Send back histograms as vector of pickled-histogram strings.
2135 IPC_MESSAGE_CONTROL2(ViewHostMsg_RendererHistograms,
2136 int, /* sequence number of Renderer Histograms. */
2137 std::vector<std::string>)
2138
2139 #if defined USE_TCMALLOC
2140 // Send back tcmalloc stats output.
2141 IPC_MESSAGE_CONTROL2(ViewHostMsg_RendererTcmalloc,
2142 int /* pid */,
2143 std::string /* tcmalloc debug output */)
2144 #endif
2145
2146 // Sends back stats about the V8 heap.
2147 IPC_MESSAGE_CONTROL2(ViewHostMsg_V8HeapStats,
2148 int /* size of heap (allocated from the OS) */,
2149 int /* bytes in use */)
2150
2151 // Request for a DNS prefetch of the names in the array.
2152 // NameList is typedef'ed std::vector<std::string>
2153 IPC_MESSAGE_CONTROL1(ViewHostMsg_DnsPrefetch,
2154 std::vector<std::string> /* hostnames */)
2155
2156 // Notifies when default plugin updates status of the missing plugin.
2157 IPC_MESSAGE_ROUTED1(ViewHostMsg_MissingPluginStatus,
2158 int /* status */)
2159
2160 // Sent by the renderer process to indicate that a plugin instance has
2161 // crashed.
2162 IPC_MESSAGE_ROUTED1(ViewHostMsg_CrashedPlugin,
2163 FilePath /* plugin_path */)
2164
2165 // Notifies when a plugin couldn't be loaded because it's outdated.
2166 IPC_MESSAGE_ROUTED2(ViewHostMsg_BlockedOutdatedPlugin,
2167 string16, /* name */
2168 GURL /* update_url */)
2169
2170 // Displays a JavaScript out-of-memory message in the infobar.
2171 IPC_MESSAGE_ROUTED0(ViewHostMsg_JSOutOfMemory)
2172
2173 // Displays a box to confirm that the user wants to navigate away from the
2174 // page. Replies true if yes, false otherwise, the reply string is ignored,
2175 // but is included so that we can use OnJavaScriptMessageBoxClosed.
2176 IPC_SYNC_MESSAGE_ROUTED2_2(ViewHostMsg_RunBeforeUnloadConfirm,
2177 GURL, /* in - originating frame URL */
2178 std::wstring /* in - alert message */,
2179 bool /* out - success */,
2180 std::wstring /* out - This is ignored.*/)
2181
2182 IPC_MESSAGE_ROUTED3(ViewHostMsg_SendCurrentPageAllSavableResourceLinks,
2183 std::vector<GURL> /* all savable resource links */,
2184 std::vector<GURL> /* all referrers of resource links */,
2185 std::vector<GURL> /* all frame links */)
2186
2187 IPC_MESSAGE_ROUTED3(ViewHostMsg_SendSerializedHtmlData,
2188 GURL /* frame's url */,
2189 std::string /* data buffer */,
2190 int32 /* complete status */)
2191
2192 IPC_SYNC_MESSAGE_ROUTED4_1(ViewHostMsg_ShowModalHTMLDialog,
2193 GURL /* url */,
2194 int /* width */,
2195 int /* height */,
2196 std::string /* json_arguments */,
2197 std::string /* json_retval */)
2198
2199 IPC_MESSAGE_ROUTED2(ViewHostMsg_DidGetApplicationInfo,
2200 int32 /* page_id */,
2201 WebApplicationInfo)
2202
2203 // Sent by the renderer to implement chrome.app.installApplication().
2204 IPC_MESSAGE_ROUTED1(ViewHostMsg_InstallApplication,
2205 WebApplicationInfo)
2206
2207 // Provides the result from running OnMsgShouldClose. |proceed| matches the
2208 // return value of the the frame's shouldClose method (which includes the
2209 // onbeforeunload handler): true if the user decided to proceed with leaving
2210 // the page.
2211 IPC_MESSAGE_ROUTED1(ViewHostMsg_ShouldClose_ACK,
2212 bool /* proceed */)
2213
2214 // Indicates that the current page has been closed, after a ClosePage
2215 // message. The parameters are just echoed from the ClosePage request.
2216 IPC_MESSAGE_ROUTED1(ViewHostMsg_ClosePage_ACK,
2217 ViewMsg_ClosePage_Params)
2218
2219 IPC_MESSAGE_ROUTED4(ViewHostMsg_DidDownloadFavIcon,
2220 int /* Identifier of the request */,
2221 GURL /* URL of the image */,
2222 bool /* true if there was a network error */,
2223 SkBitmap /* image_data */)
2224
2225 // Get the CPBrowsingContext associated with the renderer sending this
2226 // message.
2227 IPC_SYNC_MESSAGE_CONTROL0_1(ViewHostMsg_GetCPBrowsingContext,
2228 uint32 /* context */)
2229
2230 IPC_MESSAGE_CONTROL1(ViewHostMsg_RevealFolderInOS,
2231 FilePath /* path */)
2232
2233 // Sent when a provisional load on the main frame redirects.
2234 IPC_MESSAGE_ROUTED3(ViewHostMsg_DidRedirectProvisionalLoad,
2235 int /* page_id */,
2236 GURL /* last url */,
2237 GURL /* url redirected to */)
2238
2239 // Sent when the renderer changes the zoom level for a particular url, so the
2240 // browser can update its records. If remember is true, then url is used to
2241 // update the zoom level for all pages in that site. Otherwise, the render
2242 // view's id is used so that only the menu is updated.
2243 IPC_MESSAGE_ROUTED3(ViewHostMsg_DidZoomURL,
2244 double /* zoom_level */,
2245 bool /* remember */,
2246 GURL /* url */)
2247
2248 #if defined(OS_WIN)
2249 // Duplicates a shared memory handle from the renderer to the browser. Then
2250 // the renderer can flush the handle.
2251 IPC_SYNC_MESSAGE_ROUTED1_1(ViewHostMsg_DuplicateSection,
2252 base::SharedMemoryHandle /* renderer handle */,
2253 base::SharedMemoryHandle /* browser handle */)
2254 #endif
2255
2256 #if defined(USE_X11)
2257 // Asks the browser to create a temporary file for the renderer to fill
2258 // in resulting NativeMetafile in printing.
2259 IPC_SYNC_MESSAGE_CONTROL0_2(ViewHostMsg_AllocateTempFileForPrinting,
2260 base::FileDescriptor /* temp file fd */,
2261 int /* fd in browser*/)
2262 IPC_MESSAGE_CONTROL1(ViewHostMsg_TempFileForPrintingWritten,
2263 int /* fd in browser */)
2264 #endif
2265
2266 // Asks the browser to create a block of shared memory for the renderer to
2267 // fill in and pass back to the browser.
2268 IPC_SYNC_MESSAGE_CONTROL1_1(ViewHostMsg_AllocateSharedMemoryBuffer,
2269 uint32 /* buffer size */,
2270 base::SharedMemoryHandle /* browser handle */)
2271
2272 // Provide the browser process with information about the WebCore resource
2273 // cache.
2274 IPC_MESSAGE_CONTROL1(ViewHostMsg_ResourceTypeStats,
2275 WebKit::WebCache::ResourceTypeStats)
2276
2277 // Notify the browser that this render process can or can't be suddenly
2278 // terminated.
2279 IPC_MESSAGE_CONTROL1(ViewHostMsg_SuddenTerminationChanged,
2280 bool /* enabled */)
2281
2282 // Returns the window location of the window this widget is embeded.
2283 // TODO(shess): Provide a mapping from reply_msg->routing_id() to
2284 // HWND so that we can eliminate the NativeViewId parameter.
2285 IPC_SYNC_MESSAGE_ROUTED1_1(ViewHostMsg_GetRootWindowRect,
2286 gfx::NativeViewId /* window */,
2287 gfx::Rect /* Out: Window location */)
2288
2289 // Informs the browser of a new appcache host.
2290 IPC_MESSAGE_CONTROL1(AppCacheMsg_RegisterHost,
2291 int /* host_id */)
2292
2293 // Informs the browser of an appcache host being destroyed.
2294 IPC_MESSAGE_CONTROL1(AppCacheMsg_UnregisterHost,
2295 int /* host_id */)
2296
2297 // Initiates the cache selection algorithm for the given host.
2298 // This is sent prior to any subresource loads. An AppCacheMsg_CacheSelected
2299 // message will be sent in response.
2300 // 'host_id' indentifies a specific document or worker
2301 // 'document_url' the url of the main resource
2302 // 'appcache_document_was_loaded_from' the id of the appcache the main
2303 // resource was loaded from or kNoCacheId
2304 // 'opt_manifest_url' the manifest url specified in the <html> tag if any
2305 IPC_MESSAGE_CONTROL4(AppCacheMsg_SelectCache,
2306 int /* host_id */,
2307 GURL /* document_url */,
2308 int64 /* appcache_document_was_loaded_from */,
2309 GURL /* opt_manifest_url */)
2310
2311 // Initiates worker specific cache selection algorithm for the given host.
2312 IPC_MESSAGE_CONTROL3(AppCacheMsg_SelectCacheForWorker,
2313 int /* host_id */,
2314 int /* parent_process_id */,
2315 int /* parent_host_id */)
2316 IPC_MESSAGE_CONTROL2(AppCacheMsg_SelectCacheForSharedWorker,
2317 int /* host_id */,
2318 int64 /* appcache_id */)
2319
2320 // Informs the browser of a 'foreign' entry in an appcache.
2321 IPC_MESSAGE_CONTROL3(AppCacheMsg_MarkAsForeignEntry,
2322 int /* host_id */,
2323 GURL /* document_url */,
2324 int64 /* appcache_document_was_loaded_from */)
2325
2326 // Returns the status of the appcache associated with host_id.
2327 IPC_SYNC_MESSAGE_CONTROL1_1(AppCacheMsg_GetStatus,
2328 int /* host_id */,
2329 appcache::Status)
2330
2331 // Initiates an update of the appcache associated with host_id.
2332 IPC_SYNC_MESSAGE_CONTROL1_1(AppCacheMsg_StartUpdate,
2333 int /* host_id */,
2334 bool /* success */)
2335
2336 // Swaps a new pending appcache, if there is one, into use for host_id.
2337 IPC_SYNC_MESSAGE_CONTROL1_1(AppCacheMsg_SwapCache,
2338 int /* host_id */,
2339 bool /* success */)
2340
2341 // Gets resource list from appcache synchronously.
2342 IPC_SYNC_MESSAGE_CONTROL1_1(AppCacheMsg_GetResourceList,
2343 int /* host_id in*/,
2344 std::vector<appcache::AppCacheResourceInfo>
2345 /* resources out */)
2346
2347 // Get the list of proxies to use for |url|, as a semicolon delimited list
2348 // of "<TYPE> <HOST>:<PORT>" | "DIRECT". See also
2349 // PluginProcessHostMsg_ResolveProxy which does the same thing.
2350 IPC_SYNC_MESSAGE_CONTROL1_2(ViewHostMsg_ResolveProxy,
2351 GURL /* url */,
2352 int /* network error */,
2353 std::string /* proxy list */)
2354
2355 // Request that got sent to browser for creating an audio output stream
2356 IPC_MESSAGE_ROUTED3(ViewHostMsg_CreateAudioStream,
2357 int /* stream_id */,
2358 ViewHostMsg_Audio_CreateStream_Params,
2359 bool /* low-latency */)
2360
2361 // Tell the browser the audio buffer prepared for stream
2362 // (render_view_id, stream_id) is filled and is ready to be consumed.
2363 IPC_MESSAGE_ROUTED2(ViewHostMsg_NotifyAudioPacketReady,
2364 int /* stream_id */,
2365 uint32 /* packet size */)
2366
2367 // Start buffering and play the audio stream specified by
2368 // (render_view_id, stream_id).
2369 IPC_MESSAGE_ROUTED1(ViewHostMsg_PlayAudioStream,
2370 int /* stream_id */)
2371
2372 // Pause the audio stream specified by (render_view_id, stream_id).
2373 IPC_MESSAGE_ROUTED1(ViewHostMsg_PauseAudioStream,
2374 int /* stream_id */)
2375
2376 // Discard all buffered audio data for the specified audio stream.
2377 IPC_MESSAGE_ROUTED1(ViewHostMsg_FlushAudioStream,
2378 int /* stream_id */)
2379
2380 // Close an audio stream specified by (render_view_id, stream_id).
2381 IPC_MESSAGE_ROUTED1(ViewHostMsg_CloseAudioStream,
2382 int /* stream_id */)
2383
2384 // Get audio volume of the stream specified by (render_view_id, stream_id).
2385 IPC_MESSAGE_ROUTED1(ViewHostMsg_GetAudioVolume,
2386 int /* stream_id */)
2387
2388 // Set audio volume of the stream specified by (render_view_id, stream_id).
2389 // TODO(hclam): change this to vector if we have channel numbers other than 2.
2390 IPC_MESSAGE_ROUTED2(ViewHostMsg_SetAudioVolume,
2391 int /* stream_id */,
2392 double /* volume */)
2393
2394 // A renderer sends this message when an extension process starts an API
2395 // request. The browser will always respond with a ViewMsg_ExtensionResponse.
2396 IPC_MESSAGE_ROUTED1(ViewHostMsg_ExtensionRequest,
2397 ViewHostMsg_DomMessage_Params)
2398
2399 // Notify the browser that the given extension added a listener to an event.
2400 IPC_MESSAGE_CONTROL2(ViewHostMsg_ExtensionAddListener,
2401 std::string /* extension_id */,
2402 std::string /* name */)
2403
2404 // Notify the browser that the given extension removed a listener from an
2405 // event.
2406 IPC_MESSAGE_CONTROL2(ViewHostMsg_ExtensionRemoveListener,
2407 std::string /* extension_id */,
2408 std::string /* name */)
2409
2410 // Message sent from renderer to the browser to update the state of a command.
2411 // The |command| parameter is a RenderViewCommand. The |checked_state| parameter
2412 // is a CommandCheckedState.
2413 IPC_MESSAGE_ROUTED3(ViewHostMsg_CommandStateChanged,
2414 int /* command */,
2415 bool /* is_enabled */,
2416 int /* checked_state */)
2417
2418 #if defined(OS_MACOSX)
2419 // On OSX, we cannot allocated shared memory from within the sandbox, so
2420 // this call exists for the renderer to ask the browser to allocate memory
2421 // on its behalf. We return a file descriptor to the POSIX shared memory.
2422 // If the |cache_in_browser| flag is |true|, then a copy of the shmem is kept
2423 // by the browser, and it is the caller's repsonsibility to send a
2424 // ViewHostMsg_FreeTransportDIB message in order to release the cached shmem.
2425 // In all cases, the caller is responsible for deleting the resulting
2426 // TransportDIB.
2427 IPC_SYNC_MESSAGE_CONTROL2_1(ViewHostMsg_AllocTransportDIB,
2428 size_t, /* bytes requested */
2429 bool, /* cache in the browser */
2430 TransportDIB::Handle /* DIB */)
2431
2432 // Since the browser keeps handles to the allocated transport DIBs, this
2433 // message is sent to tell the browser that it may release them when the
2434 // renderer is finished with them.
2435 IPC_MESSAGE_CONTROL1(ViewHostMsg_FreeTransportDIB,
2436 TransportDIB::Id /* DIB id */)
2437
2438 // Informs the browser that a plugin has gained or lost focus.
2439 IPC_MESSAGE_ROUTED2(ViewHostMsg_PluginFocusChanged,
2440 bool, /* focused */
2441 int /* plugin_id */)
2442
2443 // Instructs the browser to start plugin IME.
2444 IPC_MESSAGE_ROUTED0(ViewHostMsg_StartPluginIme)
2445
2446 //---------------------------------------------------------------------------
2447 // Messages related to accelerated plugins
2448
2449 // This is sent from the renderer to the browser to allocate a fake
2450 // PluginWindowHandle on the browser side which is used to identify
2451 // the plugin to the browser later when backing store is allocated
2452 // or reallocated. |opaque| indicates whether the plugin's output is
2453 // considered to be opaque, as opposed to translucent. This message
2454 // is reused for rendering the accelerated compositor's output.
2455 // |root| indicates whether the output is supposed to cover the
2456 // entire window.
2457 IPC_SYNC_MESSAGE_ROUTED2_1(ViewHostMsg_AllocateFakePluginWindowHandle,
2458 bool /* opaque */,
2459 bool /* root */,
2460 gfx::PluginWindowHandle /* id */)
2461
2462 // Destroys a fake window handle previously allocated using
2463 // AllocateFakePluginWindowHandle.
2464 IPC_MESSAGE_ROUTED1(ViewHostMsg_DestroyFakePluginWindowHandle,
2465 gfx::PluginWindowHandle /* id */)
2466
2467 // This message, used on Mac OS X 10.5 and earlier (no IOSurface support),
2468 // is sent from the renderer to the browser on behalf of the plug-in
2469 // to indicate that a new backing store was allocated for that plug-in
2470 // instance.
2471 IPC_MESSAGE_ROUTED4(ViewHostMsg_AcceleratedSurfaceSetTransportDIB,
2472 gfx::PluginWindowHandle /* window */,
2473 int32 /* width */,
2474 int32 /* height */,
2475 TransportDIB::Handle /* handle for the DIB */)
2476
2477 // This message, used on Mac OS X 10.6 and later (where IOSurface is
2478 // supported), is sent from the renderer to the browser on behalf of the
2479 // plug-in to indicate that a new backing store was allocated for that
2480 // plug-in instance.
2481 //
2482 // NOTE: the original intent was to pass a mach port as the IOSurface
2483 // identifier but it looks like that will be a lot of work. For now we pass an
2484 // ID from IOSurfaceGetID.
2485 IPC_MESSAGE_ROUTED4(ViewHostMsg_AcceleratedSurfaceSetIOSurface,
2486 gfx::PluginWindowHandle /* window */,
2487 int32 /* width */,
2488 int32 /* height */,
2489 uint64 /* surface_id */)
2490
2491 // This message notifies the browser process that the plug-in
2492 // swapped the buffers associated with the given "window", which
2493 // should cause the browser to redraw the various plug-ins'
2494 // contents.
2495 IPC_MESSAGE_ROUTED2(ViewHostMsg_AcceleratedSurfaceBuffersSwapped,
2496 gfx::PluginWindowHandle /* window */,
2497 uint64 /* surface_id */)
2498 #endif
2499
2500 // A renderer sends this to the browser process when it wants to create a
2501 // worker. The browser will create the worker process if necessary, and
2502 // will return the route id on success. On error returns MSG_ROUTING_NONE.
2503 IPC_SYNC_MESSAGE_CONTROL1_1(ViewHostMsg_CreateWorker,
2504 ViewHostMsg_CreateWorker_Params,
2505 int /* route_id */)
2506
2507 // This message is sent to the browser to see if an instance of this shared
2508 // worker already exists. If so, it returns exists == true. If a
2509 // non-empty name is passed, also validates that the url matches the url of
2510 // the existing worker. If a matching worker is found, the passed-in
2511 // document_id is associated with that worker, to ensure that the worker
2512 // stays alive until the document is detached.
2513 // The route_id returned can be used to forward messages to the worker via
2514 // ForwardToWorker if it exists, otherwise it should be passed in to any
2515 // future call to CreateWorker to avoid creating duplicate workers.
2516 IPC_SYNC_MESSAGE_CONTROL1_3(ViewHostMsg_LookupSharedWorker,
2517 ViewHostMsg_CreateWorker_Params,
2518 bool /* exists */,
2519 int /* route_id */,
2520 bool /* url_mismatch */)
2521
2522 // A renderer sends this to the browser process when a document has been
2523 // detached. The browser will use this to constrain the lifecycle of worker
2524 // processes (SharedWorkers are shut down when their last associated document
2525 // is detached).
2526 IPC_MESSAGE_CONTROL1(ViewHostMsg_DocumentDetached,
2527 uint64 /* document_id */)
2528
2529 // A message sent to the browser on behalf of a renderer which wants to show
2530 // a desktop notification.
2531 IPC_MESSAGE_ROUTED1(ViewHostMsg_ShowDesktopNotification,
2532 ViewHostMsg_ShowNotification_Params)
2533 IPC_MESSAGE_ROUTED1(ViewHostMsg_CancelDesktopNotification,
2534 int /* notification_id */)
2535 IPC_MESSAGE_ROUTED2(ViewHostMsg_RequestNotificationPermission,
2536 GURL /* origin */,
2537 int /* callback_context */)
2538 IPC_SYNC_MESSAGE_ROUTED1_1(ViewHostMsg_CheckNotificationPermission,
2539 GURL /* source page */,
2540 int /* permission_result */)
2541
2542 // Sent if the worker object has sent a ViewHostMsg_CreateDedicatedWorker
2543 // message and not received a ViewMsg_WorkerCreated reply, but in the
2544 // mean time it's destroyed. This tells the browser to not create the queued
2545 // worker.
2546 IPC_MESSAGE_CONTROL1(ViewHostMsg_CancelCreateDedicatedWorker,
2547 int /* route_id */)
2548
2549 // Wraps an IPC message that's destined to the worker on the renderer->browser
2550 // hop.
2551 IPC_MESSAGE_CONTROL1(ViewHostMsg_ForwardToWorker,
2552 IPC::Message /* message */)
2553
2554 // Open a channel to all listening contexts owned by the extension with
2555 // the given ID. This always returns a valid port ID which can be used for
2556 // sending messages. If an error occurred, the opener will be notified
2557 // asynchronously.
2558 IPC_SYNC_MESSAGE_CONTROL4_1(ViewHostMsg_OpenChannelToExtension,
2559 int /* routing_id */,
2560 std::string /* source_extension_id */,
2561 std::string /* target_extension_id */,
2562 std::string /* channel_name */,
2563 int /* port_id */)
2564
2565 // Get a port handle to the given tab. The handle can be used for sending
2566 // messages to the extension.
2567 IPC_SYNC_MESSAGE_CONTROL4_1(ViewHostMsg_OpenChannelToTab,
2568 int /* routing_id */,
2569 int /* tab_id */,
2570 std::string /* extension_id */,
2571 std::string /* channel_name */,
2572 int /* port_id */)
2573
2574 // Send a message to an extension process. The handle is the value returned
2575 // by ViewHostMsg_OpenChannelTo*.
2576 IPC_MESSAGE_ROUTED2(ViewHostMsg_ExtensionPostMessage,
2577 int /* port_id */,
2578 std::string /* message */)
2579
2580 // Send a message to an extension process. The handle is the value returned
2581 // by ViewHostMsg_OpenChannelTo*.
2582 IPC_MESSAGE_CONTROL1(ViewHostMsg_ExtensionCloseChannel,
2583 int /* port_id */)
2584
2585 // Sent to notify the browser about renderer accessibility notifications.
2586 // The browser responds with a ViewMsg_AccessibilityNotifications_ACK.
2587 IPC_MESSAGE_ROUTED1(
2588 ViewHostMsg_AccessibilityNotifications,
2589 std::vector<ViewHostMsg_AccessibilityNotification_Params>)
2590
2591 // Send part of the DOM to the browser, to be used in a malware report.
2592 IPC_MESSAGE_ROUTED1(ViewHostMsg_MalwareDOMDetails,
2593 ViewHostMsg_MalwareDOMDetails_Params)
2594
2595 // Message sent from the renderer to the browser to request that the browser
2596 // close all sockets. Used for debugging/testing.
2597 IPC_MESSAGE_CONTROL0(ViewHostMsg_CloseCurrentConnections)
2598
2599 // Message sent from the renderer to the browser to request that the browser
2600 // enable or disable the cache. Used for debugging/testing.
2601 IPC_MESSAGE_CONTROL1(ViewHostMsg_SetCacheMode,
2602 bool /* enabled */)
2603
2604 // Message sent from the renderer to the browser to request that the browser
2605 // clear the cache. Used for debugging/testing.
2606 // |preserve_ssl_host_info| controls whether clearing the cache will preserve
2607 // persisted SSL information stored in the cache.
2608 // |result| is the returned status from the operation.
2609 IPC_SYNC_MESSAGE_CONTROL1_1(ViewHostMsg_ClearCache,
2610 bool /* preserve_ssl_host_info */,
2611 int /* result */)
2612
2613 // Message sent from the renderer to the browser to request that the browser
2614 // enable or disable spdy. Used for debugging/testing/benchmarking.
2615 IPC_MESSAGE_CONTROL1(ViewHostMsg_EnableSpdy,
2616 bool /* enable */)
2617
2618 // Message sent from the renderer to the browser to request that the browser
2619 // cache |data| associated with |url|.
2620 IPC_MESSAGE_CONTROL3(ViewHostMsg_DidGenerateCacheableMetadata,
2621 GURL /* url */,
2622 double /* expected_response_time */,
2623 std::vector<char> /* data */)
2624
2625 // Opens a file asynchronously. The response returns a file descriptor
2626 // and an error code from base/platform_file.h.
2627 IPC_MESSAGE_ROUTED3(ViewHostMsg_AsyncOpenFile,
2628 FilePath /* file path */,
2629 int /* flags */,
2630 int /* message_id */)
2631
2632 // Sent by the renderer process to acknowledge receipt of a
2633 // ViewMsg_CSSInsertRequest message and css has been inserted into the frame.
2634 IPC_MESSAGE_ROUTED0(ViewHostMsg_OnCSSInserted)
2635
2636 // Notifies the browser of the language (ISO 639_1 code language, such as fr,
2637 // en, zh...) of the current page.
2638 IPC_MESSAGE_ROUTED1(ViewHostMsg_PageLanguageDetermined,
2639 std::string /* the language */)
2640
2641 // Notifies the browser that a page has been translated.
2642 IPC_MESSAGE_ROUTED4(ViewHostMsg_PageTranslated,
2643 int, /* page id */
2644 std::string /* the original language */,
2645 std::string /* the translated language */,
2646 TranslateErrors::Type /* the error type if available */)
2647
2648 //---------------------------------------------------------------------------
2649 // Request for cryptographic operation messages:
2650 // These are messages from the renderer to the browser to perform a
2651 // cryptographic operation.
2652
2653 // Asks the browser process to generate a keypair for grabbing a client
2654 // certificate from a CA (<keygen> tag), and returns the signed public
2655 // key and challenge string.
2656 IPC_SYNC_MESSAGE_CONTROL3_1(ViewHostMsg_Keygen,
2657 uint32 /* key size index */,
2658 std::string /* challenge string */,
2659 GURL /* URL of requestor */,
2660 std::string /* signed public key and challenge */)
2661
2662 // The renderer has tried to spell check a word, but couldn't because no
2663 // dictionary was available to load. Request that the browser find an
2664 // appropriate dictionary and return it.
2665 IPC_MESSAGE_CONTROL0(ViewHostMsg_SpellChecker_RequestDictionary)
2666
2667 IPC_SYNC_MESSAGE_CONTROL2_1(ViewHostMsg_SpellChecker_PlatformCheckSpelling,
2668 string16 /* word */,
2669 int /* document tag */,
2670 bool /* correct */)
2671
2672 IPC_SYNC_MESSAGE_CONTROL1_1(
2673 ViewHostMsg_SpellChecker_PlatformFillSuggestionList,
2674 string16 /* word */,
2675 std::vector<string16> /* suggestions */)
2676
2677 IPC_MESSAGE_CONTROL4(ViewHostMsg_SpellChecker_PlatformRequestTextCheck,
2678 int /* route_id for response */,
2679 int /* request identifier given by WebKit */,
2680 int /* document tag */,
2681 string16 /* sentence */)
2682
2683 //---------------------------------------------------------------------------
2684 // Geolocation services messages
2685
2686 // The |render_view_id| and |bridge_id| representing |host| is requesting
2687 // permission to access geolocation position.
2688 // This will be replied by ViewMsg_Geolocation_PermissionSet.
2689 IPC_MESSAGE_CONTROL3(ViewHostMsg_Geolocation_RequestPermission,
2690 int /* render_view_id */,
2691 int /* bridge_id */,
2692 GURL /* GURL of the frame requesting geolocation */)
2693
2694 // The |render_view_id| and |bridge_id| representing |GURL| is cancelling its
2695 // previous permission request to access geolocation position.
2696 IPC_MESSAGE_CONTROL3(ViewHostMsg_Geolocation_CancelPermissionRequest,
2697 int /* render_view_id */,
2698 int /* bridge_id */,
2699 GURL /* GURL of the frame */)
2700
2701 // The |render_view_id| requests Geolocation service to start updating.
2702 // This is an asynchronous call, and the browser process may eventually reply
2703 // with the updated geoposition, or an error (access denied, location
2704 // unavailable, etc.)
2705 IPC_MESSAGE_CONTROL3(ViewHostMsg_Geolocation_StartUpdating,
2706 int /* render_view_id */,
2707 GURL /* GURL of the frame requesting geolocation */,
2708 bool /* enable_high_accuracy */)
2709
2710 // The |render_view_id| requests Geolocation service to stop updating.
2711 // Note that the geolocation service may continue to fetch geolocation data
2712 // for other origins.
2713 IPC_MESSAGE_CONTROL1(ViewHostMsg_Geolocation_StopUpdating,
2714 int /* render_view_id */)
2715
2716 // Updates the minimum/maximum allowed zoom percent for this tab from the
2717 // default values. If |remember| is true, then the zoom setting is applied to
2718 // other pages in the site and is saved, otherwise it only applies to this
2719 // tab.
2720 IPC_MESSAGE_ROUTED3(ViewHostMsg_UpdateZoomLimits,
2721 int /* minimum_percent */,
2722 int /* maximum_percent */,
2723 bool /* remember */)
2724
2725 //---------------------------------------------------------------------------
2726 // Device orientation services messages:
2727
2728 // A RenderView requests to start receiving device orientation updates.
2729 IPC_MESSAGE_CONTROL1(ViewHostMsg_DeviceOrientation_StartUpdating,
2730 int /* render_view_id */)
2731
2732 // A RenderView requests to stop receiving device orientation updates.
2733 IPC_MESSAGE_CONTROL1(ViewHostMsg_DeviceOrientation_StopUpdating,
2734 int /* render_view_id */)
2735
2736 //---------------------------------------------------------------------------
2737 // Blob messages:
2738
2739 // Registers a blob URL referring to the specified blob data.
2740 IPC_MESSAGE_CONTROL2(ViewHostMsg_RegisterBlobUrl,
2741 GURL /* url */,
2742 scoped_refptr<webkit_blob::BlobData> /* blob_data */)
2743
2744 // Registers a blob URL referring to the blob data identified by the specified
2745 // source URL.
2746 IPC_MESSAGE_CONTROL2(ViewHostMsg_RegisterBlobUrlFrom,
2747 GURL /* url */,
2748 GURL /* src_url */)
2749
2750 // Unregister a blob URL.
2751 IPC_MESSAGE_CONTROL1(ViewHostMsg_UnregisterBlobUrl, GURL /* url */)
2752
2753 // Suggest results -----------------------------------------------------------
2754
2755 IPC_MESSAGE_ROUTED2(ViewHostMsg_SetSuggestions,
2756 int32 /* page_id */,
2757 std::vector<std::string> /* suggestions */)
2758
2759 IPC_MESSAGE_ROUTED2(ViewHostMsg_InstantSupportDetermined,
2760 int32 /* page_id */,
2761 bool /* result */)
2762
2763 // Response from ViewMsg_ScriptEvalRequest. The ID is the parameter supplied
2764 // to ViewMsg_ScriptEvalRequest. The result has the value returned by the
2765 // script as it's only element, one of Null, Boolean, Integer, Real, Date, or
2766 // String.
2767 IPC_MESSAGE_ROUTED2(ViewHostMsg_ScriptEvalResponse,
2768 int /* id */,
2769 ListValue /* result */)
2770
2771 // Updates the content restrictions, i.e. to disable print/copy.
2772 IPC_MESSAGE_ROUTED1(ViewHostMsg_UpdateContentRestrictions,
2773 int /* restrictions */)
2774
2775 // The currently displayed PDF has an unsupported feature.
2776 IPC_MESSAGE_ROUTED0(ViewHostMsg_PDFHasUnsupportedFeature)
2777
2778 // JavaScript related messages -----------------------------------------------
2779
2780 // Notify the JavaScript engine in the render to change its parameters
2781 // while performing stress testing.
2782 IPC_MESSAGE_ROUTED2(ViewMsg_JavaScriptStressTestControl,
2783 int /* cmd */,
2784 int /* param */)
2785
2786 // Register a new handler for URL requests with the given scheme.
2787 IPC_MESSAGE_ROUTED3(ViewHostMsg_RegisterProtocolHandler,
2788 std::string /* scheme */,
2789 GURL /* url */,
2790 string16 /* title */)
2791
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698