554 Commits

Author SHA1 Message Date
Ojan Vafai
b854dc1ebf Remove negative z-index.
There's no good use-case for putting descendants behind
their ancestors.

R=esprehn@chromium.org

Review URL: https://codereview.chromium.org/873983007
2015-01-26 18:55:09 -08:00
Elliott Sprehn
eb3e7d4b8b Get rid of Chrome, use Page.
This hides ChromeClient inside Page and gets rid of Chrome object.

R=abarth@chromium.org

Review URL: https://codereview.chromium.org/878673005
2015-01-26 18:06:24 -08:00
Adam Barth
d05380e397 sky-scrollable should use a reasonable fling curve
This CL uses the aura fling curve to ease flings. Also, I've made Event#timeStamp
use consistent units and timebase with the requestAnimationFrame timestamp. Now
both are doubles of milliseconds since the epoch.

R=esprehn@chromium.org

Review URL: https://codereview.chromium.org/880473003
2015-01-26 17:34:28 -08:00
Elliott Sprehn
50e7a7c0a0 Rename scheduleAnimation() to scheduleVisualUpdate().
It causes a full screen raster right now, lets name it for what it does.
This also matches the name used in PageAnimator.

Merge WebWidgetClient into WebViewClient.

They're always the same thing in sky. I also removed all the methods that
don't do anything in sky.

R=abarth@chromium.org

Review URL: https://codereview.chromium.org/880713003
2015-01-26 16:09:40 -08:00
Elliott Sprehn
10f5a4043d Merge WebWidgetClient into WebViewClient.
They're always the same thing in sky. I also removed all the methods that
don't do anything in sky.

R=abarth@chromium.org

Review URL: https://codereview.chromium.org/880643007
2015-01-26 15:55:08 -08:00
Ojan Vafai
81341480bf Merge the background paint phase into the foreground phase.
First step in getting rid of paint phases. Verified that
deleting this phase entirely would cause flights-app-pixel.sky
to fail and that it still passes in this patch, which just does
the background painting as part of the foreground phase.

R=esprehn@chromium.org

Review URL: https://codereview.chromium.org/867463005
2015-01-26 15:52:47 -08:00
Elliott Sprehn
53e76b3c58 Make all callers of scheduleAnimation() use scheduleVisualUpdate().
The only scheduleAnimation() methods left are going through the layers of
client interfaces. I'll rename and remove those next. This is working
towards making requestAnimationFrame() not cause a full repaint and also
making it more clear to callers that scheduling a frame causes a raster.

R=abarth@chromium.org

Review URL: https://codereview.chromium.org/875283003
2015-01-26 15:42:33 -08:00
Elliott Sprehn
bd7bbc8967 Remove CSSCanvas values.
This was to support doing background: -webkit-canvas(#id) where you could then
get the canvas with document.getCSSCanvasContext(id) and draw into it which
is a poor form of custom drawing for elements. In Sky we'll have real custom
painting instead of just background images hacked in like this.

R=eseidel@chromium.org

Review URL: https://codereview.chromium.org/876913002
2015-01-26 15:12:38 -08:00
Elliott Sprehn
765ef4ec8e Replace createTextNode with new Text().
Sky doesn't have this method (per spec).

R=eseidel@chromium.org

Review URL: https://codereview.chromium.org/879733002
2015-01-26 15:12:19 -08:00
Elliott Sprehn
ff2cde060f Remove more properties from the global Window.
StyleMedia seems to have been removed from the web too, and self is a
legacy-ism we don't want. I also removed the global find() which is a
document feature.

R=abarth@chromium.org

Review URL: https://codereview.chromium.org/872143004
2015-01-26 15:12:04 -08:00
Elliott Sprehn
865790aca0 Remove the EventFactory machinery.
This leaves behind some python bits with the event_factory name, but
that proved difficult to remove right now. This at least simplifies the
code.

R=abarth@chromium.org

Review URL: https://codereview.chromium.org/879743004
2015-01-26 15:11:44 -08:00
Elliott Sprehn
8760fdb944 Remove the global event property.
Sky doesn't have inline event handlers so this is just slowing down
event dispatch. I also simplified the event dispatch code a little.

R=abarth@chromium.org

Review URL: https://codereview.chromium.org/873983005
2015-01-26 13:55:29 -08:00
Elliott Sprehn
ed2912af0b Remove PseudoId.
Sky doesn't have pseudo elements (::before, ::after, etc.)

R=abarth@chromium.org

Review URL: https://codereview.chromium.org/883443003
2015-01-26 13:51:56 -08:00
Elliott Sprehn
2988fb5ad2 Remove ElementFlags system.
Tab index is the only thing using it now, we can do something more
explicit. I also simplified the tab index code a little bit.

R=abarth@chromium.org

Review URL: https://codereview.chromium.org/871203005
2015-01-26 13:29:52 -08:00
Elliott Sprehn
3d4800ed0c Move the CustomElementDefinition from ElementRareData to Element.
In Sky almost every element is a custom element, so this just bloats all
elements by having it in the rare data structure.

R=eseidel@chromium.org

Review URL: https://codereview.chromium.org/880593003
2015-01-26 13:14:55 -08:00
Elliott Sprehn
c7c5328338 Remove InputMethodContext.
We'll probably want a really different API in sky, and this just makes
ElementRareData bigger for now and isn't hooked up to anything.

R=eseidel@chromium.org

Review URL: https://codereview.chromium.org/880663002
2015-01-26 13:12:08 -08:00
Elliott Sprehn
86f47baf88 Remove even more @keyframes related code.
R=abarth@chromium.org

Review URL: https://codereview.chromium.org/876433002
2015-01-26 11:38:20 -08:00
Elliott Sprehn
30c38af903 module.exports should default to an empty object.
Per the spec in modules.md the exports property should default to an
empty object. We lazy allocate it so that modules that just replace it
don't create the empty object and then throw it away.

R=abarth@chromium.org

Review URL: https://codereview.chromium.org/872043003
2015-01-26 11:38:04 -08:00
Elliott Sprehn
44686c5f02 Remove hasInlineTransform bit.
We used to use this as a hint for compositing layers, but we don't have
layers anymore so we can remove it.

R=abarth@chromium.org

Review URL: https://codereview.chromium.org/869393002
2015-01-26 11:37:51 -08:00
Adam Barth
5e68175437 Fix ASSERT in Sky when dragging outside the window on linux
We don't seem to receive mojo::EVENT_TYPE_MOUSE_EXITED when the mouse exits our
mojo::View. We should find out if that's a bug with the Mojo event system, but
for now this CL adds a fake cancel event the next time the mouse goes down to
at least keep the state machine on the right track.

BUG=https://github.com/domokit/mojo/issues/40
R=eseidel@chromium.org

Review URL: https://codereview.chromium.org/879543004
2015-01-26 10:53:51 -08:00
Adam Barth
0941e40854 Remove WebCompositorSupport
This interface was used to integrate with cc. Now that we no longer integrate
with cc, we don't need it.

In this CL, I've left WebLayer and its related classes even though there is no
longer a way to instantiate them. I'll remove them in a future CL.

R=esprehn@chromium.org

Review URL: https://codereview.chromium.org/874633003
2015-01-26 09:21:59 -08:00
Adam Barth
f5815acf79 Add a build-time flag for enabling Dart in Sky
We're interested in experimenting with using the DartVM in Sky. This build-time
flag will let us add Dart bindings without disrupting other working going on in
Sky.

R=rafaelw@chromium.org

Review URL: https://codereview.chromium.org/875103002
2015-01-26 08:57:54 -08:00
Adam Barth
da75d15a1b Merge HTMLDocument into Document
HTMLDocument is the same as Document. We can merge them.

R=eseidel@google.com

Review URL: https://codereview.chromium.org/871383002
2015-01-25 23:48:53 -08:00
Adam Barth
07140ff848 Remove PlatformEvent
There aren't any more subclasses or uses. Also, remove PlatformEventController
and PlatformEventDispatcher, which are also dead code.

R=eseidel@google.com

Review URL: https://codereview.chromium.org/870413002
2015-01-25 23:48:07 -08:00
Adam Barth
3ddae5ea36 Switch KeyboardEvents over to NewEventHandler
This CL moves KeyboardEvents from the old event model to NewEventHandler. This
CL keeps the basic structure of keydown, keypress, keyup events even though
that's a bit wacky. As with pointer and gesture events, this CL removes
PlatformKeyboardEvent in favor of just using WebKeyboardEvent. I've also made
WebKeyboardEvent align more closely with Mojo's keyboard event.

The CL does change one important aspect of key event handling: on the web the
"keyCode" property of KeyboardEvent changes its meaning depending on whether
the event is a keydown or a keypress event. For the former events, keyCode is
the "virtual" (i.e., windows) key code where for the latter events, keyCode is
the character code. To be more precise, I've renamed keyCode to virtualKeyCode
and I've given it a zero (unknown key code) value during keypress events.

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

Review URL: https://codereview.chromium.org/872233002
2015-01-25 22:46:50 -08:00
Ojan Vafai
2d8bc531eb Remove GraphicsContext annotations.
It's all dead code. This is a first step
towards getting rid of paint phases.
Also delete some related dead classes.

TBR=esprehn@chromium.org

Review URL: https://codereview.chromium.org/870393002
2015-01-25 19:52:29 -08:00
Adam Barth
6b4c686c8b Remove unused testing files in Sky
R=ojan@chromium.org, eseidel@chromium.org

Review URL: https://codereview.chromium.org/870223002
2015-01-24 11:18:49 -08:00
Adam Barth
e3f9e2de4b Remove more mouse-specific code
This CL removes a bunch of unused mouse-related code, including the
MouseRelatedEvent base class.

R=eseidel@google.com, eseidel@chromium.org

Review URL: https://codereview.chromium.org/873963003
2015-01-24 11:18:35 -08:00
Adam Barth
f923562fa0 Move GestureEvent to NewEventDispatcher
The Sky engine doesn't respond to gesture events itself. Instead, the framework
will listen for gestures and respond to them. That means moving GestureEvents
over to the NewEventDispatcher is relatively straightforward.

R=eseidel@google.com, eseidel@chromium.org

Review URL: https://codereview.chromium.org/874823002
2015-01-24 11:18:12 -08:00
Adam Barth
aaa8e08ba2 Remove window.history
Instead, Sky content should use navigator.mojom.

R=eseidel@google.com, eseidel@chromium.org

Review URL: https://codereview.chromium.org/873973002
2015-01-24 00:59:40 -08:00
Adam Barth
00bd0f0988 Remove ProgressEvent and ResourceProgressEvent
These are unused.

R=eseidel@google.com, eseidel@chromium.org

Review URL: https://codereview.chromium.org/866623003
2015-01-24 00:59:04 -08:00
Elliott Sprehn
0275d42ac7 Add the <t> element and ignore whitespace outside it.
We now only preserve the whitespace inside a <t> element inside
the parser. This removes the known n^2 from reattaching whitespace
which should make parsing and appending nodes faster. I also
removed the dead WhitespaceMode code from the parser, and made
the dom-seralizer.sky auto indent the markup so the test output
would be readable.

R=abarth@chromium.org

Review URL: https://codereview.chromium.org/867963006
2015-01-23 16:50:00 -08:00
Elliott Sprehn
1d994fbaf0 Remove lots of @keyframes related code.
R=abarth@chromium.org

Review URL: https://codereview.chromium.org/872893002
2015-01-23 13:24:09 -08:00
Adam Barth
37f9f11ef7 Remove CompositingReasons.h
This file is not referenced.

R=esprehn@chromium.org

Review URL: https://codereview.chromium.org/869023006
2015-01-23 12:49:50 -08:00
Adam Barth
87c4a4863d Remove touch events from Sky
We use pointer events instead.

R=esprehn@chromium.org

Review URL: https://codereview.chromium.org/868133003
2015-01-23 12:41:56 -08:00
Adam Barth
d7daaf4c7d Remove mouse events from Sky
We use pointer events now.

R=esprehn@chromium.org

Review URL: https://codereview.chromium.org/870073003
2015-01-23 12:16:09 -08:00
Adam Barth
b361c4b6c3 Switch Sky to pointer events
This CL switches Sky to a pointer events model that unifies mouse and touch
with a common event model. This implementation is just enough to make the
example widgets work. The rest of the design is in the specs, which we hope to
converge with over time.

R=ojan@chromium.org

Review URL: https://codereview.chromium.org/866213004
2015-01-23 09:38:45 -08:00
Elliott Sprehn
c9a152c464 Remove @keyframe parsing.
We still have the code internally, but the parser won't create
StyleRuleKeyframes anymore.

R=abarth@chromium.org

Review URL: https://codereview.chromium.org/871773003
2015-01-22 20:48:22 -08:00
Elliott Sprehn
ca9d4f1ab2 Consolidate callers to scheduleVisualUpdate.
Make everyone call through Document::scheduleVisualUpdate(). I also
removed some dead composited selection code that used this.

R=ojan@chromium.org

Review URL: https://codereview.chromium.org/865383003
2015-01-22 18:47:23 -08:00
Adam Barth
2c0b2f7ff9 Remove UseCounter
We'll eventually add this back but sometime in the future when we actually have
users.

R=esprehn@chromium.org

Review URL: https://codereview.chromium.org/867903002
2015-01-22 18:26:55 -08:00
Adam Barth
265330e912 Remove some dead code in WebFrame
R=esprehn@chromium.org

Review URL: https://codereview.chromium.org/866813005
2015-01-22 18:26:26 -08:00
Adam Barth
3d511d7612 Remove TouchDisambiguation and WindowFocusAllowedIndicator
TouchDisambiguation is dead code. WindowFocusAllowedIndicator doesn't make any
sense because you're always allowed to focus.

R=eseidel@chromium.org

Review URL: https://codereview.chromium.org/866283003
2015-01-22 18:25:27 -08:00
Adam Barth
473a700f02 Remove unused "Web" interfaces
These are all dead code.

R=eseidel@chromium.org

Review URL: https://codereview.chromium.org/867093002
2015-01-22 16:08:26 -08:00
Adam Barth
63d7184715 Remove user gesture tracking
The developer has full control of Sky. We don't need to track whether something
was caused by a user gesture.

R=eseidel@chromium.org

Review URL: https://codereview.chromium.org/868933003
2015-01-22 16:01:31 -08:00
Adam Barth
6354a8c53d Remove PageWidgetDelegate
There's only one page widget delegate: WebView.

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

Review URL: https://codereview.chromium.org/871643003
2015-01-22 15:31:29 -08:00
Adam Barth
68475c7f7c Remove more unused code in WebViewImpl
R=eseidel@chromium.org, esprehn@chromium.org

Review URL: https://codereview.chromium.org/866733007
2015-01-22 15:31:07 -08:00
Adam Barth
d4a9e8a55e Remove a number of unused features from WebViewImpl
This CL removes a bunch of unused code from WebViewImpl. The bulk of the code
is to let C++ drive scroll flights, but we're going to implement that using
gesture events and having the scroll driven in script.

R=esprehn@chromium.org

Review URL: https://codereview.chromium.org/871683002
2015-01-22 14:58:11 -08:00
Adam Barth
62b72f23c9 Add basic PointerEvent support in NewEventHandler
blink::EventHandler is really hairy and deals with a lot of complex cases that
don't matter for Sky. This CL starts a NewEventHandler and adds support for
PointerEvents there. The NewEventHandler will eventually replace EventHandler
once we've actually migrated over from Mouse+Touch events to PointerEvents.

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

Review URL: https://codereview.chromium.org/823873004
2015-01-22 12:54:29 -08:00
Eric Seidel
9ec159869b Fix build.
TBR=esprehn@chromium.org,abarth@chromium.org
BUG=

Review URL: https://codereview.chromium.org/836823003
2015-01-22 12:33:09 -08:00
Elliott Sprehn
f0599689e6 Merge ShadowRootRareData into ShadowRoot.
In Sky most elements with a ShadowRoot will have rare data since they'll
have elements inside them with more ShadowRoots which would increment
the m_childShadowRootCount field, or they'll contain a <content> element
which would increment m_descendantContentElementCount. Only leaf elements
that don't contain either will not get one, and everyone pays the price
for the rare data ptr.

This should be mostly net netural for memory usage and it makes the code
simpler. We can add it back later if we realize there's lots of leaf
widgets.

R=abarth@chromium.org

Review URL: https://codereview.chromium.org/862183003
2015-01-22 11:47:34 -08:00