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
-s/-expected.html/-expected.sky/
-s/-expected-mismatch.html/-expected-mismatch.sky/
-In single_test_runner.py, get rid of the image hash checking
for reftests. It doesn't provide any value and just makes
getting reftests working more complicated.
R=eseidel@chromium.org
Review URL: https://codereview.chromium.org/802573002
This CL goes from this:
//mojo/services/public/interfaces/navigation
to this:
//mojo/services/navigation/public/interfaces
This CL also makes the Mojo-side changes necessary to roll this change into
Chromium.
TBR=beng
Review URL: https://codereview.chromium.org/796783002
This CL goes from this:
//mojo/services/public/interfaces/content_handler
to this:
//mojo/services/content_handler/public/interfaces
This CL also makes the Mojo-side changes necessary to roll this change into
Chromium.
TBR=beng
Review URL: https://codereview.chromium.org/793243002
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
Reason for revert:
This broke hit testing. Hit testing always returns the root node now. :)
Original issue's description:
> Remove RenderLayer::collectFragments.
>
> Sky always has exactly one per RenderLayer. This patch
> gets rid of the hitTestLayer use of LayerFragment
> and gets paintLayerContents to create the list of
> fragments itself since it's the only caller.
>
> Also, delete dead code from LayerFragment.h.
>
> R=abarth@chromium.org
>
> Committed: 4a3b676dc3TBR=esprehn@chromium.org,rafaelw@chromium.org,abarth@chromium.org,ojan@chromium.org
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.chromium.org/788383002
We don't support building mojo apps in the component build, so we can
simplify these system targets a bit. We don't need to have everything
depend on a forwarding group that always evaluates to the same thing in
the mojo repo.
The new targets are:
//mojo/public/c/system which contains the system headers but no
implementation.
//mojo/public/platform/native:system which contains the system thunks
and exported thunk setter, used by anything run by the shell. This is
mostly used by the mojo_native_application template but is also used
by a few targets that need to link as shared_lib but will ultimately
be loaded by the shell.
//mojo/edk/system provides the real implementation of the system calls
and is used by the shell and a few tests.
The :for_... groups need to stick around for now to keep chromium
working, but once this rolls in to the chromium tree then these can
be fixed up as well.
R=viettrungluu@chromium.org
Review URL: https://codereview.chromium.org/754963008
This CL goes from this:
//mojo/services/public/interfaces/input_events
to this:
//mojo/services/input_events/public/interfaces
This CL also makes the Mojo-side changes necessary to roll this change into
Chromium.
TBR=beng
Review URL: https://codereview.chromium.org/788353002
This CL goes from this:
//mojo/services/public/interfaces/gpu
to this:
//mojo/services/gpu/public/interfaces
This CL also makes the Mojo-side changes necessary to roll this change into
Chromium.
TBR=beng
Review URL: https://codereview.chromium.org/788343002
to be animated in the old and new positions after the DOM is updated
(The "animation" part of this is still not figured out.)
Review URL: https://codereview.chromium.org/792993002
This patch remove the Web Animations & CSS Animation runtime flags (and enables both). Removes prefixed Aninamations & Transitions and adds some basic tests & test support API.
R=ojan@chromium.org
Review URL: https://codereview.chromium.org/760183003
This CL goes from this:
//mojo/services/public/cpp/geometry
//mojo/services/public/interfaces/geometry
to this:
//mojo/services/geometry/public/cpp
//mojo/services/geometry/public/interfaces
This CL also makes the Mojo-side changes required to roll this change into
Chromium.
TBR=beng
Review URL: https://codereview.chromium.org/790213002
This CL goes from this:
//mojo/services/public/cpp/network
//mojo/services/public/interfaces/network
to this:
//mojo/services/network/public/cpp
//mojo/services/network/public/interfaces
This CL also makes the Mojo-side changes required to roll this change into
Chromium.
TBR=beng
Review URL: https://codereview.chromium.org/789243002
This CL goes from this:
//mojo/services/public/cpp/surfaces
//mojo/services/public/interfaces/surfaces
to this:
//mojo/services/surfaces/public/cpp
//mojo/services/surfaces/public/interfaces
This CL also makes the Mojo-side changes required to roll this change into
Chromium.
TBR=beng
Review URL: https://codereview.chromium.org/792813002
This CL goes from this:
//mojo/services/public/cpp/view_manager
//mojo/services/public/interfaces/view_manager
to this:
//mojo/services/view_manager/public/cpp
//mojo/services/view_manager/public/interfaces
This CL also makes the Mojo-side changes required to roll this change into
Chromium (for both view_manager and window_manager, which was converted in an
earlier CL but for which these updates were not made):
- Updates rev_sdk.py to pull over the new directory
- Updates //mojo/services/public/mojo_services_public.gyp
TBR=beng
Review URL: https://codereview.chromium.org/790623003
The parser will never insert more than one child into a <style>, so we don't
need explicit logic to batch up parsing. Once I removed that it exposed that
all the line number and parser created logic is from error reporting in the
parser that's been dead in Blink for over a year.
By doing this simplification I was able to remove the finishParsingChildren()
callback entirely.
R=eseidel@chromium.org
Review URL: https://codereview.chromium.org/788113002
We don't have fragmentation. So no need for this abstraction.
This simplifies a lot of code so that we can do less work.
For example, we can check shouldPaintContent only up in
paintLayerContents instead of in each nested function.
Instead of passing the LayerFragment, pass the layer location
and the clip rect for each nested function.
R=esprehn@chromium.org
Review URL: https://codereview.chromium.org/789643002
Sky always has exactly one per RenderLayer. This patch
gets rid of the hitTestLayer use of LayerFragment
and gets paintLayerContents to create the list of
fragments itself since it's the only caller.
Also, delete dead code from LayerFragment.h.
R=abarth@chromium.org
Review URL: https://codereview.chromium.org/778043005
Skipped tests were not getting skipped because
the code gets whether the build is a debug or release
build from the configuration commandline argument, but
the asan bots pass Release_asan. Instead, read the
debug vs. release state from gn args instead of inferring
it from the out directory.
R=eseidel@chromium.org, esprehn@chromium.org, sky@chromium.org
Review URL: https://codereview.chromium.org/754673003
Make it a regular enum and remove it from all the functions
it's not actually used. Also, make paintLayer and PaintLayerFlags
private since they're only used in RenderLayer.
R=eseidel@google.com
Review URL: https://codereview.chromium.org/779183004
Sky can't really build on its own. We were previously
using the 'sky' build target for this but it didn't
fully anticipate all of our dependencies. The most
recent break was when James removed /mojo/shell
from mojo.
Instead of sky listing out each and every service
which it depends on, we should just get used to
building root like other mojo developers.
Thankfully there is already a helpful tool
for this called mojob.py. I've updated our
readme to reflect this, and removed the mojo
dependency on the sky build group.
The purpose of the sky build group is to expose
all of the sky build targets up to the root level
BUILD.gn (which only depends on /sky), not to
be an independently buildable target.
R=jamesr@chromium.org, jamesr
BUG=
Review URL: https://codereview.chromium.org/764023007
Specs: add an accessor on Element to get the StyleNode so you can find
out information about it during event processing
Review URL: https://codereview.chromium.org/757843004
We keep seeing timeouts on the bots that seem to be due
to cherrypy dropping requests on the floor, which in turn
causes imports to stall, which causes the test to time out.
In local testing, I was able to reproduce the timeouts
and wasn't able to do so with the go-based server.
R=abarth@chromium.org, eseidel@chromium.org
Review URL: https://codereview.chromium.org/746373002
Only PaintLayerPaintingOverlayScrollbars is actually ever set
to a different value in different codepaths.
-PaintLayerHaveTransparency can just be replaced with
isTransparent() calls.
-PaintLayerPaintingCompositingScrollingPhase is unused.
-PaintLayerPaintingCompositingAllPhases is always set,
which means that the other three compositing ones are
also always set.
The third bullet more clearly falls out when you see that
the only caller of paintLayerContents is
paintLayerContentsAndReflection, which sets
PaintLayerPaintingCompositingAllPhases on the paint flags.
Get rid of paintLayerContentsAndReflection since we no
longer have reflections.
The rest of the changes are all just propagating the now
always false or true booleans in paintLayerContents.
R=eseidel@chromium.org
Review URL: https://codereview.chromium.org/778883002
It was added for compositing overflow:scroll, which we don't do.
This also means that only the RespectOverflowClip enum value is
used. And PaintingClipRectsIgnoringOverflowClip is unused.
R=eseidel@chromium.org
Review URL: https://codereview.chromium.org/778753002