50 Commits

Author SHA1 Message Date
Eric Seidel
09f4d5e9ff 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
Eric Seidel
bae7972281 Teach XHR how to handle relative urls.
Hixie says window.URL may not exist yet in the
sky specs, but I'm sure we'll need something like it.

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

Review URL: https://codereview.chromium.org/729913003
2014-11-18 11:15:56 -08:00
Matt Perry
c120bdf84f Sky: When an iframe element is removed, delete its mojo View.
R=esprehn@chromium.org

Review URL: https://codereview.chromium.org/733063007
2014-11-18 14:00:05 -05:00
Ojan Vafai
8de17678c0 First step at getting rid of anonymous blocks and continuations.
-Add RenderParagraph and display:paragraph. This is the only
render type that's allowed to contain inlines or text.
-If you put text nodes directly in a non-paragraph, wrap them
in an anonymous paragraph. This may not be the place we want
to end up, but it's a good stopgap to make it so we don't
crash in this case.
-Make StyleAdjuster force that non-paragraph blocks only contain
RenderBlock subclasses and that paragraphs and inlines only contain
inlines.
-Considerably simplify addChildIgnoringAnonymousColumnBlocks
now that we only create anonymous blocks for the case of
text nodes in non-paragraphs. Also get rid of the behavior
where we try to group multiple nodes into a single
anonymous block.

R=esprehn@chromium.org

Review URL: https://codereview.chromium.org/729693003
2014-11-17 18:39:52 -08:00
Adam Barth
78dcf7687e Mark flaky tests as flaky
R=esprehn@chromium.org

Review URL: https://codereview.chromium.org/734783002
2014-11-17 15:04:18 -08:00
Matt Perry
8eefcecb74 Sky: Change iframe positioning to use absoluteContentBox for the View's
coordinate system.

This fixes a bug where the iframe's view would be positioned incorrectly if there were elements above it.

R=esprehn@chromium.org

Review URL: https://codereview.chromium.org/730253002
2014-11-17 17:38:27 -05:00
Ojan Vafai
63afdb64d8 Add a basic img test.
R=abarth@chromium.org

Review URL: https://codereview.chromium.org/732763002
2014-11-14 13:58:19 -08:00
Adam Barth
b2c4c73a65 Re-enable the editing tests
Now that we have event sender, we can test editing again.

R=rafaelw@chromium.org

Review URL: https://codereview.chromium.org/723863002
2014-11-12 17:01:14 -08:00
Matt Perry
f0a18492ad Fix iframe.sky layout test failure.
Added extra newline.

R=sky@chromium.org
TBR=sky@chromium.org

Review URL: https://codereview.chromium.org/723643004
2014-11-12 17:38:21 -05:00
Matt Perry
69f275081b Sky: Add a test for the <iframe> element.
Had to disable a DCHECK for now. Scott will investigate why the DCHECK is hit.

BUG=432658
R=sky@chromium.org

Review URL: https://codereview.chromium.org/722713003
2014-11-12 16:50:34 -05:00
Adam Barth
bc824f36fe Script-based imports should basically work
This CL adds the beginning of a new module loading system that matches the
conceptual module in the spec. I've writed it up to the import API on
AbstractModule. In a future CL, I'll replace the old module loading system with
this one.

R=eseidel@chromium.org

Review URL: https://codereview.chromium.org/720903002
2014-11-12 13:29:14 -08:00
Adam Barth
41448b9de9 Implement event sender service for testing
This service lets us send Mojo events during testing.

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

Review URL: https://codereview.chromium.org/716043002
2014-11-12 10:46:35 -08:00
Adam Barth
f860dc6a44 Move exports from Document to Module
This CL moves the |exports| from Document to the new |Module| interface,
matching the spec. Also, the |module| object available to scripts is now really
an instance of |Module|.

R=eseidel@chromium.org

Review URL: https://codereview.chromium.org/703593003
2014-11-10 15:34:25 -08:00
Adam Barth
04122dbd21 Add Module and Application interfaces
These interfaces are currently unused by the engine, but they are
constructable.  See apis.md for details.

R=eseidel@chromium.org

Review URL: https://codereview.chromium.org/697873007
2014-11-10 14:16:56 -08:00
Matt Perry
6b138596a4 Remove iframe.sky test. It's timing out on the bots.
TBR=esprehn@chromium.org

Review URL: https://codereview.chromium.org/707283002
2014-11-07 17:25:17 -05:00
Matt Perry
506e8db179 Add iframe.sky test expectations for dump-as-render-tree.
R=esprehn@chromium.org

Review URL: https://codereview.chromium.org/708163002
2014-11-07 17:14:15 -05:00
Matt Perry
130b9c84f0 Initial work on a new <view> element backed by a mojo::View.
This CL introduces an HTMLViewElement which, when inserted into a document,
causes a mojo::View to be created and navigated to the provided URL. No
compositing is done, but the view manager handles the rendering (as I
understand it).

R=abarth@chromium.org

Review URL: https://codereview.chromium.org/708903002
2014-11-07 14:34:07 -05:00
Rafael Weinstein
a5e5c906d0 Make import failures log errors
BUG=
R=eseidel@chromium.org

Review URL: https://codereview.chromium.org/711513003
2014-11-06 15:46:42 -08:00
Benjamin Lerman
d1c92fa424 Change mojo url to always use mojo:foo instead of mojo://foo
R=abarth@chromium.org

Review URL: https://codereview.chromium.org/701933004
2014-11-06 17:23:18 +01:00
Eric Seidel
8b9bb313f1 Switch test_sky to sky_server
Adam did this in:
https://codereview.chromium.org/699333002
But later reverted in:
https://codereview.chromium.org/692333007

The problem was that the path to sky_server
was being computed relative to the sky
directory instead of being absolute, so when
the bots tried to run test_sky from the root
mojo directory instead of mojo/sky they failed.

TBR=abarth@chromium.org

Review URL: https://codereview.chromium.org/704833002
2014-11-05 13:08:49 -08:00
Adam Barth
61f9361f67 Switch test_sky back to apache
This CL reverts my previous change because it didn't work on the bots.

TBR=eseidel@chromium.org

Review URL: https://codereview.chromium.org/692333007
2014-11-04 17:30:25 -08:00
Adam Barth
100f37194c Switch test_sky from apache to sky_server
After this CL, test_sky uses the same server as skydb.

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

Review URL: https://codereview.chromium.org/699333002
2014-11-04 16:42:29 -08:00
Adam Barth
49e1436a68 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
d1382e4d41 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
Ojan Vafai
79ea19ffc7 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
Ojan Vafai
82fe742ec2 Add the check layout framework for tests.
Also add a test for margins.

R=abarth@chromium.org

Review URL: https://codereview.chromium.org/699113002
2014-11-03 20:46:32 -08:00
Adam Barth
175f8fdfe8 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
5473994cea 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
35cd5fd3e2 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
80c734eefc Switch "html" Mojo modules to the Sky module system
These never really worked with HTML imports. This CL updates them to use a more
modern version of the Sky module system so we can delete the old this.exports
pattern.

R=esprehn@chromium.org

Review URL: https://codereview.chromium.org/697723003
2014-10-31 14:46:40 -07:00
Adam Barth
dc0521fb43 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
681ec14ced Use module.exports rather than this.exports
R=esprehn@chromium.org

Review URL: https://codereview.chromium.org/687263005
2014-10-29 15:21:28 -07:00
Eric Seidel
aa58f474f5 Add a very minimal CSSAgent
Also fixed the exception caused by IndexedDB being
missing.  It was there, just not used by inspector.sky.

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

Review URL: https://codereview.chromium.org/662523003
2014-10-29 14:14:06 -07:00
Adam Barth
a93fd66157 Fix line numbers in JavaScript stack traces
Instead of calling the function constructor to compile script in Sky, we now
concatenate strings. This has the advantage of making the line numbers
generated in error messages correct but the disadvantage of being a hack. I've
filed https://code.google.com/p/v8/issues/detail?id=3624 to request a proper
API for this purpose.

R=esprehn@chromium.org

Review URL: https://codereview.chromium.org/688033003
2014-10-29 14:00:57 -07:00
Adam Barth
f1aae9495a Add a basic XMLHttpRequest implementation
R=esprehn@chromium.org

Review URL: https://codereview.chromium.org/690803002
2014-10-29 12:48:16 -07:00
Elliott Sprehn
c7fa9658d6 Mark hixie's tests as Skip so they don't spam the console.
R=abarth@chromium.org

Review URL: https://codereview.chromium.org/687893003
2014-10-28 19:36:12 -07:00
Hixie
4305216cf9 This CL provides a bunch of new parser tests, and updates the
TestExpectations file to skip the ones that fail or crash. It also
updates the TestExpectations parser to support URLs pointing to the
mojo repo's issue tracker.

R=abarth@chromium.org

Review URL: https://codereview.chromium.org/685593006
2014-10-28 18:58:18 -07:00
Adam Barth
4c5a9b1775 Don't crash when importing a module that doesn't export
Instead of crashing, we should use the value "undefined". There's some question
as to whether we should default to the document, but we can resolve that later.

R=eseidel@chromium.org

Review URL: https://codereview.chromium.org/690483002
2014-10-28 14:13:31 -07:00
Adam Barth
561c220b27 Re-enable the inspector tests
These work again.

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

Review URL: https://codereview.chromium.org/683083004
2014-10-28 12:54:22 -07:00
Adam Barth
e162dd0eef Fix services/network.sky test
mojo_shell can't handle loading the same DLL from two different URLs.  The
extra trailing slash was causing us to load the network_service DLL twice.

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

Review URL: https://codereview.chromium.org/687703002
2014-10-28 09:55:58 -07:00
Adam Barth
226c7bd269 Move imports-can-load-404s.html to .sky so that it runs 2014-10-28 09:12:36 -07:00
Adam Barth
f0e6387fb6 Update tokenizer to match spec
This CL is a rough pass over the HTMLTokenizer to align it with parsing.md.
We'll need to do another pass more carefully in the future, but this CL gets us
roughly in the right ballpark.

We're not handling EOF properly. The parsing.md spec doesn't push the EOF
though the parser, which breaks our current way of handling EOF. We do ok if we
get EOF in the DataState, and that's enough to pass the tests for now.

Also, update camel-case.sky to reflect the fact that the parser doesn't
lower-case tag names anymore.

R=eseidel@chromium.org

Review URL: https://codereview.chromium.org/678263002
2014-10-27 20:38:29 -07:00
Hixie
5dd15fe8d3 Move the tests from .html to .sky
R=abarth@chromium.org

Review URL: https://codereview.chromium.org/685623002
2014-10-27 17:35:15 -07:00
Adam Barth
065437b16c Don't crash when importing a 404
Now we have a test for this case.

R=esprehn@chromium.org

Review URL: https://codereview.chromium.org/682913002
2014-10-27 17:22:55 -07:00
Adam Barth
c4836daaaf Parse comments according to parsing.md
Now we don't even generate comment tokens. The new tokenizer for comments is
much easier.

R=eseidel@chromium.org

Review URL: https://codereview.chromium.org/682893002
2014-10-27 17:04:52 -07:00
Adam Barth
735761cfc3 Parse Sky entities according to the spec
R=eseidel@chromium.org

Review URL: https://codereview.chromium.org/678073002
2014-10-27 13:05:31 -07:00
Eric Seidel
5a3423ff3d Test for border parsing I failed to include in my last change.
https://codereview.chromium.org/673073002/

R=abarth@chromium.org

Review URL: https://codereview.chromium.org/654393004
2014-10-24 10:16:36 -07:00
Ojan Vafai
52e4bc9c93 Get rid of ScrollView.
We only allow overflow scrolling. The frame isn't special.
This is a first step in making that happen. There's a lot of
code to remove after this patch, but this gets rid of
ScrollView and a bunch of frame-level scrolling code.

Had to add in a FrameWidget class so that Scrollbar.cpp had
a way of getting to FrameView::removeChild without pulling
a core class into platform. This might go away when we rip
out the Widget tree if we made it so that FrameView didn't
keep a list of Scrollbar instances.

Modified scrollbar.html to use overflow scrolling instead of
frame level scrolling. Once we get rid of the split between
Document and documentElement, we'll be able to make the root
element in the page scrollable as well (i.e. any child of the
Document).

R=abarth@chromium.org

Review URL: https://codereview.chromium.org/646273006
2014-10-23 20:20:25 -07:00
Adam Barth
4a2c99c0ec Update TestExpectations to match reality
R=esprehn@chromium.org

Review URL: https://codereview.chromium.org/671633005
2014-10-23 12:19:02 -07:00
Adam Barth
b3df23f7c1 Open the Sky 2014-10-23 11:17:19 -07:00