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

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

Issue 373373002: Mojo: Refactor URLLoader interface. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fixes per review 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
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
30 // The URLLoader instance that generated the response. This must be kept
31 // alive until the response body has been completely consumed.
32 // TODO(darin): This should be |mojo.URLLoader loader|. See crbug/392693.
33 handle<message_pipe> loader_handle;
34
29 mojo.URLResponse response; 35 mojo.URLResponse response;
30 handle<data_pipe_consumer> response_body_stream;
31 }; 36 };
32 37
33 // Embedders that support navigation of implement this interface. 38 // Embedders that support navigation of implement this interface.
34 interface NavigatorHost { 39 interface NavigatorHost {
35 RequestNavigate(uint32 source_node_id, Target target, 40 RequestNavigate(uint32 source_node_id, Target target,
36 NavigationDetails details); 41 NavigationDetails details);
37 42
38 // Applications call this to inform hosts of navigations they performed 43 // Applications call this to inform hosts of navigations they performed
39 // locally. For example, pushState() navigations in an HTML application. 44 // locally. For example, pushState() navigations in an HTML application.
40 DidNavigateLocally(uint32 source_node_id, string url); 45 DidNavigateLocally(uint32 source_node_id, string url);
41 }; 46 };
42 47
43 // Applications implement this interface to support navigation of their views 48 // Applications implement this interface to support navigation of their views
44 // by embedders. 49 // by embedders.
45 // |response_details| can be NULL when a navigation was not the result of a 50 // |response_details| can be NULL when a navigation was not the result of a
46 // network load. 51 // network load.
47 interface Navigator { 52 interface Navigator {
48 Navigate(uint32 node_id, 53 Navigate(uint32 node_id,
49 NavigationDetails navigation_details, 54 NavigationDetails navigation_details,
50 ResponseDetails response_details); 55 ResponseDetails response_details);
51 }; 56 };
52 57
53 } 58 }
OLDNEW
« no previous file with comments | « mojo/services/network/url_loader_impl.cc ('k') | mojo/services/public/interfaces/network/url_loader.mojom » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698