MD settings: type-to-find flashes the full settings page when match is inside a collapsed Advanced part
Reported by
woxxom@gmail.com,
Sep 29 2016
|
||||||||||
Issue descriptionUserAgent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2873.0 Safari/537.36 Steps to reproduce the problem: 1. go to Settings - chrome://settings 2. click the search field on the top 3. type "back" without quotes quickly or just paste it from clipboard What is the expected behavior? The matching parts are displayed without flickering What went wrong? The full expanded settings are shown for a fraction of a second as though "Advanced" button was clicked, then the matched parts are displayed. Did this work before? Yes before MD Chrome version: 55.0.2875.0 Channel: canary OS Version: 6.1 (Windows 7, Windows Server 2008 R2) Flash Version: Shockwave Flash 23.0 r0
,
Oct 3 2016
Moving this to MD-settings team queue for further triaging and inspection as per update in Issue 628065 , C#4.
,
Oct 13 2016
,
Oct 19 2016
@dpapd, can you look at this? I'm not sure what is exactly happening in terms of showing Advanced / hiding non-matches, but I do see a few sections flicker at the top before the results stabilize.
,
Oct 19 2016
What happens is expected. It matches how the results showing was initially designed. Explaining below: When a search query occurs, we 1) Start searching already rendered parts of the DOM 2) Force-render subpages. When those get rendered, search in those too. For example, when you search for the word "back" the first hit comes from the already rendered "System" section (see screenshot). Then, sometime later the subpages under "Customize fonts" and "Content settings" also have search hits, so they appear in the search results (with search bubbles instead of yellow rectangles), pushing the first hit (the one in the "System" page) downwards. The original design was to not block showing results until the entire DOM has been rendered and searched, but to display results as they come in. It is a tradeoff between showing results as they become available VS waiting until everything is searched before showing them.
,
Oct 19 2016
BTW, as I am reading my previous comment, I start doubting whether what I am observing is exactly what the original reporter is observing > "The full expanded settings are shown for a fraction of a second as though "Advanced" button was clicked" I certainly don't see the advanced page fully expanded flashing, I just observe results appearing as they get discovered. Perhaps this is only repro-able on Windows?
,
Oct 19 2016
>What happens is expected What happens internally is of no concern for the user. We should not see the flashing of full content (100ms or so), it's essentially the same as FOUC or the problem of ancient GUIs without doublebuffered display when users could see how parts of the final UI are painted.
,
Oct 19 2016
@woxxom: Can you attach a screencast of what actually happens. What I described at comment#5 is expected, but per my realization at comment#6, it is not exactly what you describe at #1. So #1 is not expected, but I am not able to reproduce. #5 is expected AFAIU.
,
Oct 19 2016
>I certainly don't see the advanced page fully expanded flashing, I just observe results appearing as they get discovered. Make sure you type fast or paste the text (for example, "back" without quotes) on a freshly opened MD-Settings page. In addition to the possibility of the bug being Windows-only (it'd be quite strange though), maybe it's observable only on fast computers, mine has i7 3770k 3.5GHz CPU and nVidia GeForce 750 Ti - old stuff but still faster than the average.
,
Oct 19 2016
Timeline profiling shows the fully expanded settings flashing: https://chromedevtools.github.io/timeline-viewer/?loadTimelineFromURL=https://www.dropbox.com/s/n33t5e61zf10qtx/TimelineRawData-20161020T022656.json?dl=1
,
Oct 19 2016
I won't be surprised if this can't be fixed though without fixing the Polymer framework itself: judging by the timeline, about 100 or 1000 times more code is executed than needed to perform such a trivial operation as toggling visibility of elements based on substring matching.
,
Oct 19 2016
I am confident it can be fixed. We simply need to hide all the sections before we actually render the advanced page. Currently we make the advanced page visible first and shortly after we hide all sections until search hits are found in them.
,
Nov 18 2016
,
Nov 18 2016
,
Nov 18 2016
Debugging tip from my report: I slowed down search by adding a conditional breakpoint at the beginning of revealParentSection_:
for (var i = 0; i < 2500; i++) console.log(i);
It never triggers, but evaluating it takes a long time ;-)
My analysis:
1. chrome://md-settings - only Basic is visible
2. enter "setting" in search box
3. BUG: the Advanced sections render *visibly* below the Basic sections
4. BUG: the Basic sections disappear but Advanced sections remain
5. as search progresses, sections in Basic with a match are shown, and
sections in Advanced without a match are *eventually* hidden.
And some keywords to make this show up next time I search for it:
highlight bubble
,
Dec 9 2016
not seeing this, and not that much of a tragedy if we do
,
Feb 13 2017
woxxom@: your feedback is helpful, but please follow the code of conduct when posting on these bugs https://www.chromium.org/conduct
,
Feb 13 2017
I do follow it 99% of time, I believe. It's just the attitude expressed in #16 got me. I'll be more careful.
,
Oct 24 2017
Marking bugs (mostly lower priority ones) that I am unlikely to get to soon as Available.
,
Oct 25
This issue has been Available for over a year. If it's no longer important or seems unlikely to be fixed, please consider closing it out. If it is important, please re-triage the issue. Sorry for the inconvenience if the bug really should have been left as Available. For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot |
||||||||||
►
Sign in to add a comment |
||||||||||
Comment 1 by woxxom@gmail.com
, Sep 29 2016