| 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 |