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

Unified Diff: chrome/test/interactive_ui/view_event_test_base.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/interactive_ui/view_event_test_base.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/test/interactive_ui/view_event_test_base.cc
===================================================================
--- chrome/test/interactive_ui/view_event_test_base.cc (revision 95314)
+++ chrome/test/interactive_ui/view_event_test_base.cc (working copy)
@@ -1,171 +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 "chrome/test/interactive_ui/view_event_test_base.h"
-
-#if defined(OS_WIN)
-#include <ole2.h>
-#endif
-
-#include "base/compiler_specific.h"
-#include "base/message_loop.h"
-#include "base/string_number_conversions.h"
-#include "chrome/browser/automation/ui_controls.h"
-#include "chrome/test/base/ui_test_utils.h"
-#include "views/view.h"
-#include "views/widget/widget.h"
-
-namespace {
-
-// View subclass that allows you to specify the preferred size.
-class TestView : public views::View {
- public:
- TestView() {}
-
- void SetPreferredSize(const gfx::Size& size) {
- preferred_size_ = size;
- PreferredSizeChanged();
- }
-
- gfx::Size GetPreferredSize() {
- if (!preferred_size_.IsEmpty())
- return preferred_size_;
- return View::GetPreferredSize();
- }
-
- virtual void Layout() {
- View* child_view = child_at(0);
- child_view->SetBounds(0, 0, width(), height());
- }
-
- private:
- gfx::Size preferred_size_;
-
- DISALLOW_COPY_AND_ASSIGN(TestView);
-};
-
-// Delay in background thread before posting mouse move.
-const int kMouseMoveDelayMS = 200;
-
-} // namespace
-
-ViewEventTestBase::ViewEventTestBase()
- : window_(NULL),
- content_view_(NULL),
- ALLOW_THIS_IN_INITIALIZER_LIST(method_factory_(this)) {
-}
-
-void ViewEventTestBase::Done() {
- // Cancel the pending time-out.
- method_factory_.RevokeAll();
-
- MessageLoop::current()->Quit();
-
-#if defined(OS_WIN)
- // We need to post a message to tickle the Dispatcher getting called and
- // exiting out of the nested loop. Without this the quit never runs.
- PostMessage(window_->GetNativeWindow(), WM_USER, 0, 0);
-#endif
-
- // If we're in a nested message loop, as is the case with menus, we need
- // to quit twice. The second quit does that for us.
- MessageLoop::current()->PostTask(FROM_HERE, new MessageLoop::QuitTask());
-}
-
-void ViewEventTestBase::SetUp() {
-#if defined(OS_WIN)
- OleInitialize(NULL);
-#endif
- window_ = views::Widget::CreateWindow(this);
-}
-
-void ViewEventTestBase::TearDown() {
- if (window_) {
-#if defined(OS_WIN)
- DestroyWindow(window_->GetNativeWindow());
-#else
- window_->Close();
- MessageLoop::current()->PostTask(FROM_HERE, new MessageLoop::QuitTask());
- ui_test_utils::RunMessageLoop();
-#endif
- window_ = NULL;
- }
-#if defined(OS_WIN)
- OleUninitialize();
-#endif
-}
-
-bool ViewEventTestBase::CanResize() const {
- return true;
-}
-
-views::View* ViewEventTestBase::GetContentsView() {
- if (!content_view_) {
- // Wrap the real view (as returned by CreateContentsView) in a View so
- // that we can customize the preferred size.
- TestView* test_view = new TestView();
- test_view->SetPreferredSize(GetPreferredSize());
- test_view->AddChildView(CreateContentsView());
- content_view_ = test_view;
- }
- return content_view_;
-}
-
-const views::Widget* ViewEventTestBase::GetWidget() const {
- return content_view_->GetWidget();
-}
-
-views::Widget* ViewEventTestBase::GetWidget() {
- return content_view_->GetWidget();
-}
-
-ViewEventTestBase::~ViewEventTestBase() {
-}
-
-void ViewEventTestBase::StartMessageLoopAndRunTest() {
- window_->Show();
- // Make sure the window is the foreground window, otherwise none of the
- // mouse events are going to be targeted correctly.
-#if defined(OS_WIN)
- SetForegroundWindow(window_->GetNativeWindow());
-#endif
-
- // Flush any pending events to make sure we start with a clean slate.
- MessageLoop::current()->RunAllPending();
-
- // Schedule a task that starts the test. Need to do this as we're going to
- // run the message loop.
- MessageLoop::current()->PostTask(
- FROM_HERE,
- NewRunnableMethod(this, &ViewEventTestBase::DoTestOnMessageLoop));
-
- MessageLoop::current()->Run();
-}
-
-gfx::Size ViewEventTestBase::GetPreferredSize() {
- return gfx::Size();
-}
-
-void ViewEventTestBase::ScheduleMouseMoveInBackground(int x, int y) {
- if (!dnd_thread_.get()) {
- dnd_thread_.reset(new base::Thread("mouse-move-thread"));
- dnd_thread_->Start();
- }
- dnd_thread_->message_loop()->PostDelayedTask(
- FROM_HERE, NewRunnableFunction(&ui_controls::SendMouseMove, x, y),
- kMouseMoveDelayMS);
-}
-
-void ViewEventTestBase::StopBackgroundThread() {
- dnd_thread_.reset(NULL);
-}
-
-void ViewEventTestBase::RunTestMethod(Task* task) {
- StopBackgroundThread();
-
- scoped_ptr<Task> task_deleter(task);
- task->Run();
- if (HasFatalFailure())
- Done();
-}
« no previous file with comments | « chrome/test/interactive_ui/view_event_test_base.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698