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

Issue 479: DidNavigate refactor of doom (Closed)

Created:
12 years, 3 months ago by brettw
Modified:
9 years, 7 months ago
CC:
chromium-reviews_googlegroups.com
Visibility:
Public.

Description

This is almost a complete rewrite of DidNavigate and the associated NavigationController logic. The approach is that the NavigationController should be responsible for the logic and memory management of navigation. Previously, half the logic and memory management lived in WebContents which made it very hard to figure out what was going on. I split out the various navigation types into separate functions, which then copy and update any existing NavigationEntry as necessary. Previously, WebContents would make a new one which would be manually populated with random fields (I think some were forgotten, too), and then the NavigationController may or may not commit it. Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=2201

Patch Set 1 #

Patch Set 2 : '' #

Patch Set 3 : '' #

Patch Set 4 : '' #

Patch Set 5 : '' #

Patch Set 6 : '' #

Patch Set 7 : '' #

Patch Set 8 : '' #

Unified diffs Side-by-side diffs Delta from patch set Stats (+1285 lines, -985 lines) Patch
M chrome/browser/back_forward_menu_model_unittest.cc View 2 3 4 5 6 7 1 chunk +5 lines, -15 lines 0 comments Download
M chrome/browser/dom_ui/new_tab_ui.cc View 2 3 4 5 6 7 1 chunk +3 lines, -9 lines 0 comments Download
M chrome/browser/native_ui_contents.cc View 1 2 3 4 5 6 4 chunks +26 lines, -22 lines 0 comments Download
M chrome/browser/navigation_controller.h View 1 2 3 4 5 6 7 15 chunks +236 lines, -158 lines 0 comments Download
M chrome/browser/navigation_controller.cc View 1 2 3 4 5 6 7 19 chunks +427 lines, -168 lines 4 comments Download
M chrome/browser/navigation_controller_unittest.cc View 2 3 4 5 6 7 43 chunks +442 lines, -229 lines 4 comments Download
M chrome/browser/safe_browsing/safe_browsing_blocking_page.cc View 1 2 3 4 5 6 7 3 chunks +6 lines, -16 lines 0 comments Download
M chrome/browser/session_service.cc View 2 3 4 5 6 1 chunk +7 lines, -2 lines 0 comments Download
M chrome/browser/session_service_test_helper.cc View 1 chunk +1 line, -1 line 0 comments Download
M chrome/browser/ssl_blocking_page.cc View 1 2 3 4 5 6 7 4 chunks +22 lines, -22 lines 0 comments Download
M chrome/browser/ssl_manager.cc View 1 chunk +1 line, -1 line 0 comments Download
M chrome/browser/ssl_policy.cc View 1 chunk +1 line, -1 line 0 comments Download
M chrome/browser/tab_contents.h View 1 2 3 4 5 3 chunks +10 lines, -12 lines 0 comments Download
M chrome/browser/tab_contents.cc View 1 2 3 4 5 2 chunks +14 lines, -37 lines 0 comments Download
M chrome/browser/tabs/tab_strip_model_unittest.cc View 2 3 4 5 6 7 1 chunk +0 lines, -17 lines 0 comments Download
M chrome/browser/web_contents.h View 1 2 3 4 5 5 chunks +5 lines, -22 lines 0 comments Download
M chrome/browser/web_contents.cc View 1 2 3 4 5 6 16 chunks +48 lines, -190 lines 0 comments Download
M chrome/browser/web_contents_unittest.cc View 2 3 22 chunks +25 lines, -61 lines 0 comments Download
M chrome/common/notification_types.h View 1 chunk +4 lines, -0 lines 0 comments Download
M chrome/common/render_messages.h View 1 1 chunk +2 lines, -2 lines 0 comments Download

Messages

Total messages: 12 (0 generated)
brettw
This passes all unit tests but still breaks a few UI tests related to session ...
12 years, 3 months ago (2008-09-09 15:35:12 UTC) #1
brettw
Huan, you reviewed the last in this series of patches. You may want to give ...
12 years, 3 months ago (2008-09-09 15:41:17 UTC) #2
brettw
Jay, can you look at SSL handling?
12 years, 3 months ago (2008-09-09 16:24:21 UTC) #3
wtc
I looked at ssl_manager.cc, ssl_policy.cc, and ssl_blocking_page.cc. The changes to ssl_manager.cc and ssl_policy.cc are straightforward ...
12 years, 3 months ago (2008-09-09 16:54:52 UTC) #4
jcampan
I looked at: ssl_manager.cc, ssl_policy.cc, ssl_blocking_page.cc, web_contents.cc LGTM http://codereview.chromium.org/479/diff/403/646 File chrome/browser/navigation_controller.cc (right): http://codereview.chromium.org/479/diff/403/646#newcode719 Line 719: ...
12 years, 3 months ago (2008-09-09 20:32:52 UTC) #5
brettw
http://codereview.chromium.org/479/diff/403/646 File chrome/browser/navigation_controller.cc (right): http://codereview.chromium.org/479/diff/403/646#newcode719 Line 719: // information (the rest was the default for ...
12 years, 3 months ago (2008-09-09 22:42:36 UTC) #6
Charlie Reis
The SiteInstance changes seem to look OK to me. Mainly some comment nits below. http://codereview.chromium.org/479/diff/685/413 ...
12 years, 3 months ago (2008-09-10 00:21:50 UTC) #7
brettw
New snap is up. This is final as far as I know. All the tests ...
12 years, 3 months ago (2008-09-10 19:32:25 UTC) #8
jcampan
LGTM with nits below http://codereview.chromium.org/479/diff/792/461 File chrome/browser/navigation_controller.cc (right): http://codereview.chromium.org/479/diff/792/461#newcode631 Line 631: if (existing_entry_index == -1) ...
12 years, 3 months ago (2008-09-10 22:38:12 UTC) #9
Charlie Reis
LGTM, apart from one question below. http://codereview.chromium.org/479/diff/792/461 File chrome/browser/navigation_controller.cc (right): http://codereview.chromium.org/479/diff/792/461#newcode707 Line 707: entry->set_site_instance(active_contents_->GetSiteInstance()); Hmm, ...
12 years, 3 months ago (2008-09-10 22:58:19 UTC) #10
brettw
http://codereview.chromium.org/479/diff/792/461 File chrome/browser/navigation_controller.cc (right): http://codereview.chromium.org/479/diff/792/461#newcode707 Line 707: entry->set_site_instance(active_contents_->GetSiteInstance()); This gets hit during session restore. I ...
12 years, 3 months ago (2008-09-11 02:46:36 UTC) #11
Charlie Reis
12 years, 3 months ago (2008-09-11 03:59:27 UTC) #12
http://codereview.chromium.org/479/diff/792/461
File chrome/browser/navigation_controller.cc (right):

http://codereview.chromium.org/479/diff/792/461#newcode707
Line 707: entry->set_site_instance(active_contents_->GetSiteInstance());
On 2008/09/11 02:46:36, brettw wrote:
> This gets hit during session restore. I clarified this and added a DCHECK for
> the exact circumstances.

OK

Powered by Google App Engine
This is Rietveld 408576698