mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-07 20:17:37 +00:00
059609fb24
Prior to this change, isBrowserContentDocumentDisplayed returned false from the time that the isFirstPaint flag was set in layout to the time that layout handed off the rendered document to the compositor. However the way the function is used meant that it needs to return false until the compositor actually composites the "first-paint" rendering, otherwise other events can sneak in and run before the compositor. This patch moves the tracking for the flag into GeckoLayerClient so that it can be queried and modified synchronously from both the Gecko thread in browser.js and the compositor thread in setFirstPaintViewport.
53 lines
1.8 KiB
Plaintext
53 lines
1.8 KiB
Plaintext
/* 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/. */
|
|
|
|
#include "nsISupports.idl"
|
|
#include "nsIDOMWindow.idl"
|
|
|
|
[scriptable, uuid(0843f3c1-043e-4c64-9d8c-091370548c05)]
|
|
interface nsIBrowserTab : nsISupports {
|
|
readonly attribute nsIDOMWindow window;
|
|
readonly attribute float scale;
|
|
};
|
|
|
|
[scriptable, uuid(d10377b4-1c90-493a-a532-63cb3f16ee2b)]
|
|
interface nsIAndroidBrowserApp : nsISupports {
|
|
nsIBrowserTab getBrowserTab(in int32_t tabId);
|
|
};
|
|
[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;
|
|
};
|
|
|
|
[scriptable, uuid(5aa0cfa5-377c-4f5e-8dcf-59ebd9482d65)]
|
|
interface nsIAndroidBridge : nsISupports
|
|
{
|
|
AString handleGeckoMessage(in AString message);
|
|
attribute nsIAndroidBrowserApp browserApp;
|
|
nsIAndroidDisplayport getDisplayPort(in boolean aPageSizeUpdate, in boolean isBrowserContentDisplayed, in int32_t tabId, in nsIAndroidViewport metrics);
|
|
void contentDocumentChanged();
|
|
boolean isContentDocumentDisplayed();
|
|
};
|