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

Unified Diff: chrome/test/interactive_ui/fast_shutdown_interactive_uitest.cc

Issue 7568002: Move more files from chrome/test to chrome/test/base, part #6 (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 9 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/test/base/view_event_test_base.cc ('k') | chrome/test/interactive_ui/infobars_uitest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/test/interactive_ui/fast_shutdown_interactive_uitest.cc
===================================================================
--- chrome/test/interactive_ui/fast_shutdown_interactive_uitest.cc (revision 95314)
+++ chrome/test/interactive_ui/fast_shutdown_interactive_uitest.cc (working copy)
@@ -1,160 +0,0 @@
-// Copyright (c) 2011 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "base/file_path.h"
-#include "base/stl_util.h"
-#include "base/test/test_timeouts.h"
-#include "base/test/thread_test_helper.h"
-#include "chrome/app/chrome_command_ids.h"
-#include "chrome/browser/net/sqlite_persistent_cookie_store.h"
-#include "chrome/browser/ui/view_ids.h"
-#include "chrome/common/chrome_constants.h"
-#include "chrome/test/automation/automation_proxy.h"
-#include "chrome/test/automation/browser_proxy.h"
-#include "chrome/test/automation/tab_proxy.h"
-#include "chrome/test/automation/window_proxy.h"
-#include "chrome/test/base/ui_test_utils.h"
-#include "chrome/test/ui/ui_test.h"
-#include "content/browser/browser_thread.h"
-#include "ui/base/events.h"
-#include "ui/base/message_box_flags.h"
-#include "ui/gfx/rect.h"
-
-class FastShutdown : public UITest {
-};
-
-#if defined(OS_MACOSX)
-// SimulateOSClick is broken on the Mac: http://crbug.com/45162
-#define MAYBE_SlowTermination DISABLED_SlowTermination
-#elif defined(OS_CHROMEOS)
-// Flaky on chromeos: http://crbug.com/89173
-#define MAYBE_SlowTermination FLAKY_SlowTermination
-#else
-#define MAYBE_SlowTermination SlowTermination
-#endif
-
-// Enable some temporary debugging to diagnose flakiness on Chrome OS.
-// http://crbug.com/89173. TODO(sreeram): Delete this soon!
-#if defined(OS_CHROMEOS)
-#define HERE(x) LOG(ERROR) << "Here " << (x)
-#else
-#define HERE(x)
-#endif
-
-// Loads the cookie store from |user_data_dir|. If the given |cookie| exists,
-// puts the cookie's value in |cookie_value| and sets |has_cookie| to true.
-// Sets |has_cookie| to false if the |cookie| wasn't found.
-static void GetCookie(
- const FilePath& user_data_dir,
- const net::CookieMonster::CanonicalCookie& cookie,
- bool* has_cookie,
- std::string* cookie_value,
- const scoped_refptr<base::ThreadTestHelper>& thread_helper) {
- scoped_refptr<SQLitePersistentCookieStore> cookie_store(
- new SQLitePersistentCookieStore(
- user_data_dir.AppendASCII(chrome::kNotSignedInProfile)
- .Append(chrome::kCookieFilename)));
- HERE(1);
- std::vector<net::CookieMonster::CanonicalCookie*> cookies;
- ASSERT_TRUE(cookie_store->Load(&cookies));
- HERE(2);
- *has_cookie = false;
- for (size_t i = 0; i < cookies.size(); ++i) {
- if (cookies[i]->IsEquivalent(cookie)) {
- *has_cookie = true;
- *cookie_value = cookies[i]->Value();
- }
- }
- cookie_store = NULL;
- ASSERT_TRUE(thread_helper->Run());
- HERE(3);
- STLDeleteElements(&cookies);
- HERE(4);
-}
-
-// This tests for a previous error where uninstalling an onbeforeunload
-// handler would enable fast shutdown even if an onUnload handler still
-// existed.
-TEST_F(FastShutdown, MAYBE_SlowTermination) {
- // Set up the DB thread (used by the cookie store during its clean up).
- BrowserThread db_thread(BrowserThread::DB);
- HERE(10);
- db_thread.Start();
- HERE(11);
- scoped_refptr<base::ThreadTestHelper> thread_helper(
- new base::ThreadTestHelper(
- BrowserThread::GetMessageLoopProxyForThread(BrowserThread::DB)));
- HERE(12);
-
- // Only the name, domain and path are used in IsEquivalent(), so we don't
- // care what the other fields have.
- net::CookieMonster::CanonicalCookie cookie(
- GURL(), // url
- "unloaded", // name
- "", // value
- "", // domain
- "/", // path
- "", // mac_key
- "", // mac_algorithm
- base::Time(), // creation
- base::Time(), // expiration
- base::Time(), // last_access
- false, // secure
- false, // httponly
- false); // has_expires
- HERE(13);
-
- bool has_cookie = false;
- std::string cookie_value;
-
- // Check that the cookie (to be set during unload) doesn't exist already.
- GetCookie(user_data_dir(), cookie, &has_cookie, &cookie_value, thread_helper);
- HERE(14);
- EXPECT_FALSE(has_cookie);
- EXPECT_EQ("", cookie_value);
-
- scoped_refptr<BrowserProxy> browser(automation()->GetBrowserWindow(0));
- HERE(15);
- ASSERT_TRUE(browser.get());
- scoped_refptr<WindowProxy> window(browser->GetWindow());
- HERE(16);
- ASSERT_TRUE(window.get());
-
- // This page has an unload handler.
- const FilePath dir(FILE_PATH_LITERAL("fast_shutdown"));
- const FilePath file(FILE_PATH_LITERAL("on_unloader.html"));
- NavigateToURL(ui_test_utils::GetTestUrl(dir, file));
- HERE(17);
- gfx::Rect bounds;
- ASSERT_TRUE(window->GetViewBounds(VIEW_ID_TAB_CONTAINER, &bounds, true));
- HERE(18);
- // This click will launch a popup which has a before unload handler.
- ASSERT_TRUE(window->SimulateOSClick(bounds.CenterPoint(),
- ui::EF_LEFT_BUTTON_DOWN));
- HERE(19);
- ASSERT_TRUE(browser->WaitForTabCountToBecome(2));
- HERE(20);
- // Close the tab, removing the one and only before unload handler.
- scoped_refptr<TabProxy> tab(browser->GetTab(1));
- HERE(21);
- ASSERT_TRUE(tab->Close(true));
- HERE(22);
-
- // Close the browser. We should launch the unload handler, which sets a
- // cookie that's stored to disk.
- ASSERT_TRUE(browser->ApplyAccelerator(IDC_CLOSE_WINDOW));
- HERE(23);
-
- int exit_code = -1;
- ASSERT_TRUE(launcher_->WaitForBrowserProcessToQuit(
- TestTimeouts::action_max_timeout_ms(), &exit_code));
- HERE(24);
- EXPECT_EQ(0, exit_code); // Expect a clean shutdown.
-
- // Read the cookie and check that it has the expected value.
- GetCookie(user_data_dir(), cookie, &has_cookie, &cookie_value, thread_helper);
- HERE(25);
- EXPECT_TRUE(has_cookie);
- EXPECT_EQ("ohyeah", cookie_value);
-}
« no previous file with comments | « chrome/test/base/view_event_test_base.cc ('k') | chrome/test/interactive_ui/infobars_uitest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698