зеркало из https://github.com/mozilla/gecko-dev.git
41 строка
1.3 KiB
Plaintext
41 строка
1.3 KiB
Plaintext
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
|
/* 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 PBackground;
|
|
include protocol PBrowser;
|
|
include "mozilla/layers/LayersMessageUtils.h";
|
|
|
|
using class mozilla::TimeStamp from "mozilla/TimeStamp.h";
|
|
using mozilla::VsyncEvent from "mozilla/VsyncDispatcher.h";
|
|
|
|
namespace mozilla {
|
|
namespace dom {
|
|
|
|
/*
|
|
* The PVsync is a sub-protocol in PBackground or PBrowser and it is used to
|
|
* notify the vsync event from chrome to content process. It also provides the
|
|
* interfaces for content to observe/unobserve vsync event notifications.
|
|
*/
|
|
async protocol PVsync
|
|
{
|
|
manager PBackground or PBrowser;
|
|
|
|
child:
|
|
// Send vsync event and vsync rate from chrome to content process.
|
|
[Compress, Priority=vsync] async Notify(VsyncEvent aVsync, float aVsyncRate);
|
|
|
|
parent:
|
|
// Content process use these messages to acquire the vsync event.
|
|
async Observe();
|
|
async Unobserve();
|
|
|
|
// This message is never sent. Each PVsync actor will stay alive as long as
|
|
// its PBackground or PBrowser manager.
|
|
async __delete__();
|
|
};
|
|
|
|
} // namespace dom
|
|
} // namespace mozilla
|