mirror of
https://bitbucket.org/chromiumembedded/cef
synced 2025-06-05 21:39:12 +02:00
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:
@@ -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) {
|
||||
|
Reference in New Issue
Block a user