Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(862)

Unified Diff: third_party/WebKit/Source/devtools/front_end/formatter_worker/CSSRuleParser.js

Issue 2466123002: DevTools: reformat front-end code to match chromium style. (Closed)
Patch Set: all done Created 4 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/Source/devtools/front_end/formatter_worker/CSSRuleParser.js
diff --git a/third_party/WebKit/Source/devtools/front_end/formatter_worker/CSSRuleParser.js b/third_party/WebKit/Source/devtools/front_end/formatter_worker/CSSRuleParser.js
index 7bceb14e050e37302411599dc93fff11660ce889..58c15aacabda2987c0cad3c56565538854cbe993 100644
--- a/third_party/WebKit/Source/devtools/front_end/formatter_worker/CSSRuleParser.js
+++ b/third_party/WebKit/Source/devtools/front_end/formatter_worker/CSSRuleParser.js
@@ -1,194 +1,183 @@
// Copyright 2016 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-
WebInspector.CSSParserStates = {
- Initial: "Initial",
- Selector: "Selector",
- Style: "Style",
- PropertyName: "PropertyName",
- PropertyValue: "PropertyValue",
- AtRule: "AtRule"
+ Initial: 'Initial',
+ Selector: 'Selector',
+ Style: 'Style',
+ PropertyName: 'PropertyName',
+ PropertyValue: 'PropertyValue',
+ AtRule: 'AtRule'
};
/**
* @param {string} text
*/
-WebInspector.parseCSS = function(text)
-{
- WebInspector._innerParseCSS(text, postMessage);
+WebInspector.parseCSS = function(text) {
+ WebInspector._innerParseCSS(text, postMessage);
};
/**
* @param {string} text
* @param {function(*)} chunkCallback
*/
-WebInspector._innerParseCSS = function(text, chunkCallback)
-{
- var chunkSize = 100000; // characters per data chunk
- var lines = text.split("\n");
- var rules = [];
- var processedChunkCharacters = 0;
+WebInspector._innerParseCSS = function(text, chunkCallback) {
+ var chunkSize = 100000; // characters per data chunk
+ var lines = text.split('\n');
+ var rules = [];
+ var processedChunkCharacters = 0;
- var state = WebInspector.CSSParserStates.Initial;
- var rule;
- var property;
- var UndefTokenType = new Set();
+ var state = WebInspector.CSSParserStates.Initial;
+ var rule;
+ var property;
+ var UndefTokenType = new Set();
- var disabledRules = [];
- function disabledRulesCallback(chunk)
- {
- disabledRules = disabledRules.concat(chunk.chunk);
- }
+ var disabledRules = [];
+ function disabledRulesCallback(chunk) {
+ disabledRules = disabledRules.concat(chunk.chunk);
+ }
- /**
- * @param {string} tokenValue
- * @param {?string} tokenTypes
- * @param {number} column
- * @param {number} newColumn
- */
- function processToken(tokenValue, tokenTypes, column, newColumn)
- {
- var tokenType = tokenTypes ? new Set(tokenTypes.split(" ")) : UndefTokenType;
- switch (state) {
- case WebInspector.CSSParserStates.Initial:
- if (tokenType.has("qualifier") || tokenType.has("builtin") || tokenType.has("tag")) {
- rule = {
- selectorText: tokenValue,
- lineNumber: lineNumber,
- columnNumber: column,
- properties: [],
- };
- state = WebInspector.CSSParserStates.Selector;
- } else if (tokenType.has("def")) {
- rule = {
- atRule: tokenValue,
- lineNumber: lineNumber,
- columnNumber: column,
- };
- state = WebInspector.CSSParserStates.AtRule;
- }
- break;
- case WebInspector.CSSParserStates.Selector:
- if (tokenValue === "{" && tokenType === UndefTokenType) {
- rule.selectorText = rule.selectorText.trim();
- rule.styleRange = createRange(lineNumber, newColumn);
- state = WebInspector.CSSParserStates.Style;
- } else {
- rule.selectorText += tokenValue;
- }
- break;
- case WebInspector.CSSParserStates.AtRule:
- if ((tokenValue === ";" || tokenValue === "{") && tokenType === UndefTokenType) {
- rule.atRule = rule.atRule.trim();
- rules.push(rule);
- state = WebInspector.CSSParserStates.Initial;
- } else {
- rule.atRule += tokenValue;
- }
- break;
- case WebInspector.CSSParserStates.Style:
- if (tokenType.has("meta") || tokenType.has("property")) {
- property = {
- name: tokenValue,
- value: "",
- range: createRange(lineNumber, column),
- nameRange: createRange(lineNumber, column)
- };
- state = WebInspector.CSSParserStates.PropertyName;
- } else if (tokenValue === "}" && tokenType === UndefTokenType) {
- rule.styleRange.endLine = lineNumber;
- rule.styleRange.endColumn = column;
- rules.push(rule);
- state = WebInspector.CSSParserStates.Initial;
- } else if (tokenType.has("comment")) {
- // The |processToken| is called per-line, so no token spans more than one line.
- // Support only a one-line comments.
- if (tokenValue.substring(0, 2) !== "/*" || tokenValue.substring(tokenValue.length - 2) !== "*/")
- break;
- var uncommentedText = tokenValue.substring(2, tokenValue.length - 2);
- var fakeRule = "a{\n" + uncommentedText + "}";
- disabledRules = [];
- WebInspector._innerParseCSS(fakeRule, disabledRulesCallback);
- if (disabledRules.length === 1 && disabledRules[0].properties.length === 1) {
- var disabledProperty = disabledRules[0].properties[0];
- disabledProperty.disabled = true;
- disabledProperty.range = createRange(lineNumber, column);
- disabledProperty.range.endColumn = newColumn;
- var lineOffset = lineNumber - 1;
- var columnOffset = column + 2;
- disabledProperty.nameRange.startLine += lineOffset;
- disabledProperty.nameRange.startColumn += columnOffset;
- disabledProperty.nameRange.endLine += lineOffset;
- disabledProperty.nameRange.endColumn += columnOffset;
- disabledProperty.valueRange.startLine += lineOffset;
- disabledProperty.valueRange.startColumn += columnOffset;
- disabledProperty.valueRange.endLine += lineOffset;
- disabledProperty.valueRange.endColumn += columnOffset;
- rule.properties.push(disabledProperty);
- }
- }
- break;
- case WebInspector.CSSParserStates.PropertyName:
- if (tokenValue === ":" && tokenType === UndefTokenType) {
- property.name = property.name;
- property.nameRange.endLine = lineNumber;
- property.nameRange.endColumn = column;
- property.valueRange = createRange(lineNumber, newColumn);
- state = WebInspector.CSSParserStates.PropertyValue;
- } else if (tokenType.has("property")) {
- property.name += tokenValue;
- }
- break;
- case WebInspector.CSSParserStates.PropertyValue:
- if ((tokenValue === ";" || tokenValue === "}") && tokenType === UndefTokenType) {
- property.value = property.value;
- property.valueRange.endLine = lineNumber;
- property.valueRange.endColumn = column;
- property.range.endLine = lineNumber;
- property.range.endColumn = tokenValue === ";" ? newColumn : column;
- rule.properties.push(property);
- if (tokenValue === "}") {
- rule.styleRange.endLine = lineNumber;
- rule.styleRange.endColumn = column;
- rules.push(rule);
- state = WebInspector.CSSParserStates.Initial;
- } else {
- state = WebInspector.CSSParserStates.Style;
- }
- } else if (!tokenType.has("comment")) {
- property.value += tokenValue;
- }
+ /**
+ * @param {string} tokenValue
+ * @param {?string} tokenTypes
+ * @param {number} column
+ * @param {number} newColumn
+ */
+ function processToken(tokenValue, tokenTypes, column, newColumn) {
+ var tokenType = tokenTypes ? new Set(tokenTypes.split(' ')) : UndefTokenType;
+ switch (state) {
+ case WebInspector.CSSParserStates.Initial:
+ if (tokenType.has('qualifier') || tokenType.has('builtin') || tokenType.has('tag')) {
+ rule = {
+ selectorText: tokenValue,
+ lineNumber: lineNumber,
+ columnNumber: column,
+ properties: [],
+ };
+ state = WebInspector.CSSParserStates.Selector;
+ } else if (tokenType.has('def')) {
+ rule = {
+ atRule: tokenValue,
+ lineNumber: lineNumber,
+ columnNumber: column,
+ };
+ state = WebInspector.CSSParserStates.AtRule;
+ }
+ break;
+ case WebInspector.CSSParserStates.Selector:
+ if (tokenValue === '{' && tokenType === UndefTokenType) {
+ rule.selectorText = rule.selectorText.trim();
+ rule.styleRange = createRange(lineNumber, newColumn);
+ state = WebInspector.CSSParserStates.Style;
+ } else {
+ rule.selectorText += tokenValue;
+ }
+ break;
+ case WebInspector.CSSParserStates.AtRule:
+ if ((tokenValue === ';' || tokenValue === '{') && tokenType === UndefTokenType) {
+ rule.atRule = rule.atRule.trim();
+ rules.push(rule);
+ state = WebInspector.CSSParserStates.Initial;
+ } else {
+ rule.atRule += tokenValue;
+ }
+ break;
+ case WebInspector.CSSParserStates.Style:
+ if (tokenType.has('meta') || tokenType.has('property')) {
+ property = {
+ name: tokenValue,
+ value: '',
+ range: createRange(lineNumber, column),
+ nameRange: createRange(lineNumber, column)
+ };
+ state = WebInspector.CSSParserStates.PropertyName;
+ } else if (tokenValue === '}' && tokenType === UndefTokenType) {
+ rule.styleRange.endLine = lineNumber;
+ rule.styleRange.endColumn = column;
+ rules.push(rule);
+ state = WebInspector.CSSParserStates.Initial;
+ } else if (tokenType.has('comment')) {
+ // The |processToken| is called per-line, so no token spans more than one line.
+ // Support only a one-line comments.
+ if (tokenValue.substring(0, 2) !== '/*' || tokenValue.substring(tokenValue.length - 2) !== '*/')
break;
- default:
- console.assert(false, "Unknown CSS parser state.");
+ var uncommentedText = tokenValue.substring(2, tokenValue.length - 2);
+ var fakeRule = 'a{\n' + uncommentedText + '}';
+ disabledRules = [];
+ WebInspector._innerParseCSS(fakeRule, disabledRulesCallback);
+ if (disabledRules.length === 1 && disabledRules[0].properties.length === 1) {
+ var disabledProperty = disabledRules[0].properties[0];
+ disabledProperty.disabled = true;
+ disabledProperty.range = createRange(lineNumber, column);
+ disabledProperty.range.endColumn = newColumn;
+ var lineOffset = lineNumber - 1;
+ var columnOffset = column + 2;
+ disabledProperty.nameRange.startLine += lineOffset;
+ disabledProperty.nameRange.startColumn += columnOffset;
+ disabledProperty.nameRange.endLine += lineOffset;
+ disabledProperty.nameRange.endColumn += columnOffset;
+ disabledProperty.valueRange.startLine += lineOffset;
+ disabledProperty.valueRange.startColumn += columnOffset;
+ disabledProperty.valueRange.endLine += lineOffset;
+ disabledProperty.valueRange.endColumn += columnOffset;
+ rule.properties.push(disabledProperty);
+ }
+ }
+ break;
+ case WebInspector.CSSParserStates.PropertyName:
+ if (tokenValue === ':' && tokenType === UndefTokenType) {
+ property.name = property.name;
+ property.nameRange.endLine = lineNumber;
+ property.nameRange.endColumn = column;
+ property.valueRange = createRange(lineNumber, newColumn);
+ state = WebInspector.CSSParserStates.PropertyValue;
+ } else if (tokenType.has('property')) {
+ property.name += tokenValue;
}
- processedChunkCharacters += newColumn - column;
- if (processedChunkCharacters > chunkSize) {
- chunkCallback({ chunk: rules, isLastChunk: false });
- rules = [];
- processedChunkCharacters = 0;
+ break;
+ case WebInspector.CSSParserStates.PropertyValue:
+ if ((tokenValue === ';' || tokenValue === '}') && tokenType === UndefTokenType) {
+ property.value = property.value;
+ property.valueRange.endLine = lineNumber;
+ property.valueRange.endColumn = column;
+ property.range.endLine = lineNumber;
+ property.range.endColumn = tokenValue === ';' ? newColumn : column;
+ rule.properties.push(property);
+ if (tokenValue === '}') {
+ rule.styleRange.endLine = lineNumber;
+ rule.styleRange.endColumn = column;
+ rules.push(rule);
+ state = WebInspector.CSSParserStates.Initial;
+ } else {
+ state = WebInspector.CSSParserStates.Style;
+ }
+ } else if (!tokenType.has('comment')) {
+ property.value += tokenValue;
}
+ break;
+ default:
+ console.assert(false, 'Unknown CSS parser state.');
}
- var tokenizer = WebInspector.createTokenizer("text/css");
- var lineNumber;
- for (lineNumber = 0; lineNumber < lines.length; ++lineNumber) {
- var line = lines[lineNumber];
- tokenizer(line, processToken);
- processToken("\n", null, line.length, line.length + 1);
+ processedChunkCharacters += newColumn - column;
+ if (processedChunkCharacters > chunkSize) {
+ chunkCallback({chunk: rules, isLastChunk: false});
+ rules = [];
+ processedChunkCharacters = 0;
}
- chunkCallback({ chunk: rules, isLastChunk: true });
+ }
+ var tokenizer = WebInspector.createTokenizer('text/css');
+ var lineNumber;
+ for (lineNumber = 0; lineNumber < lines.length; ++lineNumber) {
+ var line = lines[lineNumber];
+ tokenizer(line, processToken);
+ processToken('\n', null, line.length, line.length + 1);
+ }
+ chunkCallback({chunk: rules, isLastChunk: true});
- /**
- * @return {!{startLine: number, startColumn: number, endLine: number, endColumn: number}}
- */
- function createRange(lineNumber, columnNumber)
- {
- return {
- startLine: lineNumber,
- startColumn: columnNumber,
- endLine: lineNumber,
- endColumn: columnNumber
- };
- }
+ /**
+ * @return {!{startLine: number, startColumn: number, endLine: number, endColumn: number}}
+ */
+ function createRange(lineNumber, columnNumber) {
+ return {startLine: lineNumber, startColumn: columnNumber, endLine: lineNumber, endColumn: columnNumber};
+ }
};

Powered by Google App Engine
This is Rietveld 408576698