summaryrefslogtreecommitdiffstats
path: root/chromium/mojo/services/public/interfaces/navigation/navigation.mojom
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/mojo/services/public/interfaces/navigation/navigation.mojom')
-rw-r--r--chromium/mojo/services/public/interfaces/navigation/navigation.mojom36
1 files changed, 36 insertions, 0 deletions
diff --git a/chromium/mojo/services/public/interfaces/navigation/navigation.mojom b/chromium/mojo/services/public/interfaces/navigation/navigation.mojom
new file mode 100644
index 00000000000..fbe082f06e4
--- /dev/null
+++ b/chromium/mojo/services/public/interfaces/navigation/navigation.mojom
@@ -0,0 +1,36 @@
+// Copyright 2014 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+import "../network/url_loader.mojom"
+
+module mojo.navigation {
+
+struct NavigationDetails {
+ string url;
+ // TODO(aa): method, data, etc.
+};
+
+struct ResponseDetails {
+ // TODO(beng): consider providing access to URLRequest too. Currently it is
+ // not possible to obtain from the URLLoader.
+ mojo.URLResponse response;
+ handle<data_pipe_consumer> response_body_stream;
+};
+
+// Embedders that support navigation of implement this interface.
+interface NavigatorHost {
+ RequestNavigate(uint32 source_node_id, NavigationDetails details);
+};
+
+// Applications implement this interface to support navigation of their views
+// by embedders.
+// |response_details| can be NULL when a navigation was not the result of a
+// network load.
+interface Navigator {
+ Navigate(uint32 node_id,
+ NavigationDetails navigation_details,
+ ResponseDetails response_details);
+};
+
+}