test_tab_contents_wrapper.cc revision ddb351dbec246cf1fab5ec20d2d5520909041de1
172a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen// Copyright (c) 2011 The Chromium Authors. All rights reserved. 272a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen// Use of this source code is governed by a BSD-style license that can be 372a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen// found in the LICENSE file. 472a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen 572a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen#include "chrome/browser/ui/tab_contents/test_tab_contents_wrapper.h" 672a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen 772a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen#include "chrome/browser/ui/tab_contents/tab_contents_wrapper.h" 872a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen#include "chrome/test/testing_profile.h" 9dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen#include "content/browser/tab_contents/test_tab_contents.h" 1072a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen 1172a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian MonsenTabContentsWrapperTestHarness::TabContentsWrapperTestHarness() 1272a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen : RenderViewHostTestHarness() { 1372a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen} 1472a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen 1572a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian MonsenTabContentsWrapperTestHarness::~TabContentsWrapperTestHarness() { 1672a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen} 1772a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen 1872a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian MonsenTestTabContents* TabContentsWrapperTestHarness::contents() { 1972a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen return static_cast<TestTabContents*>(contents_wrapper_.get()->tab_contents()); 2072a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen} 2172a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen 2272a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian MonsenTabContentsWrapper* TabContentsWrapperTestHarness::contents_wrapper() { 2372a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen return contents_wrapper_.get(); 2472a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen} 2572a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen 26ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsenvoid TabContentsWrapperTestHarness::SetContents(TestTabContents* contents) { 27ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen contents_wrapper_.reset(new TabContentsWrapper(contents)); 28ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen} 29ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen 3072a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsenvoid TabContentsWrapperTestHarness::SetUp() { 31ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen SetContents(CreateTestTabContents()); 3272a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen} 3372a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen 3472a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsenvoid TabContentsWrapperTestHarness::TearDown() { 3572a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen contents_wrapper_.reset(); 3672a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen 3772a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen // Make sure that we flush any messages related to TabContents destruction 3872a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen // before we destroy the profile. 3972a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen MessageLoop::current()->RunAllPending(); 4072a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen 4172a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen // Release the profile on the UI thread. 4272a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen message_loop_.DeleteSoon(FROM_HERE, profile_.release()); 4372a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen message_loop_.RunAllPending(); 4472a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen} 45