14e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)// Copyright 2013 The Chromium Authors. All rights reserved. 24e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 34e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)// found in the LICENSE file. 44e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) 54e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)#ifndef CHROME_BROWSER_UI_VIEWS_FRAME_TEST_WITH_BROWSER_VIEW_H_ 64e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)#define CHROME_BROWSER_UI_VIEWS_FRAME_TEST_WITH_BROWSER_VIEW_H_ 74e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) 84e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)#include "base/memory/scoped_ptr.h" 94e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)#include "chrome/test/base/browser_with_test_window_test.h" 104e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) 114e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)namespace chrome { 124e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)class TestingIOThreadState; 134e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)} 144e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) 154e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)namespace predictors { 164e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)class PredictorDatabase; 174e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)} 184e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) 194e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)class BrowserView; 204e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)class ScopedTestingLocalState; 214e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) 224e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)// Base class for BrowserView based unit tests. TestWithBrowserView creates 234e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)// a Browser with a valid BrowserView and BrowserFrame with as little else as 244e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)// possible. 254e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)class TestWithBrowserView : public BrowserWithTestWindowTest { 264e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) public: 274e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) TestWithBrowserView(); 285d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) TestWithBrowserView(Browser::Type browser_type, 295d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) chrome::HostDesktopType host_desktop_type, 305d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) bool hosted_app); 314e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) virtual ~TestWithBrowserView(); 324e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) 334e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) // BrowserWithTestWindowTest overrides: 344e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) virtual void SetUp() OVERRIDE; 354e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) virtual void TearDown() OVERRIDE; 364e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) virtual TestingProfile* CreateProfile() OVERRIDE; 374e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) virtual BrowserWindow* CreateBrowserWindow() OVERRIDE; 384e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) 394e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) BrowserView* browser_view() { return browser_view_; } 404e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) 414e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) private: 424e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) BrowserView* browser_view_; // Not owned. 434e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) scoped_ptr<ScopedTestingLocalState> local_state_; 444e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) scoped_ptr<predictors::PredictorDatabase> predictor_db_; 454e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) scoped_ptr<chrome::TestingIOThreadState> testing_io_thread_state_; 464e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) 474e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) DISALLOW_COPY_AND_ASSIGN(TestWithBrowserView); 484e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)}; 494e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) 504e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)#endif // CHROME_BROWSER_UI_VIEWS_FRAME_TEST_WITH_BROWSER_VIEW_H_ 51