mirror of
				https://github.com/mozilla/gecko-dev.git
				synced 2025-11-04 02:09:05 +02:00 
			
		
		
		
	Depends on D166144 Differential Revision: https://phabricator.services.mozilla.com/D166146
		
			
				
	
	
		
			126 lines
		
	
	
	
		
			3.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			126 lines
		
	
	
	
		
			3.2 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/. */
 | 
						|
"use strict";
 | 
						|
 | 
						|
const {
 | 
						|
  Arg,
 | 
						|
  Option,
 | 
						|
  RetVal,
 | 
						|
  generateActorSpec,
 | 
						|
  types,
 | 
						|
} = require("resource://devtools/shared/protocol.js");
 | 
						|
 | 
						|
// Load the shared types for style actors
 | 
						|
require("resource://devtools/shared/specs/style/style-types.js");
 | 
						|
 | 
						|
const pageStyleSpec = generateActorSpec({
 | 
						|
  typeName: "pagestyle",
 | 
						|
 | 
						|
  events: {
 | 
						|
    "stylesheet-updated": {
 | 
						|
      type: "styleSheetUpdated",
 | 
						|
    },
 | 
						|
  },
 | 
						|
 | 
						|
  methods: {
 | 
						|
    getComputed: {
 | 
						|
      request: {
 | 
						|
        node: Arg(0, "domnode"),
 | 
						|
        markMatched: Option(1, "boolean"),
 | 
						|
        onlyMatched: Option(1, "boolean"),
 | 
						|
        filter: Option(1, "string"),
 | 
						|
        filterProperties: Option(1, "nullable:array:string"),
 | 
						|
      },
 | 
						|
      response: {
 | 
						|
        computed: RetVal("json"),
 | 
						|
      },
 | 
						|
    },
 | 
						|
    getAllUsedFontFaces: {
 | 
						|
      request: {
 | 
						|
        includePreviews: Option(0, "boolean"),
 | 
						|
        includeVariations: Option(1, "boolean"),
 | 
						|
        previewText: Option(0, "string"),
 | 
						|
        previewFontSize: Option(0, "string"),
 | 
						|
        previewFillStyle: Option(0, "string"),
 | 
						|
      },
 | 
						|
      response: {
 | 
						|
        fontFaces: RetVal("array:fontface"),
 | 
						|
      },
 | 
						|
    },
 | 
						|
    getUsedFontFaces: {
 | 
						|
      request: {
 | 
						|
        node: Arg(0, "domnode"),
 | 
						|
        includePreviews: Option(1, "boolean"),
 | 
						|
        includeVariations: Option(1, "boolean"),
 | 
						|
        previewText: Option(1, "string"),
 | 
						|
        previewFontSize: Option(1, "string"),
 | 
						|
        previewFillStyle: Option(1, "string"),
 | 
						|
      },
 | 
						|
      response: {
 | 
						|
        fontFaces: RetVal("array:fontface"),
 | 
						|
      },
 | 
						|
    },
 | 
						|
    getMatchedSelectors: {
 | 
						|
      request: {
 | 
						|
        node: Arg(0, "domnode"),
 | 
						|
        property: Arg(1, "string"),
 | 
						|
        filter: Option(2, "string"),
 | 
						|
      },
 | 
						|
      response: RetVal(
 | 
						|
        types.addDictType("matchedselectorresponse", {
 | 
						|
          rules: "array:domstylerule",
 | 
						|
          matched: "array:matchedselector",
 | 
						|
        })
 | 
						|
      ),
 | 
						|
    },
 | 
						|
    getRule: {
 | 
						|
      request: {
 | 
						|
        ruleId: Arg(0, "string"),
 | 
						|
      },
 | 
						|
      response: {
 | 
						|
        rule: RetVal("nullable:domstylerule"),
 | 
						|
      },
 | 
						|
    },
 | 
						|
    getApplied: {
 | 
						|
      request: {
 | 
						|
        node: Arg(0, "domnode"),
 | 
						|
        inherited: Option(1, "boolean"),
 | 
						|
        matchedSelectors: Option(1, "boolean"),
 | 
						|
        skipPseudo: Option(1, "boolean"),
 | 
						|
        filter: Option(1, "string"),
 | 
						|
      },
 | 
						|
      response: RetVal("appliedStylesReturn"),
 | 
						|
    },
 | 
						|
    isPositionEditable: {
 | 
						|
      request: { node: Arg(0, "domnode") },
 | 
						|
      response: { value: RetVal("boolean") },
 | 
						|
    },
 | 
						|
    getLayout: {
 | 
						|
      request: {
 | 
						|
        node: Arg(0, "domnode"),
 | 
						|
        autoMargins: Option(1, "boolean"),
 | 
						|
      },
 | 
						|
      response: RetVal("json"),
 | 
						|
    },
 | 
						|
    addNewRule: {
 | 
						|
      request: {
 | 
						|
        node: Arg(0, "domnode"),
 | 
						|
        pseudoClasses: Arg(1, "nullable:array:string"),
 | 
						|
      },
 | 
						|
      response: RetVal("appliedStylesReturn"),
 | 
						|
    },
 | 
						|
    getAttributesInOwnerDocument: {
 | 
						|
      request: {
 | 
						|
        search: Arg(0, "string"),
 | 
						|
        attributeType: Arg(1, "string"),
 | 
						|
        node: Arg(2, "nullable:domnode"),
 | 
						|
      },
 | 
						|
      response: {
 | 
						|
        attributes: RetVal("array:string"),
 | 
						|
      },
 | 
						|
    },
 | 
						|
  },
 | 
						|
});
 | 
						|
 | 
						|
exports.pageStyleSpec = pageStyleSpec;
 |