diff options
Diffstat (limited to 'chromium/mojo/services/public/interfaces/navigation/navigation.mojom')
-rw-r--r-- | chromium/mojo/services/public/interfaces/navigation/navigation.mojom | 36 |
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); +}; + +} |