437 Commits

Author SHA1 Message Date
Elliott Sprehn
a5d3fcd3d4 Remove some dead code.
These methods have no callers. I also added a TODO
to actually clear the font cache properly.

R=abarth@chromium.org

Review URL: https://codereview.chromium.org/816423004
2015-01-12 23:33:11 -08:00
Elliott Sprehn
60748a6f94 Remove StyleEngine::usesFirstLineRules().
It always returns false, and Sky doesn't support first
line rules.

R=abarth@chromium.org, ojan@chromium.org

Review URL: https://codereview.chromium.org/847053002
2015-01-12 23:32:28 -08:00
Elliott Sprehn
90ca29a436 Remove Document::shouldScheduleLayout.
All it does is call isActive() now.

R=abarth@chromium.org

Review URL: https://codereview.chromium.org/853433002
2015-01-12 23:32:13 -08:00
Elliott Sprehn
43a9629b49 Remove isRenderingReady.
All this method did was check if imports were loaded, and sky's parser
will wait on imports anyway, so there's no reason to block rendering
on imports as they'll likely be at the top of the document and stop
the rest of the page from being appended or rendered.

Sky apps will probably also want more control over rendering and not
want the old school web style of incremental rendering.

R=abarth@chromium.org, ojan@chromium.org

Review URL: https://codereview.chromium.org/835273006
2015-01-12 22:11:01 -08:00
Elliott Sprehn
c4ecc2236b Remove didRemoveAllPendingStylesheet.
Nothing calls this now, and sky has no concept of pending stylesheets.

TBR=ojan@chromium.org

Review URL: https://codereview.chromium.org/849773002
2015-01-12 20:33:20 -08:00
Elliott Sprehn
689b91c36d Replace sheet change methods with styleResolverChanged.
Unlike blink in sky we just want to mark tree scopes dirty. We can
remove these methods, the dirty tree scope tracking we'll add in
the future will take care of this.

R=ojan@chromium.org

Review URL: https://codereview.chromium.org/836893003
2015-01-12 18:23:55 -08:00
Elliott Sprehn
7fd0df2238 Remove tracking of pending sheets.
I was going to remove all this anyway since we don't need it in sky, all sheets
are local and there's no concept of a pending sheet now.

I also removed the dirty bit I added to StyleSheetCollection. The bit
is not correct and is preventing us from correctly processing sheets and
invalidating style. I'll add it back later when I understand how to add
the dirty bit correctly.

R=ojan@chromium.org

Review URL: https://codereview.chromium.org/846183002
2015-01-12 18:15:23 -08:00
Ojan Vafai
f97bad962e Get rid of the full invalidation bool on FrameView.
It doesn't do anything anymore. Also, delete some now
dead paint invalidation code in RenderObject.

R=esprehn@chromium.org

Review URL: https://codereview.chromium.org/849763002
2015-01-12 18:14:27 -08:00
Ojan Vafai
a044a6d074 Get rid of the *AndFullPaintInvalidation methods.
They now do the same thing as the non-AdnFullPaintInvalidation
versions.

R=esprehn@chromium.org

Review URL: https://codereview.chromium.org/840483004
2015-01-12 17:51:19 -08:00
Ojan Vafai
9bb804cf93 Delete focused by mouse code.
This is effectively dead code since we never set the
focused by mouse bit.

R=esprehn@chromium.org

Review URL: https://codereview.chromium.org/790673006
2015-01-12 17:46:49 -08:00
Ojan Vafai
1729b054e2 Delete dead painting code around m_pendingSheetLayout.
m_pendingSheetLayout is never set to a non-default value.

R=esprehn@chromium.org

Review URL: https://codereview.chromium.org/837633003
2015-01-12 17:15:26 -08:00
Ojan Vafai
544a24a448 Delete RenderSelectionInfo and other selection rect paint invalidation code.
R=esprehn@chromium.org

Review URL: https://codereview.chromium.org/851593002
2015-01-12 17:08:36 -08:00
Ojan Vafai
a198a95ea6 Delete invalidateTreeIfNeeded.
This is just setting and clearing paint invalidation dirty bits.
Also remove a bunch of the paint invalidation dirty bits entirely.
There's plenty more to do.

R=esprehn@chromium.org

Review URL: https://codereview.chromium.org/791023006
2015-01-12 13:29:12 -08:00
James Robinson
9b4e440dea Update from https://crrev.com/311076
Includes updating DCHECK_IS_ON to a function-style macro and removing
various dead skia-overriding code from Sky.

Review URL: https://codereview.chromium.org/851503003
2015-01-12 13:07:20 -08:00
Adam Barth
2bdadc6a42 Remove extraneous files
Not sure how these files ended up in the repo, but we certainly don't need
them.

R=ojan@chromium.org, esprehn@chromium.org

Review URL: https://codereview.chromium.org/849663002
2015-01-12 11:18:23 -08:00
Elliott Sprehn
2231bc3ba9 Don't walk treescopes in updateActiveStyleSheets until the resolver exists.
The update doesn't actually do anything until the resolver
is created, just skip the tree walk.

This also removes the special case for document from StyleSheetCollection
which didn't make any sense. It would cause us to discard the entire
resolver whenever the sheets in the document changed which is far more
work than is actually needed. We probably are missing some font invalidation
code now, but we can add that back later.

R=ojan@chromium.org

Review URL: https://codereview.chromium.org/836383005
2015-01-09 20:52:44 -08:00
Elliott Sprehn
f8d606f67f Use a dirty bit in StyleSheetCollection::updateActiveStyleSheets.
The loop in StyleEngine::updateActiveStyleSheets calls this
for every scope whenever any stylesheet is added or removed
from the document, ex. appending a new SkyElement with a
<style> in it. The method was crawling the scope and looking
for all sheets and then marking the element as needing a
SubtreeStyleRecalc, instead keep a dirty bit to avoid doing
a full document recalc all the time.

I made this slow previously when I removed all the dirty tree
scope tracking logic and made us go down the reconstruct path
in the resolver update all the time.

We now keep a dirty bit and only do this work when the sheets
for a scope have changed.

R=ojan@chromium.org

Review URL: https://codereview.chromium.org/846703003
2015-01-09 20:33:28 -08:00
Elliott Sprehn
04288dc280 Simplify tree scope tracking in StyleEngine.
ShadowRoot should deal with adding and removing itself from the active
scope list. HTMLStyleElement should just add/remove itself directy from
the StyleSheetCollection on the scope its entering or leaving in
insertedInto/removedFrom.

R=ojan@chromium.org

Review URL: https://codereview.chromium.org/844133002
2015-01-09 20:12:00 -08:00
Ojan Vafai
2b77bba1d8 Remove dead boolean argument
R=esprehn@chromium.org

Review URL: https://codereview.chromium.org/847633002
2015-01-09 20:07:59 -08:00
Elliott Sprehn
9931dadd39 Don't check shareElement for attribute rules in SharedStyleFinder.
There's no reason to do this, if an element matched
an attribute rule then it'll have a unique style and
RenderStyle::isSharable() will return false so we
wouldn't even get here.

If we could have matched an attribute rule, but didn't
actually match one then we can continue to share with
other elements that aren't affected by attribute rules
since even though our attributes could affect styling
the rules didn't match us.

R=ojan@chromium.org

Review URL: https://codereview.chromium.org/843233002
2015-01-09 19:14:33 -08:00
Ojan Vafai
cfbabf0397 Delete a bunch of paint invalidation rect computing code.
R=esprehn@chromium.org

Review URL: https://codereview.chromium.org/845873004
2015-01-09 19:05:59 -08:00
Elliott Sprehn
47b217c64c Don't scope check in SelectorChecker.
Instead of checking if the rule is from the right scope
in SelectorChecker, just store :host rules separately
and always assume rules are in the right scope in the
checker.

This removes a lot of complexity that was passing around
the scope and checking it, and also the need to plumb
if we're matching UA rules down into the checker.

R=ojan@chromium.org

Review URL: https://codereview.chromium.org/848493003
2015-01-09 19:00:51 -08:00
Ojan Vafai
a794eb951d Delete an assortment of unneeded paint invalidation code.
R=esprehn@chromium.org

Review URL: https://codereview.chromium.org/845093002
2015-01-09 18:31:26 -08:00
Elliott Sprehn
b7336cd862 Remove shadowPseudoElementRules.
Nothing uses this now, it was for custom pseudo elements
that don't exist in Sky.

R=ojan@chromium.org

Review URL: https://codereview.chromium.org/786953008
2015-01-09 18:18:47 -08:00
Elliott Sprehn
c5d1426457 Remove all attribute selectors that are not Set or Exact.
Sky doesn't support prefix, suffix, list, contains
or other fancy attribute selectors.

R=ojan@chromium.org

Review URL: https://codereview.chromium.org/836383004
2015-01-09 18:09:47 -08:00
Ojan Vafai
69fa7db132 Delete InvalidationReason.
Also delete some other paint invalidation code that
doesn't do anything in Sky.

R=esprehn@chromium.org

Review URL: https://codereview.chromium.org/844023003
2015-01-09 18:01:27 -08:00
Ojan Vafai
7d4c460653 Delete RenderLayerRepainter.
It's dead code.

R=abarth@chromium.org

Review URL: https://codereview.chromium.org/795843008
2015-01-09 17:44:40 -08:00
Ojan Vafai
f5239bbcca Delete paint invalidation rect tracking.
We don't have paint invalidation rects, so we don't
need to track it.

R=esprehn@chromium.org

Review URL: https://codereview.chromium.org/803863003
2015-01-09 16:58:25 -08:00
Ojan Vafai
ce43f3d0c1 First pass at deleting paint invalidation code.
This is all wasted effort in sky since we invalidate
the whole viewport on every frame. We'll probably eventually
add back in some invalidation, but it likely won't
be rect-based.

R=esprehn@chromium.org

Review URL: https://codereview.chromium.org/840403003
2015-01-09 15:20:35 -08:00
Elliott Sprehn
bbd0b89106 Get rid of SelectorCheckingContext.
We can just pass the Element and the scope.

I also deleted checkExactAttribute which was not called, and inlined
tagMatches which only had a single caller.

R=ojan@chromium.org

Review URL: https://codereview.chromium.org/801283006
2015-01-09 15:17:20 -08:00
James Robinson
375d0f44e0 Remove client relationship between sky::Inspector{Front,Back}end
This removes the client relationship between the sky::InspectorFrontend
and sky::InspectorBackend mojo interfaces. Instead, the two are now
unrelated (in the mojom) and just happen to be often used together.
The inspector service provides the InspectorFrontend interface to
connecting applications and optimistically tries to connect to the
InspectorBackend interface of applications that connect, in case they
want to receive messages.  The front and back end interfaces are both
broadcast APIs, so no attempt is made to keep track of which binding
is which. If they did need to be correlated this could be easily
accomplished by allocating a new object to keep a
mojo::Binding<sky::InspectorFrontend> and the corresponding
sky::InspectorBackendPtr.

R=abarth@chromium.org, eseidel@chromium.org

Review URL: https://codereview.chromium.org/835463003
2015-01-09 14:50:39 -08:00
Elliott Sprehn
29ce4f5a9a Make SelectorChecker a const operation over element.
We now store the bits about what was matched inside the SelectorChecker
and map them to operations that mutate the style after matching the
selector. This eliminates the SelectorChecker::Mode.

R=ojan@chromium.org

Review URL: https://codereview.chromium.org/840163003
2015-01-08 18:06:12 -08:00
Elliott Sprehn
7b0d1d8fda Remove CascadeScope.
It's always zero in sky.

This was for sorting tree boundary crossing rules and rules in multiple
ShadowRoots on the same element. Neither of those things exist in Sky
so we can remove it.

R=ojan@chromium.org

Review URL: https://codereview.chromium.org/800483006
2015-01-08 18:02:23 -08:00
Elliott Sprehn
c953075f5f Remove includeEmptyRules.
No one ever sets this, and I'm not sure why we'd ever want to
keep around empty property sets.

R=ojan@chromium.org

Review URL: https://codereview.chromium.org/828373005
2015-01-08 17:23:05 -08:00
Ojan Vafai
7ae966e650 Fix crash in continuations.
Style sharing didn't play nicely with elements getting
their display adjusted based off the parent's display.
We style share without doing adjusting, so we need to
avoid style sharing if adjusting would result in
a different style. Particularly, we need to make sure
that the display coercion would happen in the same way.

R=esprehn@chromium.org

Review URL: https://codereview.chromium.org/839153002
2015-01-08 17:20:00 -08:00
Ojan Vafai
81fe9184ff Fix renderName on RenderBlock and RenderParagraph.
RenderBlock should indicate when something is an inline-block.
RenderParagraph should not print out RenderBlock.

R=abarth@chromium.org

Review URL: https://codereview.chromium.org/828433004
2015-01-08 17:14:17 -08:00
Nick Bray
d1ea62424c Roll Chrome into Mojo.
This roll corresponds to:
d3cf92cac3

GN now requires python_binary_module to be undefined rather than an empty string.

Context lines in cc_strip_video.patch changed.

Minor edits were required for sky:
Change to Skia header file organization.
SkRect::intersect now warns if ignored.

BUG=https://code.google.com/p/chromium/issues/detail?id=401761
R=jamesr@chromium.org

Review URL: https://codereview.chromium.org/839143002
2015-01-08 16:39:35 -08:00
Adam Barth
6b2c0b2c58 The Sky parser should yield before start tags
This CL makes the parser yield before non-import start tags if there are
outstanding imports. This will let use remove the upgrade path from custom
elements because we can require the registration to happen before the tree
building.

R=eseidel@chromium.org

Review URL: https://codereview.chromium.org/814173005
2015-01-08 14:48:02 -08:00
Elliott Sprehn
e737df55fb Simplify the style sharing list code.
We don't need separate lists per depth now, in fact we never
increment the depth so everything is already at depth 0.

R=ojan@chromium.org

Review URL: https://codereview.chromium.org/844873002
2015-01-08 13:53:00 -08:00
Elliott Sprehn
967cc9ed34 Move StyleResolver code out of ScopedStyleResolver.
Instead lets process the ruleset into the global lists in
the StyleResolver itself. I also combined the methods in
StyleResolver and removed the now dead AddRuleFlags
argument.

R=ojan@chromium.org

Review URL: https://codereview.chromium.org/838313002
2015-01-08 13:44:12 -08:00
Elliott Sprehn
c42957e7e7 Combine match methods on StyleResolver.
We can combine matchAuthorRulesForShadowHost into
matchAuthorRules, and also combine the two matchUARules
methods.

collectScopedResolversForHostedShadowTrees and the Vector
of ScopedStyleResolvers was also not needed. Sky can only
ever have two resolvers, the one for your scope, and the
one for your host rules.

R=ojan@chromium.org

Review URL: https://codereview.chromium.org/836193003
2015-01-08 10:16:59 -08:00
Elliott Sprehn
8fc2d586cb Remove SelectorChecker::ContextFlags.
We don't need the flags, we can just use an explicit
check for :host().

R=ojan@chromium.org

Review URL: https://codereview.chromium.org/838863002
2015-01-07 11:57:32 -08:00
Elliott Sprehn
8bdd05a389 Remove applyAuthorStyles flag.
This flag doesn't really make sense in sky, rules should
only match if they're from the same scope or are a :host
rule in the ShadowRoot on the element. Removing this also
eliminates the ScopeContainsLastMatchedElement flag. For
now we just check if the scope is null for the same
behavior, in the future we'll never let scope be null
and we'll just enforce the normal style scoping rules.

R=ojan@chromium.org

Review URL: https://codereview.chromium.org/833443003
2015-01-07 11:35:40 -08:00
Elliott Sprehn
61d08323e8 Remove dead enums from StyleResolver.
We never disable style sharing with DisallowStyleSharing
now, and SMIL doesn't exist in Sky so the
MatchAllRulesExcludingSMIL flag is just dead code.

R=ojan@chromium.org

Review URL: https://codereview.chromium.org/823633006
2015-01-07 11:19:29 -08:00
Elliott Sprehn
059ceb6e3f Remove the remaining parts of ignorePendingStylesheets and placeholder styles.
This patch is largely just a rename since updateLayoutIgnorePendingStylesheets()
didn't really do anything except call updateLayout() now as nothing was reading
the ignorePendingStyleSheets state, and no callers used the synchronous post
layout task option which was meant for plugins (which Sky doesn't have).

Placeholder styles were related and just add confusion since things pretend to
be display: none while <import>'s are loading. We should expose a real API for
avoiding FOUC instead of pumping frames with display: none elements when
imports are loading.

I had to skip the layout/continuations.sky test since it always crashes now
with an ASSERT failure about a bad cast (filed as bug 446739). The bug already
existed, this patch just makes that one test hit it.

BUG=446739
R=ojan@chromium.org

Review URL: https://codereview.chromium.org/834693007
2015-01-07 10:54:41 -08:00
Elliott Sprehn
8b97399df3 Simplify ScopedStyleResolver keyframe handling.
Just linearly search for keyframes in the set of stylesheets.
Components rarely have many sheets, and sheets rarely have many
keyframes so this should be quite fast. It's also much simpler
than having to collect all the keyframes from all the rulesets.

R=ojan@chromium.org, rafaelw@chromium.org

Review URL: https://codereview.chromium.org/839473005
2015-01-07 10:47:43 -08:00
Elliott Sprehn
f4546b7716 Store features in the ScopedStyleResoolver.
This now means that using a class/id/attribute selector in one scope will
not cause style recalcs in other scopes in the page when something with
that feature changes.

It also removes an iteration over all the scopes that used to collect
features.

I also removed all the extra cases around adding/removing classes since
the general case can handle them.

In addition I removed the check for classStringHasClassName which looked
to see if the string was all whitespace. This check dated way back to
fixing an assert in code we don't even have anymore. Assertion fix aside
all the extra check optimized for was if you wrote class="  " with no
names, which will now cause an extra malloc of the SpaceSplitString::Data.
This seems super rare, it makes more sense to not scan the class string
every time the list of classes changes which is far more common than
setting a string of only whitespace.

R=ojan@chromium.org

Review URL: https://codereview.chromium.org/837883002
2015-01-06 22:22:44 -08:00
Elliott Sprehn
1da814b4c2 Remove custom element type extensions.
Sky doesn't really have many built in elements, we no longer support
<foo is="my-element">. This does mean you can't extend <import>,
<script> or <style>, but we'll figure that out later.

R=abarth@chromium.org

Review URL: https://codereview.chromium.org/831993005
2015-01-06 16:07:15 -08:00
Benjamin Lerman
f87209c43f Update from https://crrev.com/309415
Review URL: https://codereview.chromium.org/822713002
2014-12-22 13:08:16 +01:00
Etienne Membrives
a4ea8c30fe Update from https://crrev.com/308996
Add patch for V8 build rules

R=qsr@chromium.org

Review URL: https://codereview.chromium.org/816543004
2014-12-19 15:45:38 +01:00