element; an example that uses that example to define some HTMLy
elements; and an example to use those HTMLy elements to display a
hello world doc. Highly incomplete WIP.
Review URL: https://codereview.chromium.org/698293003
element; an example that uses that example to define some HTMLy
elements; and an example to use those HTMLy elements to display a
hello world doc. Highly incomplete WIP.
Review URL: https://codereview.chromium.org/698293003
that uses it looks nicer; this moves the complexity to places that
register elements without using 'class' (e.g. the internals of
frameworks that create elements for defining elements)
Review URL: https://codereview.chromium.org/699083005
that uses it looks nicer; this moves the complexity to places that
register elements without using 'class' (e.g. the internals of
frameworks that create elements for defining elements)
Review URL: https://codereview.chromium.org/699083005
parsed' callback; pass the element's module to the constructor when
constructing a custom element (these are rather experimental changes
and we may want to go a different way on this stuff)
Review URL: https://codereview.chromium.org/701873004
parsed' callback; pass the element's module to the constructor when
constructing a custom element (these are rather experimental changes
and we may want to go a different way on this stuff)
Review URL: https://codereview.chromium.org/701873004
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
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
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
In mojom, there's a notion of a request/response pair. This CL teaches the JS
bindings not to GC a message pipe after a request has been issued but before
the response has been received.
R=hansmuller@chromium.org
Review URL: https://codereview.chromium.org/696373003
In mojom, there's a notion of a request/response pair. This CL teaches the JS
bindings not to GC a message pipe after a request has been issued but before
the response has been received.
R=hansmuller@chromium.org
Review URL: https://codereview.chromium.org/696373003
This has the following implications:
- There's no createElement() function any more. If you want to create
an element from script, you have to use its constructor.
- There's no async element registration. The parser will block until
all the imports are imported when you use a tag name of a custom
element that hasn't been registered yet, in case one of the imports
defines it.
- If you try to construct a non-registered element in markup, it
turns into an <error> element.
- <div>, <span>, and <error> are new built-in elements.
R=esprehn@chromium.org
Review URL: https://codereview.chromium.org/695423004
This has the following implications:
- There's no createElement() function any more. If you want to create
an element from script, you have to use its constructor.
- There's no async element registration. The parser will block until
all the imports are imported when you use a tag name of a custom
element that hasn't been registered yet, in case one of the imports
defines it.
- If you try to construct a non-registered element in markup, it
turns into an <error> element.
- <div>, <span>, and <error> are new built-in elements.
R=esprehn@chromium.org
Review URL: https://codereview.chromium.org/695423004
Previously we were using string concatenation to build up the directory
listing. Now we fetch some JSON from the server and use data binding to inflate
a directory listing.
This exmaple doesn't work yet because we're missing support for
template@repeat, but hopefully we'll get that soon.
Also, added support for setRequestHeader to XMLHttpRequest.
R=rafaelw@chromium.org
Review URL: https://codereview.chromium.org/688413005
Previously we were using string concatenation to build up the directory
listing. Now we fetch some JSON from the server and use data binding to inflate
a directory listing.
This exmaple doesn't work yet because we're missing support for
template@repeat, but hopefully we'll get that soon.
Also, added support for setRequestHeader to XMLHttpRequest.
R=rafaelw@chromium.org
Review URL: https://codereview.chromium.org/688413005
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
Now the SkyDebugger implements NavigatorHost and actually navigates the
mojo::View. This CL pulled a big refactor of sky/tools/debugger to separate out
MojoMain from debugger.cc.
R=eseidel@chromium.org
Review URL: https://codereview.chromium.org/690363002
So, instead of:
import "bar.mojom";
module foo {
...
}
You'll do:
module foo;
import "bar.mojom";
...
(Note that the grammar in the parser doesn't capture the ordering
constraint. It's hard to do so while keeping the grammar LR(1) AFAICT.
So instead we enforce the ordering "manually".)
Also delete mojo/spy/PRESUBMIT.py since it's broken. We'll delete
mojo/spy separately.
R=jamesr@chromium.org
Review URL: https://codereview.chromium.org/687793004
Turns out that the /sky mapping to the gen
directory was interfering with our new pattern
of mapping the actual /sky directory.
So now we use a more restrictive mapping pattern
of only mapping /sky/services, similar for
/mojo/services and /mojo/public.
Fixed an exception of not finding _sky_server
when a custom sky_server was already running.
R=abarth@chromium.org
Review URL: https://codereview.chromium.org/692163002
Automatically shut-down the sky_server when quitting.
Always start the skyserver at the mojo-root
instead of the parent directory to the path.
Log when starting a sky_server outside the mojo root.
Re-use already running sky_servers when possible.
R=esprehn@chromium.org, abarth@chromium.org
Review URL: https://codereview.chromium.org/679333005
This makes it possible to change the viewport size
which mojo is using. The sky debugger uses this new
API to set the viewport to something closer to mobile
instead of 800x600 ancient desktop size. :)
Still the (800, 600) constant is prevelant throughout
mojo (just search for it) and mojo does not seem to
fully update when the viewport size changes, so we actually
only see 320x600 pixels instead of 320x640 in
sky debugger after this change.
Mostly this change is about validating that this is the
correct way to plumb this information.
R=sky@chromium.org
Review URL: https://codereview.chromium.org/692693002
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