mirror of
				https://github.com/mozilla/gecko-dev.git
				synced 2025-11-04 10:18:41 +02:00 
			
		
		
		
	
		
			
				
	
	
		
			59 lines
		
	
	
	
		
			1.7 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			59 lines
		
	
	
	
		
			1.7 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
/* 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 is loaded into the browser window scope.
 | 
						|
/* eslint-env mozilla/browser-window */
 | 
						|
 | 
						|
/**
 | 
						|
 * Global browser interface with graphics utilities.
 | 
						|
 */
 | 
						|
var gGfxUtils = {
 | 
						|
  _isRecording: false,
 | 
						|
  _isTransactionLogging: false,
 | 
						|
  _isCapturingFrames: false,
 | 
						|
 | 
						|
  init() {
 | 
						|
    if (Services.prefs.getBoolPref("gfx.webrender.debug.enable-capture")) {
 | 
						|
      document.getElementById("wrCaptureCmd").removeAttribute("disabled");
 | 
						|
      document
 | 
						|
        .getElementById("wrToggleCaptureSequenceCmd")
 | 
						|
        .removeAttribute("disabled");
 | 
						|
    }
 | 
						|
  },
 | 
						|
 | 
						|
  /**
 | 
						|
   * Toggle composition recording for the current window.
 | 
						|
   */
 | 
						|
  toggleWindowRecording() {
 | 
						|
    window.windowUtils.setCompositionRecording(!this._isRecording);
 | 
						|
    this._isRecording = !this._isRecording;
 | 
						|
  },
 | 
						|
  /**
 | 
						|
   * Trigger a WebRender capture of the current state into a local folder.
 | 
						|
   */
 | 
						|
  webrenderCapture() {
 | 
						|
    window.windowUtils.wrCapture();
 | 
						|
  },
 | 
						|
 | 
						|
  captureSequencePath: "wr-capture-sequence",
 | 
						|
  captureSequenceFlags:
 | 
						|
    window.windowUtils.WR_CAPTURE_SCENE |
 | 
						|
    window.windowUtils.WR_CAPTURE_EXTERNALS,
 | 
						|
 | 
						|
  /**
 | 
						|
   * Trigger a WebRender capture of the current state and future state
 | 
						|
   * into a local folder. If called again, it will stop capturing.
 | 
						|
   */
 | 
						|
  toggleWebrenderCaptureSequence() {
 | 
						|
    this._isCapturingFrames = !this._isCapturingFrames;
 | 
						|
    if (this._isCapturingFrames) {
 | 
						|
      window.windowUtils.wrStartCaptureSequence(
 | 
						|
        this.captureSequencePath,
 | 
						|
        this.captureSequenceFlags
 | 
						|
      );
 | 
						|
    } else {
 | 
						|
      window.windowUtils.wrStopCaptureSequence();
 | 
						|
    }
 | 
						|
  },
 | 
						|
};
 |