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

Side by Side Diff: mojo/services/public/interfaces/navigation/navigation.mojom

Issue 403573006: Mojo: Pass URLLoader to ResponseDetails as interface rather than handle. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 5 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
« no previous file with comments | « mojo/services/launcher/launcher.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 import "mojo/services/public/interfaces/network/url_loader.mojom" 5 import "mojo/services/public/interfaces/network/url_loader.mojom"
6 6
7 module mojo.navigation { 7 module mojo.navigation {
8 8
9 // Expresses a preference for where a navigation will be performed. 9 // Expresses a preference for where a navigation will be performed.
10 enum Target { 10 enum Target {
11 // No preference 11 // No preference
12 DEFAULT, 12 DEFAULT,
13 13
14 // In the same ViewManager node that the navigation was initiated 14 // In the same ViewManager node that the navigation was initiated
15 SOURCE_NODE, 15 SOURCE_NODE,
16 16
17 // In a new ViewManager node 17 // In a new ViewManager node
18 NEW_NODE 18 NEW_NODE
19 }; 19 };
20 20
21 struct NavigationDetails { 21 struct NavigationDetails {
22 string url; 22 string url;
23 // TODO(aa): method, data, etc. 23 // TODO(aa): method, data, etc.
24 }; 24 };
25 25
26 struct ResponseDetails { 26 struct ResponseDetails {
27 // TODO(beng): consider providing access to URLRequest too. Currently it is 27 // TODO(beng): consider providing access to URLRequest too. Currently it is
28 // not possible to obtain from the URLLoader. 28 // not possible to obtain from the URLLoader.
29 29
30 mojo.URLResponse response;
31
30 // The URLLoader instance that generated the response. This must be kept 32 // The URLLoader instance that generated the response. This must be kept
31 // alive until the response body has been completely consumed. 33 // alive until the response body has been completely consumed.
32 // TODO(darin): This should be |mojo.URLLoader loader|. See crbug/392693. 34 mojo.URLLoader loader;
33 handle<message_pipe> loader_handle;
34
35 mojo.URLResponse response;
36 }; 35 };
37 36
38 // Embedders that support navigation of implement this interface. 37 // Embedders that support navigation of implement this interface.
39 interface NavigatorHost { 38 interface NavigatorHost {
40 RequestNavigate(uint32 source_node_id, Target target, 39 RequestNavigate(uint32 source_node_id, Target target,
41 NavigationDetails details); 40 NavigationDetails details);
42 41
43 // Applications call this to inform hosts of navigations they performed 42 // Applications call this to inform hosts of navigations they performed
44 // locally. For example, pushState() navigations in an HTML application. 43 // locally. For example, pushState() navigations in an HTML application.
45 DidNavigateLocally(uint32 source_node_id, string url); 44 DidNavigateLocally(uint32 source_node_id, string url);
46 }; 45 };
47 46
48 // Applications implement this interface to support navigation of their views 47 // Applications implement this interface to support navigation of their views
49 // by embedders. 48 // by embedders.
50 // |response_details| can be NULL when a navigation was not the result of a 49 // |response_details| can be NULL when a navigation was not the result of a
51 // network load. 50 // network load.
52 interface Navigator { 51 interface Navigator {
53 Navigate(uint32 node_id, 52 Navigate(uint32 node_id,
54 NavigationDetails navigation_details, 53 NavigationDetails navigation_details,
55 ResponseDetails response_details); 54 ResponseDetails response_details);
56 }; 55 };
57 56
58 } 57 }
OLDNEW
« no previous file with comments | « mojo/services/launcher/launcher.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698