Issue metadata
Sign in to add a comment
|
Regression:Task for security error page is displayed in task manager.
Reported by
vku...@etouch.net,
Apr 27 2016
|
||||||||||||||||||||||
Issue descriptionChrome Version: 51.0.2704.29(Official Build)Revision d7a063c1fedf1f6ccb6eb9f50a9028bd742652d7-refs/branch-heads/2704@{#260} (64 Bit) OS:Mac What steps will reproduce the problem? 1.Freshly launch chrome and navigate to http://malware.testing.google.test/testing/malware/ 2.Click on wrench menu,open 'task manager' via more tools, Select 'Tab:security error' and click on end process button. 3.Reload the page and again open task manager observe Actual: Task for security error page is displayed even if the crash page is not loaded. Expected: Task for security error page should be displayed only if the page is loaded completely. This is a regression issue broken in 'M49' and will soon update other info.
,
Apr 29 2016
Described here is a Mac-only TaskManager behavior change, though I suspect we might be able to repro it on other platforms using --disable-new-task-manager. Attribution to ben@'s CLs doesn't seem plausible. I'd look for a change to render_process_host_impl, content/ interstitital logic, the (old) task manager, or web_contents_observer behavior (so render_frame_host, web_contents, etc).
,
May 2 2016
This seems to repro for me in Windows as well? Tested: 52.0.2721.0 The weird bit: clicking "Reload" on the terminated 'Tab:security error', creates a task manager entry pointing at the *previous* URL for that tab (e.g. about:blank), but the tab looks like the security error. Also, the favicon in the tab strip still has a sad tab. Similar stuff happens on Mac with the new task manager ui (flip: chrome://flags/#mac-views-dialogs)
,
May 17 2016
Is this issue still happening? Honestly, it's hard to see if there's any difference between the behaviors of the task manager in the actual and expected videos. In both, the page is opened in a tab, killed, refreshed and it's there in the task manager. I'm unable to repro in linux or chrome os. Also, it seems we are using a different page now (attached).
,
May 18 2016
RE #4: Your screenshot shows a Google redirector warning as a regular website. That is not an actual Chrome warning. It's happening because the link you clicked on to test sent you through a Google redirector. Make sure to actually copy/paste the URL for the test page into Chrome when testing.
,
Jun 14 2016
avi@ or creis@, would updating the WebContentsObservers of titles changes in WebContentsImpl::NotifyNavigationStateChanged() [1] when we have INVALIDATE_TYPE_TITLE as one of the |changed_flags|, be a right thing to do?
Something like:
if (changed_flags & INVALIDATE_TYPE_TITLE) {
FOR_EACH_OBSERVER(
WebContentsObserver, observers_,
TitleWasSet(GetLastCommittedNavigationEntryForRenderManager(), false));
}
Context: In order to show the correct title of the task when there is an interstitial page, we need to inform the task manager via WebContentsObserver::TitleWasSet() that there's a change in the title as a result of this path:
#2 0x2b3efbb1a736 content::NavigationEntryImpl::SetTitle()
#3 0x2b3efbb021ba content::InterstitialPageImpl::UpdateTitle()
#4 0x2b3efbb4290b content::RenderFrameHostImpl::OnUpdateTitle()
[1]: https://cs.chromium.org/chromium/src/content/browser/web_contents/web_contents_impl.cc?type=cs&q=WebContentsImpl::NotifyNavigationStateChanged&sq=package:chromium&l=1255
,
Jun 20 2016
I totally agree that WebContentsObserver should hear about all the title changes, and this one seems to be missed at the moment. I fully support fixing that. NotifyNavigationStateChanged doesn't seem like the right place for this, though, since it's meant to notify the delegate (not WebContentsObservers directly) on a variety of different navigation-related events. Also, that might be redundant with what happens in the normal tab case. At first glance, it looks like WebContentsImpl::UpdateTitle normally calls WebContentsObserver::TitleWasSet via UpdateTitleForEntry. Maybe InterstitialPageImpl should be calling UpdateTitleForEntry on the transient NavigationEntry? I'm not sure if that's easy to wire up, but it seems like it's a step in the right direction.
,
Jun 22 2016
Re #7: Thanks! That fixes it for showing the interstitial page. However, when the interstitial page is dismissed ("Back to safety" is pressed), WebContentsObserver::TitleWasSet() doesn't get called as a result of content::InterstitialPageImpl::DontProceed(). So listeners to this event like the task manager still see the web contents title as "Security Error" Even though it changed to "New Tab".
I think we still need to call WebContentsImpl::UpdateTitleForEntry() either inside DontProceed() or Hide(). Note that we won't have the transient entry after this: https://cs.chromium.org/chromium/src/content/browser/frame_host/interstitial_page_impl.cc?sq=package:chromium&rcl=1466579912&l=674
,
Jul 14 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/6f0c1ec23bc1eabe221fccdb4b28b1d96273a705 commit 6f0c1ec23bc1eabe221fccdb4b28b1d96273a705 Author: afakhry <afakhry@chromium.org> Date: Thu Jul 14 13:55:13 2016 Using WebContents::UpdateTitleForEntry() instead of NavigationEntry::SetTitle() NavigationEntry::SetTitle() doesn't result in the emission of WebContentsObserver::TitleWasSet() events. This used to cause listeners like the task manager to show wrong titles of tabs (for example in the event of an interstitial page). BUG= 607074 TEST=content_browsertests --gtest_filter=InterstitialPageImplTest.* CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_site_isolation Review-Url: https://codereview.chromium.org/2086423005 Cr-Commit-Position: refs/heads/master@{#405485} [modify] https://crrev.com/6f0c1ec23bc1eabe221fccdb4b28b1d96273a705/chrome/browser/devtools/devtools_ui_bindings.cc [modify] https://crrev.com/6f0c1ec23bc1eabe221fccdb4b28b1d96273a705/chrome/browser/media/tab_desktop_media_list_unittest.cc [modify] https://crrev.com/6f0c1ec23bc1eabe221fccdb4b28b1d96273a705/chrome/browser/task_management/providers/web_contents/web_contents_task_provider.cc [modify] https://crrev.com/6f0c1ec23bc1eabe221fccdb4b28b1d96273a705/chrome/browser/ui/browser_commands.cc [modify] https://crrev.com/6f0c1ec23bc1eabe221fccdb4b28b1d96273a705/chrome/browser/ui/search/search_tab_helper.cc [modify] https://crrev.com/6f0c1ec23bc1eabe221fccdb4b28b1d96273a705/chrome/browser/ui/toolbar/back_forward_menu_model_unittest.cc [modify] https://crrev.com/6f0c1ec23bc1eabe221fccdb4b28b1d96273a705/chrome/test/base/browser_with_test_window_test.cc [modify] https://crrev.com/6f0c1ec23bc1eabe221fccdb4b28b1d96273a705/content/browser/frame_host/interstitial_page_impl.cc [modify] https://crrev.com/6f0c1ec23bc1eabe221fccdb4b28b1d96273a705/content/browser/frame_host/interstitial_page_impl_browsertest.cc [modify] https://crrev.com/6f0c1ec23bc1eabe221fccdb4b28b1d96273a705/content/browser/frame_host/navigation_controller_impl_unittest.cc [modify] https://crrev.com/6f0c1ec23bc1eabe221fccdb4b28b1d96273a705/content/browser/web_contents/web_contents_impl.cc [modify] https://crrev.com/6f0c1ec23bc1eabe221fccdb4b28b1d96273a705/content/browser/web_contents/web_contents_impl.h [modify] https://crrev.com/6f0c1ec23bc1eabe221fccdb4b28b1d96273a705/content/public/browser/navigation_entry.h [modify] https://crrev.com/6f0c1ec23bc1eabe221fccdb4b28b1d96273a705/content/public/browser/web_contents.h [modify] https://crrev.com/6f0c1ec23bc1eabe221fccdb4b28b1d96273a705/extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.cc
,
Jul 14 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/707a8b14b3a547d21668166d062d57a9c55767ba commit 707a8b14b3a547d21668166d062d57a9c55767ba Author: afakhry <afakhry@chromium.org> Date: Thu Jul 14 18:21:12 2016 Fix interstitial pages not updating the task manager renderers' titles and favicons After we fixed the WebContentsObserver::TitleWasSet() events not being emitted in some cases including the interstitial pages in this CL: https://codereview.chromium.org/2086423005/, we now make sure that the favicon is also updated when the title changes. We also use the DidFinishNavigation() instead of DidNavigateMainFrame(). Screen recording: https://drive.google.com/a/google.com/file/d/0B6G_-uQnf1_LX0VtUnNWaEd6cUU/view?usp=sharing BUG= 607074 Review-Url: https://codereview.chromium.org/2148083002 Cr-Commit-Position: refs/heads/master@{#405519} [modify] https://crrev.com/707a8b14b3a547d21668166d062d57a9c55767ba/chrome/browser/task_management/providers/web_contents/guest_task.cc [modify] https://crrev.com/707a8b14b3a547d21668166d062d57a9c55767ba/chrome/browser/task_management/providers/web_contents/web_contents_task_provider.cc
,
Jul 16 2016
Issue is now fixed. Failing to dismiss the interstitial page when killed for second time is tracked by this issue 620358 .
,
Dec 9 2016
Security>UX component is deprecated in favor of the Team-Security-UX label |
|||||||||||||||||||||||
►
Sign in to add a comment |
|||||||||||||||||||||||
Comment 1 by vku...@etouch.net
, Apr 27 2016Labels: hasbisect
Owner: ben@chromium.org
Status: Assigned (was: Unconfirmed)
1.7 MB
1.7 MB Download
1.7 MB
1.7 MB Download