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

Issue 1148953014: Fix the commit type for out-of-process iframes. (Closed)

Created:
5 years, 7 months ago by Charlie Reis
Modified:
5 years, 6 months ago
CC:
chromium-reviews, mlamouri+watch-content_chromium.org, creis+watch_chromium.org, nasko+codewatch_chromium.org, jam, darin-cc_chromium.org, mkwst+moarreviews-renderer_chromium.org, site-isolation-reviews_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Fix the commit type for out-of-process iframes. Passes a has_committed_real_load param to the renderer to let the (possibly new) FrameLoader know if there have been commits in that frame in the past, perhaps in another process. Also fixes broken invariants in NavigationController and tests. Only affects --site-per-process mode. BUG=464014 TEST=Navigation tests still pass. Committed: https://crrev.com/62109d9af7c8db2c1bcaef715f04ca92b4d59746 Cr-Commit-Position: refs/heads/master@{#331712}

Patch Set 1 #

Patch Set 2 : Merge test and clean up #

Patch Set 3 : More cleanup #

Patch Set 4 : Add tests and fix initial blank commit #

Patch Set 5 : Update tests #

Patch Set 6 : Rebase #

Patch Set 7 : Update test #

Patch Set 8 : Fix failing tests #

Total comments: 3

Patch Set 9 : Clear subframe pending entry. #

Total comments: 3

Patch Set 10 : Rebase and set ignore_mismatch #

Patch Set 11 : Rebase for classifier revert #

Unified diffs Side-by-side diffs Delta from patch set Stats (+364 lines, -64 lines) Patch
M content/browser/frame_host/navigation_controller_impl.h View 1 2 chunks +6 lines, -0 lines 0 comments Download
M content/browser/frame_host/navigation_controller_impl.cc View 1 2 3 4 5 6 7 8 9 10 7 chunks +21 lines, -25 lines 0 comments Download
M content/browser/frame_host/navigation_controller_impl_browsertest.cc View 1 2 3 4 5 6 7 8 8 chunks +254 lines, -12 lines 0 comments Download
M content/browser/frame_host/navigation_entry_impl.h View 1 2 3 4 chunks +14 lines, -0 lines 0 comments Download
M content/browser/frame_host/navigation_entry_impl.cc View 1 2 3 6 chunks +48 lines, -26 lines 0 comments Download
M content/browser/frame_host/navigation_request.cc View 1 2 3 4 5 2 chunks +2 lines, -1 line 0 comments Download
M content/browser/frame_host/navigator_impl.cc View 1 1 chunk +1 line, -0 lines 0 comments Download
M content/common/frame_messages.h View 1 2 3 4 5 1 chunk +1 line, -0 lines 0 comments Download
M content/common/navigation_params.h View 1 2 2 chunks +7 lines, -0 lines 0 comments Download
M content/common/navigation_params.cc View 1 3 chunks +3 lines, -0 lines 0 comments Download
M content/renderer/render_frame_impl.cc View 1 2 3 4 5 6 7 8 9 1 chunk +7 lines, -0 lines 0 comments Download

Messages

Total messages: 23 (8 generated)
Charlie Reis
Avi: Can you take a look? I'm down to one failing test (SitePerProcessDevToolsBrowserTest.CrossSiteIframeAgentHost), which I'm ...
5 years, 6 months ago (2015-05-27 17:26:24 UTC) #2
Charlie Reis
SitePerProcessDevToolsBrowserTest.CrossSiteIframeAgentHost should be fixed in patch 9.
5 years, 6 months ago (2015-05-27 19:16:52 UTC) #3
Avi (use Gerrit)
LGTM otherwise. https://codereview.chromium.org/1148953014/diff/160001/content/browser/frame_host/navigation_controller_impl.cc File content/browser/frame_host/navigation_controller_impl.cc (right): https://codereview.chromium.org/1148953014/diff/160001/content/browser/frame_host/navigation_controller_impl.cc#newcode844 content/browser/frame_host/navigation_controller_impl.cc:844: details->type = new_type; One way of doing ...
5 years, 6 months ago (2015-05-27 19:26:05 UTC) #4
Charlie Reis
Thanks! I'll wait for the other CLs to land and rebase this before landing it. ...
5 years, 6 months ago (2015-05-27 19:31:19 UTC) #5
Avi (use Gerrit)
https://codereview.chromium.org/1148953014/diff/160001/content/browser/frame_host/navigation_controller_impl.cc File content/browser/frame_host/navigation_controller_impl.cc (right): https://codereview.chromium.org/1148953014/diff/160001/content/browser/frame_host/navigation_controller_impl.cc#newcode844 content/browser/frame_host/navigation_controller_impl.cc:844: details->type = new_type; On 2015/05/27 19:31:19, Charlie Reis wrote: ...
5 years, 6 months ago (2015-05-27 19:34:15 UTC) #6
Nate Chapin
render_frame_impl.cc changes LGTM
5 years, 6 months ago (2015-05-27 19:47:40 UTC) #7
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1148953014/200001
5 years, 6 months ago (2015-05-27 21:38:46 UTC) #10
Charlie Reis
Nasko, can you review frame_messages.h for IPC owners?
5 years, 6 months ago (2015-05-27 21:41:25 UTC) #12
nasko
IPC LGTM
5 years, 6 months ago (2015-05-27 21:47:16 UTC) #13
commit-bot: I haz the power
Try jobs failed on following builders: mac_chromium_rel_ng on tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/mac_chromium_rel_ng/builds/70268)
5 years, 6 months ago (2015-05-28 00:23:06 UTC) #15
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1148953014/200001
5 years, 6 months ago (2015-05-28 00:32:23 UTC) #19
commit-bot: I haz the power
Committed patchset #11 (id:200001)
5 years, 6 months ago (2015-05-28 01:28:52 UTC) #20
commit-bot: I haz the power
Patchset 11 (id:??) landed as https://crrev.com/62109d9af7c8db2c1bcaef715f04ca92b4d59746 Cr-Commit-Position: refs/heads/master@{#331712}
5 years, 6 months ago (2015-05-28 01:30:23 UTC) #21
Cait (Slow)
A revert of this CL (patchset #11 id:200001) has been created in https://codereview.chromium.org/1157373002/ by caitkp@chromium.org. ...
5 years, 6 months ago (2015-05-28 14:34:04 UTC) #22
zhaoqin
5 years, 6 months ago (2015-05-28 15:15:44 UTC) #23
Message was sent while issue was closed.
On 2015/05/28 14:34:04, Cait wrote:
> A revert of this CL (patchset #11 id:200001) has been created in
> https://codereview.chromium.org/1157373002/ by mailto:caitkp@chromium.org.
> 
> The reason for reverting is: Broke SitesPerProcess Tests on Mac OS 10.9
> 
> https://build.chromium.org/p/chromium.mac/builders/Mac10.9%20Tests/builds/2330
> 
> Stack trace:
> SitePerProcessBrowserTest.RFPHDestruction (run #1):
> [ RUN      ] SitePerProcessBrowserTest.RFPHDestruction
>
[2448:1287:0527/200828:279060882432:WARNING:vt_video_decode_accelerator.cc(198)]
> Failed to create hardware VideoToolbox session. Hardware accelerated video
> decoding will be disabled.
> BrowserTestBase signal handler received SIGTERM. Backtrace:
> 0   content_browsertests                0x000000010566a983
> base::debug::StackTrace::StackTrace() + 19
> 1   content_browsertests                0x0000000105432fa1 content::(anonymous
> namespace)::DumpStackTraceSignalHandler(int) + 65
> 2   libsystem_platform.dylib            0x00007fff924fd5aa _sigtramp + 26
> 3   ???                                 0x0000000000000010 0x0 + 16
> 4   CoreFoundation                      0x00007fff94b28f15
> __CFRunLoopServiceMachPort + 181
> 5   CoreFoundation                      0x00007fff94b28539 __CFRunLoopRun +
1161
> 6   CoreFoundation                      0x00007fff94b27e75
CFRunLoopRunSpecific
> + 309
> 7   HIToolbox                           0x00007fff8dc8ca0d
> RunCurrentEventLoopInMode + 226
> 8   HIToolbox                           0x00007fff8dc8c7b7
> ReceiveNextEventCommon + 479
> 9   HIToolbox                           0x00007fff8dc8c5bc
> _BlockUntilNextEventMatchingListInModeWithFilter + 65
> 10  AppKit                              0x00007fff8b3ca24e _DPSNextEvent +
1434
> 11  AppKit                              0x00007fff8b3c989b -[NSApplication
> nextEventMatchingMask:untilDate:inMode:dequeue:] + 122
> 12  AppKit                              0x00007fff8b3bd99c -[NSApplication
run]
> + 553
> 13  content_browsertests                0x0000000105662681
> base::MessagePumpNSApplication::DoRun(base::MessagePump::Delegate*) + 321
> 14  content_browsertests                0x0000000105661e2c
> base::MessagePumpCFRunLoopBase::Run(base::MessagePump::Delegate*) + 92
> 15  content_browsertests                0x0000000105699eb3
base::RunLoop::Run()
> + 99
> 16  content_browsertests                0x00000001054416df
> content::RunThisRunLoop(base::RunLoop*) + 79
> 17  content_browsertests                0x0000000105442570
> content::NavigateFrameToURL(content::FrameTreeNode*, GURL const&) + 112
> 18  content_browsertests                0x000000010508b455
> content::SitePerProcessBrowserTest_RFPHDestruction_Test::RunTestOnMainThread()
+
> 325
> 19  content_browsertests                0x00000001053b1d7d
> content::ContentBrowserTest::RunTestOnMainThreadLoop() + 205
> 20  content_browsertests                0x0000000105432d56
> content::BrowserTestBase::ProxyRunTestOnMainThreadLoop() + 262
> 21  content_browsertests                0x00000001053d84a2
> content::ShellBrowserMainParts::PreMainMessageLoopRun() + 210
> 22  content_browsertests                0x0000000107ae36ef
> content::BrowserMainLoop::PreMainMessageLoopRun() + 143
> 23  content_browsertests                0x0000000107d670e7
> content::StartupTaskRunner::RunAllTasksNow() + 39
> 24  content_browsertests                0x0000000107ae1d9e
> content::BrowserMainLoop::CreateStartupTasks() + 718
> 25  content_browsertests                0x0000000107ae5b55
> content::BrowserMainRunnerImpl::Initialize(content::MainFunctionParams const&)
+
> 405
> 26  content_browsertests                0x00000001053d7ee9
> ShellBrowserMain(content::MainFunctionParams const&,
> scoped_ptr\u003Ccontent::BrowserMainRunner,
> base::DefaultDeleter\u003Ccontent::BrowserMainRunner> > const&) + 25
> 27  content_browsertests                0x00000001053c14ce
> content::ShellMainDelegate::RunProcess(std::string const&,
> content::MainFunctionParams const&) + 110
> 28  content_browsertests                0x0000000107a70f35
> content::RunNamedProcessTypeMain(std::string const&,
content::MainFunctionParams
> const&, content::ContentMainDelegate*) + 293
> 29  content_browsertests                0x0000000107a715bc
> content::ContentMainRunnerImpl::Run() + 92
> 30  content_browsertests                0x0000000107a70c86
> content::ContentMain(content::ContentMainParams const&) + 54
> 31  content_browsertests                0x00000001054329bd
> content::BrowserTestBase::SetUp() + 765
> 32  content_browsertests                0x00000001053b1c22
> content::ContentBrowserTest::SetUp() + 322
> 33  content_browsertests                0x000000010556c66f
testing::Test::Run()
> + 319
> 34  content_browsertests                0x000000010556d2a4
> testing::TestInfo::Run() + 436
> 35  content_browsertests                0x000000010556d733
> testing::TestCase::Run() + 467
> 36  content_browsertests                0x0000000105573c7b
> testing::internal::UnitTestImpl::RunAllTests() + 827
> 37  content_browsertests                0x0000000105573911
> testing::UnitTest::Run() + 257
> 38  content_browsertests                0x0000000105453acb
> base::TestSuite::Run() + 171
> 39  content_browsertests                0x00000001053b28aa
> content::ContentTestLauncherDelegate::RunTestSuite(int, char**) + 42
> 40  content_browsertests                0x000000010543e0d1
> content::LaunchTests(content::TestLauncherDelegate*, int, int, char**) + 321
> 41  content_browsertests                0x00000001053b284a main + 74
> 42  content_browsertests                0x0000000104ed6234 start + 52
> 43  ???                                 0x0000000000000009 0x0 + .

It also break many memory fyi bots
http://build.chromium.org/p/chromium.memory.fyi/builders/Linux%20MSan%20Tests...
http://build.chromium.org/p/chromium.memory.fyi/builders/Linux%20ChromeOS%20M...
http://build.chromium.org/p/chromium.memory.fyi/builders/Windows%20Content%20...

Powered by Google App Engine
This is Rietveld 408576698