• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 
5 // IPC messages for geolocation.
6 // Multiply-included message file, hence no include guard.
7 
8 #include "content/public/common/geoposition.h"
9 #include "ipc/ipc_message_macros.h"
10 #include "url/gurl.h"
11 
12 #define IPC_MESSAGE_START GeolocationMsgStart
13 
14 IPC_ENUM_TRAITS_MAX_VALUE(content::Geoposition::ErrorCode,
15                           content::Geoposition::ERROR_CODE_LAST)
16 
17 IPC_STRUCT_TRAITS_BEGIN(content::Geoposition)
18   IPC_STRUCT_TRAITS_MEMBER(latitude)
19   IPC_STRUCT_TRAITS_MEMBER(longitude)
20   IPC_STRUCT_TRAITS_MEMBER(altitude)
21   IPC_STRUCT_TRAITS_MEMBER(accuracy)
22   IPC_STRUCT_TRAITS_MEMBER(altitude_accuracy)
23   IPC_STRUCT_TRAITS_MEMBER(heading)
24   IPC_STRUCT_TRAITS_MEMBER(speed)
25   IPC_STRUCT_TRAITS_MEMBER(timestamp)
26   IPC_STRUCT_TRAITS_MEMBER(error_code)
27   IPC_STRUCT_TRAITS_MEMBER(error_message)
28 IPC_STRUCT_TRAITS_END()
29 
30 // Messages sent from the browser to the renderer.
31 
32 // Reply in response to GeolocationHostMsg_RequestPermission.
33 IPC_MESSAGE_ROUTED2(GeolocationMsg_PermissionSet,
34                     int /* bridge_id */,
35                     bool /* is_allowed */)
36 
37 // Sent after GeolocationHostMsg_StartUpdating iff the user has granted
38 // permission and we have a position available or an error occurs (such as
39 // permission denied, position unavailable, etc.)
40 IPC_MESSAGE_ROUTED1(GeolocationMsg_PositionUpdated,
41                     content::Geoposition /* geoposition */)
42 
43 // Messages sent from the renderer to the browser.
44 
45 // The |bridge_id| representing |host| is requesting permission to access
46 // geolocation position. This will be replied by GeolocationMsg_PermissionSet.
47 IPC_MESSAGE_ROUTED3(GeolocationHostMsg_RequestPermission,
48                      int /* bridge_id */,
49                      GURL /* GURL of the frame requesting geolocation */,
50                      bool /* user_gesture */)
51 
52 // The |bridge_id| representing |GURL| is cancelling its previous permission
53 // request to access geolocation position.
54 IPC_MESSAGE_ROUTED2(GeolocationHostMsg_CancelPermissionRequest,
55                     int /* bridge_id */,
56                     GURL /* GURL of the frame */)
57 
58 // The render view requests the Geolocation service to start updating.
59 // This is an asynchronous call, and the browser process may eventually reply
60 // with the updated geoposition, or an error (access denied, location
61 // unavailable, etc.)
62 IPC_MESSAGE_ROUTED2(GeolocationHostMsg_StartUpdating,
63                      GURL /* GURL of the frame requesting geolocation */,
64                      bool /* enable_high_accuracy */)
65 
66 // The  render view requests Geolocation service to stop updating.
67 // Note that the geolocation service may continue to fetch geolocation data
68 // for other origins.
69 IPC_MESSAGE_ROUTED0(GeolocationHostMsg_StopUpdating)
70