71 Commits

Author SHA1 Message Date
Eric Seidel
3046acd9eb Remove backface visibility
I made one edit in FrameView while looking at writing
RenderParagraph in Dart and then decided to look for
a slightly larger clean-up to justify committing it.
I found backface-visibility which I removed.

backface-visibility controls painting/hittesting of flipped objects.
https://developer.mozilla.org/en-US/docs/Web/CSS/backface-visibility

It's mostly used as a hack to get layers however. :)

TBR=abarth@chromium.org

Review URL: https://codereview.chromium.org/1161623004
2015-05-28 10:18:24 -07:00
Adam Barth
0906da7f0f Plumb display metrics into SkyView
This CL teaches SkyView the width, height, and device pixel ratio of the
display. In the future, we'll want some sort of notification system for when
these values change.

R=eseidel@chromium.org

Review URL: https://codereview.chromium.org/1139823010
2015-05-19 14:54:08 -07:00
Eric Seidel
afaac6ec79 Remove our impressive amount of CSS Cursor code.
With this gone, cursors will no longer change
on hover when running Sky on a desktop.

Then again the iGeneration doesn't
probably even know what a mouse is, let alone
have a burning desire to set a CSS3 custom-cursor.

R=ojan@chromium.org

Review URL: https://codereview.chromium.org/1076623002
2015-04-08 14:23:13 -07:00
Adam Barth
97abc0dadd Improve Material ink effects
1) Factors InkWell out of Material so that components can use an ink well
   without needing the shadow/level machinery.

2) Makes the ink effect move at a different velocity once the tap has actually
   occurred, converging with the spec. We don't have the right speeds yet, but
   at least we're approaching the right shape.

3) To support (2), added a primaryPointer attribute to GestureEvents to let
   authors coorelate gesturetapdown events with later gesturetap events.

4) To support (2), modernized SplashAnimation to used AnimatedValue and friends.

5) Added more constants to view-configuration.dart that match Android.

I've also removed the cancelling of the ink effect on scroll. The proper way to
do that is to notice that someone in the event chain is listening for
scrollstart and delay the beginning of the ink effect for some period of time.

R=eseidel@chromium.org

Review URL: https://codereview.chromium.org/1019023003
2015-03-19 11:17:48 -07:00
Adam Barth
1f8dd823f9 sky/shell should link with sky/engine
This CL causes sky/shell to create a blink::WebView to show that sky/shell
links with sky/engine. In the process, I've made it easier to be a trivial
embedder of sky/engine by removing the requirement to implement
blink::ServiceProvider.

This CL also causes sky/shell to link with mojo/edk/system to resolve link
errors with Mojo fabric (e.g., MojoClose, MojoWriteMessage, etc). To make this
work properly, we'll need to initialize the EDK in a future CL.

R=eseidel@chromium.org

Review URL: https://codereview.chromium.org/873923003
2015-02-04 19:31:17 -08:00
Ojan Vafai
b139ec4316 Delete remaining masks dead code.
Removes the straggling code related to masks now that
we've removed the CSS properties.

R=esprehn@chromium.org

Review URL: https://codereview.chromium.org/893093002
2015-02-03 13:56:34 +11:00
Ojan Vafai
4b9622480d Consolidate and delete a bunch of paint methods.
We've simplified paint code enough that most of these
methods are redundant.

R=esprehn@chromium.org

Review URL: https://codereview.chromium.org/892033003
2015-02-01 21:01:07 -08:00
Adam Barth
2f39655a37 Cleanup unused #includes and declarations in PlatformImpl
These aren't needed anymore. Also, use more |override|.

R=eseidel@chromium.org

Review URL: https://codereview.chromium.org/892053002
2015-02-01 13:40:42 -08:00
Adam Barth
e962904c7a Remove TRACE_EVENT indirection through blink::Platform
Normal trace events already go directly to base. This CL removes the remaining
trace events that were still indirected through blink::Platform. These were
just the half-finished inspector timeline trace events, which currently aren't
actually hooked up to anything.

This CL also removes the redunant "convertable to trace format" wrappers and
moves their one remaining use over to just using the version in base directly.

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

Review URL: https://codereview.chromium.org/889823002
2015-01-30 08:47:46 -08:00
Adam Barth
65a50f6c81 Remove unused trace sampling states
R=ojan@chromium.org

Review URL: https://codereview.chromium.org/893503002
2015-01-29 22:08:19 -08:00
Adam Barth
36e9c3e46e Implement PointerEvent#dx
In this CL, the event handler keeps track of the delta from the previous
pointer position so authors don't have to.

R=eseidel@chromium.org

Review URL: https://codereview.chromium.org/887793002
2015-01-29 13:23:45 -08:00
Adam Barth
645a6a9d12 Remove dead code related to compositing from Sky
R=esprehn@chromium.org, eseidel@chromium.org

Review URL: https://codereview.chromium.org/865153004
2015-01-27 14:38:56 -08:00
Adam Barth
c33c565f8b Remove ScrollableArea and Scrollbar
This code is unused.

R=eseidel@chromium.org

Review URL: https://codereview.chromium.org/879993004
2015-01-27 12:08:24 -08:00
Adam Barth
c3fc9e9663 Add wheel support to sky-scrollable
This CL plumbs wheel events through Sky again and uses them in sky-scrollable.

R=ojan@chromium.org

Review URL: https://codereview.chromium.org/876853005
2015-01-27 09:58:22 -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
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
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
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
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
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
Adam Barth
0739d9395b Add blink::WebPointerEvent
This CL adds the WebPointerEvent class and code to convert from
WebPointerEvents (the platform abstraction) to PointerEvents (the DOM API).

R=eseidel@chromium.org

Review URL: https://codereview.chromium.org/845313011
2015-01-20 10:11:05 -08:00
Adam Barth
e4ade99b70 Move WebInputEvent from public/web to public/platform
Moving WebInputEvent into public/platform lets us refer to it directly in core, which will let us remove the PlatformFooEvent classes.

The final pipeline will be:
1) mojo::InputEvent (IPC type, device pixels)
2) blink::WebInputEvent (platform abstraction, logical pixels)
3) blink::Event (DOM type, logical pixels)

If mojo::InputEvent used logical pixels, it would probably be easier to just
use mojo::InputEvent as the platform abstraction, but instead we use the
mojo-to-blink conversion to translate between device and logical pixels, like
we do everywhere else in Sky.

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

Review URL: https://codereview.chromium.org/860593003
2015-01-19 18:39:39 -08:00
Ojan Vafai
607fb5f42e Delete dead invalidate function.
TBR=esprehn@chromium.org

Review URL: https://codereview.chromium.org/826873003
2015-01-16 19:55:57 -08:00
Ojan Vafai
d591ca1f14 Delete a bunch of noop paint invalidation code.
This deletes invalidateRect and all it's callers.
There are no logic changes, just deletes.

R=esprehn@chromium.org

Review URL: https://codereview.chromium.org/842113005
2015-01-16 17:42:47 -08:00
Eric Seidel
682cccdd91 Make v8 inspector not crash
It was attempting to load InjectedScript, etc.
with the wrong path and hitting a CHECK().
I moved InjectedScript and DebugScript into
the v8_inspector directory and fixed their loading.

I also broke the dependency from v8_inspector
onto engine/platform by moving the horrible
Platform::loadResource hack out of PlatformImpl
into a new file just for v8_inspector.

In this process I also found some (broken!)
code for showing the broken image icon which
if we ever hit would just have crashed, so
I removed that code as well.

BUG=435243
R=ojan@chromium.org

Review URL: https://codereview.chromium.org/776743002
2014-12-02 16:47:17 -08:00
Ojan Vafai
9837d78956 Remove GraphicsLayer family of classes.
Remove all the GraphicsLayer* classes. This includes LinkHighlight
since that feature is built on the old compositing system.

It's all dead code!

R=abarth@chromium.org

Review URL: https://codereview.chromium.org/762993003
2014-11-26 20:21:01 -08:00
Ojan Vafai
e451291645 Remove m_layerTreeView from WebViewImpl.
It's always null now.

R=abarth@chromium.org

Review URL: https://codereview.chromium.org/757143004
2014-11-25 19:54:27 -08:00
Eric Seidel
295f920116 Fix sky include guards to match Chromium style
I wrote a script to do this which is attached
to the bug.

TBR=abarth@chromium.org
BUG=435361

Review URL: https://codereview.chromium.org/736373003
2014-11-21 02:48:38 -08:00
Adam Barth
67d5db4520 Remove WebThemeEngine
It's dead code.

R=esprehn@chromium.org

Review URL: https://codereview.chromium.org/753443002
2014-11-20 22:51:38 -08:00
Adam Barth
9b40ebc56e Remove unused WebMIMERegistry
It's dead code.

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

Review URL: https://codereview.chromium.org/752463002
2014-11-20 22:41:35 -08: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
5ce2884e26 Audit all of sky's system <> style includes
I wrote a little script to do this.
I'll attach it to the bug in case Blink wants it.

R=abarth@chromium.org
BUG=435361

Review URL: https://codereview.chromium.org/747663002
2014-11-20 15:55:02 -08:00
Eric Seidel
593c8f8de3 Wire up more of the DebuggerAgent
The debugger can now correctly break on exceptions
and show the corresponding line in the inspector.

It correctly understands which scripts are internal
to sky and does not pause during them.

There is still a ton to make work here
(including stacktraces which I have not tested),
but basic functionality seems to work.

The current implementation is not smart enough to
unpause the inspector when the frontend disconnects.

BUG=434510,434513
R=abarth@chromium.org

Review URL: https://codereview.chromium.org/727593004
2014-11-18 15:05:05 -08:00
Rafael Weinstein
0b758e5227 Remove CSSCompositing
BUG=
R=abarth@chromium.org

Review URL: https://codereview.chromium.org/731863003
2014-11-17 14:34:30 -08:00
Eric Seidel
38981ef393 Remove DEPS from sky
Also taught PRESUBMIT.py how to ignore DEPS for sky/
since gn check already covers everything we were using DEPS for.

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

Review URL: https://codereview.chromium.org/737493002
2014-11-17 11:16:44 -08:00
Eric Seidel
9ec75d67ce Use root-relative V8 includes
TBR=abarth@chromium.org

Review URL: https://codereview.chromium.org/726133002
2014-11-14 16:02:21 -08:00
Rafael Weinstein
f5bed9da06 Remove moar composited scrolling from sky
R=abarth@chromium.org

Review URL: https://codereview.chromium.org/722063002
2014-11-12 18:14:51 -08:00
Rafael Weinstein
c1e4c67c23 Remove WebScroll*
R=abarth@chromium.org

Review URL: https://codereview.chromium.org/720713003
2014-11-12 16:41:12 -08:00
Eric Seidel
5bdc6515b9 Re-land 714393002 after fixing android build.
Original CL:
https://codereview.chromium.org/714393002

Reverted in:
https://codereview.chromium.org/719063002

One fix was to use static_assert instead
of _Static_assert in COMPILE_ASSERT.

_Static_assert is C11, static_assert is C++11
and Android's stdlib doesn't have C11 support,
but we don't care since we never use COMPILE_ASSERT
in plain C code.

The second fix was also for the android STL
and was adding back the nullptr_t type
definition in NullPtr.h for old versions of STL.

I compile this locally for android to verify
that it works
mojo/tools/mojob.py build --android

TBR=jamesr@chromium.org,qsr@chromium.org

Review URL: https://codereview.chromium.org/722723003
2014-11-12 12:16:05 -08:00
Benjamin Lerman
59f42240ba Revert "Remove support for MSVC"
This reverts commit d9cfbefcfe8710f1cb190ae817757853c8058797.

This CL broke android build:
http://build.chromium.org/p/client.mojo/builders/Mojo%20Android%20Builder%20%28dbg%29/builds/248

TBR=eseidel@chromium.org

Review URL: https://codereview.chromium.org/719063002
2014-11-12 13:31:10 +01:00
Eric Seidel
4ab80f640b Remove support for MSVC
I also removed COMPILER_SUPPORTS since
all of the checks were for old versions of
GCC which we no longer support.

Mojo requires GCC 4.8 or later.

R=abarth@chromium.org

Review URL: https://codereview.chromium.org/714393002
2014-11-11 16:59:04 -08:00
Ojan Vafai
8510cca8ad Remove alt text from images.
R=abarth@chromium.org

Review URL: https://codereview.chromium.org/715963003
2014-11-11 16:46:57 -08:00
Rafael Weinstein
f973fd339e Removed ScrollingCoordinator and a bunch of composited scrolling'
BUG=
R=ojan@chromium.org

Review URL: https://codereview.chromium.org/721473002
2014-11-11 16:42:00 -08:00
Rafael Weinstein
c0ffe6fb23 remove updateTouchEventTargetRectsIfNeeded
BUG=
R=abarth@chromium.org

Review URL: https://codereview.chromium.org/713073003
2014-11-10 13:08:21 -08:00
Elliott Sprehn
9340924861 Remove lots of dead web/ classes.
R=abarth@chromium.org

Review URL: https://codereview.chromium.org/693603005
2014-11-07 16:14:13 -08:00
Elliott Sprehn
2ee266238d Remove TimeRanges.
R=abarth@chromium.org

Review URL: https://codereview.chromium.org/709133004
2014-11-07 15:18:23 -08:00