Remove render thread created callbacks (see issue #2498)

With site-per-process enabled a spare renderer process will be created
for use with a future browser or navigation. Consequently the
|extra_info| parameter populated in OnRenderProcessThreadCreated will no
longer be delivered to OnRenderThreadCreated in the expected renderer
process. To avoid confusion these callbacks have been removed completely.

After this change CefRenderProcessHandler::OnWebKitInitialized should
be used for startup tasks in the render process, and OnBrowserCreated
should be used in the render process to recieve |extra_info| passed from
CefBrowserHost::CreateBrowser or CefLifeSpanHandler::OnBeforePopup.
This commit is contained in:
Marshall Greenblatt
2020-07-10 13:04:41 -07:00
parent 6573df6cc3
commit 280c9127c1
22 changed files with 14 additions and 254 deletions

View File

@@ -1042,35 +1042,6 @@ const char kOrderNavMsg[] = "NavigationTest.OrderNav";
const char kOrderNavClosedMsg[] = "NavigationTest.OrderNavClosed";
const char kOrderNavTestCmdKey[] = "nav-order-test";
void SetOrderNavExtraInfo(CefRefPtr<CefListValue> extra_info) {
// Arbitrary data for testing.
extra_info->SetBool(0, true);
CefRefPtr<CefDictionaryValue> dict = CefDictionaryValue::Create();
dict->SetInt("key1", 5);
dict->SetString("key2", "test string");
extra_info->SetDictionary(1, dict);
extra_info->SetDouble(2, 5.43322);
extra_info->SetString(3, "some string");
}
// Browser side.
class OrderNavBrowserTest : public ClientAppBrowser::Delegate {
public:
OrderNavBrowserTest() {}
void OnRenderProcessThreadCreated(
CefRefPtr<ClientAppBrowser> app,
CefRefPtr<CefListValue> extra_info) override {
// Some data that we'll check for. Note that this leaks into all renderer
// process test cases, but that shouldn't be an issue since we only check
// the result in this test case.
SetOrderNavExtraInfo(extra_info);
}
protected:
IMPLEMENT_REFCOUNTING(OrderNavBrowserTest);
};
class OrderNavLoadState {
public:
OrderNavLoadState(bool is_popup, bool browser_side)
@@ -1154,21 +1125,7 @@ class OrderNavRendererTest : public ClientAppRenderer::Delegate,
state_main_(false, false),
state_popup_(true, false) {}
void OnRenderThreadCreated(CefRefPtr<ClientAppRenderer> app,
CefRefPtr<CefListValue> extra_info) override {
EXPECT_FALSE(got_render_thread_created_);
EXPECT_FALSE(got_webkit_initialized_);
got_render_thread_created_.yes();
// Verify that |extra_info| transferred successfully.
CefRefPtr<CefListValue> expected = CefListValue::Create();
SetOrderNavExtraInfo(expected);
TestListEqual(expected, extra_info);
}
void OnWebKitInitialized(CefRefPtr<ClientAppRenderer> app) override {
EXPECT_TRUE(got_render_thread_created_);
EXPECT_FALSE(got_webkit_initialized_);
got_webkit_initialized_.yes();
@@ -1181,7 +1138,6 @@ class OrderNavRendererTest : public ClientAppRenderer::Delegate,
if (!run_test_)
return;
EXPECT_TRUE(got_render_thread_created_);
EXPECT_TRUE(got_webkit_initialized_);
if (browser->IsPopup()) {
@@ -1210,7 +1166,6 @@ class OrderNavRendererTest : public ClientAppRenderer::Delegate,
if (!run_test_)
return;
EXPECT_TRUE(got_render_thread_created_);
EXPECT_TRUE(got_webkit_initialized_);
if (browser->IsPopup()) {
@@ -1250,7 +1205,6 @@ class OrderNavRendererTest : public ClientAppRenderer::Delegate,
bool isLoading,
bool canGoBack,
bool canGoForward) override {
EXPECT_TRUE(got_render_thread_created_);
EXPECT_TRUE(got_webkit_initialized_);
if (browser->IsPopup()) {
@@ -1274,7 +1228,6 @@ class OrderNavRendererTest : public ClientAppRenderer::Delegate,
void OnLoadStart(CefRefPtr<CefBrowser> browser,
CefRefPtr<CefFrame> frame,
TransitionType transition_type) override {
EXPECT_TRUE(got_render_thread_created_);
EXPECT_TRUE(got_webkit_initialized_);
if (browser->IsPopup()) {
@@ -1293,7 +1246,6 @@ class OrderNavRendererTest : public ClientAppRenderer::Delegate,
void OnLoadEnd(CefRefPtr<CefBrowser> browser,
CefRefPtr<CefFrame> frame,
int httpStatusCode) override {
EXPECT_TRUE(got_render_thread_created_);
EXPECT_TRUE(got_webkit_initialized_);
if (browser->IsPopup()) {
@@ -1358,7 +1310,6 @@ class OrderNavRendererTest : public ClientAppRenderer::Delegate,
int browser_id_main_;
int browser_id_popup_;
CefRefPtr<CefBrowser> browser_main_;
TrackCallback got_render_thread_created_;
TrackCallback got_webkit_initialized_;
TrackCallback got_browser_created_main_;
TrackCallback got_browser_destroyed_main_;
@@ -3530,12 +3481,6 @@ TEST(NavigationTest, ExtraInfo) {
ReleaseAndWaitForDestructor(handler);
}
// Entry point for creating navigation browser test objects.
// Called from client_app_delegates.cc.
void CreateNavigationBrowserTests(ClientAppBrowser::DelegateSet& delegates) {
delegates.insert(new OrderNavBrowserTest);
}
// Entry point for creating navigation renderer test objects.
// Called from client_app_delegates.cc.
void CreateNavigationRendererTests(ClientAppRenderer::DelegateSet& delegates) {