20087 Commits

Author SHA1 Message Date
Elliott Sprehn
c6f3d36fe2 Simplify HTMLStyleElement.
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
2014-12-09 19:01:46 -08:00
Elliott Sprehn
dfd9a3faa5 Add clear() to Element.classList.
We should support a fast way to remove all classes through the
classList instead of having to call removeAttribute() directly.

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

Review URL: https://codereview.chromium.org/788093003
2014-12-09 17:56:41 -08:00
Elliott Sprehn
c2916617b4 Merge ClassList into DOMTokenList.
In Sky we only have one implementation of DOMTokenList so we don't
need this virtual interface.

R=rafaelw@chromium.org

Review URL: https://codereview.chromium.org/789843004
2014-12-09 16:06:29 -08:00
Elliott Sprehn
a355213564 Remove DOMSettableTokenList.
R=ojan@chromium.org

Review URL: https://codereview.chromium.org/789693003
2014-12-09 15:31:02 -08:00
Rafael Weinstein
fe9aa27ab5 Fix id/class collection from stylesheets
BUG=438036
R=esprehn@chromium.org

Review URL: https://codereview.chromium.org/785313002
2014-12-09 15:05:42 -08:00
Hixie
b6e7ba2dfc Specs: Make pointer events go up the LayoutManager chain too; improve how you make custom event targets
Review URL: https://codereview.chromium.org/787603005
2014-12-09 11:12:06 -08:00
Benjamin Lerman
72a73fc07f Remove shutdown code from sky.
R=aa@chromium.org, eseidel@chromium.org

Review URL: https://codereview.chromium.org/783973002
2014-12-09 11:00:15 +01:00
Ojan Vafai
b00d41f26c Get rid of LayerFragment.
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
2014-12-08 17:37:43 -08:00
Ojan Vafai
0069ab6369 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

Review URL: https://codereview.chromium.org/778043005
2014-12-08 16:37:50 -08:00
James Robinson
8cffccac05 Update from https://crrev.com/307330
Includes several sky updates for skia API changes and the gn format
presubmit check from https://codereview.chromium.org/779193003/

Review URL: https://codereview.chromium.org/786123002
2014-12-08 13:45:40 -08:00
Ojan Vafai
c37e637852 Run sky tests more parallelized.
Now that we're off cherrypy, hopefully we can run more tests
in parallel without timeouts. This works well for me locally.

R=eseidel@chromium.org

Review URL: https://codereview.chromium.org/786833002
2014-12-08 12:46:49 -08:00
James Robinson
29235bd8a2 Put code in //services/window_manager in namespace window_manager
R=sky@chromium.org

Review URL: https://codereview.chromium.org/788453002
2014-12-08 12:08:55 -08:00
Ojan Vafai
52a8beb189 Get rid of PaintPhaseTextClip.
This was just used for background-clip:text, which we no
longer support.

R=rafaelw@chromium.org

Review URL: https://codereview.chromium.org/783233002
2014-12-08 11:23:30 -08:00
Ojan Vafai
db877ecf4f Green sky tests on the asan bot.
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
2014-12-08 11:15:13 -08:00
Ojan Vafai
6a4ca1bc83 Remove PaintPhaseClippingMask.
I believe it was only used for regions/multi-column.
It's never set now.

R=esprehn@chromium.org

Review URL: https://codereview.chromium.org/786003002
2014-12-08 10:18:34 -08:00
Ojan Vafai
31343b63fe Get rid of the PaintLayerFlags bitmask.
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
2014-12-08 09:21:12 -08:00
Ojan Vafai
87b58eda51 Remove PaintBehavior. It's unused.
R=esprehn@chromium.org

Review URL: https://codereview.chromium.org/768973004
2014-12-08 08:57:37 -08:00
Eric Seidel
c755577d73 Fix the sky build instructions
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
2014-12-05 15:46:07 -08:00
Eric Seidel
0884bfc42f Remove unused isolatedWorldCount
TBR=abarth@chromium.org
BUG=

Review URL: https://codereview.chromium.org/781913003
2014-12-05 08:50:27 -08:00
Ojan Vafai
dd1ee1ade5 Change test_sky to use the buildbot step name as the testtype.
This should make the flakiness dashboard work again.

TBR=eseidel@chromium.org

Review URL: https://codereview.chromium.org/780993002
2014-12-04 16:25:13 -08:00
Hixie
a5652ef30c Specs: first draft at a more plausible StyleDeclarationList
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
2014-12-04 16:16:38 -08:00
Ojan Vafai
61d78bd869 Convert sky_server over to a go-based http server.
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
2014-12-04 16:10:09 -08:00
Elliott Sprehn
7500c00d8a Merge StyleElement into HTMLStyleElement.
StyleElement existed because Blink supported <link> and XSL sheets,
Sky only supports <style> so we can merge them together.

R=eseidel@chromium.org

Review URL: https://codereview.chromium.org/780083003
2014-12-04 13:33:07 -08:00
Andreas Gampe
da09490825 am 919fbb99: am cb20a2f0: Minikin: Remove unused variables, fix init order
* commit '919fbb99f1d5d0c95bf165cec9b7b178b42908ec':
  Minikin: Remove unused variables, fix init order
2014-12-04 20:44:11 +00:00
Ojan Vafai
2c71f77297 Get rid of background-clip:text and PaintBehaviorForceBlackText.
http://blog.ericzhang.com/punch-through-text-masks-with-css-and-html5/
shows that you can achieve the similar effects using canvas. This
doesn't need to be built into the core engine. It's OK for this
to require more than a line of CSS to achieve.

Unfortunately, the test included this this patch doesn't actually
show that I didn't break anything because background-image
is broken. I got the test from
47e0d126e8%5E%21/#F4

R=eseidel@chromium.org

Review URL: https://codereview.chromium.org/756183004
2014-12-04 12:15:39 -08:00
Ojan Vafai
405dedb984 Remove all but one of the PaintLayerFlags.
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
2014-12-04 12:12:05 -08:00
Andreas Gampe
919fbb99f1 am cb20a2f0: Minikin: Remove unused variables, fix init order
* commit 'cb20a2f0b366bfc16db3a489a60156dec7a9fe21':
  Minikin: Remove unused variables, fix init order
2014-12-04 19:52:12 +00:00
Hixie
260c29f783 Specs: revamp how 'primary' touches are handled, to support multiple simultaneous scroll surfaces being scrolled
Review URL: https://codereview.chromium.org/775403002
2014-12-04 11:39:39 -08:00
Hixie
29674cc510 Specs: some slight updates for styluses
Review URL: https://codereview.chromium.org/771603004
2014-12-04 10:51:29 -08:00
Raph Levien
2d7821158c am 58b25145: am 13f1aae0: Move coverage bitmap from FontCollection to FontFamily
* commit '58b25145c1a14dd2e45d2b995d4b07d8fe70510c':
  Move coverage bitmap from FontCollection to FontFamily
2014-12-04 16:17:39 +00:00
Raph Levien
58b25145c1 am 13f1aae0: Move coverage bitmap from FontCollection to FontFamily
* commit '13f1aae02bacd475722bc8ea3fc2cf6abc1a82e3':
  Move coverage bitmap from FontCollection to FontFamily
2014-12-04 09:22:21 +00:00
Ojan Vafai
6e6e9181de Remove PaintLayerPaintingOverflowContents.
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
2014-12-03 19:09:56 -08:00
James Robinson
09de28ef8c Run gn format on all BUILD.gn files (gn version 306668)
Generated by running the following:
for x in `git ls-files | grep BUILD.gn`; do gn format --in-place $x; done

BUG=348474
R=viettrungluu@chromium.org

Review URL: https://codereview.chromium.org/773283006
2014-12-03 17:39:48 -08:00
James Robinson
f6527512b0 Simplify the thunk targets since we don't support apps as components
Since we don't support using the component build to produce mojo apps,
we can simplify the build targets in a few ways:

*) every mojo_native_application must depend on the c system thunks,
so just make that part of the template instead of requiring the dep
*) there's no such thing as depending on gles2 headers from a component,
so delete the forwarding group.

Most targets that want to use the gles2 headers in a mojo context
want to depend on an implementation through the thunks, so
//mojo/public/c/gles2 does just that. A smaller number of targets (such
as the implementation of the thunks) want to just depend on the headers
but not an impl, so they can depend on //mojo/public/c/gles2:headers.
The //mojo/public/gles target isn't that useful since the only thing we
expose is a set of C entry points.

We can probably also simplify the c system targets, but that's trickier
due to more extensive use from the chromium side.

BUG=438701
R=viettrungluu@chromium.org

Review URL: https://codereview.chromium.org/780733002
2014-12-03 16:25:09 -08:00
Elliott Sprehn
1771ec30ea Remove SchemeRegistry and WebSecurityPolicy.
Mojo handles the security of our network layer, so we don't need
SchemeRegistry, and WebSecurityPolicy was just a wrapper around it.

R=eseidel@google.com

Review URL: https://codereview.chromium.org/758233004
2014-12-03 16:24:36 -08:00
Elliott Sprehn
e929430811 Remove CSSOM mutability in StyleRule.
The StyleRule classes supported copy() operations and mutable
property sets so that we could do copy-on-write and mutate them
using the CSSOM. Sky doesn't have a CSSOM like this though,
so we can remove all this code and make the StyleRule classes
effectively immutable after construction (the parser does mutate some
rules though).

I also removed some other dead code in the StyleRule hierarchy,
like some left over mutation methods that the CSSOM used to use.

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

Review URL: https://codereview.chromium.org/758573005
2014-12-03 15:54:31 -08:00
Eric Seidel
c14361a751 Remove Isolated Worlds from Sky
These were a feature for allowing multiple
scripting contexts to access the same global
state without leaking wrappers between them.
For example, if the inspector wanted to
modify window.Array.dangerousFunction = ...
it wouldn't want the author's content to have
access to that.

This feature is not part of Sky's security model
and thus this is just dead code.

I tried to remove worlds all together, but there
is something special about how we use a
"fake" world (which is neither main nor isolated)
for GC, regexp and testing.

R=rafaelw@chromium.org, abarth@chromium.org
BUG=

Review URL: https://codereview.chromium.org/776143003
2014-12-03 15:51:09 -08:00
Elliott Sprehn
c229da3e07 Merge StyleSheet into CSSStyleSheet.
R=eseidel@chromium.org

Review URL: https://codereview.chromium.org/778743003
2014-12-03 14:24:37 -08:00
Andreas Gampe
cb20a2f0b3 Minikin: Remove unused variables, fix init order
For build-system CFLAGS clean-up, fix unused variables.

Reorder initializer list to initialize in the order of member
declarations.

Change-Id: I64358b2dcf0e39d0f4e18fdc3473de867f84fcba
2014-12-03 14:20:11 -08:00
Adam Barth
45e8c0dc64 Update HACKING.md 2014-12-03 13:57:44 -08:00
James Robinson
621cae6f2d Update from https://crrev.com/306655
Includes updates to ui/ and mojo/services for cc and gpu changes and
a minor update to a unit test in sky/ for skia interface changes.

Review URL: https://codereview.chromium.org/761903003
2014-12-03 13:38:42 -08:00
Raph Levien
13f1aae02b Move coverage bitmap from FontCollection to FontFamily
This will significantly reduce memory usage and also speed the creation
of new font families. In particular, the coverage bitmaps for the fonts
in the fallback stack will be computed once in the Zygote, rather than
separately in each app process.

Bug: 17756900
Change-Id: I66f5706bddd4658d78fe5b709f7251ca9d2ff4f8
2014-12-03 12:48:20 -08:00
Elliott Sprehn
d8eea65cb8 Remove TouchAdjustment.
TouchAdjustment adjusts the hit test rects to nearby elements so
that when touch targets are too small they can still be hit by users. Instead
applications should just make their touch targets big enough, and if they
need adjustment it should be implemented at the framework level.

R=ojan@chromium.org

Review URL: https://codereview.chromium.org/774053003
2014-12-03 10:51:25 -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
Ojan Vafai
e719d6ea2d Remove PaintLayerAppliedTransform.
This was for RenderReplica, which we no longer have.

R=esprehn@chromium.org

Review URL: https://codereview.chromium.org/772333002
2014-12-03 09:47:41 -08:00
Yury Semikhatsky
094b491c58 Remove ScriptPreprocessor
It is unused in Sky. I'm going to remove it in Blink too.

BUG=None
TBR=eseidel

Review URL: https://codereview.chromium.org/754463004
2014-12-03 18:45:33 +03: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
9c9b7a9603 Remove ded code from EditingStyle.
Also remove related dead code.

R=ojan@chromium.org

Review URL: https://codereview.chromium.org/780443002
2014-12-02 21:51:40 -08:00
Elliott Sprehn
3b60d37ad1 Always Reconstruct when stylesheets change.
In preparation of simplifying how we collect and process sheets now
that we don't support descendant, sibling and tree boundary crossing
rules we should switch to always going down the Reconstruct path.

This might be somewhat slower to start, but because our rules are so
much simpler we should be able to rebuild the StyleEngine to do
something simpler and faster.

R=ojan@chromium.org

Review URL: https://codereview.chromium.org/774953002
2014-12-02 20:33:58 -08:00
Ojan Vafai
96648748fb Remove PaintLayerPaintingChildClippingMaskPhase.
It's never set. It was added in
7176977ba5%5E%21/#F21

The test cases from that patch seem to pass.
Included one in this patch.

R=esprehn@chromium.org

Review URL: https://codereview.chromium.org/772193004
2014-12-02 20:12:23 -08:00