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

Issue 112933010: Split out CSSParser public API

Created:
6 years, 11 months ago by eseidel
Modified:
6 years, 7 months ago
Reviewers:
haraken, ojan, esprehn, darktears
CC:
blink-reviews, shans, eae+blinkwatch, yurys+blink_chromium.org, apavlov+blink_chromium.org, adamk+blink_chromium.org, pdr, loislo+blink_chromium.org, Steve Block, dino_apple.com, rwlbuis, Nils Barth (inactive), krit, caseq+blink_chromium.org, Nate Chapin, arv+blink, alancutter (OOO until 2018), marja+watch_chromium.org, dglazkov+blink, abarth-chromium, aandrey+blink_chromium.org, dstockwell, Timothy Loh, Rik, devtools-reviews_chromium.org, Eric Willigers, kenneth.christiansen, rjwright, sof, lushnikov+blink_chromium.org, pfeldman+blink_chromium.org, eustas+blink_chromium.org, paulirish+reviews_chromium.org, kojih, jsbell+bindings_chromium.org, alph+blink_chromium.org, vsevik+blink_chromium.org, Mike Lawther (Google), f(malita), Inactive, Stephen Chennney, tfarina
Visibility:
Public.

Description

Split out CSSParser public API The goal was to identify and separate out the "public" API for the CSS parsing subsystem from the larger set of public methods on CSSParser (now BisonCSSParser) which are marked public just for CSSGrammer.y to consume. BisonCSSParser (previously CSSParser) exposes over *300* public methods and members! All but the 15 copied to CSSParser were just for CSSGrammar.y integration. This is all in preparation for attempting to swap out the CSSParser wholesale with a from-scratch implementation of the CSS3 Syntax specification. CSSParser.cpp now provides a place for me to do that run-time switching between the Bison-based parser and my new hand-rolled parser (not yet landed). Much of what is now BisonCSSParser will need to be split out into a separate "CSSBuilder" object or something akin to the HTMLConstructionSite and re-used by my proposed re-written CSS parser as the CSS3 syntax spec doesn't specify all the details encapsulated in the old parser grammar file. Follow-up patches will work to further reduce the exposed CSSParser API and remove more of this redundant indirection. This was originally tracked as: https://codereview.chromium.org/121673002 but as moved here due to rietveld 500 errors. BUG=330389

Patch Set 1 #

Total comments: 5
Unified diffs Side-by-side diffs Delta from patch set Stats (+302 lines, -73 lines) Patch
M Source/bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp View 1 chunk +1 line, -1 line 0 comments Download
M Source/core/animation/ElementAnimation.cpp View 1 chunk +1 line, -1 line 0 comments Download
M Source/core/core.gypi View 4 chunks +10 lines, -8 lines 0 comments Download
M Source/core/css/CSSComputedStyleDeclaration.cpp View 1 chunk +1 line, -1 line 0 comments Download
M Source/core/css/CSSGrammar.y View 2 chunks +1 line, -1 line 0 comments Download
M Source/core/css/CSSGroupingRule.cpp View 1 chunk +1 line, -1 line 0 comments Download
M Source/core/css/CSSKeyframeRule.cpp View 2 chunks +2 lines, -2 lines 0 comments Download
M Source/core/css/CSSKeyframesRule.cpp View 1 chunk +1 line, -1 line 0 comments Download
M Source/core/css/CSSMatrix.cpp View 2 chunks +2 lines, -2 lines 0 comments Download
M Source/core/css/CSSPageRule.cpp View 1 chunk +1 line, -1 line 0 comments Download
M Source/core/css/CSSPrimitiveValue.cpp View 2 chunks +4 lines, -3 lines 0 comments Download
M Source/core/css/CSSStyleRule.cpp View 1 chunk +1 line, -1 line 0 comments Download
M Source/core/css/CSSStyleSheet.cpp View 1 chunk +1 line, -1 line 0 comments Download
M Source/core/css/CSSTokenizer-in.cpp View 1 chunk +1 line, -1 line 0 comments Download
M Source/core/css/CSSValuePool.cpp View 2 chunks +2 lines, -2 lines 0 comments Download
M Source/core/css/DOMWindowCSS.cpp View 3 chunks +3 lines, -3 lines 0 comments Download
M Source/core/css/FontFace.cpp View 2 chunks +2 lines, -2 lines 0 comments Download
M Source/core/css/FontFaceSet.cpp View 2 chunks +2 lines, -2 lines 0 comments Download
M Source/core/css/MediaList.cpp View 1 chunk +1 line, -1 line 0 comments Download
M Source/core/css/MediaQueryExp.cpp View 1 chunk +1 line, -1 line 0 comments Download
M Source/core/css/PropertySetCSSStyleDeclaration.cpp View 1 chunk +1 line, -1 line 0 comments Download
M Source/core/css/SVGCSSParser.cpp View 1 chunk +1 line, -1 line 0 comments Download
M Source/core/css/StylePropertySet.cpp View 2 chunks +2 lines, -2 lines 0 comments Download
M Source/core/css/StyleSheetContents.cpp View 1 chunk +1 line, -1 line 0 comments Download
M Source/core/css/parser/BisonCSSParser.h View 2 chunks +3 lines, -3 lines 0 comments Download
A Source/core/css/parser/CSSParser.h View 1 chunk +107 lines, -0 lines 2 comments Download
A Source/core/css/parser/CSSParser.cpp View 1 chunk +118 lines, -0 lines 0 comments Download
M Source/core/css/resolver/FilterOperationResolver.cpp View 1 chunk +1 line, -1 line 1 comment Download
M Source/core/css/resolver/StyleBuilderCustom.cpp View 1 chunk +1 line, -1 line 0 comments Download
M Source/core/css/resolver/StyleResolver.cpp View 1 chunk +1 line, -1 line 0 comments Download
M Source/core/dom/CSSSelectorWatch.cpp View 1 chunk +1 line, -1 line 0 comments Download
M Source/core/dom/Element.cpp View 2 chunks +2 lines, -2 lines 0 comments Download
M Source/core/dom/SelectorQuery.cpp View 1 chunk +1 line, -1 line 0 comments Download
M Source/core/editing/EditingStyle.cpp View 2 chunks +3 lines, -2 lines 1 comment Download
M Source/core/html/HTMLBodyElement.cpp View 2 chunks +2 lines, -2 lines 0 comments Download
M Source/core/html/canvas/CanvasRenderingContext2D.cpp View 2 chunks +2 lines, -2 lines 0 comments Download
M Source/core/html/canvas/CanvasStyle.cpp View 3 chunks +4 lines, -4 lines 1 comment Download
M Source/core/html/shadow/HTMLContentElement.cpp View 1 chunk +1 line, -1 line 0 comments Download
M Source/core/inspector/InspectorStyleSheet.cpp View 4 chunks +5 lines, -5 lines 0 comments Download
M Source/core/svg/SVGAnimateElement.cpp View 1 chunk +1 line, -1 line 0 comments Download
M Source/core/svg/SVGAnimationElement.cpp View 1 chunk +1 line, -1 line 0 comments Download
M Source/core/svg/SVGColor.cpp View 2 chunks +2 lines, -2 lines 0 comments Download
M Source/core/svg/SVGElement.cpp View 1 chunk +1 line, -1 line 0 comments Download
M Source/web/WebSelector.cpp View 1 chunk +1 line, -1 line 0 comments Download

Messages

Total messages: 9 (0 generated)
esprehn
I'll review this as soon as I can.
6 years, 11 months ago (2013-12-31 01:52:38 UTC) #1
eseidel
I think we need to consider this patch on its own merrits and not on ...
6 years, 11 months ago (2014-01-01 17:06:37 UTC) #2
darktears
On 2014/01/01 17:06:37, eseidel wrote: > I think we need to consider this patch on ...
6 years, 11 months ago (2014-01-02 21:10:07 UTC) #3
darktears
On 2014/01/02 21:10:07, darktears wrote: > On 2014/01/01 17:06:37, eseidel wrote: > > I think ...
6 years, 11 months ago (2014-01-02 21:10:18 UTC) #4
ojan
lgtm https://codereview.chromium.org/112933010/diff/1/Source/core/css/parser/CSSParser.h File Source/core/css/parser/CSSParser.h (right): https://codereview.chromium.org/112933010/diff/1/Source/core/css/parser/CSSParser.h#newcode74 Source/core/css/parser/CSSParser.h:74: // Only used by MediaList.cpp, always in HTMLStandardMode. ...
6 years, 10 months ago (2014-02-19 19:52:30 UTC) #5
haraken
On 2014/02/19 19:52:30, ojan wrote: > lgtm > > https://codereview.chromium.org/112933010/diff/1/Source/core/css/parser/CSSParser.h > File Source/core/css/parser/CSSParser.h (right): > ...
6 years, 10 months ago (2014-02-19 22:57:43 UTC) #6
haraken
rubberstamp LGTM for bindings/
6 years, 10 months ago (2014-02-19 22:58:06 UTC) #7
tfarina
https://codereview.chromium.org/112933010/diff/1/Source/core/css/parser/CSSParser.h File Source/core/css/parser/CSSParser.h (right): https://codereview.chromium.org/112933010/diff/1/Source/core/css/parser/CSSParser.h#newcode2 Source/core/css/parser/CSSParser.h:2: * Copyright (C) 2013 Google Inc. All rights reserved. ...
6 years, 10 months ago (2014-02-22 00:16:50 UTC) #8
esprehn
6 years, 7 months ago (2014-04-29 22:15:16 UTC) #9
Any more work on this eseidel?

Powered by Google App Engine
This is Rietveld 408576698