From 22afe87604125f26beafa2bf04d7542f5275e66b Mon Sep 17 00:00:00 2001 From: avi Date: Thu, 28 May 2015 13:55:19 -0700 Subject: Add a few more exceptions to classifier mismatches. BUG=369661 TEST=none for now; fewer crashes later Review URL: https://codereview.chromium.org/1143423006 Cr-Commit-Position: refs/heads/master@{#331851} --- content/browser/frame_host/navigation_controller_impl.cc | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/content/browser/frame_host/navigation_controller_impl.cc b/content/browser/frame_host/navigation_controller_impl.cc index 34c05fb..c4b94df 100644 --- a/content/browser/frame_host/navigation_controller_impl.cc +++ b/content/browser/frame_host/navigation_controller_impl.cc @@ -831,6 +831,15 @@ bool NavigationControllerImpl::RendererDidNavigate( new_type == NAVIGATION_TYPE_SAME_PAGE; ignore_mismatch |= details->type == NAVIGATION_TYPE_SAME_PAGE && new_type == NAVIGATION_TYPE_EXISTING_PAGE; + // There are mismatches in the field where the new classifier thinks it's + // AUTO_SUBFRAME and the old classifier somehow thinks it's NEW or IGNORE. For + // IGNORE we know of at least one repro (https://crbug.com/492875), and for + // NEW it's not entirely clear what's going on, but we're pretty sure the new + // classifier is correct for both cases, so we're letting these mismatches go. + ignore_mismatch |= details->type == NAVIGATION_TYPE_NEW_SUBFRAME && + new_type == NAVIGATION_TYPE_AUTO_SUBFRAME; + ignore_mismatch |= details->type == NAVIGATION_TYPE_NAV_IGNORE && + new_type == NAVIGATION_TYPE_AUTO_SUBFRAME; if (base::CommandLine::ForCurrentProcess()->HasSwitch( switches::kSitePerProcess)) { // In site-per-process mode, the new classifier sometimes correctly -- cgit v1.1