forked from mirrors/gecko-dev
		
	 d05c7d7131
			
		
	
	
		d05c7d7131
		
	
	
	
	
		
			
			This patch is plumbing to get a path and a flags word through from the content process to the graphics process, to pass to `wr_api_start_capture_sequence`. Differential Revision: https://phabricator.services.mozilla.com/D106229
		
			
				
	
	
		
			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.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();
 | |
|     }
 | |
|   },
 | |
| };
 |