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

Issue 2669153003: [MD settings] handle being detached on cr-lazy-render and settings-idle-render

Created:
3 years, 10 months ago by dschuyler
Modified:
3 years, 10 months ago
Reviewers:
tsergeant, Dan Beam
CC:
chromium-reviews, dbeam+watch-elements_chromium.org, michaelpg+watch-md-settings_chromium.org, michaelpg+watch-md-ui_chromium.org, arv+watch_chromium.org, oshima+watch_chromium.org, dbeam+watch-settings_chromium.org, michaelpg+watch-elements_chromium.org, stevenjb+watch-md-settings_chromium.org
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

[MD settings] handle being detached on cr-lazy-render and settings-idle-render This CL causes a detached lazy/idle render to return null from .get() if the template has been detached. BUG=None CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:closure_compilation

Patch Set 1 : set-upstream #

Patch Set 2 : closure #

Patch Set 3 : load assert.js #

Patch Set 4 : only call render_ once #

Total comments: 4

Patch Set 5 : handling get() when detached #

Total comments: 2
Unified diffs Side-by-side diffs Delta from patch set Stats (+6 lines, -0 lines) Patch
M chrome/browser/resources/settings/controls/settings_idle_render.js View 1 2 3 4 1 chunk +1 line, -0 lines 2 comments Download
M ui/webui/resources/cr_elements/cr_lazy_render/cr_lazy_render.js View 1 2 3 4 1 chunk +5 lines, -0 lines 0 comments Download

Messages

Total messages: 34 (26 generated)
dschuyler
Follow up CL for https://codereview.chromium.org/2660383002/
3 years, 10 months ago (2017-02-02 22:12:15 UTC) #8
tsergeant
Generally lg, although looks like you need to make assert() visible to closure and the ...
3 years, 10 months ago (2017-02-02 22:54:21 UTC) #11
Dan Beam
I think cr-lazy-render will blow up if .get() is called before being attached whereas settings-idle-render ...
3 years, 10 months ago (2017-02-03 15:54:24 UTC) #20
dschuyler
On 2017/02/03 15:54:24, Dan Beam (slow) wrote: > I think cr-lazy-render will blow up if ...
3 years, 10 months ago (2017-02-06 20:11:52 UTC) #23
Dan Beam
https://codereview.chromium.org/2669153003/diff/80001/chrome/browser/resources/settings/controls/settings_idle_render.js File chrome/browser/resources/settings/controls/settings_idle_render.js (right): https://codereview.chromium.org/2669153003/diff/80001/chrome/browser/resources/settings/controls/settings_idle_render.js#newcode32 chrome/browser/resources/settings/controls/settings_idle_render.js:32: detached: function() { because you have a detached method, ...
3 years, 10 months ago (2017-02-08 05:31:36 UTC) #26
dschuyler
Dan's question about calling .get on a detached template lead me to rethink this CL. ...
3 years, 10 months ago (2017-02-09 00:42:48 UTC) #30
Dan Beam
https://codereview.chromium.org/2669153003/diff/100001/chrome/browser/resources/settings/controls/settings_idle_render.js File chrome/browser/resources/settings/controls/settings_idle_render.js (right): https://codereview.chromium.org/2669153003/diff/100001/chrome/browser/resources/settings/controls/settings_idle_render.js#newcode33 chrome/browser/resources/settings/controls/settings_idle_render.js:33: this.child_ = null; but wait, does this mean it ...
3 years, 10 months ago (2017-02-11 23:01:35 UTC) #33
tsergeant
3 years, 10 months ago (2017-02-15 06:31:40 UTC) #34
https://codereview.chromium.org/2669153003/diff/100001/chrome/browser/resourc...
File chrome/browser/resources/settings/controls/settings_idle_render.js (right):

https://codereview.chromium.org/2669153003/diff/100001/chrome/browser/resourc...
chrome/browser/resources/settings/controls/settings_idle_render.js:33:
this.child_ = null;
On 2017/02/11 23:01:35, Dan Beam wrote:
> but wait, does this mean it could get double-rendered?
> 
> can we maybe rename child_ to something less cryptic?

Yeah, if you detach the settings-idle-render, its internal state is reset to
having no child, but that child can still be rendered and attached to the DOM
tree.

dom-if handles this by ensuring that the rendered template instance is destroyed
when the template is detached:

https://github.com/Polymer/polymer/blob/6fc567fbf4e69ab1be2623212d5254eb38515...

Powered by Google App Engine
This is Rietveld 408576698