OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 import "mojo/services/public/interfaces/network/url_loader.mojom" | 5 import "mojo/services/public/interfaces/network/url_loader.mojom" |
6 | 6 |
7 module mojo { | 7 module mojo { |
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 { | |
22 // TODO(mpcomplete): will we ever need more than the URLRequest? Can | |
23 // we pass that around directly? | |
24 URLRequest? request = default; | |
25 }; | |
26 | |
27 struct ResponseDetails { | |
28 // TODO(beng): consider providing access to URLRequest too. Currently it is | |
29 // not possible to obtain from the URLLoader. | |
30 | |
31 URLResponse? response; | |
32 | |
33 // The URLLoader instance that generated the response. This must be kept | |
34 // alive until the response body has been completely consumed. | |
35 URLLoader? loader; | |
36 }; | |
37 | |
38 // Embedders that support navigation of implement this interface. | 21 // Embedders that support navigation of implement this interface. |
39 interface NavigatorHost { | 22 interface NavigatorHost { |
40 RequestNavigate(Target target, NavigationDetails? details); | 23 RequestNavigate(Target target, URLRequest request); |
41 | 24 |
42 // Applications call this to inform hosts of navigations they performed | 25 // Applications call this to inform hosts of navigations they performed |
43 // locally. For example, pushState() navigations in an HTML application. | 26 // locally. For example, pushState() navigations in an HTML application. |
44 DidNavigateLocally(string? url); | 27 DidNavigateLocally(string url); |
45 }; | 28 }; |
46 | 29 |
47 } | 30 } |
OLD | NEW |