зеркало из https://github.com/mozilla/gecko-dev.git
45 строки
1.3 KiB
Plaintext
45 строки
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 "mozilla/layers/LayersMessageUtils.h";
|
|
|
|
using class mozilla::TimeStamp from "mozilla/TimeStamp.h";
|
|
using mozilla::VsyncEvent from "mozilla/VsyncDispatcher.h";
|
|
|
|
namespace mozilla {
|
|
namespace layout {
|
|
|
|
/*
|
|
* The PVsync is a sub-protocol in PBackground 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;
|
|
|
|
child:
|
|
// Send vsync event from chrome to content process.
|
|
prio(high) async Notify(VsyncEvent aVsync) compress;
|
|
|
|
// Send the vsync rate to the content process.
|
|
async VsyncRate(float aVsyncRate);
|
|
|
|
parent:
|
|
// Content process use these messages to acquire the vsync event.
|
|
async Observe();
|
|
async Unobserve();
|
|
async RequestVsyncRate();
|
|
|
|
// This message is never sent. Each PVsync actor will stay alive as long as
|
|
// its PBackground manager.
|
|
async __delete__();
|
|
};
|
|
|
|
} // namespace layout
|
|
} // namespace mozilla
|
|
|