diff options
Diffstat (limited to 'dom/webidl/APZTestData.webidl')
-rw-r--r-- | dom/webidl/APZTestData.webidl | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/dom/webidl/APZTestData.webidl b/dom/webidl/APZTestData.webidl new file mode 100644 index 000000000..227f4b0b9 --- /dev/null +++ b/dom/webidl/APZTestData.webidl @@ -0,0 +1,47 @@ +/* -*- 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; +}; |