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

Issue 1009543008: Refactor Effen to make explicit the distinction between render & non-render nodes. (Closed)

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

Description

Refactor Effen to make explicit the distinction between render & non-render nodes. All Effen which can directly create a sky.Node are now derived from RenderNode. In contrast, Component now derives from the (now) base Node class which simply represents a position in the Effen hierarchy. A fair amount of clean-up & refactoring went into this change, simplifying & unifying the "sync" logic between Element & Component as well as making the Component.didMount/didUnmount signals async WRT component building. BUG= R=abarth@chromium.org Committed: https://chromium.googlesource.com/external/mojo/+/9ba1c916702e3e5b53706e1fa67281534c21081e

Patch Set 1 #

Patch Set 2 : sync #

Patch Set 3 : sync #

Patch Set 4 : finalk #

Total comments: 4

Patch Set 5 : cr changes #

Unified diffs Side-by-side diffs Delta from patch set Stats (+211 lines, -211 lines) Patch
M sky/framework/fn.dart View 1 2 3 4 22 chunks +211 lines, -211 lines 0 comments Download

Messages

Total messages: 6 (1 generated)
rafaelw
5 years, 9 months ago (2015-03-18 19:04:42 UTC) #2
abarth-chromium
lgtm https://codereview.chromium.org/1009543008/diff/60001/sky/framework/fn.dart File sky/framework/fn.dart (right): https://codereview.chromium.org/1009543008/diff/60001/sky/framework/fn.dart#newcode541 sky/framework/fn.dart:541: _unmountedComponents.clear(); Should we move these collections into local ...
5 years, 9 months ago (2015-03-18 19:26:43 UTC) #3
rafaelw
Committed patchset #5 (id:80001) manually as 9ba1c916702e3e5b53706e1fa67281534c21081e (presubmit successful).
5 years, 9 months ago (2015-03-18 19:59:01 UTC) #4
rafaelw
https://codereview.chromium.org/1009543008/diff/60001/sky/framework/fn.dart File sky/framework/fn.dart (right): https://codereview.chromium.org/1009543008/diff/60001/sky/framework/fn.dart#newcode541 sky/framework/fn.dart:541: _unmountedComponents.clear(); On 2015/03/18 19:26:43, abarth wrote: > Should we ...
5 years, 9 months ago (2015-03-18 20:00:02 UTC) #5
abarth-chromium
5 years, 9 months ago (2015-03-18 20:25:57 UTC) #6
Message was sent while issue was closed.
On 2015/03/18 at 20:00:02, rafaelw wrote:
> https://codereview.chromium.org/1009543008/diff/60001/sky/framework/fn.dart
> File sky/framework/fn.dart (right):
> 
>
https://codereview.chromium.org/1009543008/diff/60001/sky/framework/fn.dart#n...
> sky/framework/fn.dart:541: _unmountedComponents.clear();
> On 2015/03/18 19:26:43, abarth wrote:
> > Should we move these collections into local variables before iterating them?
> 
> You can check my math here, but the intent of these collections was to make
building & signalling mount/unmount entirely disjoint. Built cannot be trigged
from mount/unmount and unmount/mount cannot be  fired during build.
> 
> Thus, there should be no danger that these collections are mutated while they
are iterating.

Can we add an assert to that effect?  I'm just paranoid about this problem
because it always ends up getting me.  :)

Powered by Google App Engine
This is Rietveld 408576698