| Index: content/renderer/render_view_browsertest.cc
|
| diff --git a/content/renderer/render_view_browsertest.cc b/content/renderer/render_view_browsertest.cc
|
| index 1c0d0741a387b3b19b007cc065e87043de1c43e1..0f44b7c980a4aab3a6e63b2acd9e8200d0b33c8f 100644
|
| --- a/content/renderer/render_view_browsertest.cc
|
| +++ b/content/renderer/render_view_browsertest.cc
|
| @@ -7,10 +7,16 @@
|
| #include "base/shared_memory.h"
|
| #include "base/string_util.h"
|
| #include "base/utf_string_conversions.h"
|
| +#include "chrome/browser/ui/browser.h"
|
| +#include "chrome/common/chrome_notification_types.h"
|
| #include "chrome/test/base/render_view_test.h"
|
| +#include "chrome/test/base/in_process_browser_test.h"
|
| +#include "chrome/test/base/ui_test_utils.h"
|
| #include "content/common/native_web_keyboard_event.h"
|
| #include "content/common/view_messages.h"
|
| +#include "content/browser/tab_contents/tab_contents.h"
|
| #include "net/base/net_errors.h"
|
| +#include "net/test/test_server.h"
|
| #include "testing/gtest/include/gtest/gtest.h"
|
| #include "third_party/WebKit/Source/WebKit/chromium/public/WebString.h"
|
| #include "third_party/WebKit/Source/WebKit/chromium/public/WebURLError.h"
|
| @@ -850,3 +856,53 @@ TEST_F(RenderViewTest, UpdateTargetURLWithInvalidURL) {
|
| view_->setMouseOverURL(WebKit::WebURL(invalid_gurl));
|
| EXPECT_EQ(invalid_gurl, view_->target_url_);
|
| }
|
| +
|
| +class InProcessRenderViewBrowserTest : public InProcessBrowserTest {
|
| + public:
|
| + InProcessRenderViewBrowserTest() {
|
| + EnableDOMAutomation();
|
| + }
|
| + protected:
|
| + RenderViewHost* render_view_host() {
|
| + return browser()->GetSelectedTabContents()->render_view_host();
|
| + }
|
| +
|
| + bool GetCreatedWindowName(const GURL& url,
|
| + const wchar_t* function,
|
| + std::string* window_name) {
|
| + ui_test_utils::NavigateToURL(browser(), url);
|
| +
|
| + ui_test_utils::WindowedNotificationObserver observer(
|
| + chrome::NOTIFICATION_BROWSER_WINDOW_READY,
|
| + NotificationService::AllSources());
|
| +
|
| + if (!ui_test_utils::ExecuteJavaScriptAndExtractString(
|
| + render_view_host(), L"", function, window_name))
|
| + return false;
|
| +
|
| + // observer.Wait();
|
| + return true;
|
| + }
|
| +};
|
| +
|
| +// Regression test for http://crbug.com/88129
|
| +IN_PROC_BROWSER_TEST_F(InProcessRenderViewBrowserTest, WindowOpen1) {
|
| + ASSERT_TRUE(test_server()->Start());
|
| +
|
| + GURL url(test_server()->GetURL("files/window.open.blank.html"));
|
| + std::string window_name;
|
| + ASSERT_TRUE(GetCreatedWindowName(url, L"openWindow1();", &window_name));
|
| +
|
| + EXPECT_EQ(window_name, "blank") << "Actual Window Name: " << window_name;
|
| +}
|
| +
|
| +// Regression test for http://crbug.com/88129
|
| +IN_PROC_BROWSER_TEST_F(InProcessRenderViewBrowserTest, WindowOpen2) {
|
| + ASSERT_TRUE(test_server()->Start());
|
| +
|
| + GURL url(test_server()->GetURL("files/window.open.blank.html"));
|
| + std::string window_name;
|
| + ASSERT_TRUE(GetCreatedWindowName(url, L"openWindow2();", &window_name));
|
| +
|
| + EXPECT_EQ(window_name, "") << "Actual Window Name: " << window_name;
|
| +}
|
|
|