21 Commits

Author SHA1 Message Date
Elliott Sprehn
0af96f055d Turn StyleSharing to 11.
In Sky we can style share if our TreeScopes have the same styles, our :host
styles are the same, and we'd inherit the same styles. This allows a lot of
simplification to the style sharing logic since we don't need to deal with
descendant selectors or tree boundary crossing rules:

- We can remove the logic that was checking that we were distributed
to the same insertion points since there's no ::content selectors.

- We can check the actual inherited values instead of looking at the
parentOrSHadowHostNode(). We used to look at the node in Blink because we
were checking that you'd get the same descendant selectors applied. In Sky
we instead want to make sure you'd inherit the same values. This also
means we don't need the element().parentOrShadowHostElement() != parent case
in the SharedStyleFinder which was trying to deal with descendant selectors
again.

I also removed the checks that were redundant with the checks inside
supportsStyleSharing() which we always check before adding sharing
candidates.

Finally by refactoring the code to make the TreeScope style check work it
exposed that the Document::styleSheets() and TreeScope::styleSheets() APIs
are now dead. A future patch will delete the now dead StyleSheetList class
as well.

This change makes the city-list application share between all the items in
the list, and all of the headers of the same type now share as well.

R=ojan@chromium.org

Review URL: https://codereview.chromium.org/796713002
2014-12-11 15:34:24 -08:00
Elliott Sprehn
2be9b79d94 Use the HashSet of attribute names in SharedStyleFinder.
Instead of trying to match the actual attribute rules, lets just look
at the HashSet of attribute names. This is faster, though possibly less
optimal if you use compound rules like .foo[attr]. That's rare though,
and removing this extra RuleSet will allow simplifying SelectorChecker
since hasAnyMatchingRules required a special mode where it tried to
match selectors but ignored if the scope could really match. This paves
the way to moving the RuleFeatureSet to be per-TreeScope instead of
per-Document.

I also made the API of classNamesAffectedByRules match the newly added
attributesAffectedByRules to make SharedStyleFinder consistent.

R=ojan@chromium.org

Review URL: https://codereview.chromium.org/796583002
2014-12-10 17:12:07 -08:00
Elliott Sprehn
6c94c18612 Remove the CSSOM.
This leaves CSSValue, but removes everything else.

R=ojan@chromium.org

Review URL: https://codereview.chromium.org/780483002
2014-12-03 10:50:02 -08:00
Elliott Sprehn
1ace39304c Remove code to collect rules when matching.
We should come up with a better way to implement this feature for the
inspector, the current implementation uses CSSOM wrappers and is n^2
over the number of rules in the page.

R=ojan@chromium.org

Review URL: https://codereview.chromium.org/772363002
2014-12-02 23:10:58 -08:00
Elliott Sprehn
1f1d90bc70 Remove ScopedStyleResolver::treeScopeFor.
We only support inline stylesheets or <style scoped> so we can remove
this helper.

R=ojan@chromium.org

Review URL: https://codereview.chromium.org/767013004
2014-12-02 10:06:48 -08:00
Elliott Sprehn
65c353a334 Remove parent() concept from ScopedStyleResolver.
This isn't needed, we don't have any tree boundary crossing rules.

R=ojan@chromium.org

Review URL: https://codereview.chromium.org/767273003
2014-12-01 20:04:48 -08:00
Elliott Sprehn
253b5bed74 Only allow one shadowRoot.
R=ojan@chromium.org

Review URL: https://codereview.chromium.org/759663003
2014-11-26 13:54:14 -05:00
Eric Seidel
e0fd75b5ab Make absolute and sort all Sky headers
This caused us to lose our gn check certification. :(

Turns out gn check was just ignoring all the header
paths it didn't understand and so gn check passing
for sky wasn't meaning much.  I tried to straighten
out some of the mess in this CL, but its going to take
several more rounds of massaging before gn check
passes again.  On the bright side (almost) all of
our headers are absolute now.  Turns out my script
(attached to the bug) didn't notice ../ includes
but I'll fix that in the next patch.

R=abarth@chromium.org
BUG=435361

Review URL: https://codereview.chromium.org/746023002
2014-11-20 17:42:05 -08:00
Eric Seidel
55b5bc485d Sort headers
Fix (most) generated includes to have gen/ in their path.

This makes it easier to tell where files exist on disk.

Unfortunately I had to leave the old include path
in engine/BUILD.gn to support all the v8 includes
which were too many to deal with in this patch.

It's a little nasty to have the raw build directory
in our include path, but it produces nicer paths.

R=abarth@chromium.org
2014-11-19 12:33:42 -08:00
Elliott Sprehn
42d362ff6b Remove tons of OILPAN.
This removes ::trace, traceAfterDispatch and finalizeGarbageCollectedObject.

R=abarth@chromium.org

Review URL: https://codereview.chromium.org/723253004
2014-11-13 16:56:13 -08:00
Elliott Sprehn
89d5919878 Merge CSSDefaultStyleSheets into StyleResolver.
R=abarth@chromium.org, ojan@chromium.org

Review URL: https://codereview.chromium.org/712143004
2014-11-10 18:50:13 -08:00
Elliott Sprehn
9c7987a6e1 Remove StyleInvalidator machinery.
We don't support descendant selectors, so switch everything back to
basic hash table lookups.

R=ojan@chromium.org

Review URL: https://codereview.chromium.org/712173002
2014-11-10 17:35:11 -08:00
Ojan Vafai
275c5e291c Remove zoom() and effectiveZoom().
No change in behavior since we already removed the zoom setters.

R=esprehn@chromium.org

Review URL: https://codereview.chromium.org/711203002
2014-11-10 17:32:52 -08:00
Ojan Vafai
e00f34ccf6 Initial step of removing CSS zoom related properties.
R=abarth@chromium.org

Review URL: https://codereview.chromium.org/710113003
2014-11-10 13:07:29 -08:00
Elliott Sprehn
d1e3759806 Remove more oilpan.
I also unraveled lots of transitive deps from Handle.h

R=ojan@chromium.org

Review URL: https://codereview.chromium.org/709203002
2014-11-07 18:11:03 -08:00
Ojan Vafai
21bde7479d Remove final instances of WritingMode in Sky.
After this patch, the only instance of WritingMode is in a comment.
No change in behavior.

TBR=esprehn@chromium.org

Review URL: https://codereview.chromium.org/674073005
2014-10-29 19:58:14 -07:00
Ojan Vafai
959c404854 Remove all writing mode function arguments and remove writing mode from RenderStyle.
R=esprehn@chromium.org

Review URL: https://codereview.chromium.org/683803006
2014-10-29 12:18:30 -07:00
Ojan Vafai
8b0d9e8ac9 First past at removing writing mode.
This removes the parsing and the enum. This leaves a bunch of
dead code around to fix in a followup.

R=esprehn@chromium.org

Review URL: https://codereview.chromium.org/689743002
2014-10-29 12:17:11 -07:00
Eric Seidel
64b5cb61a1 Remove all oilpan transitional types
I used do-webcore-rename from Blink/WebKit
which is very good at doing this kind
of search-replace.

Also removed toRefPrtNativeArray after
conversion since it previously had two
separate flavors.  Both versions are no longer
used so I've removed the code until we
need one again.

https://www.irccloud.com/pastebin/5C16p5cE
is the diff I used to do-webcore-rename

TBR=abarth@chromium.org
2014-10-27 14:13:01 -07:00
Ojan Vafai
f9e0a463af Remove meta viewport and @viewport CSS rules.
We won't need configurations like this since we don't have things
like page zoom and a default width.

R=abarth@chromium.org

Review URL: https://codereview.chromium.org/654693004
2014-10-25 23:08:58 -07:00
Adam Barth
ae72930937 Open the Sky 2014-10-23 11:17:19 -07:00