Upstream version 9.38.198.0
[platform/framework/web/crosswalk.git] / src / mojo / services / public / interfaces / launcher / launcher.mojom
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
3 // found in the LICENSE file.
4
5 import "mojo/services/public/interfaces/navigation/navigation.mojom"
6
7 module mojo {
8
9 interface Launcher {
10   // Determines the correct handler application that can render a given URL.
11   //
12   // Sometimes this is known statically from the URL (e.g., from its scheme, or
13   // because we already have an application locally that has said it can handle
14   // the URL. Other times, we will actually fetch |url| to examine its
15   // content-type and/or sniff it to determine the correct handler.
16   //
17   // When the caller receives the result, it should connect to the application
18   // at |handler_url| and navigate it to |view_url|.
19   //
20   // Note: |view_url| might not be the same as |url|, e.g., in the case of
21   // redirects. Applications should navigate to view_url, not |url| or
22   // response->url.
23   //
24   // Note: |response| can be NULL in the case where a request was not needed to
25   // determine the correct handler.
26   Launch(NavigationDetails details) =>
27       (string handler_url, string view_url, ResponseDetails response);
28 };
29
30 }