147 Commits

Author SHA1 Message Date
Adam Barth
ed80ee081b tests
Address comments

Add a basic parser benchmark

This CL adds a basic benchmark for the parser. There isn't a direct way to
exercise the parser in Sky, so we use imports.

This CL also adds a load event to <import> to determine when the import is done
loading.

R=eseidel@chromium.org

parser benchmark wip
2014-11-04 11:00:32 -08:00
Elliott Sprehn
8947663b20 Remove most of DocumentOrderedMap.
We only need the single id lookup path now.

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

Review URL: https://codereview.chromium.org/705473004
2014-11-04 10:06:45 -08:00
Elliott Sprehn
11b2b24722 Remove DOMImplementation.
Expose a Document constructor instead. This also exposes that
the TemplateBinding library might need more control over the
registration context for custom elements. For now we make all
documents share the same registration context.

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

Review URL: https://codereview.chromium.org/697363002
2014-11-03 23:18:39 -08:00
Elliott Sprehn
e2a6aca882 Remove lots of Text APIs.
I also removed Node#normalize() which is Text related
and doesn't seem like something we need. Frameworks
can implement it if needed.

Remove most of the media stack.

R=ojan@chromium.org

Review URL: https://codereview.chromium.org/698213002
2014-11-03 22:34:23 -08:00
Ojan Vafai
4ecaa91c6c Remove margin collapsing.
Margin collapsing is a document-oriented feature. For applications
it just causes confusion and slowness.

margins.sky has failure output because offsetTop is returning the
wrong values. That's not new with this patch though. When I look
at it visually in skydb, everything seems to be in the right place.

R=esprehn@chromium.org

Review URL: https://codereview.chromium.org/700743002
2014-11-03 21:30:40 -08:00
Elliott Sprehn
8c0a714beb Remove most of the media stack.
R=abarth@chromium.org

Review URL: https://codereview.chromium.org/689373003
2014-11-03 20:21:19 -08:00
Scott Graham
ceac620f93 Fix more Windows compile errors
- Silence warnings in sky code (unnecessary return)
- Disable some warnings for bison-generated code
- Missing include for htons et al.
- Don't build xdisplaycheck on Windows.

R=jam@chromium.org

Review URL: https://codereview.chromium.org/697183003
2014-11-03 19:42:39 -08:00
Elliott Sprehn
0bfad6eb75 Remove HTMLAudioElement.
We'll use a Mojo audio API instead.

R=ojan@chromium.org

Review URL: https://codereview.chromium.org/696913004
2014-11-03 19:08:42 -08:00
Elliott Sprehn
2fdeeca8b0 Remove WebPageSerialzier related code.
R=ojan@chromium.org

Review URL: https://codereview.chromium.org/699623006
2014-11-03 19:08:16 -08:00
Elliott Sprehn
93af62d3e7 Remove HTMLVideoElement.
This also removes some compositor related code, but there's not much of
it anyway so we can just add it back later when we do <iframe>.

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

Review URL: https://codereview.chromium.org/701663002
2014-11-03 18:02:22 -08:00
Elliott Sprehn
59454159a3 Remove shape-outside.
Since we don't have floats this doesn't do anything now.

R=ojan@chromium.org

Review URL: https://codereview.chromium.org/703563002
2014-11-03 18:01:57 -08:00
Ojan Vafai
29ff7e21fd Remove more float machinery.
Also removed the clear property since it's only purpose was
to clear floats.

R=esprehn@chromium.org

Review URL: https://codereview.chromium.org/700703002
2014-11-03 17:00:27 -08:00
Adam Barth
ef24228598 Remove <meta>
We're not using this element.

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

Review URL: https://codereview.chromium.org/699023002
2014-11-03 16:51:31 -08:00
Elliott Sprehn
c24fbd5cd2 Remove more API from Node and ContainerNode.
R=abarth@chromium.org, ojan@chromium.org

Review URL: https://codereview.chromium.org/698123002
2014-11-03 14:55:19 -08:00
Adam Barth
512c4591a6 Remove HTMLLinkElement
Please use <import> instead.

R=esprehn@chromium.org

Review URL: https://codereview.chromium.org/696413002
2014-11-03 12:51:24 -08:00
Ojan Vafai
ab8e1f98d5 Remove more support for floats from RenderBlockFlow.
This doesn't change any behavior. Floats were already removed.
This is just removing effectively noop code.

R=esprehn@chromium.org

Review URL: https://codereview.chromium.org/692563004
2014-11-03 12:40:09 -08:00
Adam Barth
4240a776a4 Replace <link rel="import"> with <import>
This CL is just a search-and-replace.

R=esprehn@chromium.org

Review URL: https://codereview.chromium.org/694423002
2014-11-03 12:34:57 -08:00
Adam Barth
8323fb1e88 Basic implementation of <import>
This CL adds basic support for the <import> elements. We're using the same imports
machinery as <link rel="import">, which simplifies this patch substantially.

Currently we support both <link rel="import"> and <import>. Once this CL lands, I'll
update all the existing modules and then we can drop support for
<link rel="import">.

R=ojan@chromium.org

Review URL: https://codereview.chromium.org/681983005
2014-11-03 10:14:09 -08:00
Elliott Sprehn
c0bf67d1f9 Remove interactive content and form related API from HTMLElement.
In particular this inlines the accessKeyAction, removes isInteractiveContent()
which was for special casing certain elements in event dispatch, and removes
eventParameterName() which was only needed for inline event handlers.

I also moved Node::commonAncestor into NodeRenderingTraversal, the only
callers of it passed NodeRenderingTraversal::parent as the second argument,
it didn't make sense to have this generic thing.

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

Review URL: https://codereview.chromium.org/693243002
2014-10-31 18:48:50 -07:00
Elliott Sprehn
ca3b2661ef Remove a lot of API surface from Element.
R=ojan@chromium.org

Review URL: https://codereview.chromium.org/696903002
2014-10-31 16:48:20 -07:00
Ojan Vafai
ed0c01cdca Remove CSS Grid Layout and grid media queries.
The two are unrelated, but it was easier to just grep for grid
and remove them all. Aside from the media query change, there
isn't any change in behavior since grid was behind a flag.

R=esprehn@chromium.org

Review URL: https://codereview.chromium.org/689853003
2014-10-31 16:40:03 -07:00
Elliott Sprehn
5330701999 Remove Element#attributes.
We now implement getAttributes() such that it returns
a new set of Attr isntances on every call as well.

R=abarth@chromium.org

Review URL: https://codereview.chromium.org/697773002
2014-10-31 15:10:53 -07:00
Adam Barth
e1c150ffca Drop support for this.exports
Please use module.exports instead. As far as I know, all code in the repo has
been converted over to the new style.

R=esprehn@chromium.org

Review URL: https://codereview.chromium.org/698543006
2014-10-31 15:02:45 -07:00
Eric Seidel
509999eccd Add a PRESUBMIT for gn check, currently only for //sky/*
Also fixed //sky/* to pass gn check again.

This makes all of our previous DEPS header checking
obsolete and those can be removed now.

R=jamesr@chromium.org

Review URL: https://codereview.chromium.org/697733002
2014-10-31 14:25:33 -07:00
Ojan Vafai
7d3feb3952 Remove line breaking to avoid window.
Now that we don't have multi-column or pagination, this
is dead code. This also means we don't need to call
layoutBlockFlow in a loop.

R=esprehn@chromium.org

Review URL: https://codereview.chromium.org/697713002
2014-10-31 12:41:40 -07:00
Adam Barth
e18d99a0f3 Make clicks on <a> request a navigation
Currently our window manager isn't listening for these requests, but it would
work if we loaded sky in wm_flow or example_window_manager.

R=eseidel@chromium.org

Review URL: https://codereview.chromium.org/695803003
2014-10-31 11:27:44 -07:00
Ojan Vafai
20dd8466c7 Remove border-fit.
This just lets you size an element to it's content. We should
do this in a more generic way or let you override layout
and do it yourself.

R=esprehn@chromium.org

Review URL: https://codereview.chromium.org/698613002
2014-10-31 10:59:40 -07:00
Adam Barth
97565a73db Introduce blink::ServiceProvider
This CL is a warmup for making hyperlinks actually work. ServiceProvider lets
the embedder inject a bundle of services that are specific to the embedding
context (e.g., NavigatorHost). Services that are independent to the embedding
context can be injected via blink::Platform.

R=eseidel@chromium.org

Review URL: https://codereview.chromium.org/696733003
2014-10-31 10:54:03 -07:00
Elliott Sprehn
cf29897cbc Devirtualize a bunch of Element.
These methods have no sublcass implementations now.

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

Review URL: https://codereview.chromium.org/694443003
2014-10-30 23:13:08 -04:00
Elliott Sprehn
c384b62ef1 Remove lots of dead virtuals from Element.
Mostly form related things we don't need now.

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

Review URL: https://codereview.chromium.org/694703002
2014-10-30 23:03:02 -04:00
Elliott Sprehn
dfbf806148 Remove HasPendingResources flag.
This was an SVG-ism we don't need.

R=abarth@chromium.org

Review URL: https://codereview.chromium.org/694683002
2014-10-30 22:46:51 -04:00
Ojan Vafai
80efab4680 Remove straggling bits of listboxes.
Also remove some straggling bits of textareas along the way.

R=esprehn@chromium.org

Review URL: https://codereview.chromium.org/653993007
2014-10-30 16:46:17 -07:00
Elliott Sprehn
cf5d82f390 Don't hit ASSERT_NOT_REACHED() when adding a scroll listener. 2014-10-30 15:23:04 -07:00
Ojan Vafai
31c4826beb Remove createsAnonymousWrapper. It's dead code.
R=eseidel@chromium.org

Review URL: https://codereview.chromium.org/696493003
2014-10-30 14:41:47 -07:00
Adam Barth
cb61ad4cf4 Add support for Element#getAttributes
As described in //sky/specs/apis.md

R=esprehn@chromium.org

Review URL: https://codereview.chromium.org/691893002
2014-10-30 13:55:59 -07:00
Adam Barth
4be2d764fa Remove Platform::parseDataURL
We only use this data URL parser to pre-cache images loaded from data URLs.
It's not clear we need that optimization in this system. If we do want it, we
can just call the data URL parser directly.

R=eseidel@chromium.org

Review URL: https://codereview.chromium.org/691623003
2014-10-30 09:41:31 -07:00
Adam Barth
07106fceee Remove callOnMainThread
This API is redundant with exposing the main-thread task runner.

R=eseidel@chromium.org

Review URL: https://codereview.chromium.org/691493004
2014-10-30 09:40:12 -07:00
Adam Barth
fc451b47eb Unfork Sky's trace events
This CL remove the body of Sky's TraceEvent.h in favor of the version in base.
There's still some more of the system to unwind before we can remove all the
other boilerplate.

R=eseidel@chromium.org

Review URL: https://codereview.chromium.org/691663002
2014-10-30 09:39:46 -07:00
Ojan Vafai
0dfbf8aa38 Remove writing mode code from the linebox tree.
Yo dawg, I heard you like ternaries.

R=abarth@chromium.org

Review URL: https://codereview.chromium.org/688233002
2014-10-29 20:29:59 -07:00
Ojan Vafai
21bde7479d Remove final instances of WritingMode in Sky.
After this patch, the only instance of WritingMode is in a comment.
No change in behavior.

TBR=esprehn@chromium.org

Review URL: https://codereview.chromium.org/674073005
2014-10-29 19:58:14 -07:00
Ojan Vafai
86ed666dc2 Get rid of isWritingModeRoot.
This function always returns false now that we don't have writing modes.

TBR=esprehn@chromium.org

Remove flipForWritingMode.

It's a noop now that we don't have writing modes.

Review URL: https://codereview.chromium.org/688223002
2014-10-29 19:53:05 -07:00
Ojan Vafai
13ffe46a43 Remove flipForWritingMode.
It's a noop now that we don't have writing modes.

TBR=esprehn@chromium.org

Review URL: https://codereview.chromium.org/684393002
2014-10-29 19:45:15 -07:00
Ojan Vafai
90b8d2e589 Remove text-combine.
This is a vertical writing mode feature. Sky doesn't support
vertical writing mode.

R=esprehn@chromium.org

Review URL: https://codereview.chromium.org/677843004
2014-10-29 19:30:32 -07:00
Ojan Vafai
3b628f7d39 Delete a ton more dead vertical writing mode code.
No change in behavior.

R=esprehn@chromium.org

Review URL: https://codereview.chromium.org/684383002
2014-10-29 19:08:09 -07:00
Ojan Vafai
afa0148e0b First pass at removing dead vertical writing mode code.
This just removes a random subset of vertical writing mode bits
that I grepped for. There's a ton more to do, but it seems best to
do it in chunks.

The key things for understanding this patch, isWritingModeRoot is
always false and isHorizontalWritingMode is always true. Also,
we're never flipped* modes of any kind, so we can undo any flipping.

R=esprehn@chromium.org

Review URL: https://codereview.chromium.org/688213002
2014-10-29 19:06:59 -07:00
Adam Barth
a9c5a685c1 Remove a number of frontends to ResourceFetcher
We no longer fetch any of these types from the ResourceFetcher.

R=esprehn@chromium.org

Review URL: https://codereview.chromium.org/690823002
2014-10-29 16:26:34 -07:00
Elliott Sprehn
c9e551fda5 Remove more stuff from Widget.
This removes even more APIs from widget. This also removes some methods
that had been broken and made infinitely recursive on FrameView.

R=abarth@chromium.org

Review URL: https://codereview.chromium.org/684353002
2014-10-29 15:57:18 -07:00
Adam Barth
e000e53207 Remove Platform::cryptographicallyRandomValues
We can just call the base API directly.

R=esprehn@chromium.org

Review URL: https://codereview.chromium.org/691483005
2014-10-29 15:55:19 -07:00
Elliott Sprehn
ca6775b3da Remove a lot of Widget APIs.
We don't need a lot of the Widget API. I also removed the
visibility code which seems to have been broken when we
removed FrameView::show and hide(), which looks like it
would have broken image loading. Unfortuantely we don't
have pixel tests or tests that load images so I can't
test this yet. Even so it's a good simplificatin since
our system has no concept of hidden widgets.

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

Review URL: https://codereview.chromium.org/691453002
2014-10-29 15:23:10 -07:00
Elliott Sprehn
7c0366d891 Remove most of FloatingObject.
This leaves some uses of FloatingObject*, but it doesn't
leave the impl of the class so it's all dead code passing
around null pointers. I'll remove that in a future patch.

R=eseidel@chromium.org

Review URL: https://codereview.chromium.org/689733003
2014-10-29 15:04:40 -07:00