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

Issue 160229: Merge 21531 - Fix a race condition where rapid back/forward clicks could clos... (Closed)

Created:
11 years, 5 months ago by laforge
Modified:
9 years, 7 months ago
Reviewers:
brettw
CC:
chromium-reviews_googlegroups.com, darin (slow to review), brettw, jam, Ben Goodger (Google)
Visibility:
Public.

Description

Merge 21531 - Fix a race condition where rapid back/forward clicks could close a tab This can be triggered when you're on the new tab page, going to *two* other sites, then rapidly hitting back and forward randomly. If a crosssite transition was canceled before the original page responds with an "OK to close me" message, it will mistakenly categorize the close as not just for the RenderView (correspondong to one side of the crosssite transition) but for the entire tab. This change adds an explicit parameter on the messages indicating whether it's for interstials or for the tab so we don't have to rely on the request still being active. This also adds the "requesting process + route" in addition to the "new process + request" so we can be more clear about sending the messages to the correct place. The previous patch conbimed these in a confusing way. BUG=16246 TEST=none Review URL: http://codereview.chromium.org/159255 TBR=brettw@chromium.org Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=21765

Patch Set 1 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+206 lines, -111 lines) Patch
MM chrome/browser/browser.cc View 1 chunk +1 line, -1 line 0 comments Download
MM chrome/browser/renderer_host/browser_render_process_host.h View 1 chunk +1 line, -2 lines 0 comments Download
MM chrome/browser/renderer_host/browser_render_process_host.cc View 1 chunk +2 lines, -4 lines 0 comments Download
MM chrome/browser/renderer_host/mock_render_process_host.h View 1 chunk +1 line, -2 lines 0 comments Download
MM chrome/browser/renderer_host/mock_render_process_host.cc View 1 chunk +1 line, -2 lines 0 comments Download
MM chrome/browser/renderer_host/render_process_host.h View 2 chunks +3 lines, -2 lines 0 comments Download
MM chrome/browser/renderer_host/render_view_host.h View 1 chunk +12 lines, -15 lines 0 comments Download
MM chrome/browser/renderer_host/render_view_host.cc View 1 chunk +18 lines, -25 lines 0 comments Download
MM chrome/browser/renderer_host/render_widget_helper.h View 3 chunks +3 lines, -4 lines 0 comments Download
MM chrome/browser/renderer_host/render_widget_helper.cc View 2 chunks +5 lines, -8 lines 0 comments Download
MM chrome/browser/renderer_host/resource_dispatcher_host.h View 2 chunks +2 lines, -1 line 0 comments Download
MM chrome/browser/renderer_host/resource_dispatcher_host.cc View 6 chunks +60 lines, -26 lines 0 comments Download
MM chrome/browser/tab_contents/render_view_host_manager.cc View 3 chunks +11 lines, -4 lines 0 comments Download
MM chrome/common/render_messages.h View 2 chunks +71 lines, -0 lines 0 comments Download
MM chrome/common/render_messages_internal.h View 2 chunks +9 lines, -8 lines 0 comments Download
MM chrome/renderer/render_view.h View 2 chunks +2 lines, -1 line 0 comments Download
MM chrome/renderer/render_view.cc View 2 chunks +4 lines, -6 lines 0 comments Download

Messages

Total messages: 2 (0 generated)
laforge
11 years, 5 months ago (2009-07-28 00:35:57 UTC) #1
brettw
11 years, 5 months ago (2009-07-28 02:47:44 UTC) #2
LGTM

On Mon, Jul 27, 2009 at 5:35 PM, <laforge@chromium.org> wrote:
> Reviewers: brettw,
>
> Description:
> Merge 21531 - Fix a race condition where rapid back/forward clicks could
> close a tab
>
> This can be triggered when you're on the new tab page, going to *two*
> other
> sites, then rapidly hitting back and forward randomly. If a crosssite
> transition was canceled before the original page responds with an "OK to
> close
> me" message, it will mistakenly categorize the close as not just for the
> RenderView (correspondong to one side of the crosssite transition) but
> for the
> entire tab.
>
> This change adds an explicit parameter on the messages indicating
> whether it's
> for interstials or for the tab so we don't have to rely on the request
> still
> being active.
>
> This also adds the "requesting process + route" in addition to the
> "new process + request" so we can be more clear about sending the
> messages to
> the correct place. The previous patch conbimed these in a confusing way.
>
> BUG=3D16246
> TEST=3Dnone
> Review URL: http://codereview.chromium.org/159255
>
> TBR=3Dbrettw@chromium.org
>
>
> Please review this at http://codereview.chromium.org/160229
>
> SVN Base: svn://chrome-svn/chrome/branches/195/src/
>
> Affected files:
> =A0MM =A0 =A0chrome/browser/browser.cc
> =A0MM =A0 =A0chrome/browser/renderer_host/browser_render_process_host.h
> =A0MM =A0 =A0chrome/browser/renderer_host/browser_render_process_host.cc
> =A0MM =A0 =A0chrome/browser/renderer_host/mock_render_process_host.h
> =A0MM =A0 =A0chrome/browser/renderer_host/mock_render_process_host.cc
> =A0MM =A0 =A0chrome/browser/renderer_host/render_process_host.h
> =A0MM =A0 =A0chrome/browser/renderer_host/render_view_host.h
> =A0MM =A0 =A0chrome/browser/renderer_host/render_view_host.cc
> =A0MM =A0 =A0chrome/browser/renderer_host/render_widget_helper.h
> =A0MM =A0 =A0chrome/browser/renderer_host/render_widget_helper.cc
> =A0MM =A0 =A0chrome/browser/renderer_host/resource_dispatcher_host.h
> =A0MM =A0 =A0chrome/browser/renderer_host/resource_dispatcher_host.cc
> =A0MM =A0 =A0chrome/browser/tab_contents/render_view_host_manager.cc
> =A0MM =A0 =A0chrome/common/render_messages.h
> =A0MM =A0 =A0chrome/common/render_messages_internal.h
> =A0MM =A0 =A0chrome/renderer/render_view.h
> =A0MM =A0 =A0chrome/renderer/render_view.cc
>
>
>

Powered by Google App Engine
This is Rietveld 408576698