blob: c37aad6f67e39c9e365fcb21a968c0a1696c8990 [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.
// <code>chrome.easyUnlockPrivate</code> API that provides hooks to Chrome to
// be used by Easy Unlock component app.
namespace easyUnlockPrivate {
enum ConnectionStatus {DISCONNECTED, IN_PROGRESS, CONNECTED};
// A range.
dictionary Range {
long start;
long end;
};
// A rectangle, in screen coordinates, measured in device-independent pixels.
dictionary Rect {
long left;
long top;
long width;
long height;
};
// An empty callback used purely for signalling success vs. failure.
callback EmptyCallback = void();
// Callback for the getStrings() method.
callback GetStringsCallback = void(object strings);
// Callback for the |FindSetupConnectionCallback| method.
// |connectionId|: The identifier of the connection found. To be used in
// future calls refering to this connection.
callback FindSetupConnectionCallback = void(long connectionId);
interface Functions {
// Gets localized strings required to render the API.
//
// |callback| : Called with a dictionary mapping names to resource strings.
// TODO(isherman): This is essentially copied from identity_private.idl.
// Perhaps this should be extracted to a common API instead?
static void getStrings(GetStringsCallback callback);
// Shows an error bubble with the given |message|, anchored to an edge of
// the given |anchorRect| -- typically the right edge, but possibly a
// different edge if there is not space for the bubble to the right of the
// anchor rectangle. If the |link_range| is non-empty, renders the text
// within the |message| that is contained in the |link_range| as a link with
// the given |link_target| URL.
static void showErrorBubble(DOMString message,
Range link_range,
DOMString link_target,
Rect anchorRect);
// Hides the currently visible error bubble, if there is one.
static void hideErrorBubble();
// Finds and connects the remote BLE device that is advertising:
// |setupServiceUUID|. Returns when a connection is found or |timeOut|
// seconds have elapsed.
static void findSetupConnection(DOMString setupServiceUuid,
long timeOut,
FindSetupConnectionCallback callback);
// Disconnects the connection with |connectionId|.
static void setupConnectionDisconnect(long connectionId,
optional EmptyCallback callback);
// Sends |data| through the connection with |connnectionId|.
static void setupConnectionSend(long connectionId,
ArrayBuffer data,
optional EmptyCallback callback);
};
interface Events {
// Event fired when |connectionId| change status.
static void onConnectionStatusChanged(long connectionId,
ConnectionStatus oldStatus,
ConnectionStatus newStatus);
// Event fired when |connectionId| receives |data|.
static void onDataReceived(long connectionId,
ArrayBuffer data);
// Event fired when |connectionId| sends |data|. |success| is true
// if the send operation was successful.
static void onSendCompleted(long connectionId,
ArrayBuffer data,
boolean success);
};
};