blob: 15745da79f00dbfb311cbe744972d9bb7d8d7aea [file] [log] [blame]
// Copyright 2014 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 "ios/web/public/test/test_web_thread_bundle.h"
#include "content/public/test/test_browser_thread_bundle.h"
namespace web {
namespace {
int TestBrowserThreadBundleOptionsFromTestWebThreadBundleOptions(int options) {
int result = 0;
if (options & TestWebThreadBundle::IO_MAINLOOP)
result |= content::TestBrowserThreadBundle::IO_MAINLOOP;
if (options & TestWebThreadBundle::REAL_DB_THREAD)
result |= content::TestBrowserThreadBundle::REAL_DB_THREAD;
if (options & TestWebThreadBundle::REAL_FILE_THREAD)
result |= content::TestBrowserThreadBundle::REAL_FILE_THREAD;
if (options & TestWebThreadBundle::REAL_FILE_USER_BLOCKING_THREAD)
result |= content::TestBrowserThreadBundle::REAL_FILE_USER_BLOCKING_THREAD;
if (options & TestWebThreadBundle::REAL_CACHE_THREAD)
result |= content::TestBrowserThreadBundle::REAL_CACHE_THREAD;
if (options & TestWebThreadBundle::REAL_IO_THREAD)
result |= content::TestBrowserThreadBundle::REAL_IO_THREAD;
return result;
}
} // namespace
class TestWebThreadBundleImpl {
public:
explicit TestWebThreadBundleImpl(int options)
: test_browser_thread_bundle_(
TestBrowserThreadBundleOptionsFromTestWebThreadBundleOptions(
options)) {}
private:
content::TestBrowserThreadBundle test_browser_thread_bundle_;
DISALLOW_COPY_AND_ASSIGN(TestWebThreadBundleImpl);
};
TestWebThreadBundle::TestWebThreadBundle()
: impl_(new TestWebThreadBundleImpl(DEFAULT)) {
}
TestWebThreadBundle::TestWebThreadBundle(int options)
: impl_(new TestWebThreadBundleImpl(options)) {
}
TestWebThreadBundle::~TestWebThreadBundle() {
}
} // namespace web