82 Commits

Author SHA1 Message Date
Adam Barth
d8d7db82a0 Really remove config.h
This CL generated by |sed -i '/sky\/engine\/config.h/d'| and a manual sweep to
catch some oddballs.

TBR=eseidel@chromium.org

Review URL: https://codereview.chromium.org/1206763002.
2015-06-23 23:15:28 -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
510cddef63 Integrate custom paint with the DocumentLifecycle
Instead of running paint requests during microtasks, we run them after updating
layout for the current frame. After draining all the paint requests, we then
drain whatever commits are available.

It's still possible that requestPaint callbacks can dirty style and layout
information, so we need to clean that information after servicing the requests.
Ideally we'd block these callbacks from dirtying style or layout information.

R=ojan@chromium.org

Review URL: https://codereview.chromium.org/1027563002
2015-03-19 21:58:14 -07:00
Adam Barth
6a794823bc Remove pauseAnimationsForTesting
This code is unused and it hooks into the DocumentLifecycle in sketchy ways.

R=ojan@chromium.org

Review URL: https://codereview.chromium.org/1020053002
2015-03-19 19:32:03 -07:00
Adam Barth
dff66fb1b7 Remove the concept of document.documentElement
Now documents can have many element children, all created equal.

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

Review URL: https://codereview.chromium.org/928393003
2015-02-17 16:20:07 -08:00
Ojan Vafai
5e291c32e2 Prune HitTestResult and stop special-casing links.
Prunes a bunch of dead code from HitTestResult and
stops special-casing links for creating hand cursors.
This code already isn't working today anyways, so
in practice, there's no change in behavior.

R=esprehn@chromium.org

Review URL: https://codereview.chromium.org/925933004
2015-02-13 14:17:42 -08:00
Adam Barth
52b56750a1 Rename sky/engine/bindings2 to sky/engine/bindings
There's only one bindings system now.

TBR=eseidel@chromium.org

Review URL: https://codereview.chromium.org/915293003
2015-02-12 20:16:17 -08:00
Adam Barth
f2d2e80e59 Merge the Sky Engine changes from the SkyDart branch
This CL flips the switch to make Sky use Dart.

TBR=eseidel@chromium.org
BUG=454613

Review URL: https://codereview.chromium.org/922893002
2015-02-12 15:06:03 -08: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
Adam Barth
54809a8877 Remove more scrolling code from Sky
None of this code does anything anymore.

R=eseidel@chromium.org

Review URL: https://codereview.chromium.org/878303002
2015-01-27 15:20:14 -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
4e74d9df30 Remove RenderLayerScrollableArea
This CL is a first step towards removing the scrolling machinery from the
engine. Notice that we pay a tax for scrolling in RenderBlockFlow::layout.

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

Review URL: https://codereview.chromium.org/877043002
2015-01-27 09:58:45 -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
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
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
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
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
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
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
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
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
385cd6107c Remove unused hit testing modes in Sky
R=eseidel@google.com

Review URL: https://codereview.chromium.org/855223002
2015-01-19 19:11:20 -08:00
Ojan Vafai
100094dbf3 Delete document marker related invalidation code.
I believe this doesn't change behavior, but it's hard
to know since we don't have spellchecking hooked up.
Also, delete setToolTip. This is for tooltips on spelling
markers. We don't support tooltips.

R=esprehn@chromium.org

Review URL: https://codereview.chromium.org/830273006
2015-01-16 20:01:02 -08:00
Elliott Sprehn
992eaea546 Remove attrs sky doesn't support.
This removes the attributes sky doesn't intend to support. It
removes references to the attrs, but leaves behind a lot of
plumbing that will be cleaned up in the future. This at least
removes the API surface.

R=ojan@chromium.org

Review URL: https://codereview.chromium.org/855803002
2015-01-16 19:42:52 -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
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
ab2499fad9 Only the main document should have a StyleEngine.
In Sky <style> elements in import documents don't apply to the main document,
so we don't need the StyleEngine to be aware of the import tree. This change
makes us only create the StyleEngine for active documents.

R=eseidel@chromium.org

Review URL: https://codereview.chromium.org/813493003
2014-12-16 13:14:54 -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
a55ff6d55a Remove lots of code from the WebWidget/WebView/WebFrame layer.
R=eseidel@chromium.org

Review URL: https://codereview.chromium.org/770223002
2014-12-02 01:03:37 -08:00
Yury Semikhatsky
e645181fec Parametrize PageScriptDebugServer with v8::Context -> InspectorHost resolver
ScriptDebugServer needs a way to find ScriptDebugListener for the paused v8::Context. The listeners are added per InspectorHost. Now we have to mapping v8::Context -> InspectorHost, InspectorHost -> ScriptDebugListener which allow to map v8::Context -> ScriptDebugListener. This allows to avoid storing InspectorHost on Page.

BUG=435243
R=abarth@chromium.org

Review URL: https://codereview.chromium.org/764573002
2014-11-27 11:18:09 +03: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
7d45831411 Get rid of the remaining uses of GraphicsLayer.
After this patch, GraphicsLayer is only used by GraphicsLayer-related
classes and LinkHighlight. We should be able to just delete all of them
in a followup patch.

R=abarth@chromium.org

Review URL: https://codereview.chromium.org/763013002
2014-11-26 18:51:43 -08:00
Ojan Vafai
32bd99e95a Delete most of rendering/compositing.
Particularly, this deletes RenderLayerCompositor. After this,
there's just CompositingState left to remove.

This is all dead code, so there should be no change in behavior.

R=abarth@chromium.org

Review URL: https://codereview.chromium.org/758843004
2014-11-26 15:15:23 -08:00
Elliott Sprehn
253b5bed74 Only allow one shadowRoot.
R=ojan@chromium.org

Review URL: https://codereview.chromium.org/759663003
2014-11-26 13:54:14 -05: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
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
e4945302eb Move InspectorBackendMojo out of the blink namespace
This starts to break the dependency between blink and
the new v8_inspector.  At least now the front-end
object InspectorBackendMojo is treated as a peer to
WebView instead of WebView providing one.

Unfortunately I also had to teach Page about
InspectorHost in order to make it possible to
lookup the InspectorHost from the v8::Context.

I'm sure there is a nicer way to associate the
InspectorHost with the context but for now
I've chosen this path, we can untangle the
connection in a later patch.

I also ended up removing Page::allPages
and all callers, since they ended up as dead code.

R=abarth@chromium.org, yurys@chromium.org
BUG=435243

Review URL: https://codereview.chromium.org/746713002
2014-11-20 14:21:36 -08:00
Eric Seidel
55b5bc485d Sort headers
Fix (most) generated includes to have gen/ in their path.

This makes it easier to tell where files exist on disk.

Unfortunately I had to leave the old include path
in engine/BUILD.gn to support all the v8 includes
which were too many to deal with in this patch.

It's a little nasty to have the raw build directory
in our include path, but it produces nicer paths.

R=abarth@chromium.org
2014-11-19 12:33:42 -08:00
Elliott Sprehn
3eb9946952 Remove lots of things from RenderObject
R=abarth@chromium.org

Review URL: https://codereview.chromium.org/735193002
2014-11-18 16:06:22 -08:00
Elliott Sprehn
42d362ff6b Remove tons of OILPAN.
This removes ::trace, traceAfterDispatch and finalizeGarbageCollectedObject.

R=abarth@chromium.org

Review URL: https://codereview.chromium.org/723253004
2014-11-13 16:56:13 -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
Eric Seidel
66bad10810 Remove a bunch of OS(MACOSX) code
This code is unused in sky.

Amazing how much code we had for dealing with old
versions of MSVC.

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

Review URL: https://codereview.chromium.org/709603006
2014-11-11 15:33:38 -08:00