gecko-dev/dom/webidl/APZTestData.webidl

48 lines
1.5 KiB
Plaintext

/* -*- Mode: IDL; 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/.
*/
/*
* This file declares data structures used to communicate data logged by
* various components for the purpose of APZ testing (see bug 961289 and
* gfx/layers/apz/test/APZTestData.h) to JS test code.
*/
// A single key-value pair in the data.
dictionary ScrollFrameDataEntry {
DOMString key;
DOMString value;
};
// All the key-value pairs associated with a given scrollable frame.
// The scrollable frame is identified by a scroll id.
dictionary ScrollFrameData {
unsigned long long scrollId;
sequence<ScrollFrameDataEntry> entries;
};
// All the scrollable frames associated with a given paint or repaint request.
// The paint or repaint request is identified by a sequence number.
dictionary APZBucket {
unsigned long sequenceNumber;
sequence<ScrollFrameData> scrollFrames;
};
// All the paints and repaint requests. This is the top-level data structure.
dictionary APZTestData {
sequence<APZBucket> paints;
sequence<APZBucket> repaintRequests;
};
// A frame uniformity measurement for every scrollable layer
dictionary FrameUniformity {
unsigned long layerAddress;
float frameUniformity;
};
dictionary FrameUniformityResults {
sequence<FrameUniformity> layerUniformities;
};