Update To 11.40.268.0
[platform/framework/web/crosswalk.git] / src / xwalk / extensions / test / external_extension_multi_process.cc
index 98017e8..f5baa04 100644 (file)
@@ -21,40 +21,9 @@ class ExternalExtensionMultiProcessTest : public XWalkExtensionsTestBase {
   ExternalExtensionMultiProcessTest()
     : register_extensions_count_(0) {}
 
-  virtual ~ExternalExtensionMultiProcessTest() {
-    original_runtimes_.clear();
-    notification_observer_.reset();
-  }
-
-  // SetUpOnMainThread is called after BrowserMainRunner was initialized and
-  // just before RunTestOnMainThread.
-  virtual void SetUpOnMainThread() OVERRIDE {
-    notification_observer_.reset(
-        new content::WindowedNotificationObserver(
-          xwalk::NOTIFICATION_RUNTIME_OPENED,
-          content::NotificationService::AllSources()));
-    original_runtimes_.assign(runtimes().begin(), runtimes().end());
-  }
-
-  // Block UI thread until a new Runtime instance is created.
-  Runtime* WaitForSingleNewRuntime() {
-    notification_observer_->Wait();
-    for (RuntimeList::const_iterator it = runtimes().begin();
-         it != runtimes().end(); ++it) {
-      RuntimeList::iterator target =
-          std::find(original_runtimes_.begin(), original_runtimes_.end(), *it);
-      // Not found means a new one.
-      if (target == original_runtimes_.end()) {
-        original_runtimes_.push_back(*it);
-        return *it;
-      }
-    }
-    return NULL;
-  }
-
   // This will be called everytime a new RenderProcess has been created.
-  virtual void CreateExtensionsForUIThread(
-      XWalkExtensionVector* extensions) OVERRIDE {
+  void CreateExtensionsForUIThread(
+      XWalkExtensionVector* extensions) override {
     register_extensions_count_++;
   }
 
@@ -63,72 +32,55 @@ class ExternalExtensionMultiProcessTest : public XWalkExtensionsTestBase {
   }
 
  private:
-  RuntimeList original_runtimes_;
-  scoped_ptr<content::WindowedNotificationObserver> notification_observer_;
-
   int register_extensions_count_;
 };
 
 IN_PROC_BROWSER_TEST_F(ExternalExtensionMultiProcessTest,
     OpenLinkInNewRuntimeAndSameRP) {
-  size_t len = runtimes().size();
-
   GURL url = GetExtensionsTestURL(base::FilePath(),
                                   base::FilePath().AppendASCII("same_rp.html"));
-
-  xwalk_test_utils::NavigateToURL(runtime(), url);
-  WaitForLoadStop(runtime()->web_contents());
-
+  Runtime* runtime = CreateRuntime(url);
+  size_t len = runtimes().size();
   EXPECT_EQ(1, CountRegisterExtensions());
 
-  SimulateMouseClick(runtime()->web_contents(), 0,
+  SimulateMouseClick(runtime->web_contents(), 0,
       blink::WebMouseEvent::ButtonLeft);
   content::RunAllPendingInMessageLoop();
-  Runtime* second = WaitForSingleNewRuntime();
-  EXPECT_TRUE(NULL != second);
-  EXPECT_NE(runtime(), second);
   EXPECT_EQ(len + 1, runtimes().size());
+  Runtime* second = runtimes().back();
+  EXPECT_TRUE(NULL != second);
+  EXPECT_NE(runtime, second);
   EXPECT_EQ(1, CountRegisterExtensions());
 }
 
 IN_PROC_BROWSER_TEST_F(ExternalExtensionMultiProcessTest,
     OpenLinkInNewRuntimeAndNewRP) {
-  size_t len = runtimes().size();
-
   GURL url = GetExtensionsTestURL(base::FilePath(),
                                   base::FilePath().AppendASCII("new_rp.html"));
-
-  xwalk_test_utils::NavigateToURL(runtime(), url);
-  WaitForLoadStop(runtime()->web_contents());
-
+  Runtime* runtime = CreateRuntime(url);
+  size_t len = runtimes().size();
   EXPECT_EQ(1, CountRegisterExtensions());
 
-  SimulateMouseClick(runtime()->web_contents(), 0,
+  SimulateMouseClick(runtime->web_contents(), 0,
       blink::WebMouseEvent::ButtonLeft);
   content::RunAllPendingInMessageLoop();
-  Runtime* second = WaitForSingleNewRuntime();
-  EXPECT_TRUE(NULL != second);
-  EXPECT_NE(runtime(), second);
   EXPECT_EQ(len + 1, runtimes().size());
+  Runtime* second = runtimes().back();
+  EXPECT_TRUE(NULL != second);
+  EXPECT_NE(runtime, second);
   EXPECT_EQ(2, CountRegisterExtensions());
 }
 
 IN_PROC_BROWSER_TEST_F(ExternalExtensionMultiProcessTest,
     CreateNewRuntimeAndNewRP) {
-  size_t len = runtimes().size();
-
   GURL url = GetExtensionsTestURL(base::FilePath(),
                                   base::FilePath().AppendASCII("new_rp.html"));
-
-  xwalk_test_utils::NavigateToURL(runtime(), url);
-  WaitForLoadStop(runtime()->web_contents());
+  Runtime* runtime = CreateRuntime(url);
+  size_t len = runtimes().size();
   EXPECT_EQ(1, CountRegisterExtensions());
 
-  Runtime* new_runtime = Runtime::CreateWithDefaultWindow(
-      runtime()->runtime_context(), url, runtime_registry());
-  EXPECT_EQ(new_runtime, WaitForSingleNewRuntime());
-  EXPECT_NE(runtime(), new_runtime);
-  content::RunAllPendingInMessageLoop();
+  Runtime* new_runtime = CreateRuntime(url);
+  EXPECT_NE(runtime, new_runtime);
   EXPECT_EQ(len + 1, runtimes().size());
   EXPECT_EQ(2, CountRegisterExtensions());
 }