Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1522)

Issue 1186273002: Simple support for routing in Sky (Closed)

Created:
5 years, 6 months ago by jackson
Modified:
5 years, 6 months ago
Reviewers:
Hixie, abarth-chromium
CC:
abarth-chromium, gregsimon, jackson_old, mojo-reviews_chromium.org, qsr+mojo_chromium.org
Base URL:
git@github.com:domokit/mojo.git@master
Target Ref:
refs/heads/master
Project:
mojo
Visibility:
Public.

Description

Patch Set 1 #

Patch Set 2 : fix imports #

Total comments: 5

Patch Set 3 : CR feedback from abarth #

Total comments: 16
Unified diffs Side-by-side diffs Delta from patch set Stats (+92 lines, -0 lines) Patch
A sky/examples/raw/navigation.dart View 1 2 1 chunk +34 lines, -0 lines 2 comments Download
M sky/sdk/BUILD.gn View 1 1 chunk +1 line, -0 lines 0 comments Download
A sky/sdk/lib/widgets/navigator.dart View 1 2 1 chunk +57 lines, -0 lines 14 comments Download

Messages

Total messages: 6 (0 generated)
jackson
5 years, 6 months ago (2015-06-16 01:12:49 UTC) #1
abarth-chromium
lgtm https://codereview.chromium.org/1186273002/diff/20001/sky/sdk/lib/widgets/navigator.dart File sky/sdk/lib/widgets/navigator.dart (right): https://codereview.chromium.org/1186273002/diff/20001/sky/sdk/lib/widgets/navigator.dart#newcode7 sky/sdk/lib/widgets/navigator.dart:7: typedef UINode Builder(Navigator navigator); Please add a blank ...
5 years, 6 months ago (2015-06-16 02:07:55 UTC) #2
jackson
https://codereview.chromium.org/1186273002/diff/20001/sky/sdk/lib/widgets/navigator.dart File sky/sdk/lib/widgets/navigator.dart (right): https://codereview.chromium.org/1186273002/diff/20001/sky/sdk/lib/widgets/navigator.dart#newcode7 sky/sdk/lib/widgets/navigator.dart:7: typedef UINode Builder(Navigator navigator); On 2015/06/16 02:07:55, abarth wrote: ...
5 years, 6 months ago (2015-06-16 16:46:37 UTC) #3
jackson
Committed patchset #3 (id:40001) manually as 80ad2e1649383cd8c40f14f7ba1112fc4f9f8f25 (presubmit successful).
5 years, 6 months ago (2015-06-16 16:48:03 UTC) #4
Hixie
lgtm https://codereview.chromium.org/1186273002/diff/40001/sky/examples/raw/navigation.dart File sky/examples/raw/navigation.dart (right): https://codereview.chromium.org/1186273002/diff/40001/sky/examples/raw/navigation.dart#newcode1 sky/examples/raw/navigation.dart:1: // Copyright 2015 The Chromium Authors. All rights ...
5 years, 6 months ago (2015-06-16 16:55:09 UTC) #5
jackson
5 years, 6 months ago (2015-06-16 18:27:28 UTC) #6
Message was sent while issue was closed.
Thanks for the comments. I'm working on a new changelist to add transitions and
will address this feedback in that code review as well.

https://codereview.chromium.org/1186273002/diff/40001/sky/examples/raw/naviga...
File sky/examples/raw/navigation.dart (right):

https://codereview.chromium.org/1186273002/diff/40001/sky/examples/raw/naviga...
sky/examples/raw/navigation.dart:1: // Copyright 2015 The Chromium Authors. All
rights reserved.
On 2015/06/16 16:55:09, Hixie wrote:
> This example should be in examples/widgets.

Done.

https://codereview.chromium.org/1186273002/diff/40001/sky/sdk/lib/widgets/nav...
File sky/sdk/lib/widgets/navigator.dart (right):

https://codereview.chromium.org/1186273002/diff/40001/sky/sdk/lib/widgets/nav...
sky/sdk/lib/widgets/navigator.dart:10: RouteBase({this.name});
On 2015/06/16 16:55:09, Hixie wrote:
> Spaces around the parameters.

Done.

https://codereview.chromium.org/1186273002/diff/40001/sky/sdk/lib/widgets/nav...
sky/sdk/lib/widgets/navigator.dart:16: Route({String name, this.builder}) :
super(name: name);
On 2015/06/16 16:55:09, Hixie wrote:
> Spaces here too.

Done.

https://codereview.chromium.org/1186273002/diff/40001/sky/sdk/lib/widgets/nav...
sky/sdk/lib/widgets/navigator.dart:22: Navigator({Object key, this.currentRoute,
this.routes})
On 2015/06/16 16:55:09, Hixie wrote:
> Here too.

Done.

https://codereview.chromium.org/1186273002/diff/40001/sky/sdk/lib/widgets/nav...
sky/sdk/lib/widgets/navigator.dart:26: List<RouteBase> routes;
On 2015/06/16 16:55:09, Hixie wrote:
> Maybe add a comment that "routes" is just the _named_ routes.
> 
> Also, why is this a list, and not a map? The only use for it is looking things
> up by key, no?

I'll rename it to namedRoutes for now and make it a map with a default key. I
think we're going to come up with a more advanced routing system, and a map data
structure might not work well for that, but right now it's fine.

https://codereview.chromium.org/1186273002/diff/40001/sky/sdk/lib/widgets/nav...
sky/sdk/lib/widgets/navigator.dart:33: void pushNamedRoute(String name) {
On 2015/06/16 16:55:09, Hixie wrote:
> Why "push"?

Because I'm implementing pop shortly. :)

https://codereview.chromium.org/1186273002/diff/40001/sky/sdk/lib/widgets/nav...
sky/sdk/lib/widgets/navigator.dart:35: for (RouteBase route in routes) {
On 2015/06/16 16:55:09, Hixie wrote:
> You can do this way more efficiently if you use a map.

Agree, but see above

https://codereview.chromium.org/1186273002/diff/40001/sky/sdk/lib/widgets/nav...
sky/sdk/lib/widgets/navigator.dart:53: Route route = currentRoute == null ?
routes[0] : currentRoute;
On 2015/06/16 16:55:09, Hixie wrote:
> If you switch to using a map, then maybe have an implicitly default key rather
> than taking the first in the list.

OK

Powered by Google App Engine
This is Rietveld 408576698