gecko/dom/ipc/PScreenManager.ipdl
Mike Conley 25a4418cdf Bug 1002354 - Proxy nsIScreenManager and nsIScreen's from the child process to the parent process, with caching. r=roc,jimm,smichaud,snorp.
Changes to nsIScreen and nsIScreenManager were reviewed by roc.
Changes to dom/ipc were reviewed by jimm.
Changes to gfx/src/nsDeviceContext.cpp were reviewed by roc.
Changes to widget/android were reviewed by snorp.
Changes to widget/cocoa were reviewed by smichaud.
Changes to widget/gtk were reviewed by roc.
Changes to widget/windows were reviewed by jimm.
Changes to widget/xpwidgets were reviewed by roc.

--HG--
extra : rebase_source : 3ebb5763d75d16f73b3cb5e4fc5621188b6c9622
2014-07-14 13:22:26 -04:00

58 lines
1.3 KiB
Plaintext

/* -*- Mode: C++; c-basic-offset: 2; indent-tabs-mode: nil; tab-width: 8 -*- */
/* 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 protocol PBrowser;
include protocol PContent;
using struct nsIntRect from "nsRect.h";
namespace mozilla {
namespace dom {
struct ScreenDetails {
uint32_t id;
nsIntRect rect;
nsIntRect availRect;
int32_t pixelDepth;
int32_t colorDepth;
double contentsScaleFactor;
};
sync protocol PScreenManager
{
manager PContent;
parent:
sync Refresh()
returns (uint32_t numberOfScreens,
float systemDefaultScale,
bool success);
sync ScreenRefresh(uint32_t aId)
returns (ScreenDetails screen,
bool success);
sync GetPrimaryScreen()
returns (ScreenDetails screen,
bool success);
sync ScreenForRect(int32_t aLeft,
int32_t aTop,
int32_t aWidth,
int32_t aHeight)
returns (ScreenDetails screen,
bool success);
sync ScreenForBrowser(PBrowser aBrowser)
returns (ScreenDetails screen,
bool success);
child:
__delete__();
};
} // namespace dom
} // namespace mozilla