mirror of
https://github.com/klzgrad/naiveproxy.git
synced 2024-12-01 09:46:09 +03:00
131 lines
4.0 KiB
Plaintext
131 lines
4.0 KiB
Plaintext
// Copyright 2017 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 blink.mojom;
|
|
|
|
import "services/device/public/mojom/screen_orientation_lock_types.mojom";
|
|
import "mojo/public/mojom/base/string16.mojom";
|
|
import "third_party/blink/public/mojom/manifest/display_mode.mojom";
|
|
import "ui/gfx/geometry/mojo/geometry.mojom";
|
|
import "url/mojom/url.mojom";
|
|
|
|
|
|
// The Manifest structure is an internal representation of the Manifest file
|
|
// described in the "Manifest for Web Application" document:
|
|
// http://w3c.github.io/manifest/
|
|
[JavaClassName="WebManifest"]
|
|
struct Manifest {
|
|
mojo_base.mojom.String16? name;
|
|
|
|
mojo_base.mojom.String16? short_name;
|
|
|
|
url.mojom.Url? start_url;
|
|
|
|
DisplayMode display;
|
|
|
|
device.mojom.ScreenOrientationLockType orientation;
|
|
|
|
array<ManifestImageResource>? icons;
|
|
|
|
// TODO(constantina): This field is non-standard and part of a Chrome
|
|
// experiment. See:
|
|
// https://github.com/WICG/web-share-target/blob/master/docs/interface.md
|
|
// As such, this field should not be exposed to the drive-by web.
|
|
ManifestShareTarget? share_target;
|
|
|
|
array<ManifestRelatedApplication>? related_applications;
|
|
|
|
// A boolean that is used as a hint for the user agent to say that related
|
|
// applications should be preferred over the web application. False if missing
|
|
// or there is a parsing failure.
|
|
bool prefer_related_applications;
|
|
|
|
// TODO(https://crbug.com/657632): Numeric types are not nullable. =(
|
|
bool has_theme_color;
|
|
uint32 theme_color;
|
|
|
|
// TODO(https://crbug.com/657632): Numeric types are not nullable. =(
|
|
bool has_background_color;
|
|
uint32 background_color;
|
|
|
|
// A URL of the HTML splash screen.
|
|
url.mojom.Url? splash_screen_url;
|
|
|
|
mojo_base.mojom.String16? gcm_sender_id;
|
|
|
|
url.mojom.Url? scope;
|
|
};
|
|
|
|
// Structure representing an icon as per the Manifest specification, see:
|
|
// https://w3c.github.io/manifest/#dom-imageresource
|
|
struct ManifestImageResource {
|
|
enum Purpose {
|
|
ANY = 0,
|
|
BADGE,
|
|
};
|
|
|
|
// MUST be a valid url. If an icon doesn't have a valid URL, it will not be
|
|
// successfully parsed, thus will not be represented in the Manifest.
|
|
url.mojom.Url src;
|
|
|
|
// The type can be any string and doesn't have to be a valid image MIME type
|
|
// at this point. It is up to the consumer of the object to check if the type
|
|
// matches a supported type.
|
|
mojo_base.mojom.String16? type;
|
|
|
|
// The special value "any" is represented by gfx::Size(0, 0).
|
|
array<gfx.mojom.Size> sizes;
|
|
|
|
// Defaults to a vector with a single value, Purpose::ANY, for all other
|
|
// parsing exceptions.
|
|
array<Purpose> purpose;
|
|
};
|
|
|
|
// Structure representing a related application.
|
|
struct ManifestRelatedApplication {
|
|
// The platform on which the application can be found. This can be any
|
|
// string, and is interpreted by the consumer of the object.
|
|
mojo_base.mojom.String16? platform;
|
|
|
|
// URL at which the application can be found. One of |url| or |id| must be
|
|
// present.
|
|
url.mojom.Url? url;
|
|
|
|
// An id which is used to represent the application on the platform. One of
|
|
// |url| or |id| must be present.
|
|
mojo_base.mojom.String16? id;
|
|
};
|
|
|
|
|
|
// Structure representing how a Web Share target fills query parameters of an
|
|
// incoming share. These fields contain the names of the query parameters that
|
|
// will hold the value of the corresponding share data.
|
|
struct ManifestShareTargetParams {
|
|
mojo_base.mojom.String16? title;
|
|
mojo_base.mojom.String16? text;
|
|
mojo_base.mojom.String16? url;
|
|
};
|
|
|
|
// Structure representing how a Web Share target handles an incoming share.
|
|
struct ManifestShareTarget {
|
|
// The URL that will be opened when the share target is invoked.
|
|
url.mojom.Url action;
|
|
ManifestShareTargetParams params;
|
|
};
|
|
|
|
// Debug information for a parsed manifest.
|
|
struct ManifestDebugInfo {
|
|
array<ManifestError> errors;
|
|
|
|
string raw_manifest;
|
|
};
|
|
|
|
// An individual manifest parsing error.
|
|
struct ManifestError {
|
|
string message;
|
|
bool critical;
|
|
uint32 line;
|
|
uint32 column;
|
|
};
|