summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authortfarina@chromium.org <tfarina@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-03-14 16:32:34 +0000
committertfarina@chromium.org <tfarina@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-03-14 16:32:34 +0000
commitbec08d7ad993f82975e0cec80bb9d7e711c38cdd (patch)
tree46b513655d993d71fcc434861e16f0af28c39d83
parentd8e73bdf182614e9893e898e6358c262ea50a749 (diff)
downloadchromium_src-bec08d7ad993f82975e0cec80bb9d7e711c38cdd.zip
chromium_src-bec08d7ad993f82975e0cec80bb9d7e711c38cdd.tar.gz
chromium_src-bec08d7ad993f82975e0cec80bb9d7e711c38cdd.tar.bz2
Move scoped_ole_initializer.h to ui/base/win and clean up ole initialization/uninitialization.
R=sky@chromium.org Review URL: https://chromiumcodereview.appspot.com/9664069 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@126658 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r--chrome/app/scoped_ole_initializer.h42
-rw-r--r--chrome/chrome_exe.gypi1
-rw-r--r--chrome/test/base/browser_with_test_window_test.cc11
-rw-r--r--chrome/test/base/browser_with_test_window_test.h8
-rw-r--r--chrome/test/base/chrome_test_suite.h11
-rw-r--r--chrome/test/base/view_event_test_base.cc10
-rw-r--r--chrome/test/base/view_event_test_base.h8
-rw-r--r--chrome_frame/test/net/fake_external_tab.h1
-rw-r--r--chrome_frame/test/reliability/reliability_test_suite.h4
-rw-r--r--content/browser/browser_main_loop.cc7
-rw-r--r--content/browser/browser_main_loop.h8
-rw-r--r--ui/aura/test/aura_test_helper.cc11
-rw-r--r--ui/aura/test/aura_test_helper.h8
-rw-r--r--ui/base/win/scoped_ole_initializer.cc22
-rw-r--r--ui/base/win/scoped_ole_initializer.h25
-rw-r--r--ui/ui.gyp2
-rw-r--r--ui/views/controls/table/table_view_unittest.cc4
-rw-r--r--ui/views/examples/examples_main.cc9
-rw-r--r--ui/views/test/views_test_base.cc10
-rw-r--r--ui/views/test/views_test_base.h8
-rw-r--r--ui/views/widget/native_widget_win_unittest.cc13
21 files changed, 112 insertions, 111 deletions
diff --git a/chrome/app/scoped_ole_initializer.h b/chrome/app/scoped_ole_initializer.h
deleted file mode 100644
index 0bb8594..0000000
--- a/chrome/app/scoped_ole_initializer.h
+++ /dev/null
@@ -1,42 +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.
-
-#ifndef CHROME_APP_SCOPED_OLE_INITIALIZER_H_
-#define CHROME_APP_SCOPED_OLE_INITIALIZER_H_
-#pragma once
-
-#include "base/logging.h"
-#include "build/build_config.h"
-
-// Wraps OLE initialization in a cross-platform class meant to be used on the
-// stack so init/uninit is done with scoping. This class is ok for use by
-// non-windows platforms; it just doesn't do anything.
-
-#if defined(OS_WIN)
-
-#include <ole2.h>
-
-class ScopedOleInitializer {
- public:
- ScopedOleInitializer() {
- int ole_result = OleInitialize(NULL);
- DCHECK_EQ(S_OK, ole_result);
- }
- ~ScopedOleInitializer() {
- OleUninitialize();
- }
-};
-
-#else
-
-class ScopedOleInitializer {
- public:
- // Empty, this class does nothing on non-win32 systems. Empty ctor is
- // necessary to avoid "unused variable" warning on gcc.
- ScopedOleInitializer() { }
-};
-
-#endif
-
-#endif // CHROME_APP_SCOPED_OLE_INITIALIZER_H_
diff --git a/chrome/chrome_exe.gypi b/chrome/chrome_exe.gypi
index 92016b5..bdae4de 100644
--- a/chrome/chrome_exe.gypi
+++ b/chrome/chrome_exe.gypi
@@ -24,7 +24,6 @@
'app/client_util.h',
'app/hard_error_handler_win.cc',
'app/hard_error_handler_win.h',
- 'app/scoped_ole_initializer.h',
'../content/app/startup_helper_win.cc',
],
'mac_bundle_resources': [
diff --git a/chrome/test/base/browser_with_test_window_test.cc b/chrome/test/base/browser_with_test_window_test.cc
index 2538644..285cf0a 100644
--- a/chrome/test/base/browser_with_test_window_test.cc
+++ b/chrome/test/base/browser_with_test_window_test.cc
@@ -4,10 +4,6 @@
#include "chrome/test/base/browser_with_test_window_test.h"
-#if defined(OS_WIN)
-#include <ole2.h>
-#endif // defined(OS_WIN)
-
#include "chrome/browser/tabs/tab_strip_model.h"
#include "chrome/browser/ui/browser_navigator.h"
#include "chrome/browser/ui/tab_contents/tab_contents_wrapper.h"
@@ -37,9 +33,6 @@ BrowserWithTestWindowTest::BrowserWithTestWindowTest()
file_thread_(BrowserThread::FILE, message_loop()),
file_user_blocking_thread_(
BrowserThread::FILE_USER_BLOCKING, message_loop()) {
-#if defined(OS_WIN)
- OleInitialize(NULL);
-#endif
}
void BrowserWithTestWindowTest::SetUp() {
@@ -76,10 +69,6 @@ BrowserWithTestWindowTest::~BrowserWithTestWindowTest() {
MessageLoop::current()->PostTask(FROM_HERE, MessageLoop::QuitClosure());
MessageLoop::current()->Run();
-
-#if defined(OS_WIN)
- OleUninitialize();
-#endif
}
void BrowserWithTestWindowTest::AddTab(Browser* browser, const GURL& url) {
diff --git a/chrome/test/base/browser_with_test_window_test.h b/chrome/test/base/browser_with_test_window_test.h
index 1a63dc6..41ee6a0 100644
--- a/chrome/test/base/browser_with_test_window_test.h
+++ b/chrome/test/base/browser_with_test_window_test.h
@@ -14,6 +14,10 @@
#include "content/test/test_renderer_host.h"
#include "testing/gtest/include/gtest/gtest.h"
+#if defined(OS_WIN)
+#include "ui/base/win/scoped_ole_initializer.h"
+#endif
+
class GURL;
#if defined(USE_AURA)
@@ -126,6 +130,10 @@ class BrowserWithTestWindowTest : public testing::Test {
scoped_ptr<aura::test::TestStackingClient> test_stacking_client_;
#endif
+#if defined(OS_WIN)
+ ui::ScopedOleInitializer ole_initializer_;
+#endif
+
DISALLOW_COPY_AND_ASSIGN(BrowserWithTestWindowTest);
};
diff --git a/chrome/test/base/chrome_test_suite.h b/chrome/test/base/chrome_test_suite.h
index 7e30adf..67da830 100644
--- a/chrome/test/base/chrome_test_suite.h
+++ b/chrome/test/base/chrome_test_suite.h
@@ -1,4 +1,4 @@
-// Copyright (c) 2011 The Chromium Authors. All rights reserved.
+// Copyright (c) 2012 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.
@@ -11,7 +11,10 @@
#include "base/file_path.h"
#include "base/memory/scoped_ptr.h"
#include "base/test/test_suite.h"
-#include "chrome/app/scoped_ole_initializer.h"
+
+#if defined(OS_WIN)
+#include "ui/base/win/scoped_ole_initializer.h"
+#endif
namespace base {
class StatsTable;
@@ -36,7 +39,9 @@ class ChromeTestSuite : public base::TestSuite {
std::string stats_filename_;
scoped_ptr<base::StatsTable> stats_table_;
- ScopedOleInitializer ole_initializer_;
+#if defined(OS_WIN)
+ ui::ScopedOleInitializer ole_initializer_;
+#endif
};
#endif // CHROME_TEST_BASE_CHROME_TEST_SUITE_H_
diff --git a/chrome/test/base/view_event_test_base.cc b/chrome/test/base/view_event_test_base.cc
index de2bb32..baa6569 100644
--- a/chrome/test/base/view_event_test_base.cc
+++ b/chrome/test/base/view_event_test_base.cc
@@ -4,10 +4,6 @@
#include "chrome/test/base/view_event_test_base.h"
-#if defined(OS_WIN)
-#include <ole2.h>
-#endif
-
#include "base/bind.h"
#include "base/bind_helpers.h"
#include "base/message_loop.h"
@@ -82,9 +78,6 @@ void ViewEventTestBase::Done() {
}
void ViewEventTestBase::SetUp() {
-#if defined(OS_WIN)
- OleInitialize(NULL);
-#endif
ui::CompositorTestSupport::Initialize();
#if defined(USE_AURA)
ash::Shell::CreateInstance(NULL);
@@ -107,9 +100,6 @@ void ViewEventTestBase::TearDown() {
aura::Env::DeleteInstance();
#endif
ui::CompositorTestSupport::Terminate();
-#if defined(OS_WIN)
- OleUninitialize();
-#endif
}
bool ViewEventTestBase::CanResize() const {
diff --git a/chrome/test/base/view_event_test_base.h b/chrome/test/base/view_event_test_base.h
index 8105182..5260ca1 100644
--- a/chrome/test/base/view_event_test_base.h
+++ b/chrome/test/base/view_event_test_base.h
@@ -20,6 +20,10 @@
#include "testing/gtest/include/gtest/gtest.h"
#include "ui/views/widget/widget_delegate.h"
+#if defined(OS_WIN)
+#include "ui/base/win/scoped_ole_initializer.h"
+#endif
+
namespace gfx {
class Size;
}
@@ -137,6 +141,10 @@ class ViewEventTestBase : public views::WidgetDelegate,
content::TestBrowserThread ui_thread_;
+#if defined(OS_WIN)
+ ui::ScopedOleInitializer ole_initializer_;
+#endif
+
DISALLOW_COPY_AND_ASSIGN(ViewEventTestBase);
};
diff --git a/chrome_frame/test/net/fake_external_tab.h b/chrome_frame/test/net/fake_external_tab.h
index a6d8f86..46479b5 100644
--- a/chrome_frame/test/net/fake_external_tab.h
+++ b/chrome_frame/test/net/fake_external_tab.h
@@ -12,7 +12,6 @@
#include "base/message_loop.h"
#include "base/process.h"
#include "base/win/scoped_handle.h"
-#include "chrome/app/scoped_ole_initializer.h"
#include "chrome/browser/browser_process_impl.h"
#include "chrome_frame/test/net/process_singleton_subclass.h"
#include "chrome_frame/test/net/test_automation_provider.h"
diff --git a/chrome_frame/test/reliability/reliability_test_suite.h b/chrome_frame/test/reliability/reliability_test_suite.h
index 4e41ede..e245ba5 100644
--- a/chrome_frame/test/reliability/reliability_test_suite.h
+++ b/chrome_frame/test/reliability/reliability_test_suite.h
@@ -1,10 +1,12 @@
-// Copyright (c) 2006-2009 The Chromium Authors. All rights reserved.
+// Copyright (c) 2012 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.
#ifndef CHROME_FRAME_TEST_RELIABILITY_RELIABILITY_TEST_SUITE_H_
#define CHROME_FRAME_TEST_RELIABILITY_RELIABILITY_TEST_SUITE_H_
+#include <objbase.h>
+
#include "chrome_frame/test/reliability/page_load_test.h"
#include "chrome/test/ui/ui_test_suite.h"
diff --git a/content/browser/browser_main_loop.cc b/content/browser/browser_main_loop.cc
index 9b65ac54..ff9a263 100644
--- a/content/browser/browser_main_loop.cc
+++ b/content/browser/browser_main_loop.cc
@@ -47,7 +47,6 @@
#if defined(OS_WIN)
#include <windows.h>
#include <commctrl.h>
-#include <ole2.h>
#include <shellapi.h>
#include "content/browser/system_message_window_win.h"
@@ -219,17 +218,11 @@ BrowserMainLoop::BrowserMainLoop(const content::MainFunctionParams& parameters)
result_code_(content::RESULT_CODE_NORMAL_EXIT) {
DCHECK(!g_current_browser_main_loop);
g_current_browser_main_loop = this;
-#if defined(OS_WIN)
- OleInitialize(NULL);
-#endif
}
BrowserMainLoop::~BrowserMainLoop() {
DCHECK_EQ(this, g_current_browser_main_loop);
g_current_browser_main_loop = NULL;
-#if defined(OS_WIN)
- OleUninitialize();
-#endif
}
void BrowserMainLoop::Init() {
diff --git a/content/browser/browser_main_loop.h b/content/browser/browser_main_loop.h
index eb34a0a..138d11e 100644
--- a/content/browser/browser_main_loop.h
+++ b/content/browser/browser_main_loop.h
@@ -10,6 +10,10 @@
#include "base/memory/scoped_ptr.h"
#include "content/browser/browser_process_sub_thread.h"
+#if defined(OS_WIN)
+#include "ui/base/win/scoped_ole_initializer.h"
+#endif
+
class AudioManager;
class BrowserOnlineStateObserver;
class CommandLine;
@@ -115,6 +119,10 @@ class BrowserMainLoop {
scoped_ptr<BrowserProcessSubThread> cache_thread_;
scoped_ptr<BrowserProcessSubThread> io_thread_;
+#if defined(OS_WIN)
+ ui::ScopedOleInitializer ole_initializer_;
+#endif
+
DISALLOW_COPY_AND_ASSIGN(BrowserMainLoop);
};
diff --git a/ui/aura/test/aura_test_helper.cc b/ui/aura/test/aura_test_helper.cc
index 4eb08dd..dd3f73a 100644
--- a/ui/aura/test/aura_test_helper.cc
+++ b/ui/aura/test/aura_test_helper.cc
@@ -4,10 +4,6 @@
#include "ui/aura/test/aura_test_helper.h"
-#if defined(OS_WIN)
-#include <ole2.h>
-#endif
-
#include "ui/aura/env.h"
#include "ui/aura/root_window.h"
#include "ui/gfx/compositor/layer_animator.h"
@@ -18,18 +14,11 @@ namespace test {
AuraTestHelper::AuraTestHelper()
: setup_called_(false),
teardown_called_(false) {
-#if defined(OS_WIN)
- OleInitialize(NULL);
-#endif
-
// Disable animations during tests.
ui::LayerAnimator::set_disable_animations_for_test(true);
}
AuraTestHelper::~AuraTestHelper() {
-#if defined(OS_WIN)
- OleUninitialize();
-#endif
CHECK(setup_called_)
<< "You have overridden SetUp but never called super class's SetUp";
CHECK(teardown_called_)
diff --git a/ui/aura/test/aura_test_helper.h b/ui/aura/test/aura_test_helper.h
index 86ed52e..90e3580 100644
--- a/ui/aura/test/aura_test_helper.h
+++ b/ui/aura/test/aura_test_helper.h
@@ -9,6 +9,10 @@
#include "base/basictypes.h"
#include "base/message_loop.h"
+#if defined(OS_WIN)
+#include "ui/base/win/scoped_ole_initializer.h"
+#endif
+
namespace aura {
class RootWindow;
namespace test {
@@ -36,6 +40,10 @@ class AuraTestHelper {
bool setup_called_;
bool teardown_called_;
+#if defined(OS_WIN)
+ ui::ScopedOleInitializer ole_initializer_;
+#endif
+
DISALLOW_COPY_AND_ASSIGN(AuraTestHelper);
};
diff --git a/ui/base/win/scoped_ole_initializer.cc b/ui/base/win/scoped_ole_initializer.cc
new file mode 100644
index 0000000..8dab498
--- /dev/null
+++ b/ui/base/win/scoped_ole_initializer.cc
@@ -0,0 +1,22 @@
+// Copyright (c) 2012 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 "ui/base/win/scoped_ole_initializer.h"
+
+#include <ole2.h>
+
+#include "base/logging.h"
+
+namespace ui {
+
+ScopedOleInitializer::ScopedOleInitializer() {
+ HRESULT result = OleInitialize(NULL);
+ DCHECK(SUCCEEDED(result));
+}
+
+ScopedOleInitializer::~ScopedOleInitializer() {
+ OleUninitialize();
+}
+
+} // namespace ui
diff --git a/ui/base/win/scoped_ole_initializer.h b/ui/base/win/scoped_ole_initializer.h
new file mode 100644
index 0000000..11cc461
--- /dev/null
+++ b/ui/base/win/scoped_ole_initializer.h
@@ -0,0 +1,25 @@
+// Copyright (c) 2012 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.
+
+#ifndef UI_BASE_WIN_SCOPED_OLE_INITIALIZER_H_
+#define UI_BASE_WIN_SCOPED_OLE_INITIALIZER_H_
+#pragma once
+
+#include "base/basictypes.h"
+#include "ui/base/ui_export.h"
+
+namespace ui {
+
+class UI_EXPORT ScopedOleInitializer {
+ public:
+ ScopedOleInitializer();
+ ~ScopedOleInitializer();
+
+ private:
+ DISALLOW_COPY_AND_ASSIGN(ScopedOleInitializer);
+};
+
+} // namespace
+
+#endif // UI_BASE_WIN_SCOPED_OLE_INITIALIZER_H_
diff --git a/ui/ui.gyp b/ui/ui.gyp
index 5684be6..b037ea9 100644
--- a/ui/ui.gyp
+++ b/ui/ui.gyp
@@ -233,6 +233,8 @@
'base/win/message_box_win.h',
'base/win/mouse_wheel_util.cc',
'base/win/mouse_wheel_util.h',
+ 'base/win/scoped_ole_initializer.cc',
+ 'base/win/scoped_ole_initializer.h',
'base/win/shell.cc',
'base/win/shell.h',
'base/win/singleton_hwnd.cc',
diff --git a/ui/views/controls/table/table_view_unittest.cc b/ui/views/controls/table/table_view_unittest.cc
index ad5dec0..5532bc3 100644
--- a/ui/views/controls/table/table_view_unittest.cc
+++ b/ui/views/controls/table/table_view_unittest.cc
@@ -17,6 +17,7 @@
#include "testing/gtest/include/gtest/gtest.h"
#include "ui/base/models/table_model.h"
#include "ui/base/models/table_model_observer.h"
+#include "ui/base/win/scoped_ole_initializer.h"
#include "ui/views/controls/table/table_view.h"
#include "ui/views/widget/widget.h"
#include "ui/views/widget/widget_delegate.h"
@@ -174,10 +175,10 @@ class TableViewTest : public testing::Test, views::WidgetDelegate {
private:
MessageLoopForUI message_loop_;
views::Widget* window_;
+ ui::ScopedOleInitializer ole_initializer_;
};
void TableViewTest::SetUp() {
- OleInitialize(NULL);
model_.reset(CreateModel());
std::vector<ui::TableColumn> columns;
columns.resize(2);
@@ -194,7 +195,6 @@ void TableViewTest::TearDown() {
window_->Close();
// Temporary workaround to avoid leak of RootView::pending_paint_task_.
message_loop_.RunAllPending();
- OleUninitialize();
}
void TableViewTest::VerifyViewOrder(int first, ...) {
diff --git a/ui/views/examples/examples_main.cc b/ui/views/examples/examples_main.cc
index 8ac8143..e4f7785 100644
--- a/ui/views/examples/examples_main.cc
+++ b/ui/views/examples/examples_main.cc
@@ -16,9 +16,13 @@
#include "ui/views/test/test_views_delegate.h"
#include "ui/views/widget/widget.h"
+#if defined(OS_WIN)
+#include "ui/base/win/scoped_ole_initializer.h"
+#endif
+
int main(int argc, char** argv) {
#if defined(OS_WIN)
- OleInitialize(NULL);
+ ui::ScopedOleInitializer ole_initializer;
#elif defined(OS_LINUX)
// Initializes gtk stuff.
g_type_init();
@@ -51,8 +55,5 @@ int main(int argc, char** argv) {
views::AcceleratorHandler accelerator_handler;
MessageLoopForUI::current()->RunWithDispatcher(&accelerator_handler);
-#if defined(OS_WIN)
- OleUninitialize();
-#endif
return 0;
}
diff --git a/ui/views/test/views_test_base.cc b/ui/views/test/views_test_base.cc
index 7b87f2e..84e9baf 100644
--- a/ui/views/test/views_test_base.cc
+++ b/ui/views/test/views_test_base.cc
@@ -4,10 +4,6 @@
#include "ui/views/test/views_test_base.h"
-#if defined(OS_WIN)
-#include <ole2.h>
-#endif
-
#if defined(USE_AURA)
#include "base/compiler_specific.h"
#include "ui/aura/client/aura_constants.h"
@@ -64,18 +60,12 @@ namespace views {
ViewsTestBase::ViewsTestBase()
: setup_called_(false),
teardown_called_(false) {
-#if defined(OS_WIN)
- OleInitialize(NULL);
-#endif
#if defined(USE_AURA)
test_input_method_.reset(new DummyInputMethod);
#endif
}
ViewsTestBase::~ViewsTestBase() {
-#if defined(OS_WIN)
- OleUninitialize();
-#endif
CHECK(setup_called_)
<< "You have overridden SetUp but never called super class's SetUp";
CHECK(teardown_called_)
diff --git a/ui/views/test/views_test_base.h b/ui/views/test/views_test_base.h
index 635c24c..71f6bbd 100644
--- a/ui/views/test/views_test_base.h
+++ b/ui/views/test/views_test_base.h
@@ -11,6 +11,10 @@
#include "testing/gtest/include/gtest/gtest.h"
#include "ui/views/test/test_views_delegate.h"
+#if defined(OS_WIN)
+#include "ui/base/win/scoped_ole_initializer.h"
+#endif
+
namespace aura {
class RootWindow;
namespace test {
@@ -61,6 +65,10 @@ class ViewsTestBase : public testing::Test {
bool setup_called_;
bool teardown_called_;
+#if defined(OS_WIN)
+ ui::ScopedOleInitializer ole_initializer_;
+#endif
+
DISALLOW_COPY_AND_ASSIGN(ViewsTestBase);
};
diff --git a/ui/views/widget/native_widget_win_unittest.cc b/ui/views/widget/native_widget_win_unittest.cc
index 9ad5ecb..9e8d314 100644
--- a/ui/views/widget/native_widget_win_unittest.cc
+++ b/ui/views/widget/native_widget_win_unittest.cc
@@ -1,4 +1,4 @@
-// Copyright (c) 2011 The Chromium Authors. All rights reserved.
+// Copyright (c) 2012 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.
@@ -8,19 +8,15 @@
#include "base/memory/scoped_ptr.h"
#include "base/message_loop.h"
#include "testing/gtest/include/gtest/gtest.h"
+#include "ui/base/win/scoped_ole_initializer.h"
namespace views {
namespace {
class NativeWidgetWinTest : public testing::Test {
public:
- NativeWidgetWinTest() {
- OleInitialize(NULL);
- }
-
- ~NativeWidgetWinTest() {
- OleUninitialize();
- }
+ NativeWidgetWinTest() {}
+ ~NativeWidgetWinTest() {}
virtual void TearDown() {
// Flush the message loop because we have pending release tasks
@@ -38,6 +34,7 @@ class NativeWidgetWinTest : public testing::Test {
private:
MessageLoopForUI message_loop_;
+ ui::ScopedOleInitializer ole_initializer_;
DISALLOW_COPY_AND_ASSIGN(NativeWidgetWinTest);
};