2012-05-21 04:12:37 -07:00
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
2011-11-14 19:12:14 -08:00
#include "nsISupports.idl"
2012-02-03 22:48:26 -08:00
#include "nsIDOMWindow.idl"
2011-11-14 19:12:14 -08:00
2012-03-12 11:05:43 -07:00
[scriptable, uuid(0843f3c1-043e-4c64-9d8c-091370548c05)]
interface nsIBrowserTab : nsISupports {
readonly attribute nsIDOMWindow window;
readonly attribute float scale;
};
2013-12-10 10:41:34 -08:00
[scriptable, uuid(08426a73-e70b-4680-9282-630932e2b2bb)]
interface nsIUITelemetryObserver : nsISupports {
void startSession(in wstring name,
in unsigned long timestamp);
void stopSession(in wstring name,
in wstring reason,
in unsigned long timestamp);
void addEvent(in wstring action,
in wstring method,
in unsigned long timestamp,
in wstring extras);
};
[scriptable, uuid(c31331d2-afad-460f-9c66-728b8c838cec)]
2012-02-17 10:52:26 -08:00
interface nsIAndroidBrowserApp : nsISupports {
2012-08-22 08:56:38 -07:00
nsIBrowserTab getBrowserTab(in int32_t tabId);
2013-09-04 06:58:23 -07:00
void getPreferences(in int32_t requestId,
[array, size_is(count)] in wstring prefNames,
in unsigned long count);
void observePreferences(in int32_t requestId,
[array, size_is(count)] in wstring prefNames,
in unsigned long count);
void removePreferenceObservers(in int32_t requestId);
2013-12-10 10:41:34 -08:00
nsIUITelemetryObserver getUITelemetryObserver();
2012-02-17 10:52:26 -08:00
};
2013-12-10 10:41:34 -08:00
2012-09-12 14:47:08 -07:00
[scriptable, uuid(59cfcb35-69b7-47b2-8155-32b193272666)]
interface nsIAndroidViewport : nsISupports {
readonly attribute float x;
readonly attribute float y;
readonly attribute float width;
readonly attribute float height;
readonly attribute float pageLeft;
readonly attribute float pageTop;
readonly attribute float pageRight;
readonly attribute float pageBottom;
readonly attribute float cssPageLeft;
readonly attribute float cssPageTop;
readonly attribute float cssPageRight;
readonly attribute float cssPageBottom;
readonly attribute float zoom;
};
[scriptable, uuid(e1bfbc07-dbae-409d-a5b5-ef57522c1f15)]
interface nsIAndroidDisplayport : nsISupports {
attribute float left;
attribute float top;
attribute float right;
attribute float bottom;
attribute float resolution;
};
2012-02-17 10:52:26 -08:00
2014-04-04 09:33:49 -07:00
[scriptable, uuid(1beb70d3-70f3-4742-98cc-a3d301b26c0c)]
2011-11-14 19:12:14 -08:00
interface nsIAndroidBridge : nsISupports
{
2014-04-04 09:33:49 -07:00
[implicit_jscontext] void handleGeckoMessage(in jsval message);
2012-02-17 10:52:26 -08:00
attribute nsIAndroidBrowserApp browserApp;
2012-09-12 14:47:08 -07:00
nsIAndroidDisplayport getDisplayPort(in boolean aPageSizeUpdate, in boolean isBrowserContentDisplayed, in int32_t tabId, in nsIAndroidViewport metrics);
2013-05-30 06:55:23 -07:00
void contentDocumentChanged();
boolean isContentDocumentDisplayed();
2011-11-14 19:12:14 -08:00
};