| Index: components/arc/common/app.mojom
|
| diff --git a/components/arc/common/app.mojom b/components/arc/common/app.mojom
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..cc4b2e0df9e2db983ebea48c9d959eef1309af73
|
| --- /dev/null
|
| +++ b/components/arc/common/app.mojom
|
| @@ -0,0 +1,62 @@
|
| +// Copyright 2015 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.
|
| +
|
| +module arc;
|
| +
|
| +// Duplicates ui::ScaleFactor enum in order to be accessible on Android side.
|
| +enum ScaleFactor {
|
| + SCALE_FACTOR_NONE = 0,
|
| + SCALE_FACTOR_100P,
|
| + SCALE_FACTOR_125P,
|
| + SCALE_FACTOR_133P,
|
| + SCALE_FACTOR_140P,
|
| + SCALE_FACTOR_150P,
|
| + SCALE_FACTOR_180P,
|
| + SCALE_FACTOR_200P,
|
| + SCALE_FACTOR_250P,
|
| + SCALE_FACTOR_300P,
|
| +
|
| + NUM_SCALE_FACTORS
|
| +};
|
| +
|
| +// Describes ARC app.
|
| +struct AppInfo {
|
| + string name;
|
| + string package;
|
| + string activity;
|
| +};
|
| +
|
| +interface AppHost {
|
| + // Receives a list of available ARC apps to Chrome. Members of AppInfo must
|
| + // contain non-empty string.
|
| + OnAppListRefreshed(array<AppInfo> apps);
|
| +
|
| + // Receives an icon of required |scale_factor| for specific ARC app. The app
|
| + // is defined by |package| and |activity|. The icon content cannot be empty
|
| + // and must match to |scale_factor| assuming 48x48 for SCALE_FACTOR_100P.
|
| + // |scale_factor| is an enum defined at ui/base/layout.h. |icon_png_data| is
|
| + // a png-encoded image.
|
| + OnAppIcon(string package, string activity,
|
| + ScaleFactor scale_factor, array<uint8> icon_png_data);
|
| +};
|
| +
|
| +// TODO(lhchavez): Migrate all request/response messages to Mojo.
|
| +interface AppInstance {
|
| + Init(AppHost host_ptr);
|
| +
|
| + // Sends a request to ARC to launch an ARC app defined by |package| and
|
| + // |activity|, which cannot be empty.
|
| + LaunchApp(string package, string activity);
|
| +
|
| + // Sends a request to ARC to refresh a list of ARC apps.
|
| + // OnRefreshAppsList is expected in response to this message. However,
|
| + // response may not be sent if ARC is not ready yet (boot completed event is
|
| + // not received).
|
| + RefreshAppList();
|
| +
|
| + // Sends a request to ARC for the ARC app icon of a required scale factor.
|
| + // Scale factor is an enum defined at ui/base/layout.h. App is defined by
|
| + // package and activity, which cannot be empty.
|
| + RequestAppIcon(string package, string activity, ScaleFactor scale_factor);
|
| +};
|
|
|