1960 Commits

Author SHA1 Message Date
Adam Barth
381c19e075 If Color constructor is passed a value > 0xFFFFFFFF, Sky crashes
We now ensure the color is <= 0xFFFFFFFF.

Fixes #245

R=ianh@google.com

Review URL: https://codereview.chromium.org/1179413008.
2015-06-18 10:32:26 -07:00
Adam Barth
7c4662ce2c Re-wire up the back button
I broke this when I merged my AppContainer patch with Collin's back button
patch. This change restores the functionality I broke.

TBR=jackson@chromium.org

Review URL: https://codereview.chromium.org/1182463007.
2015-06-18 09:25:24 -07:00
Adam Barth
d6cbdb4081 Fix data loading in the stocks app
We can't have two copies of |embedder.dart| or |shell.dart| because they take
ownership of some underlying Mojo handles. Instead of duplicating the code,
this CL makes the old locations just export all the symbols from the new
location. I've also done the same with fetch.dart to avoid code duplication.

Finally, I've removed image_cache.dart in the old location because the only
clients already live in the new world and ought to use the new location.

TBR=ianh@google.com

Review URL: https://codereview.chromium.org/1179923004.
2015-06-18 09:14:51 -07:00
Adam Barth
2945a27687 Update README.md
Fix syntax errors and add more |const|.
2015-06-18 00:14:13 -07:00
Adam Barth
299186d7f8 Update README.md
Add the new runApp function.
2015-06-18 00:08:46 -07:00
Adam Barth
18ee9f5b65 Add sections on State and Keys to the widget's README.md
TBR=ianh@google.com

Review URL: https://codereview.chromium.org/1185933003.
2015-06-17 23:38:15 -07:00
Hixie
3110059915 Cleanup of SkyBinding, and resultant yak shaving.
Some files are moved by this:
  Copy framework/node.dart into types/ - preparing for framework/'s decomissioning.
  Move app/scheduler.dart into sky/scheduler.dart - "app" doesn't really make sense.

As part of the SkyBinding cleanup, I made the hit-testing less
RenderBox-specific, by having the HitTestEntry.target member be a
HitTestTarget, which is an interface with the handleEvent() function,
which is then implemented by RenderBox. In theory, someone could now
extend hit testing from the RenderBox world into their own tree of
nodes, and take part in all the same dispatch logic automatically.

This involved moving all the hit testing type definitions into a new
sky/hittest.dart file.

Renamed SkyBinding._app to SkyBinding._instance for clarity.

Moved code around in SkyBinding so that related things are together.

Made WidgetSkyBinding use the existing SkyBinding.instance singleton
logic rather than having its own copy.

I also added some stub README.md files that describe dependencies.

R=abarth@chromium.org

Review URL: https://codereview.chromium.org/1187393002.
2015-06-17 19:54:11 -07:00
Carlos Pizano
ab23715a6f Add buttons to WebInputEvent
So we can tell l-click from r-click.

BUG=none
R=abarth@chromium.org

Review URL: https://codereview.chromium.org/1192023002.
2015-06-17 19:46:30 -07:00
Hixie
c6f0b8447d Fork some more files from the old framework, so that the transition will be easier to perform.
Summary:
  framework/animation/* -> animation/*
  framework/debug/utils.dart -> debug/utils.dart
  framework/shell.dart -> mojo/shell.dart
  framework/embedder.dart -> mojo/embedder.dart
  framework/net/* -> mojo/net/*

This should have no code changes except fixing and reordering imports.

R=abarth@chromium.org

Review URL: https://codereview.chromium.org/1189943004.
2015-06-17 19:09:28 -07:00
Hixie
ff705fa119 Fix tests by fixing a typo in Text due to one of my recent checkins.
TBR=abarth

Review URL: https://codereview.chromium.org/1191793004.
2015-06-17 17:59:56 -07:00
Hixie
93218fdb14 Introduce a LeafRenderObjectWrapper abstract class so that RenderObjectWrappers that are leaves don't have to all redundantly assert that they're not misused.
Also, make images use their URL as their src.

Other misc code cleanup.

R=abarth@chromium.org

Review URL: https://codereview.chromium.org/1191443009.
2015-06-17 17:08:05 -07:00
Hixie
0038e78ed6 Rename AppView to SkyBinding.
Move app/view.dart to rendering/sky_binding.dart since it's part of the RenderObject API, really (it knows about RenderView intimately).
The tests pass. I didn't check every last example.

R=abarth@chromium.org

Review URL: https://codereview.chromium.org/1183913006.
2015-06-17 17:07:31 -07:00
Adam Barth
0e493b017f Implement ColorFilter in widgets/basic.dart
Also, trim the redundant |Mode| suffix from the TransferMode names.

R=ianh@google.com

Review URL: https://codereview.chromium.org/1188003006.
2015-06-17 17:06:27 -07:00
Adam Barth
774d114c7e Use semantic names for callbacks instead of onGestureTap
Buttons and menu items use onPressed. Also, don't pass along the sky.Event
because that's a lower-level concept.

I've also reordered parameter lists to put the |child| argument last in a
number of places.

Also, fixed a bug where FloatingActionButton was missing syncFields.

R=ianh@google.com

Review URL: https://codereview.chromium.org/1188993003.
2015-06-17 16:04:13 -07:00
Hixie
1ab539735f Rename insert() to insertChildRoot() so it's consistent with detachChildRoot().
TBR=abarth

Review URL: https://codereview.chromium.org/1187023005.
2015-06-17 16:00:14 -07:00
Hixie
fa88ab16f3 Rename 'content' to 'child' in widget.dart internals, for consistency with everything else.
Doesn't affect any APIs.

TBR=abarth

Review URL: https://codereview.chromium.org/1184823007.
2015-06-17 15:53:59 -07:00
Hans Muller
33d72366a2 Add TextStyle fontFamily:, extend support for fontWeight:
Defined constants for all 9 CSS font-weight values
with conventional names from the "Common weight
name mapping" section of
https://developer.mozilla.org/en-US/docs/Web/CSS/font-weight.

The FontWeight enum now just enumerates the actual
CSS weight values.

I've moved the TextStyle class into its own file.

R=ianh@google.com

Review URL: https://codereview.chromium.org/1173323004.
2015-06-17 15:48:21 -07:00
Hixie
da3e55c837 Add a test for the sector app.
This also moves the test for stocks into a new tests/examples/
directory, where we can put tests that test the examples.

TBR=abarth

Review URL: https://codereview.chromium.org/1182223004.
2015-06-17 15:44:20 -07:00
Hixie
a4196226d2 Fix the sector demo.
Turns out it's ok to not detach all the RenderObjects from the widget
tree from each other, since they're not reused... but the
WidgetToRenderBoxAdapter's renderBox _is_ reused, so we better detach
that one.

R=abarth@chromium.org

Review URL: https://codereview.chromium.org/1191053002.
2015-06-17 15:37:39 -07:00
Hixie
b1210c6397 Remove keys from the examples.
TBR=abarth

Review URL: https://codereview.chromium.org/1194473004.
2015-06-17 15:23:41 -07:00
Hixie
471a7f241c Make the popup menu work again.
This removes the requirement that things with the same type things have unique keys.
Now, anything without a key is assumed to be interchangeable.

R=abarth@chromium.org

Review URL: https://codereview.chromium.org/1178723010.
2015-06-17 15:10:42 -07:00
Hixie
1339d2bcc5 Clean up the tests to be more maintainable.
- removes the unit testing framework from tests that don't use it
- use 'async' where that makes the code less convoluted

R=abarth@chromium.org

Review URL: https://codereview.chromium.org/1192003003.
2015-06-17 15:10:06 -07:00
Hixie
0d778940d7 Remove spurious print that was causing test failures.
TBR=abarth

Review URL: https://codereview.chromium.org/1191973003.
2015-06-17 15:02:15 -07:00
Collin Jackson
05dcd6537a fix analyzer warnings in stocks app
R=ianh@google.com
TBR=hixie

Review URL: https://codereview.chromium.org/1185283004.
2015-06-17 14:19:52 -07:00
Hixie
8bd7781755 Clean up how we remove nodes from the render tree, and make sure we reinsert them in the right place.
Fixes weird behaviours when the old and new children of TagNodes can't be synced.

R=abarth@chromium.org

Review URL: https://codereview.chromium.org/1182463006.
2015-06-17 13:56:06 -07:00
Collin Jackson
cd58f28ee6 Create the addEventListener API
R=ianh@google.com, hixie

Review URL: https://codereview.chromium.org/1192543004.
2015-06-17 12:44:39 -07:00
Adam Barth
a2b8ddd5c5 Settings menu item in stock2 doesn't work
The underlying problem is that we lacked a RenderObjectWrapper for the
RenderView, which meant we couldn't handle changing the RenderObject that was
the root of the RenderView. This CL introduces a RenderViewWrapper and uses it
in a new AppContainer widget root. This change allows us to make App a
non-magical Component that is inserted into the AppContainer in the newly
introduced runApp function.

R=ianh@google.com

Review URL: https://codereview.chromium.org/1184823006.
2015-06-17 12:36:56 -07:00
Collin Jackson
bc8ab63efd Refactor Navigator to put state in separate class, initial back button plumbing
R=abarth@chromium.org, abarth

Review URL: https://codereview.chromium.org/1195493002.
2015-06-17 12:21:08 -07:00
Adam Barth
d6ddfcaf99 Improve widgets/README.md based on Hixie's feeback
R=ianh@google.com

Review URL: https://codereview.chromium.org/1188163004.
2015-06-17 10:39:47 -07:00
Hans Muller
87e47ef04a Cleaned up a few analyzer warnings
R=ianh@google.com

Review URL: https://codereview.chromium.org/1194583002.
2015-06-17 10:35:47 -07:00
Adam Barth
852989c26c Remove these files from BUILD.gn
They no longer exist but I forgot to remove them in my previous CL.

TBR=ianh@google.com

Review URL: https://codereview.chromium.org/1192603003.
2015-06-17 10:13:59 -07:00
Hans Muller
34c746270d Fix a typo in Dialog
If action: was specified, content: was added twice.

R=jackson@google.com

Review URL: https://codereview.chromium.org/1188303002.
2015-06-17 10:06:44 -07:00
Adam Barth
c4a7aa33d5 Delete sky-element framework
This framework is two generations old and has no clients.

R=ianh@google.com

Review URL: https://codereview.chromium.org/1177843010.
2015-06-17 10:05:04 -07:00
Adam Barth
fd249edff7 Fix typo in RenderParagraph's |inline| getter
R=hansmuller@chromium.org

Review URL: https://codereview.chromium.org/1183603003.
2015-06-17 08:01:00 -07:00
Adam Barth
db1fb68008 Fix event propagation
I missed one rename in my Listener CL.

TBR=ianh@google.com

Review URL: https://codereview.chromium.org/1180243003.
2015-06-17 07:49:06 -07:00
Adam Barth
f49bcdd70f Update README.md
Fixed ` vs ' typo.
2015-06-17 07:43:58 -07:00
Adam Barth
ac12505f60 Add the beginnings of a Sky Widgets README.md
There's lots more ground to cover, but this CL is a start.

TBR=ianh@google.com

Review URL: https://codereview.chromium.org/1187173003.
2015-06-17 07:42:07 -07:00
Adam Barth
bc829ea123 Rename EventListenerNode to Listener
The basic widgets are going to be used many, many times, so we want them to
have short, snappy names.

Also, give the Widget argument to Listener the name |child| for consistency.

TBR=ianh@google.com

Review URL: https://codereview.chromium.org/1193513007.
2015-06-17 07:39:24 -07:00
Collin Jackson
bc68bc5729 Enable render view override for stocks app to enable testing
This fixes the test

TBR=abarth

Review URL: https://codereview.chromium.org/1192533002.
2015-06-16 23:37:29 -07:00
Collin Jackson
f26af0d0c3 Add settings page to Sky’s stocks example app
R=abarth@chromium.org, abarth

Review URL: https://codereview.chromium.org/1191863002.
2015-06-16 17:59:12 -07:00
Chinmay Garde
fd3aa9f29f Add temporary workaround for boringssl attempting to access the auxillary vector
R=abarth@chromium.org

Review URL: https://codereview.chromium.org/1185813005.
2015-06-16 17:16:04 -07:00
Adam Barth
252291dc3a Add a basic Dialog
The dialog will need many more features to be complete, but this class is a
basic skeleton of what we'll need.

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

Review URL: https://codereview.chromium.org/1189893002.
2015-06-16 17:11:23 -07:00
Hixie
73d9f88384 Break some lines to make debugging easier.
TBR=abarth,jackson

Review URL: https://codereview.chromium.org/1178323004.
2015-06-16 17:08:37 -07:00
Adam Barth
1d905916a4 Add some basic tests for the material buttons
Specifically, RaisedButton, FlatButton, and FloatingActionButton. These just
test that these classes work in their default configurations.

R=ianh@google.com, jackson@chromium.org

Review URL: https://codereview.chromium.org/1193453005.
2015-06-16 17:02:58 -07:00
Ryan Macnak
9cdd8bb8c7 Track changes to standalone vmservice in mojo and sky embedders.
Standalone changes were in https://codereview.chromium.org/1166433008/

R=abarth@chromium.org

Review URL: https://codereview.chromium.org/1183453004.
2015-06-16 16:58:48 -07:00
Hans Muller
61b71a6f32 Styling for text fragments
This is a completion of Eric's WIP patch:
https://codereview.chromium.org/1179663005/

Low level support for creating a paragraph that contains
runs of styled text. The styles may be nested.

The Paragraph and RenderParagraph classes have been
replaced by Inline and RenderInline. Styled text is defined
with a tree of InlineText and InlineStyle objects.

R=abarth@chromium.org

Review URL: https://codereview.chromium.org/1177833012.
2015-06-16 16:48:08 -07:00
Collin Jackson
a7aa951329 Add back/forward history to navigation
R=abarth@chromium.org, abarth, hixie

Review URL: https://codereview.chromium.org/1181773006.
2015-06-16 16:14:55 -07:00
Chinmay Garde
9b74ec026c iOS: Wire up all gesture types in input_event.mojom
R=abarth@chromium.org

Review URL: https://codereview.chromium.org/1183833004.
2015-06-16 13:17:17 -07:00
Adam Barth
5faecb46fe Add FlatButton
I've factored the common code for FlatButton and RaisedButton into
MaterialButton. Also, tweak some of the constants in MaterialButton to better
match the spec.

R=ianh@google.com

Review URL: https://codereview.chromium.org/1187773008.
2015-06-16 12:19:33 -07:00
Hixie
b5d44546c9 Key refactor, part 1: remove the dependence on the runtimeType in keys, otherwise they'll get overly long very quickly.
R=abarth@chromium.org

Review URL: https://codereview.chromium.org/1185413002.
2015-06-16 11:31:52 -07:00