|
|
DescriptionBookmark disappear first when closing browser
The CL prevents the bookmark from disappearing ahead of browser by
avoiding bookmark's parent being set to nullptr at browser shutdown
when web contents are null.
BUG=669321
Review-Url: https://codereview.chromium.org/2946813002
Cr-Commit-Position: refs/heads/master@{#482423}
Committed: https://chromium.googlesource.com/chromium/src/+/b5cae6d3aaf71d0f6186504da2f50fef77d20982
Patch Set 1 #
Total comments: 2
Patch Set 2 : Change solution #Patch Set 3 : Please ignore this patch set #Patch Set 4 : Deep reason #Patch Set 5 : Add unittest #
Total comments: 1
Patch Set 6 : Return back to earlier fix #
Messages
Total messages: 39 (16 generated)
Description was changed from ========== Bookmark disappear first when closing browser The CL prevent the bookmark from disappearing ahead of browser by checking whether the browser is hidden before removing it from parent view. BUG=669321 ========== to ========== Bookmark disappear first when closing browser The CL prevents the bookmark from disappearing ahead of browser by checking whether the browser is hidden before removing it from parent view. BUG=669321 ==========
weidongg@chromium.org changed reviewers: + sky@chromium.org
https://codereview.chromium.org/2946813002/diff/1/chrome/browser/ui/views/fra... File chrome/browser/ui/views/frame/browser_view.cc (right): https://codereview.chromium.org/2946813002/diff/1/chrome/browser/ui/views/fra... chrome/browser/ui/views/frame/browser_view.cc:2182: bool show_bookmark_bar = contents && I think the bug is here. We should show the bookmarkbar if there is no contents (which only happens during startup/shutudown).
On 2017/06/20 16:35:06, sky wrote: > https://codereview.chromium.org/2946813002/diff/1/chrome/browser/ui/views/fra... > File chrome/browser/ui/views/frame/browser_view.cc (right): > > https://codereview.chromium.org/2946813002/diff/1/chrome/browser/ui/views/fra... > chrome/browser/ui/views/frame/browser_view.cc:2182: bool show_bookmark_bar = > contents && > I think the bug is here. We should show the bookmarkbar if there is no contents > (which only happens during startup/shutudown). Also, please add test coverage.
In this case, I need to test whether the bookmark is detached from its parent at browser startup/shutdown. The parent will soon become browser view or top container after start up and the bookmark view will soon destruct after shutdown. I am not sure is there any way testing this? https://codereview.chromium.org/2946813002/diff/1/chrome/browser/ui/views/fra... File chrome/browser/ui/views/frame/browser_view.cc (right): https://codereview.chromium.org/2946813002/diff/1/chrome/browser/ui/views/fra... chrome/browser/ui/views/frame/browser_view.cc:2182: bool show_bookmark_bar = contents && On 2017/06/20 16:35:06, sky wrote: > I think the bug is here. We should show the bookmarkbar if there is no contents > (which only happens during startup/shutudown). Aha I see, so I could change it to: "bool show_bookmark_bar = browser_->SupportsWindowFeature(Browser::FEATURE_BOOKMARKBAR);"
Description was changed from ========== Bookmark disappear first when closing browser The CL prevents the bookmark from disappearing ahead of browser by checking whether the browser is hidden before removing it from parent view. BUG=669321 ========== to ========== Bookmark disappear first when closing browser The CL prevents the bookmark from disappearing ahead of browser by avoiding set bookmark's parent to nullptr on browser startup and shutdown. BUG=669321 ==========
The CQ bit was checked by weidongg@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: This issue passed the CQ dry run.
On Tue, Jun 20, 2017 at 12:51 PM, <weidongg@chromium.org> wrote: > In this case, I need to test whether the bookmark is detached from its > parent at > browser startup/shutdown. The parent will soon become browser view or top > container after start up and the bookmark view will soon destruct after > shutdown. I am not sure is there any way testing this? > What in particular can't you write a test for? > > > > https://codereview.chromium.org/2946813002/diff/1/chrome/ > browser/ui/views/frame/browser_view.cc > File chrome/browser/ui/views/frame/browser_view.cc (right): > > https://codereview.chromium.org/2946813002/diff/1/chrome/ > browser/ui/views/frame/browser_view.cc#newcode2182 > chrome/browser/ui/views/frame/browser_view.cc:2182: bool > show_bookmark_bar = contents && > On 2017/06/20 16:35:06, sky wrote: > > I think the bug is here. We should show the bookmarkbar if there is no > contents > > (which only happens during startup/shutudown). > > Aha I see, so I could change it to: > "bool show_bookmark_bar = > browser_->SupportsWindowFeature(Browser::FEATURE_BOOKMARKBAR);" > > https://codereview.chromium.org/2946813002/ > -- You received this message because you are subscribed to the Google Groups "Chromium-reviews" group. To unsubscribe from this group and stop receiving emails from it, send an email to chromium-reviews+unsubscribe@chromium.org.
On 2017/06/21 00:22:58, sky wrote: > On Tue, Jun 20, 2017 at 12:51 PM, <mailto:weidongg@chromium.org> wrote: > > > In this case, I need to test whether the bookmark is detached from its > > parent at > > browser startup/shutdown. The parent will soon become browser view or top > > container after start up and the bookmark view will soon destruct after > > shutdown. I am not sure is there any way testing this? > > > > What in particular can't you write a test for? > > > > > > > > > > https://codereview.chromium.org/2946813002/diff/1/chrome/ > > browser/ui/views/frame/browser_view.cc > > File chrome/browser/ui/views/frame/browser_view.cc (right): > > > > https://codereview.chromium.org/2946813002/diff/1/chrome/ > > browser/ui/views/frame/browser_view.cc#newcode2182 > > chrome/browser/ui/views/frame/browser_view.cc:2182: bool > > show_bookmark_bar = contents && > > On 2017/06/20 16:35:06, sky wrote: > > > I think the bug is here. We should show the bookmarkbar if there is no > > contents > > > (which only happens during startup/shutudown). > > > > Aha I see, so I could change it to: > > "bool show_bookmark_bar = > > browser_->SupportsWindowFeature(Browser::FEATURE_BOOKMARKBAR);" > > > > https://codereview.chromium.org/2946813002/ > > > > -- > You received this message because you are subscribed to the Google Groups > "Chromium-reviews" group. > To unsubscribe from this group and stop receiving emails from it, send an email > to mailto:chromium-reviews+unsubscribe@chromium.org. If I test the behavior of closing browser. The states before and after closing browser is the same. I am not sure how to test that bookmark bar view disappears not before browser view.
On 2017/06/21 00:37:12, weidongg wrote: > On 2017/06/21 00:22:58, sky wrote: > > On Tue, Jun 20, 2017 at 12:51 PM, <mailto:weidongg@chromium.org> wrote: > > > > > In this case, I need to test whether the bookmark is detached from its > > > parent at > > > browser startup/shutdown. The parent will soon become browser view or top > > > container after start up and the bookmark view will soon destruct after > > > shutdown. I am not sure is there any way testing this? > > > > > > > What in particular can't you write a test for? > > > > > > > > > > > > > > > > https://codereview.chromium.org/2946813002/diff/1/chrome/ > > > browser/ui/views/frame/browser_view.cc > > > File chrome/browser/ui/views/frame/browser_view.cc (right): > > > > > > https://codereview.chromium.org/2946813002/diff/1/chrome/ > > > browser/ui/views/frame/browser_view.cc#newcode2182 > > > chrome/browser/ui/views/frame/browser_view.cc:2182: bool > > > show_bookmark_bar = contents && > > > On 2017/06/20 16:35:06, sky wrote: > > > > I think the bug is here. We should show the bookmarkbar if there is no > > > contents > > > > (which only happens during startup/shutudown). > > > > > > Aha I see, so I could change it to: > > > "bool show_bookmark_bar = > > > browser_->SupportsWindowFeature(Browser::FEATURE_BOOKMARKBAR);" > > > > > > https://codereview.chromium.org/2946813002/ > > > > > > > -- > > You received this message because you are subscribed to the Google Groups > > "Chromium-reviews" group. > > To unsubscribe from this group and stop receiving emails from it, send an > email > > to mailto:chromium-reviews+unsubscribe@chromium.org. > > If I test the behavior of closing browser. The states before and after closing > browser is > the same. I am not sure how to test that bookmark bar view disappears not before > browser view. To answer that you need to understand why this change is necessary. Why is this change necessary? Your description says to avoid the parent being null, but that isn't the case. Before and after this change the parent isn't null.
Description was changed from ========== Bookmark disappear first when closing browser The CL prevents the bookmark from disappearing ahead of browser by avoiding set bookmark's parent to nullptr on browser startup and shutdown. BUG=669321 ========== to ========== Bookmark disappear first when closing browser The CL prevents the bookmark from disappearing ahead of browser by avoiding bookmark being detached from all views startup and shutdown. BUG=669321 ==========
Description was changed from ========== Bookmark disappear first when closing browser The CL prevents the bookmark from disappearing ahead of browser by avoiding bookmark being detached from all views startup and shutdown. BUG=669321 ========== to ========== Bookmark disappear first when closing browser The CL prevents the bookmark from disappearing ahead of browser by avoiding bookmark being detached from its parent at startup and shutdown when web contents are null. BUG=669321 ==========
On 2017/06/21 14:48:01, sky wrote: > On 2017/06/21 00:37:12, weidongg wrote: > > On 2017/06/21 00:22:58, sky wrote: > > > On Tue, Jun 20, 2017 at 12:51 PM, <mailto:weidongg@chromium.org> wrote: > > > > > > > In this case, I need to test whether the bookmark is detached from its > > > > parent at > > > > browser startup/shutdown. The parent will soon become browser view or top > > > > container after start up and the bookmark view will soon destruct after > > > > shutdown. I am not sure is there any way testing this? > > > > > > > > > > What in particular can't you write a test for? > > > > > > > > > > > > > > > > > > > > > > https://codereview.chromium.org/2946813002/diff/1/chrome/ > > > > browser/ui/views/frame/browser_view.cc > > > > File chrome/browser/ui/views/frame/browser_view.cc (right): > > > > > > > > https://codereview.chromium.org/2946813002/diff/1/chrome/ > > > > browser/ui/views/frame/browser_view.cc#newcode2182 > > > > chrome/browser/ui/views/frame/browser_view.cc:2182: bool > > > > show_bookmark_bar = contents && > > > > On 2017/06/20 16:35:06, sky wrote: > > > > > I think the bug is here. We should show the bookmarkbar if there is no > > > > contents > > > > > (which only happens during startup/shutudown). > > > > > > > > Aha I see, so I could change it to: > > > > "bool show_bookmark_bar = > > > > browser_->SupportsWindowFeature(Browser::FEATURE_BOOKMARKBAR);" > > > > > > > > https://codereview.chromium.org/2946813002/ > > > > > > > > > > -- > > > You received this message because you are subscribed to the Google Groups > > > "Chromium-reviews" group. > > > To unsubscribe from this group and stop receiving emails from it, send an > > email > > > to mailto:chromium-reviews+unsubscribe@chromium.org. > > > > If I test the behavior of closing browser. The states before and after closing > > browser is > > the same. I am not sure how to test that bookmark bar view disappears not > before > > browser view. > > To answer that you need to understand why this change is necessary. Why is this > change necessary? Your description says to avoid the parent being null, but that > isn't the case. Before and after this change the parent isn't null. Updated the description. You mentioned that the WebContents is set to null at startup and shutdown. Before this CL, if the WebContents is null, the bookmark bar view will be detached from its parent in MaybeShowBookmarkBar(). After this CL, the bookmark bar view's parent remains unchanged at startup and shutdown.
Description was changed from ========== Bookmark disappear first when closing browser The CL prevents the bookmark from disappearing ahead of browser by avoiding bookmark being detached from its parent at startup and shutdown when web contents are null. BUG=669321 ========== to ========== Bookmark disappear first when closing browser The CL prevents the bookmark from disappearing ahead of browser by avoiding bookmark being detached from its parent at startup and shutdown when web contents are null. BUG=669321 ==========
On Wed, Jun 21, 2017 at 9:47 AM, <weidongg@chromium.org> wrote: > On 2017/06/21 14:48:01, sky wrote: > > On 2017/06/21 00:37:12, weidongg wrote: > > > On 2017/06/21 00:22:58, sky wrote: > > > > On Tue, Jun 20, 2017 at 12:51 PM, <mailto:weidongg@chromium.org> > wrote: > > > > > > > > > In this case, I need to test whether the bookmark is detached from > its > > > > > parent at > > > > > browser startup/shutdown. The parent will soon become browser view > or > top > > > > > container after start up and the bookmark view will soon destruct > after > > > > > shutdown. I am not sure is there any way testing this? > > > > > > > > > > > > > What in particular can't you write a test for? > > > > > > > > > > > > > > > > > > > > > > > > > > > > https://codereview.chromium.org/2946813002/diff/1/chrome/ > > > > > browser/ui/views/frame/browser_view.cc > > > > > File chrome/browser/ui/views/frame/browser_view.cc (right): > > > > > > > > > > https://codereview.chromium.org/2946813002/diff/1/chrome/ > > > > > browser/ui/views/frame/browser_view.cc#newcode2182 > > > > > chrome/browser/ui/views/frame/browser_view.cc:2182: bool > > > > > show_bookmark_bar = contents && > > > > > On 2017/06/20 16:35:06, sky wrote: > > > > > > I think the bug is here. We should show the bookmarkbar if there > is no > > > > > contents > > > > > > (which only happens during startup/shutudown). > > > > > > > > > > Aha I see, so I could change it to: > > > > > "bool show_bookmark_bar = > > > > > browser_->SupportsWindowFeature(Browser::FEATURE_BOOKMARKBAR);" > > > > > > > > > > https://codereview.chromium.org/2946813002/ > > > > > > > > > > > > > -- > > > > You received this message because you are subscribed to the Google > Groups > > > > "Chromium-reviews" group. > > > > To unsubscribe from this group and stop receiving emails from it, > send an > > > email > > > > to mailto:chromium-reviews+unsubscribe@chromium.org. > > > > > > If I test the behavior of closing browser. The states before and after > closing > > > browser is > > > the same. I am not sure how to test that bookmark bar view disappears > not > > before > > > browser view. > > > > To answer that you need to understand why this change is necessary. Why > is > this > > change necessary? Your description says to avoid the parent being null, > but > that > > isn't the case. Before and after this change the parent isn't null. > > Updated the description. > You mentioned that the WebContents is set to null at startup and shutdown. > Before this CL, if the WebContents is null, the bookmark bar view will be > detached from its parent in MaybeShowBookmarkBar(). > That's not entirely accurate. It's moved to a different parent, but the bookmarkbarview still has a parent. So, why does that matter here? Why does changing the parent cause the bar to be hidden? I suspect the answer is in BrowserViewLayout::UpdateTopContainerBounds or BrowserViewLayout::LayoutBookmarkBar. -Scott > After this CL, the > bookmark bar view's parent remains unchanged at startup and shutdown. > > https://codereview.chromium.org/2946813002/ > -- You received this message because you are subscribed to the Google Groups "Chromium-reviews" group. To unsubscribe from this group and stop receiving emails from it, send an email to chromium-reviews+unsubscribe@chromium.org.
On 2017/06/21 19:42:39, sky wrote: > On Wed, Jun 21, 2017 at 9:47 AM, <mailto:weidongg@chromium.org> wrote: > > > On 2017/06/21 14:48:01, sky wrote: > > > On 2017/06/21 00:37:12, weidongg wrote: > > > > On 2017/06/21 00:22:58, sky wrote: > > > > > On Tue, Jun 20, 2017 at 12:51 PM, <mailto:weidongg@chromium.org> > > wrote: > > > > > > > > > > > In this case, I need to test whether the bookmark is detached from > > its > > > > > > parent at > > > > > > browser startup/shutdown. The parent will soon become browser view > > or > > top > > > > > > container after start up and the bookmark view will soon destruct > > after > > > > > > shutdown. I am not sure is there any way testing this? > > > > > > > > > > > > > > > > What in particular can't you write a test for? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > https://codereview.chromium.org/2946813002/diff/1/chrome/ > > > > > > browser/ui/views/frame/browser_view.cc > > > > > > File chrome/browser/ui/views/frame/browser_view.cc (right): > > > > > > > > > > > > https://codereview.chromium.org/2946813002/diff/1/chrome/ > > > > > > browser/ui/views/frame/browser_view.cc#newcode2182 > > > > > > chrome/browser/ui/views/frame/browser_view.cc:2182: bool > > > > > > show_bookmark_bar = contents && > > > > > > On 2017/06/20 16:35:06, sky wrote: > > > > > > > I think the bug is here. We should show the bookmarkbar if there > > is no > > > > > > contents > > > > > > > (which only happens during startup/shutudown). > > > > > > > > > > > > Aha I see, so I could change it to: > > > > > > "bool show_bookmark_bar = > > > > > > browser_->SupportsWindowFeature(Browser::FEATURE_BOOKMARKBAR);" > > > > > > > > > > > > https://codereview.chromium.org/2946813002/ > > > > > > > > > > > > > > > > -- > > > > > You received this message because you are subscribed to the Google > > Groups > > > > > "Chromium-reviews" group. > > > > > To unsubscribe from this group and stop receiving emails from it, > > send an > > > > email > > > > > to mailto:chromium-reviews+unsubscribe@chromium.org. > > > > > > > > If I test the behavior of closing browser. The states before and after > > closing > > > > browser is > > > > the same. I am not sure how to test that bookmark bar view disappears > > not > > > before > > > > browser view. > > > > > > To answer that you need to understand why this change is necessary. Why > > is > > this > > > change necessary? Your description says to avoid the parent being null, > > but > > that > > > isn't the case. Before and after this change the parent isn't null. > > > > Updated the description. > > You mentioned that the WebContents is set to null at startup and shutdown. > > Before this CL, if the WebContents is null, the bookmark bar view will be > > detached from its parent in MaybeShowBookmarkBar(). > > > > That's not entirely accurate. It's moved to a different parent, but the > bookmarkbarview still has a parent. So, why does that matter here? Why does > changing the parent cause the bar to be hidden? I suspect the answer is > in BrowserViewLayout::UpdateTopContainerBounds > or BrowserViewLayout::LayoutBookmarkBar. > > -Scott > > > > After this CL, the > > bookmark bar view's parent remains unchanged at startup and shutdown. > > > > https://codereview.chromium.org/2946813002/ > > > > -- > You received this message because you are subscribed to the Google Groups > "Chromium-reviews" group. > To unsubscribe from this group and stop receiving emails from it, send an email > to mailto:chromium-reviews+unsubscribe@chromium.org. When close the browser, the bookmark is detached from top container and its parent is set to nullptr [1]. So bookmark’s property visible is true, but it is not visible (maybe) because it has no parent. But in BrowserViewLayout::LayoutBookmarkBar, bounds is set based on the property visible. I think this is the deep reason. [1] https://cs.chromium.org/chromium/src/ui/views/view.cc?type=cs&l=2065
I see it now. MaybeShowBookmarkBar uses new_parent = null, which unparents. ok, so then the test should verify the bookmarkbar still has a parent after the last webcontents is removed. Such a test should fail before your fix and pass with your fix. Right? -Scott On Wed, Jun 21, 2017 at 3:27 PM, <weidongg@chromium.org> wrote: > On 2017/06/21 19:42:39, sky wrote: > > > On Wed, Jun 21, 2017 at 9:47 AM, <mailto:weidongg@chromium.org> wrote: > > > > > On 2017/06/21 14:48:01, sky wrote: > > > > On 2017/06/21 00:37:12, weidongg wrote: > > > > > On 2017/06/21 00:22:58, sky wrote: > > > > > > On Tue, Jun 20, 2017 at 12:51 PM, <mailto:weidongg@chromium.org> > > > wrote: > > > > > > > > > > > > > In this case, I need to test whether the bookmark is detached > from > > > its > > > > > > > parent at > > > > > > > browser startup/shutdown. The parent will soon become browser > view > > > or > > > top > > > > > > > container after start up and the bookmark view will soon > destruct > > > after > > > > > > > shutdown. I am not sure is there any way testing this? > > > > > > > > > > > > > > > > > > > What in particular can't you write a test for? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > https://codereview.chromium.org/2946813002/diff/1/chrome/ > > > > > > > browser/ui/views/frame/browser_view.cc > > > > > > > File chrome/browser/ui/views/frame/browser_view.cc (right): > > > > > > > > > > > > > > https://codereview.chromium.org/2946813002/diff/1/chrome/ > > > > > > > browser/ui/views/frame/browser_view.cc#newcode2182 > > > > > > > chrome/browser/ui/views/frame/browser_view.cc:2182: bool > > > > > > > show_bookmark_bar = contents && > > > > > > > On 2017/06/20 16:35:06, sky wrote: > > > > > > > > I think the bug is here. We should show the bookmarkbar if > there > > > is no > > > > > > > contents > > > > > > > > (which only happens during startup/shutudown). > > > > > > > > > > > > > > Aha I see, so I could change it to: > > > > > > > "bool show_bookmark_bar = > > > > > > > browser_->SupportsWindowFeature(Browser: > :FEATURE_BOOKMARKBAR);" > > > > > > > > > > > > > > https://codereview.chromium.org/2946813002/ > > > > > > > > > > > > > > > > > > > -- > > > > > > You received this message because you are subscribed to the > Google > > > Groups > > > > > > "Chromium-reviews" group. > > > > > > To unsubscribe from this group and stop receiving emails from it, > > > send an > > > > > email > > > > > > to mailto:chromium-reviews+unsubscribe@chromium.org. > > > > > > > > > > If I test the behavior of closing browser. The states before and > after > > > closing > > > > > browser is > > > > > the same. I am not sure how to test that bookmark bar view > disappears > > > not > > > > before > > > > > browser view. > > > > > > > > To answer that you need to understand why this change is necessary. > Why > > > is > > > this > > > > change necessary? Your description says to avoid the parent being > null, > > > but > > > that > > > > isn't the case. Before and after this change the parent isn't null. > > > > > > Updated the description. > > > You mentioned that the WebContents is set to null at startup and > shutdown. > > > Before this CL, if the WebContents is null, the bookmark bar view will > be > > > detached from its parent in MaybeShowBookmarkBar(). > > > > > > > That's not entirely accurate. It's moved to a different parent, but the > > bookmarkbarview still has a parent. So, why does that matter here? Why > does > > changing the parent cause the bar to be hidden? I suspect the answer is > > in BrowserViewLayout::UpdateTopContainerBounds > > or BrowserViewLayout::LayoutBookmarkBar. > > > > -Scott > > > > > > > After this CL, the > > > bookmark bar view's parent remains unchanged at startup and shutdown. > > > > > > https://codereview.chromium.org/2946813002/ > > > > > > > -- > > You received this message because you are subscribed to the Google Groups > > "Chromium-reviews" group. > > To unsubscribe from this group and stop receiving emails from it, send an > email > > to mailto:chromium-reviews+unsubscribe@chromium.org. > > When close the browser, the bookmark is detached from top container and its > parent is set to nullptr [1]. So bookmark’s property visible is true, but > it is > not visible (maybe) because it has no parent. But in > BrowserViewLayout::LayoutBookmarkBar, bounds is set based on the property > visible. I think this is the deep reason. > [1] https://cs.chromium.org/chromium/src/ui/views/view.cc?type=cs&l=2065 > > https://codereview.chromium.org/2946813002/ > -- You received this message because you are subscribed to the Google Groups "Chromium-reviews" group. To unsubscribe from this group and stop receiving emails from it, send an email to chromium-reviews+unsubscribe@chromium.org.
On 2017/06/22 03:25:46, sky wrote: > I see it now. MaybeShowBookmarkBar uses new_parent = null, which unparents. > ok, so then the test should verify the bookmarkbar still has a parent after > the last webcontents is removed. Such a test should fail before your fix > and pass with your fix. Right? > > -Scott > > On Wed, Jun 21, 2017 at 3:27 PM, <mailto:weidongg@chromium.org> wrote: > > > On 2017/06/21 19:42:39, sky wrote: > > > > > On Wed, Jun 21, 2017 at 9:47 AM, <mailto:weidongg@chromium.org> wrote: > > > > > > > On 2017/06/21 14:48:01, sky wrote: > > > > > On 2017/06/21 00:37:12, weidongg wrote: > > > > > > On 2017/06/21 00:22:58, sky wrote: > > > > > > > On Tue, Jun 20, 2017 at 12:51 PM, <mailto:weidongg@chromium.org> > > > > wrote: > > > > > > > > > > > > > > > In this case, I need to test whether the bookmark is detached > > from > > > > its > > > > > > > > parent at > > > > > > > > browser startup/shutdown. The parent will soon become browser > > view > > > > or > > > > top > > > > > > > > container after start up and the bookmark view will soon > > destruct > > > > after > > > > > > > > shutdown. I am not sure is there any way testing this? > > > > > > > > > > > > > > > > > > > > > > What in particular can't you write a test for? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > https://codereview.chromium.org/2946813002/diff/1/chrome/ > > > > > > > > browser/ui/views/frame/browser_view.cc > > > > > > > > File chrome/browser/ui/views/frame/browser_view.cc (right): > > > > > > > > > > > > > > > > https://codereview.chromium.org/2946813002/diff/1/chrome/ > > > > > > > > browser/ui/views/frame/browser_view.cc#newcode2182 > > > > > > > > chrome/browser/ui/views/frame/browser_view.cc:2182: bool > > > > > > > > show_bookmark_bar = contents && > > > > > > > > On 2017/06/20 16:35:06, sky wrote: > > > > > > > > > I think the bug is here. We should show the bookmarkbar if > > there > > > > is no > > > > > > > > contents > > > > > > > > > (which only happens during startup/shutudown). > > > > > > > > > > > > > > > > Aha I see, so I could change it to: > > > > > > > > "bool show_bookmark_bar = > > > > > > > > browser_->SupportsWindowFeature(Browser: > > :FEATURE_BOOKMARKBAR);" > > > > > > > > > > > > > > > > https://codereview.chromium.org/2946813002/ > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > You received this message because you are subscribed to the > > Google > > > > Groups > > > > > > > "Chromium-reviews" group. > > > > > > > To unsubscribe from this group and stop receiving emails from it, > > > > send an > > > > > > email > > > > > > > to mailto:chromium-reviews+unsubscribe@chromium.org. > > > > > > > > > > > > If I test the behavior of closing browser. The states before and > > after > > > > closing > > > > > > browser is > > > > > > the same. I am not sure how to test that bookmark bar view > > disappears > > > > not > > > > > before > > > > > > browser view. > > > > > > > > > > To answer that you need to understand why this change is necessary. > > Why > > > > is > > > > this > > > > > change necessary? Your description says to avoid the parent being > > null, > > > > but > > > > that > > > > > isn't the case. Before and after this change the parent isn't null. > > > > > > > > Updated the description. > > > > You mentioned that the WebContents is set to null at startup and > > shutdown. > > > > Before this CL, if the WebContents is null, the bookmark bar view will > > be > > > > detached from its parent in MaybeShowBookmarkBar(). > > > > > > > > > > That's not entirely accurate. It's moved to a different parent, but the > > > bookmarkbarview still has a parent. So, why does that matter here? Why > > does > > > changing the parent cause the bar to be hidden? I suspect the answer is > > > in BrowserViewLayout::UpdateTopContainerBounds > > > or BrowserViewLayout::LayoutBookmarkBar. > > > > > > -Scott > > > > > > > > > > After this CL, the > > > > bookmark bar view's parent remains unchanged at startup and shutdown. > > > > > > > > https://codereview.chromium.org/2946813002/ > > > > > > > > > > -- > > > You received this message because you are subscribed to the Google Groups > > > "Chromium-reviews" group. > > > To unsubscribe from this group and stop receiving emails from it, send an > > email > > > to mailto:chromium-reviews+unsubscribe@chromium.org. > > > > When close the browser, the bookmark is detached from top container and its > > parent is set to nullptr [1]. So bookmark’s property visible is true, but > > it is > > not visible (maybe) because it has no parent. But in > > BrowserViewLayout::LayoutBookmarkBar, bounds is set based on the property > > visible. I think this is the deep reason. > > [1] https://cs.chromium.org/chromium/src/ui/views/view.cc?type=cs&l=2065 > > > > https://codereview.chromium.org/2946813002/ > > > > -- > You received this message because you are subscribed to the Google Groups > "Chromium-reviews" group. > To unsubscribe from this group and stop receiving emails from it, send an email > to mailto:chromium-reviews+unsubscribe@chromium.org. IMO, my fix is not to avoid setting parent to null, but to set bookmark's height to 0 to hide it when its parent is null. If we hide the bookmark, then contents container will fill up the void area left by the bookmark. Thus, that void area we see when closing the browser will not appear. The test would be detecting the browser's size change after last webcontents is removed.
On Thu, Jun 22, 2017 at 11:12 AM, <weidongg@chromium.org> wrote: > On 2017/06/22 03:25:46, sky wrote: > > I see it now. MaybeShowBookmarkBar uses new_parent = null, which > unparents. > > ok, so then the test should verify the bookmarkbar still has a parent > after > > the last webcontents is removed. Such a test should fail before your fix > > and pass with your fix. Right? > > > > -Scott > > > > On Wed, Jun 21, 2017 at 3:27 PM, <mailto:weidongg@chromium.org> wrote: > > > > > On 2017/06/21 19:42:39, sky wrote: > > > > > > > On Wed, Jun 21, 2017 at 9:47 AM, <mailto:weidongg@chromium.org> > wrote: > > > > > > > > > On 2017/06/21 14:48:01, sky wrote: > > > > > > On 2017/06/21 00:37:12, weidongg wrote: > > > > > > > On 2017/06/21 00:22:58, sky wrote: > > > > > > > > On Tue, Jun 20, 2017 at 12:51 PM, <mailto: > weidongg@chromium.org> > > > > > wrote: > > > > > > > > > > > > > > > > > In this case, I need to test whether the bookmark is > detached > > > from > > > > > its > > > > > > > > > parent at > > > > > > > > > browser startup/shutdown. The parent will soon become > browser > > > view > > > > > or > > > > > top > > > > > > > > > container after start up and the bookmark view will soon > > > destruct > > > > > after > > > > > > > > > shutdown. I am not sure is there any way testing this? > > > > > > > > > > > > > > > > > > > > > > > > > What in particular can't you write a test for? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > https://codereview.chromium.org/2946813002/diff/1/chrome/ > > > > > > > > > browser/ui/views/frame/browser_view.cc > > > > > > > > > File chrome/browser/ui/views/frame/browser_view.cc > (right): > > > > > > > > > > > > > > > > > > https://codereview.chromium.org/2946813002/diff/1/chrome/ > > > > > > > > > browser/ui/views/frame/browser_view.cc#newcode2182 > > > > > > > > > chrome/browser/ui/views/frame/browser_view.cc:2182: bool > > > > > > > > > show_bookmark_bar = contents && > > > > > > > > > On 2017/06/20 16:35:06, sky wrote: > > > > > > > > > > I think the bug is here. We should show the bookmarkbar > if > > > there > > > > > is no > > > > > > > > > contents > > > > > > > > > > (which only happens during startup/shutudown). > > > > > > > > > > > > > > > > > > Aha I see, so I could change it to: > > > > > > > > > "bool show_bookmark_bar = > > > > > > > > > browser_->SupportsWindowFeature(Browser: > > > :FEATURE_BOOKMARKBAR);" > > > > > > > > > > > > > > > > > > https://codereview.chromium.org/2946813002/ > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > You received this message because you are subscribed to the > > > Google > > > > > Groups > > > > > > > > "Chromium-reviews" group. > > > > > > > > To unsubscribe from this group and stop receiving emails > from it, > > > > > send an > > > > > > > email > > > > > > > > to mailto:chromium-reviews+unsubscribe@chromium.org. > > > > > > > > > > > > > > If I test the behavior of closing browser. The states before > and > > > after > > > > > closing > > > > > > > browser is > > > > > > > the same. I am not sure how to test that bookmark bar view > > > disappears > > > > > not > > > > > > before > > > > > > > browser view. > > > > > > > > > > > > To answer that you need to understand why this change is > necessary. > > > Why > > > > > is > > > > > this > > > > > > change necessary? Your description says to avoid the parent being > > > null, > > > > > but > > > > > that > > > > > > isn't the case. Before and after this change the parent isn't > null. > > > > > > > > > > Updated the description. > > > > > You mentioned that the WebContents is set to null at startup and > > > shutdown. > > > > > Before this CL, if the WebContents is null, the bookmark bar view > will > > > be > > > > > detached from its parent in MaybeShowBookmarkBar(). > > > > > > > > > > > > > That's not entirely accurate. It's moved to a different parent, but > the > > > > bookmarkbarview still has a parent. So, why does that matter here? > Why > > > does > > > > changing the parent cause the bar to be hidden? I suspect the answer > is > > > > in BrowserViewLayout::UpdateTopContainerBounds > > > > or BrowserViewLayout::LayoutBookmarkBar. > > > > > > > > -Scott > > > > > > > > > > > > > After this CL, the > > > > > bookmark bar view's parent remains unchanged at startup and > shutdown. > > > > > > > > > > https://codereview.chromium.org/2946813002/ > > > > > > > > > > > > > -- > > > > You received this message because you are subscribed to the Google > Groups > > > > "Chromium-reviews" group. > > > > To unsubscribe from this group and stop receiving emails from it, > send an > > > email > > > > to mailto:chromium-reviews+unsubscribe@chromium.org. > > > > > > When close the browser, the bookmark is detached from top container > and its > > > parent is set to nullptr [1]. So bookmark’s property visible is true, > but > > > it is > > > not visible (maybe) because it has no parent. But in > > > BrowserViewLayout::LayoutBookmarkBar, bounds is set based on the > property > > > visible. I think this is the deep reason. > > > [1] https://cs.chromium.org/chromium/src/ui/views/view.cc? > type=cs&l=2065 > > > > > > https://codereview.chromium.org/2946813002/ > > > > > > > -- > > You received this message because you are subscribed to the Google Groups > > "Chromium-reviews" group. > > To unsubscribe from this group and stop receiving emails from it, send an > email > > to mailto:chromium-reviews+unsubscribe@chromium.org. > > IMO, my fix is not to avoid setting parent to null, but to set bookmark's > height > to 0 to hide it when its parent is null. > If the parent is null the bookmark-bar is effectively hidden because it isn't on screen. > If we hide the bookmark, then contents > container will fill up the void area left by the bookmark. > I don't understand. Can you elaborate on what you mean? -Scott > Thus, that void area > we see when closing the browser will not appear. > > The test would be detecting the browser's size change after last > webcontents is > removed. > > > https://codereview.chromium.org/2946813002/ > -- You received this message because you are subscribed to the Google Groups "Chromium-reviews" group. To unsubscribe from this group and stop receiving emails from it, send an email to chromium-reviews+unsubscribe@chromium.org.
On 2017/06/22 20:29:39, sky wrote: > On Thu, Jun 22, 2017 at 11:12 AM, <mailto:weidongg@chromium.org> wrote: > > > On 2017/06/22 03:25:46, sky wrote: > > > I see it now. MaybeShowBookmarkBar uses new_parent = null, which > > unparents. > > > ok, so then the test should verify the bookmarkbar still has a parent > > after > > > the last webcontents is removed. Such a test should fail before your fix > > > and pass with your fix. Right? > > > > > > -Scott > > > > > > On Wed, Jun 21, 2017 at 3:27 PM, <mailto:weidongg@chromium.org> wrote: > > > > > > > On 2017/06/21 19:42:39, sky wrote: > > > > > > > > > On Wed, Jun 21, 2017 at 9:47 AM, <mailto:weidongg@chromium.org> > > wrote: > > > > > > > > > > > On 2017/06/21 14:48:01, sky wrote: > > > > > > > On 2017/06/21 00:37:12, weidongg wrote: > > > > > > > > On 2017/06/21 00:22:58, sky wrote: > > > > > > > > > On Tue, Jun 20, 2017 at 12:51 PM, <mailto: > > mailto:weidongg@chromium.org> > > > > > > wrote: > > > > > > > > > > > > > > > > > > > In this case, I need to test whether the bookmark is > > detached > > > > from > > > > > > its > > > > > > > > > > parent at > > > > > > > > > > browser startup/shutdown. The parent will soon become > > browser > > > > view > > > > > > or > > > > > > top > > > > > > > > > > container after start up and the bookmark view will soon > > > > destruct > > > > > > after > > > > > > > > > > shutdown. I am not sure is there any way testing this? > > > > > > > > > > > > > > > > > > > > > > > > > > > > What in particular can't you write a test for? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > https://codereview.chromium.org/2946813002/diff/1/chrome/ > > > > > > > > > > browser/ui/views/frame/browser_view.cc > > > > > > > > > > File chrome/browser/ui/views/frame/browser_view.cc > > (right): > > > > > > > > > > > > > > > > > > > > https://codereview.chromium.org/2946813002/diff/1/chrome/ > > > > > > > > > > browser/ui/views/frame/browser_view.cc#newcode2182 > > > > > > > > > > chrome/browser/ui/views/frame/browser_view.cc:2182: bool > > > > > > > > > > show_bookmark_bar = contents && > > > > > > > > > > On 2017/06/20 16:35:06, sky wrote: > > > > > > > > > > > I think the bug is here. We should show the bookmarkbar > > if > > > > there > > > > > > is no > > > > > > > > > > contents > > > > > > > > > > > (which only happens during startup/shutudown). > > > > > > > > > > > > > > > > > > > > Aha I see, so I could change it to: > > > > > > > > > > "bool show_bookmark_bar = > > > > > > > > > > browser_->SupportsWindowFeature(Browser: > > > > :FEATURE_BOOKMARKBAR);" > > > > > > > > > > > > > > > > > > > > https://codereview.chromium.org/2946813002/ > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > You received this message because you are subscribed to the > > > > Google > > > > > > Groups > > > > > > > > > "Chromium-reviews" group. > > > > > > > > > To unsubscribe from this group and stop receiving emails > > from it, > > > > > > send an > > > > > > > > email > > > > > > > > > to mailto:chromium-reviews+unsubscribe@chromium.org. > > > > > > > > > > > > > > > > If I test the behavior of closing browser. The states before > > and > > > > after > > > > > > closing > > > > > > > > browser is > > > > > > > > the same. I am not sure how to test that bookmark bar view > > > > disappears > > > > > > not > > > > > > > before > > > > > > > > browser view. > > > > > > > > > > > > > > To answer that you need to understand why this change is > > necessary. > > > > Why > > > > > > is > > > > > > this > > > > > > > change necessary? Your description says to avoid the parent being > > > > null, > > > > > > but > > > > > > that > > > > > > > isn't the case. Before and after this change the parent isn't > > null. > > > > > > > > > > > > Updated the description. > > > > > > You mentioned that the WebContents is set to null at startup and > > > > shutdown. > > > > > > Before this CL, if the WebContents is null, the bookmark bar view > > will > > > > be > > > > > > detached from its parent in MaybeShowBookmarkBar(). > > > > > > > > > > > > > > > > That's not entirely accurate. It's moved to a different parent, but > > the > > > > > bookmarkbarview still has a parent. So, why does that matter here? > > Why > > > > does > > > > > changing the parent cause the bar to be hidden? I suspect the answer > > is > > > > > in BrowserViewLayout::UpdateTopContainerBounds > > > > > or BrowserViewLayout::LayoutBookmarkBar. > > > > > > > > > > -Scott > > > > > > > > > > > > > > > > After this CL, the > > > > > > bookmark bar view's parent remains unchanged at startup and > > shutdown. > > > > > > > > > > > > https://codereview.chromium.org/2946813002/ > > > > > > > > > > > > > > > > -- > > > > > You received this message because you are subscribed to the Google > > Groups > > > > > "Chromium-reviews" group. > > > > > To unsubscribe from this group and stop receiving emails from it, > > send an > > > > email > > > > > to mailto:chromium-reviews+unsubscribe@chromium.org. > > > > > > > > When close the browser, the bookmark is detached from top container > > and its > > > > parent is set to nullptr [1]. So bookmark’s property visible is true, > > but > > > > it is > > > > not visible (maybe) because it has no parent. But in > > > > BrowserViewLayout::LayoutBookmarkBar, bounds is set based on the > > property > > > > visible. I think this is the deep reason. > > > > [1] https://cs.chromium.org/chromium/src/ui/views/view.cc > > type=cs&l=2065 > > > > > > > > https://codereview.chromium.org/2946813002/ > > > > > > > > > > -- > > > You received this message because you are subscribed to the Google Groups > > > "Chromium-reviews" group. > > > To unsubscribe from this group and stop receiving emails from it, send an > > email > > > to mailto:chromium-reviews+unsubscribe@chromium.org. > > > > IMO, my fix is not to avoid setting parent to null, but to set bookmark's > > height > > to 0 to hide it when its parent is null. > > > > If the parent is null the bookmark-bar is effectively hidden because it > isn't on screen. > > > > If we hide the bookmark, then contents > > container will fill up the void area left by the bookmark. > > > > I don't understand. Can you elaborate on what you mean? > > -Scott > > > > Thus, that void area > > we see when closing the browser will not appear. > > > > The test would be detecting the browser's size change after last > > webcontents is > > removed. > > > > > > https://codereview.chromium.org/2946813002/ > > > > -- > You received this message because you are subscribed to the Google Groups > "Chromium-reviews" group. > To unsubscribe from this group and stop receiving emails from it, send an email > to mailto:chromium-reviews+unsubscribe@chromium.org. Yes, sure. Before this CL, when you close the browser, the bookmark bar's parent is set to null. Although the bookmark bar is hidden at this time, but its property visible_ is not set to false. BrowserViewLayout::LayoutBookmarkBar [1] only set bookmark bar's height to 0 if property visible_ is false. But the bookmark bar's height+y is used to determine the position of the layout below such as contents container. Thus the bookmark bar leaves a blank area when you close the browser. (see the video in the bug thread.) So my solution is to set bookmark bar's height to 0 when bookmark bar' parent is null as well, so that the contents container's position can move up and fill the blank that would have been left by the bookmark bar. [1] https://cs.chromium.org/chromium/src/chrome/browser/ui/views/frame/browser_vi...
Wouldn't that mean with your fix we attempt to do an unnecessary layout/resize? -Scott On Thu, Jun 22, 2017 at 1:52 PM, <weidongg@chromium.org> wrote: > On 2017/06/22 20:29:39, sky wrote: > > > On Thu, Jun 22, 2017 at 11:12 AM, <mailto:weidongg@chromium.org> wrote: > > > > > On 2017/06/22 03:25:46, sky wrote: > > > > I see it now. MaybeShowBookmarkBar uses new_parent = null, which > > > unparents. > > > > ok, so then the test should verify the bookmarkbar still has a parent > > > after > > > > the last webcontents is removed. Such a test should fail before your > fix > > > > and pass with your fix. Right? > > > > > > > > -Scott > > > > > > > > On Wed, Jun 21, 2017 at 3:27 PM, <mailto:weidongg@chromium.org> > wrote: > > > > > > > > > On 2017/06/21 19:42:39, sky wrote: > > > > > > > > > > > On Wed, Jun 21, 2017 at 9:47 AM, <mailto:weidongg@chromium.org> > > > wrote: > > > > > > > > > > > > > On 2017/06/21 14:48:01, sky wrote: > > > > > > > > On 2017/06/21 00:37:12, weidongg wrote: > > > > > > > > > On 2017/06/21 00:22:58, sky wrote: > > > > > > > > > > On Tue, Jun 20, 2017 at 12:51 PM, <mailto: > > > mailto:weidongg@chromium.org> > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > In this case, I need to test whether the bookmark is > > > detached > > > > > from > > > > > > > its > > > > > > > > > > > parent at > > > > > > > > > > > browser startup/shutdown. The parent will soon become > > > browser > > > > > view > > > > > > > or > > > > > > > top > > > > > > > > > > > container after start up and the bookmark view will > soon > > > > > destruct > > > > > > > after > > > > > > > > > > > shutdown. I am not sure is there any way testing this? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > What in particular can't you write a test for? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > https://codereview.chromium. > org/2946813002/diff/1/chrome/ > > > > > > > > > > > browser/ui/views/frame/browser_view.cc > > > > > > > > > > > File chrome/browser/ui/views/frame/browser_view.cc > > > (right): > > > > > > > > > > > > > > > > > > > > > > https://codereview.chromium. > org/2946813002/diff/1/chrome/ > > > > > > > > > > > browser/ui/views/frame/browser_view.cc#newcode2182 > > > > > > > > > > > chrome/browser/ui/views/frame/browser_view.cc:2182: > bool > > > > > > > > > > > show_bookmark_bar = contents && > > > > > > > > > > > On 2017/06/20 16:35:06, sky wrote: > > > > > > > > > > > > I think the bug is here. We should show the > bookmarkbar > > > if > > > > > there > > > > > > > is no > > > > > > > > > > > contents > > > > > > > > > > > > (which only happens during startup/shutudown). > > > > > > > > > > > > > > > > > > > > > > Aha I see, so I could change it to: > > > > > > > > > > > "bool show_bookmark_bar = > > > > > > > > > > > browser_->SupportsWindowFeature(Browser: > > > > > :FEATURE_BOOKMARKBAR);" > > > > > > > > > > > > > > > > > > > > > > https://codereview.chromium.org/2946813002/ > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > You received this message because you are subscribed to > the > > > > > Google > > > > > > > Groups > > > > > > > > > > "Chromium-reviews" group. > > > > > > > > > > To unsubscribe from this group and stop receiving emails > > > from it, > > > > > > > send an > > > > > > > > > email > > > > > > > > > > to mailto:chromium-reviews+unsubscribe@chromium.org. > > > > > > > > > > > > > > > > > > If I test the behavior of closing browser. The states > before > > > and > > > > > after > > > > > > > closing > > > > > > > > > browser is > > > > > > > > > the same. I am not sure how to test that bookmark bar view > > > > > disappears > > > > > > > not > > > > > > > > before > > > > > > > > > browser view. > > > > > > > > > > > > > > > > To answer that you need to understand why this change is > > > necessary. > > > > > Why > > > > > > > is > > > > > > > this > > > > > > > > change necessary? Your description says to avoid the parent > being > > > > > null, > > > > > > > but > > > > > > > that > > > > > > > > isn't the case. Before and after this change the parent isn't > > > null. > > > > > > > > > > > > > > Updated the description. > > > > > > > You mentioned that the WebContents is set to null at startup > and > > > > > shutdown. > > > > > > > Before this CL, if the WebContents is null, the bookmark bar > view > > > will > > > > > be > > > > > > > detached from its parent in MaybeShowBookmarkBar(). > > > > > > > > > > > > > > > > > > > That's not entirely accurate. It's moved to a different parent, > but > > > the > > > > > > bookmarkbarview still has a parent. So, why does that matter > here? > > > Why > > > > > does > > > > > > changing the parent cause the bar to be hidden? I suspect the > answer > > > is > > > > > > in BrowserViewLayout::UpdateTopContainerBounds > > > > > > or BrowserViewLayout::LayoutBookmarkBar. > > > > > > > > > > > > -Scott > > > > > > > > > > > > > > > > > > > After this CL, the > > > > > > > bookmark bar view's parent remains unchanged at startup and > > > shutdown. > > > > > > > > > > > > > > https://codereview.chromium.org/2946813002/ > > > > > > > > > > > > > > > > > > > -- > > > > > > You received this message because you are subscribed to the > Google > > > Groups > > > > > > "Chromium-reviews" group. > > > > > > To unsubscribe from this group and stop receiving emails from it, > > > send an > > > > > email > > > > > > to mailto:chromium-reviews+unsubscribe@chromium.org. > > > > > > > > > > When close the browser, the bookmark is detached from top container > > > and its > > > > > parent is set to nullptr [1]. So bookmark’s property visible is > true, > > > but > > > > > it is > > > > > not visible (maybe) because it has no parent. But in > > > > > BrowserViewLayout::LayoutBookmarkBar, bounds is set based on the > > > property > > > > > visible. I think this is the deep reason. > > > > > [1] https://cs.chromium.org/chromium/src/ui/views/view.cc > > > type=cs&l=2065 > > > > > > > > > > https://codereview.chromium.org/2946813002/ > > > > > > > > > > > > > -- > > > > You received this message because you are subscribed to the Google > Groups > > > > "Chromium-reviews" group. > > > > To unsubscribe from this group and stop receiving emails from it, > send an > > > email > > > > to mailto:chromium-reviews+unsubscribe@chromium.org. > > > > > > IMO, my fix is not to avoid setting parent to null, but to set > bookmark's > > > height > > > to 0 to hide it when its parent is null. > > > > > > > If the parent is null the bookmark-bar is effectively hidden because it > > isn't on screen. > > > > > > > If we hide the bookmark, then contents > > > container will fill up the void area left by the bookmark. > > > > > > > I don't understand. Can you elaborate on what you mean? > > > > -Scott > > > > > > > Thus, that void area > > > we see when closing the browser will not appear. > > > > > > The test would be detecting the browser's size change after last > > > webcontents is > > > removed. > > > > > > > > > https://codereview.chromium.org/2946813002/ > > > > > > > -- > > You received this message because you are subscribed to the Google Groups > > "Chromium-reviews" group. > > To unsubscribe from this group and stop receiving emails from it, send an > email > > to mailto:chromium-reviews+unsubscribe@chromium.org. > > Yes, sure. Before this CL, when you close the browser, the bookmark bar's > parent > is set to null. Although the bookmark bar is hidden at this time, but its > property visible_ is not set to false. BrowserViewLayout::LayoutBookmarkBar > [1] > only set bookmark bar's height to 0 if property visible_ is false. But the > bookmark bar's height+y is used to determine the position of the layout > below > such as contents container. Thus the bookmark bar leaves a blank area when > you > close the browser. (see the video in the bug thread.) > > So my solution is to set bookmark bar's height to 0 when bookmark bar' > parent is > null as well, so that the contents container's position can move up and > fill the > blank that would have been left by the bookmark bar. > > [1] > https://cs.chromium.org/chromium/src/chrome/browser/ > ui/views/frame/browser_view_layout.cc?q=browser_view_layout&dr=CSs&l=428 > > https://codereview.chromium.org/2946813002/ > -- You received this message because you are subscribed to the Google Groups "Chromium-reviews" group. To unsubscribe from this group and stop receiving emails from it, send an email to chromium-reviews+unsubscribe@chromium.org.
On 2017/06/22 21:18:05, sky wrote: > Wouldn't that mean with your fix we attempt to do an unnecessary > layout/resize? > > -Scott > > On Thu, Jun 22, 2017 at 1:52 PM, <mailto:weidongg@chromium.org> wrote: > > > On 2017/06/22 20:29:39, sky wrote: > > > > > On Thu, Jun 22, 2017 at 11:12 AM, <mailto:weidongg@chromium.org> wrote: > > > > > > > On 2017/06/22 03:25:46, sky wrote: > > > > > I see it now. MaybeShowBookmarkBar uses new_parent = null, which > > > > unparents. > > > > > ok, so then the test should verify the bookmarkbar still has a parent > > > > after > > > > > the last webcontents is removed. Such a test should fail before your > > fix > > > > > and pass with your fix. Right? > > > > > > > > > > -Scott > > > > > > > > > > On Wed, Jun 21, 2017 at 3:27 PM, <mailto:weidongg@chromium.org> > > wrote: > > > > > > > > > > > On 2017/06/21 19:42:39, sky wrote: > > > > > > > > > > > > > On Wed, Jun 21, 2017 at 9:47 AM, <mailto:weidongg@chromium.org> > > > > wrote: > > > > > > > > > > > > > > > On 2017/06/21 14:48:01, sky wrote: > > > > > > > > > On 2017/06/21 00:37:12, weidongg wrote: > > > > > > > > > > On 2017/06/21 00:22:58, sky wrote: > > > > > > > > > > > On Tue, Jun 20, 2017 at 12:51 PM, <mailto: > > > > mailto:weidongg@chromium.org> > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > In this case, I need to test whether the bookmark is > > > > detached > > > > > > from > > > > > > > > its > > > > > > > > > > > > parent at > > > > > > > > > > > > browser startup/shutdown. The parent will soon become > > > > browser > > > > > > view > > > > > > > > or > > > > > > > > top > > > > > > > > > > > > container after start up and the bookmark view will > > soon > > > > > > destruct > > > > > > > > after > > > > > > > > > > > > shutdown. I am not sure is there any way testing this? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > What in particular can't you write a test for? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > https://codereview.chromium. > > org/2946813002/diff/1/chrome/ > > > > > > > > > > > > browser/ui/views/frame/browser_view.cc > > > > > > > > > > > > File chrome/browser/ui/views/frame/browser_view.cc > > > > (right): > > > > > > > > > > > > > > > > > > > > > > > > https://codereview.chromium. > > org/2946813002/diff/1/chrome/ > > > > > > > > > > > > browser/ui/views/frame/browser_view.cc#newcode2182 > > > > > > > > > > > > chrome/browser/ui/views/frame/browser_view.cc:2182: > > bool > > > > > > > > > > > > show_bookmark_bar = contents && > > > > > > > > > > > > On 2017/06/20 16:35:06, sky wrote: > > > > > > > > > > > > > I think the bug is here. We should show the > > bookmarkbar > > > > if > > > > > > there > > > > > > > > is no > > > > > > > > > > > > contents > > > > > > > > > > > > > (which only happens during startup/shutudown). > > > > > > > > > > > > > > > > > > > > > > > > Aha I see, so I could change it to: > > > > > > > > > > > > "bool show_bookmark_bar = > > > > > > > > > > > > browser_->SupportsWindowFeature(Browser: > > > > > > :FEATURE_BOOKMARKBAR);" > > > > > > > > > > > > > > > > > > > > > > > > https://codereview.chromium.org/2946813002/ > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > > You received this message because you are subscribed to > > the > > > > > > Google > > > > > > > > Groups > > > > > > > > > > > "Chromium-reviews" group. > > > > > > > > > > > To unsubscribe from this group and stop receiving emails > > > > from it, > > > > > > > > send an > > > > > > > > > > email > > > > > > > > > > > to mailto:chromium-reviews+unsubscribe@chromium.org. > > > > > > > > > > > > > > > > > > > > If I test the behavior of closing browser. The states > > before > > > > and > > > > > > after > > > > > > > > closing > > > > > > > > > > browser is > > > > > > > > > > the same. I am not sure how to test that bookmark bar view > > > > > > disappears > > > > > > > > not > > > > > > > > > before > > > > > > > > > > browser view. > > > > > > > > > > > > > > > > > > To answer that you need to understand why this change is > > > > necessary. > > > > > > Why > > > > > > > > is > > > > > > > > this > > > > > > > > > change necessary? Your description says to avoid the parent > > being > > > > > > null, > > > > > > > > but > > > > > > > > that > > > > > > > > > isn't the case. Before and after this change the parent isn't > > > > null. > > > > > > > > > > > > > > > > Updated the description. > > > > > > > > You mentioned that the WebContents is set to null at startup > > and > > > > > > shutdown. > > > > > > > > Before this CL, if the WebContents is null, the bookmark bar > > view > > > > will > > > > > > be > > > > > > > > detached from its parent in MaybeShowBookmarkBar(). > > > > > > > > > > > > > > > > > > > > > > That's not entirely accurate. It's moved to a different parent, > > but > > > > the > > > > > > > bookmarkbarview still has a parent. So, why does that matter > > here? > > > > Why > > > > > > does > > > > > > > changing the parent cause the bar to be hidden? I suspect the > > answer > > > > is > > > > > > > in BrowserViewLayout::UpdateTopContainerBounds > > > > > > > or BrowserViewLayout::LayoutBookmarkBar. > > > > > > > > > > > > > > -Scott > > > > > > > > > > > > > > > > > > > > > > After this CL, the > > > > > > > > bookmark bar view's parent remains unchanged at startup and > > > > shutdown. > > > > > > > > > > > > > > > > https://codereview.chromium.org/2946813002/ > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > You received this message because you are subscribed to the > > Google > > > > Groups > > > > > > > "Chromium-reviews" group. > > > > > > > To unsubscribe from this group and stop receiving emails from it, > > > > send an > > > > > > email > > > > > > > to mailto:chromium-reviews+unsubscribe@chromium.org. > > > > > > > > > > > > When close the browser, the bookmark is detached from top container > > > > and its > > > > > > parent is set to nullptr [1]. So bookmark’s property visible is > > true, > > > > but > > > > > > it is > > > > > > not visible (maybe) because it has no parent. But in > > > > > > BrowserViewLayout::LayoutBookmarkBar, bounds is set based on the > > > > property > > > > > > visible. I think this is the deep reason. > > > > > > [1] https://cs.chromium.org/chromium/src/ui/views/view.cc > > > > type=cs&l=2065 > > > > > > > > > > > > https://codereview.chromium.org/2946813002/ > > > > > > > > > > > > > > > > -- > > > > > You received this message because you are subscribed to the Google > > Groups > > > > > "Chromium-reviews" group. > > > > > To unsubscribe from this group and stop receiving emails from it, > > send an > > > > email > > > > > to mailto:chromium-reviews+unsubscribe@chromium.org. > > > > > > > > IMO, my fix is not to avoid setting parent to null, but to set > > bookmark's > > > > height > > > > to 0 to hide it when its parent is null. > > > > > > > > > > If the parent is null the bookmark-bar is effectively hidden because it > > > isn't on screen. > > > > > > > > > > If we hide the bookmark, then contents > > > > container will fill up the void area left by the bookmark. > > > > > > > > > > I don't understand. Can you elaborate on what you mean? > > > > > > -Scott > > > > > > > > > > Thus, that void area > > > > we see when closing the browser will not appear. > > > > > > > > The test would be detecting the browser's size change after last > > > > webcontents is > > > > removed. > > > > > > > > > > > > https://codereview.chromium.org/2946813002/ > > > > > > > > > > -- > > > You received this message because you are subscribed to the Google Groups > > > "Chromium-reviews" group. > > > To unsubscribe from this group and stop receiving emails from it, send an > > email > > > to mailto:chromium-reviews+unsubscribe@chromium.org. > > > > Yes, sure. Before this CL, when you close the browser, the bookmark bar's > > parent > > is set to null. Although the bookmark bar is hidden at this time, but its > > property visible_ is not set to false. BrowserViewLayout::LayoutBookmarkBar > > [1] > > only set bookmark bar's height to 0 if property visible_ is false. But the > > bookmark bar's height+y is used to determine the position of the layout > > below > > such as contents container. Thus the bookmark bar leaves a blank area when > > you > > close the browser. (see the video in the bug thread.) > > > > So my solution is to set bookmark bar's height to 0 when bookmark bar' > > parent is > > null as well, so that the contents container's position can move up and > > fill the > > blank that would have been left by the bookmark bar. > > > > [1] > > https://cs.chromium.org/chromium/src/chrome/browser/ > > ui/views/frame/browser_view_layout.cc?q=browser_view_layout&dr=CSs&l=428 > > > > https://codereview.chromium.org/2946813002/ > > > > -- > You received this message because you are subscribed to the Google Groups > "Chromium-reviews" group. > To unsubscribe from this group and stop receiving emails from it, send an email > to mailto:chromium-reviews+unsubscribe@chromium.org. Yes, you are right. But this can avoid the blank area. The other solution is to avoid setting parent to be null when web contents is null. But I am not sure whether the change would affect other behavior. Could you give some suggestions? other behavior.
I like avoiding setting the parent to null. As I mentioned early that seems like the right fix to me. And you should easily be able to write a test for it. -Scott On Thu, Jun 22, 2017 at 8:03 PM, <weidongg@chromium.org> wrote: > On 2017/06/22 21:18:05, sky wrote: > > Wouldn't that mean with your fix we attempt to do an unnecessary > > layout/resize? > > > > -Scott > > > > On Thu, Jun 22, 2017 at 1:52 PM, <mailto:weidongg@chromium.org> wrote: > > > > > On 2017/06/22 20:29:39, sky wrote: > > > > > > > On Thu, Jun 22, 2017 at 11:12 AM, <mailto:weidongg@chromium.org> > wrote: > > > > > > > > > On 2017/06/22 03:25:46, sky wrote: > > > > > > I see it now. MaybeShowBookmarkBar uses new_parent = null, which > > > > > unparents. > > > > > > ok, so then the test should verify the bookmarkbar still has a > parent > > > > > after > > > > > > the last webcontents is removed. Such a test should fail before > your > > > fix > > > > > > and pass with your fix. Right? > > > > > > > > > > > > -Scott > > > > > > > > > > > > On Wed, Jun 21, 2017 at 3:27 PM, <mailto:weidongg@chromium.org> > > > wrote: > > > > > > > > > > > > > On 2017/06/21 19:42:39, sky wrote: > > > > > > > > > > > > > > > On Wed, Jun 21, 2017 at 9:47 AM, <mailto: > weidongg@chromium.org> > > > > > wrote: > > > > > > > > > > > > > > > > > On 2017/06/21 14:48:01, sky wrote: > > > > > > > > > > On 2017/06/21 00:37:12, weidongg wrote: > > > > > > > > > > > On 2017/06/21 00:22:58, sky wrote: > > > > > > > > > > > > On Tue, Jun 20, 2017 at 12:51 PM, <mailto: > > > > > mailto:weidongg@chromium.org> > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > In this case, I need to test whether the bookmark > is > > > > > detached > > > > > > > from > > > > > > > > > its > > > > > > > > > > > > > parent at > > > > > > > > > > > > > browser startup/shutdown. The parent will soon > become > > > > > browser > > > > > > > view > > > > > > > > > or > > > > > > > > > top > > > > > > > > > > > > > container after start up and the bookmark view will > > > soon > > > > > > > destruct > > > > > > > > > after > > > > > > > > > > > > > shutdown. I am not sure is there any way testing > this? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > What in particular can't you write a test for? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > https://codereview.chromium. > > > org/2946813002/diff/1/chrome/ > > > > > > > > > > > > > browser/ui/views/frame/browser_view.cc > > > > > > > > > > > > > File chrome/browser/ui/views/frame/browser_view.cc > > > > > (right): > > > > > > > > > > > > > > > > > > > > > > > > > > https://codereview.chromium. > > > org/2946813002/diff/1/chrome/ > > > > > > > > > > > > > browser/ui/views/frame/browser_view.cc#newcode2182 > > > > > > > > > > > > > chrome/browser/ui/views/frame/ > browser_view.cc:2182: > > > bool > > > > > > > > > > > > > show_bookmark_bar = contents && > > > > > > > > > > > > > On 2017/06/20 16:35:06, sky wrote: > > > > > > > > > > > > > > I think the bug is here. We should show the > > > bookmarkbar > > > > > if > > > > > > > there > > > > > > > > > is no > > > > > > > > > > > > > contents > > > > > > > > > > > > > > (which only happens during startup/shutudown). > > > > > > > > > > > > > > > > > > > > > > > > > > Aha I see, so I could change it to: > > > > > > > > > > > > > "bool show_bookmark_bar = > > > > > > > > > > > > > browser_->SupportsWindowFeature(Browser: > > > > > > > :FEATURE_BOOKMARKBAR);" > > > > > > > > > > > > > > > > > > > > > > > > > > https://codereview.chromium.org/2946813002/ > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > > > You received this message because you are subscribed > to > > > the > > > > > > > Google > > > > > > > > > Groups > > > > > > > > > > > > "Chromium-reviews" group. > > > > > > > > > > > > To unsubscribe from this group and stop receiving > emails > > > > > from it, > > > > > > > > > send an > > > > > > > > > > > email > > > > > > > > > > > > to mailto:chromium-reviews+unsubscribe@chromium.org. > > > > > > > > > > > > > > > > > > > > > > If I test the behavior of closing browser. The states > > > before > > > > > and > > > > > > > after > > > > > > > > > closing > > > > > > > > > > > browser is > > > > > > > > > > > the same. I am not sure how to test that bookmark bar > view > > > > > > > disappears > > > > > > > > > not > > > > > > > > > > before > > > > > > > > > > > browser view. > > > > > > > > > > > > > > > > > > > > To answer that you need to understand why this change is > > > > > necessary. > > > > > > > Why > > > > > > > > > is > > > > > > > > > this > > > > > > > > > > change necessary? Your description says to avoid the > parent > > > being > > > > > > > null, > > > > > > > > > but > > > > > > > > > that > > > > > > > > > > isn't the case. Before and after this change the parent > isn't > > > > > null. > > > > > > > > > > > > > > > > > > Updated the description. > > > > > > > > > You mentioned that the WebContents is set to null at > startup > > > and > > > > > > > shutdown. > > > > > > > > > Before this CL, if the WebContents is null, the bookmark > bar > > > view > > > > > will > > > > > > > be > > > > > > > > > detached from its parent in MaybeShowBookmarkBar(). > > > > > > > > > > > > > > > > > > > > > > > > > That's not entirely accurate. It's moved to a different > parent, > > > but > > > > > the > > > > > > > > bookmarkbarview still has a parent. So, why does that matter > > > here? > > > > > Why > > > > > > > does > > > > > > > > changing the parent cause the bar to be hidden? I suspect the > > > answer > > > > > is > > > > > > > > in BrowserViewLayout::UpdateTopContainerBounds > > > > > > > > or BrowserViewLayout::LayoutBookmarkBar. > > > > > > > > > > > > > > > > -Scott > > > > > > > > > > > > > > > > > > > > > > > > > After this CL, the > > > > > > > > > bookmark bar view's parent remains unchanged at startup and > > > > > shutdown. > > > > > > > > > > > > > > > > > > https://codereview.chromium.org/2946813002/ > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > You received this message because you are subscribed to the > > > Google > > > > > Groups > > > > > > > > "Chromium-reviews" group. > > > > > > > > To unsubscribe from this group and stop receiving emails > from it, > > > > > send an > > > > > > > email > > > > > > > > to mailto:chromium-reviews+unsubscribe@chromium.org. > > > > > > > > > > > > > > When close the browser, the bookmark is detached from top > container > > > > > and its > > > > > > > parent is set to nullptr [1]. So bookmark’s property visible is > > > true, > > > > > but > > > > > > > it is > > > > > > > not visible (maybe) because it has no parent. But in > > > > > > > BrowserViewLayout::LayoutBookmarkBar, bounds is set based on > the > > > > > property > > > > > > > visible. I think this is the deep reason. > > > > > > > [1] https://cs.chromium.org/chromium/src/ui/views/view.cc > > > > > type=cs&l=2065 > > > > > > > > > > > > > > https://codereview.chromium.org/2946813002/ > > > > > > > > > > > > > > > > > > > -- > > > > > > You received this message because you are subscribed to the > Google > > > Groups > > > > > > "Chromium-reviews" group. > > > > > > To unsubscribe from this group and stop receiving emails from it, > > > send an > > > > > email > > > > > > to mailto:chromium-reviews+unsubscribe@chromium.org. > > > > > > > > > > IMO, my fix is not to avoid setting parent to null, but to set > > > bookmark's > > > > > height > > > > > to 0 to hide it when its parent is null. > > > > > > > > > > > > > If the parent is null the bookmark-bar is effectively hidden because > it > > > > isn't on screen. > > > > > > > > > > > > > If we hide the bookmark, then contents > > > > > container will fill up the void area left by the bookmark. > > > > > > > > > > > > > I don't understand. Can you elaborate on what you mean? > > > > > > > > -Scott > > > > > > > > > > > > > Thus, that void area > > > > > we see when closing the browser will not appear. > > > > > > > > > > The test would be detecting the browser's size change after last > > > > > webcontents is > > > > > removed. > > > > > > > > > > > > > > > https://codereview.chromium.org/2946813002/ > > > > > > > > > > > > > -- > > > > You received this message because you are subscribed to the Google > Groups > > > > "Chromium-reviews" group. > > > > To unsubscribe from this group and stop receiving emails from it, > send an > > > email > > > > to mailto:chromium-reviews+unsubscribe@chromium.org. > > > > > > Yes, sure. Before this CL, when you close the browser, the bookmark > bar's > > > parent > > > is set to null. Although the bookmark bar is hidden at this time, but > its > > > property visible_ is not set to false. BrowserViewLayout:: > LayoutBookmarkBar > > > [1] > > > only set bookmark bar's height to 0 if property visible_ is false. But > the > > > bookmark bar's height+y is used to determine the position of the layout > > > below > > > such as contents container. Thus the bookmark bar leaves a blank area > when > > > you > > > close the browser. (see the video in the bug thread.) > > > > > > So my solution is to set bookmark bar's height to 0 when bookmark bar' > > > parent is > > > null as well, so that the contents container's position can move up and > > > fill the > > > blank that would have been left by the bookmark bar. > > > > > > [1] > > > https://cs.chromium.org/chromium/src/chrome/browser/ > > > ui/views/frame/browser_view_layout.cc?q=browser_view_ > layout&dr=CSs&l=428 > > > > > > https://codereview.chromium.org/2946813002/ > > > > > > > -- > > You received this message because you are subscribed to the Google Groups > > "Chromium-reviews" group. > > To unsubscribe from this group and stop receiving emails from it, send an > email > > to mailto:chromium-reviews+unsubscribe@chromium.org. > > Yes, you are right. But this can avoid the blank area. The other solution > is to > avoid setting parent to be null when web contents is null. But I am not > sure > whether the change would affect other behavior. Could you give some > suggestions? > other behavior. > > https://codereview.chromium.org/2946813002/ > -- You received this message because you are subscribed to the Google Groups "Chromium-reviews" group. To unsubscribe from this group and stop receiving emails from it, send an email to chromium-reviews+unsubscribe@chromium.org.
The CQ bit was checked by weidongg@chromium.org
The CQ bit was unchecked by weidongg@chromium.org
Description was changed from ========== Bookmark disappear first when closing browser The CL prevents the bookmark from disappearing ahead of browser by avoiding bookmark being detached from its parent at startup and shutdown when web contents are null. BUG=669321 ========== to ========== Bookmark disappear first when closing browser The CL prevents the bookmark from disappearing ahead of browser by avoiding bookmark's parent being set to nullptr at browser shutdown when web contents are null. BUG=669321 ==========
Ok, I uploaded a new patch set and added unit test. Thanks.
https://codereview.chromium.org/2946813002/diff/80001/chrome/browser/ui/views... File chrome/browser/ui/views/frame/browser_view.cc (right): https://codereview.chromium.org/2946813002/diff/80001/chrome/browser/ui/views... chrome/browser/ui/views/frame/browser_view.cc:2173: bool show_bookmark_bar = contents && I liked your earlier fix better. This code need not depend upon contents, so I prefer removing this conditional.
Yes, I agree. I uploaded a new patch set to return back to the earlier fix. Thanks.
LGTM
The CQ bit was checked by weidongg@chromium.org
CQ is trying da patch. Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
CQ is committing da patch. Bot data: {"patchset_id": 100001, "attempt_start_ts": 1498510269484450, "parent_rev": "80082bfbdb7506d138d75fc87ec40be5d246f1c6", "commit_rev": "b5cae6d3aaf71d0f6186504da2f50fef77d20982"}
Message was sent while issue was closed.
Description was changed from ========== Bookmark disappear first when closing browser The CL prevents the bookmark from disappearing ahead of browser by avoiding bookmark's parent being set to nullptr at browser shutdown when web contents are null. BUG=669321 ========== to ========== Bookmark disappear first when closing browser The CL prevents the bookmark from disappearing ahead of browser by avoiding bookmark's parent being set to nullptr at browser shutdown when web contents are null. BUG=669321 Review-Url: https://codereview.chromium.org/2946813002 Cr-Commit-Position: refs/heads/master@{#482423} Committed: https://chromium.googlesource.com/chromium/src/+/b5cae6d3aaf71d0f6186504da2f5... ==========
Message was sent while issue was closed.
Committed patchset #6 (id:100001) as https://chromium.googlesource.com/chromium/src/+/b5cae6d3aaf71d0f6186504da2f5... |