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

Side by Side Diff: content/browser/accessibility/cross_platform_accessibility_browsertest.cc

Issue 11050009: Use ScopedCOMInitializer in more places. While this doesn't always simplify code, it does mean we … (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 8 years, 2 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include <string> 5 #include <string>
6 #include <vector> 6 #include <vector>
7 7
8 #include "base/utf_string_conversions.h" 8 #include "base/utf_string_conversions.h"
9 #include "content/browser/renderer_host/render_view_host_impl.h" 9 #include "content/browser/renderer_host/render_view_host_impl.h"
10 #include "content/public/browser/notification_service.h" 10 #include "content/public/browser/notification_service.h"
11 #include "content/public/browser/notification_types.h" 11 #include "content/public/browser/notification_types.h"
12 #include "content/public/browser/render_widget_host_view.h" 12 #include "content/public/browser/render_widget_host_view.h"
13 #include "content/public/browser/web_contents.h" 13 #include "content/public/browser/web_contents.h"
14 #include "content/public/test/test_utils.h" 14 #include "content/public/test/test_utils.h"
15 #include "content/test/content_browser_test.h" 15 #include "content/test/content_browser_test.h"
16 #include "content/test/content_browser_test_utils.h" 16 #include "content/test/content_browser_test_utils.h"
17 #include "content/shell/shell.h" 17 #include "content/shell/shell.h"
18 18
19 #if defined(OS_WIN) 19 #if defined(OS_WIN)
20 #include <atlbase.h> 20 #include <atlbase.h>
21 #include <atlcom.h> 21 #include <atlcom.h>
22 #include "base/win/scoped_com_initializer.h"
22 #include "ui/base/win/atl_module.h" 23 #include "ui/base/win/atl_module.h"
23 #endif 24 #endif
24 25
25 namespace content { 26 namespace content {
26 27
27 class CrossPlatformAccessibilityBrowserTest : public ContentBrowserTest { 28 class CrossPlatformAccessibilityBrowserTest : public ContentBrowserTest {
28 public: 29 public:
29 CrossPlatformAccessibilityBrowserTest() {} 30 CrossPlatformAccessibilityBrowserTest() {}
30 31
31 // Tell the renderer to send an accessibility tree, then wait for the 32 // Tell the renderer to send an accessibility tree, then wait for the
(...skipping 27 matching lines...) Expand all
59 virtual void SetUpInProcessBrowserTestFixture() OVERRIDE; 60 virtual void SetUpInProcessBrowserTestFixture() OVERRIDE;
60 virtual void TearDownInProcessBrowserTestFixture() OVERRIDE; 61 virtual void TearDownInProcessBrowserTestFixture() OVERRIDE;
61 62
62 protected: 63 protected:
63 std::string GetAttr(const AccessibilityNodeData& node, 64 std::string GetAttr(const AccessibilityNodeData& node,
64 const AccessibilityNodeData::StringAttribute attr); 65 const AccessibilityNodeData::StringAttribute attr);
65 int GetIntAttr(const AccessibilityNodeData& node, 66 int GetIntAttr(const AccessibilityNodeData& node,
66 const AccessibilityNodeData::IntAttribute attr); 67 const AccessibilityNodeData::IntAttribute attr);
67 bool GetBoolAttr(const AccessibilityNodeData& node, 68 bool GetBoolAttr(const AccessibilityNodeData& node,
68 const AccessibilityNodeData::BoolAttribute attr); 69 const AccessibilityNodeData::BoolAttribute attr);
70
71 private:
72 #if defined(OS_WIN)
73 scoped_ptr<base::win::ScopedCOMInitializer> com_initializer_;
74 #endif
75
76 DISALLOW_COPY_AND_ASSIGN(CrossPlatformAccessibilityBrowserTest);
69 }; 77 };
70 78
71 void CrossPlatformAccessibilityBrowserTest::SetUpInProcessBrowserTestFixture() { 79 void CrossPlatformAccessibilityBrowserTest::SetUpInProcessBrowserTestFixture() {
72 #if defined(OS_WIN) 80 #if defined(OS_WIN)
73 ui::win::CreateATLModuleIfNeeded(); 81 ui::win::CreateATLModuleIfNeeded();
74 ::CoInitialize(NULL); 82 com_initializer_.reset(new base::win::ScopedCOMInitializer());
75 #endif 83 #endif
76 } 84 }
77 85
78 void 86 void
79 CrossPlatformAccessibilityBrowserTest::TearDownInProcessBrowserTestFixture() { 87 CrossPlatformAccessibilityBrowserTest::TearDownInProcessBrowserTestFixture() {
80 #if defined(OS_WIN) 88 #if defined(OS_WIN)
81 ::CoUninitialize(); 89 com_initializer_.reset();
82 #endif 90 #endif
83 } 91 }
84 92
85 // Convenience method to get the value of a particular AccessibilityNodeData 93 // Convenience method to get the value of a particular AccessibilityNodeData
86 // node attribute as a UTF-8 const char*. 94 // node attribute as a UTF-8 const char*.
87 std::string CrossPlatformAccessibilityBrowserTest::GetAttr( 95 std::string CrossPlatformAccessibilityBrowserTest::GetAttr(
88 const AccessibilityNodeData& node, 96 const AccessibilityNodeData& node,
89 const AccessibilityNodeData::StringAttribute attr) { 97 const AccessibilityNodeData::StringAttribute attr) {
90 std::map<AccessibilityNodeData::StringAttribute, string16>::const_iterator 98 std::map<AccessibilityNodeData::StringAttribute, string16>::const_iterator
91 iter = node.string_attributes.find(attr); 99 iter = node.string_attributes.find(attr);
(...skipping 358 matching lines...) Expand 10 before | Expand all | Expand 10 after
450 const AccessibilityNodeData& tree = GetAccessibilityNodeDataTree(); 458 const AccessibilityNodeData& tree = GetAccessibilityNodeDataTree();
451 459
452 ASSERT_EQ(1U, tree.children.size()); 460 ASSERT_EQ(1U, tree.children.size());
453 const AccessibilityNodeData& textbox = tree.children[0]; 461 const AccessibilityNodeData& textbox = tree.children[0];
454 462
455 EXPECT_EQ( 463 EXPECT_EQ(
456 true, GetBoolAttr(textbox, AccessibilityNodeData::ATTR_CAN_SET_VALUE)); 464 true, GetBoolAttr(textbox, AccessibilityNodeData::ATTR_CAN_SET_VALUE));
457 } 465 }
458 466
459 } // namespace content 467 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698