blob: 174ed85928e96d4be7ae5a4e0fbc4dc5451c2836 [file] [log] [blame]
// 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 "mojo/services/public/interfaces/navigation/navigation.mojom"
module mojo.launcher {
interface Launcher {
// Determines the correct handler application that can render a given URL.
//
// Sometimes this is known statically from the URL (e.g., from its scheme, or
// because we already have an application locally that has said it can handle
// the URL. Other times, we will actually fetch |url| to examine its
// content-type and/or sniff it to determine the correct handler.
//
// When the caller receives the result, it should connect to the application
// at |handler_url| and navigate it to |view_url|.
//
// Note: |view_url| might not be the same as |url|, e.g., in the case of
// redirects. Applications should navigate to view_url, not |url| or
// response->url.
//
// Note: |response| can be NULL in the case where a request was not needed to
// determine the correct handler.
Launch(string url) => (string handler_url, string view_url,
mojo.navigation.ResponseDetails response);
};
}