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

Side by Side Diff: views/accessibility/native_view_accessibility_win.cc

Issue 8467002: Fix double-initialization of CComModule. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 9 years, 1 month 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
« no previous file with comments | « chrome/browser/accessibility/renderer_accessibility_browsertest.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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 <atlbase.h> 5 #include <atlbase.h>
6 #include <atlcom.h> 6 #include <atlcom.h>
7 7
8 #include "views/accessibility/native_view_accessibility_win.h" 8 #include "views/accessibility/native_view_accessibility_win.h"
9 9
10 #include "base/win/atl_module.h"
10 #include "third_party/iaccessible2/ia2_api_all.h" 11 #include "third_party/iaccessible2/ia2_api_all.h"
11 #include "ui/base/accessibility/accessible_view_state.h" 12 #include "ui/base/accessibility/accessible_view_state.h"
12 #include "ui/base/view_prop.h" 13 #include "ui/base/view_prop.h"
13 #include "views/widget/native_widget_win.h" 14 #include "views/widget/native_widget_win.h"
14 #include "views/widget/widget.h" 15 #include "views/widget/widget.h"
15 16
16 using ui::AccessibilityTypes; 17 using ui::AccessibilityTypes;
17 18
18 // static 19 // static
19 long NativeViewAccessibilityWin::next_unique_id_ = 1; 20 long NativeViewAccessibilityWin::next_unique_id_ = 1;
20 21
21 // static 22 // static
22 scoped_refptr<NativeViewAccessibilityWin> NativeViewAccessibilityWin::Create( 23 scoped_refptr<NativeViewAccessibilityWin> NativeViewAccessibilityWin::Create(
23 views::View* view) { 24 views::View* view) {
25 // Make sure COM and ATL are initialized in this module.
26 base::win::CreateATLModuleIfNeeded();
27 ::CoInitialize(NULL); // Safe to call more than once.
rvargas (doing something else) 2011/11/04 22:52:15 I'm missing the corresponding CoUninitialize
dmazzoni 2011/11/05 06:18:46 Actually since content/ definitely calls CoInitial
28
24 CComObject<NativeViewAccessibilityWin>* instance = NULL; 29 CComObject<NativeViewAccessibilityWin>* instance = NULL;
25 HRESULT hr = CComObject<NativeViewAccessibilityWin>::CreateInstance( 30 HRESULT hr = CComObject<NativeViewAccessibilityWin>::CreateInstance(
26 &instance); 31 &instance);
27 DCHECK(SUCCEEDED(hr)); 32 DCHECK(SUCCEEDED(hr));
28 instance->set_view(view); 33 instance->set_view(view);
29 return scoped_refptr<NativeViewAccessibilityWin>(instance); 34 return scoped_refptr<NativeViewAccessibilityWin>(instance);
30 } 35 }
31 36
32 NativeViewAccessibilityWin::NativeViewAccessibilityWin() 37 NativeViewAccessibilityWin::NativeViewAccessibilityWin()
33 : view_(NULL), 38 : view_(NULL),
(...skipping 872 matching lines...) Expand 10 before | Expand all | Expand 10 after
906 } 911 }
907 912
908 string16 NativeViewAccessibilityWin::TextForIAccessibleText() { 913 string16 NativeViewAccessibilityWin::TextForIAccessibleText() {
909 ui::AccessibleViewState state; 914 ui::AccessibleViewState state;
910 view_->GetAccessibleState(&state); 915 view_->GetAccessibleState(&state);
911 if (state.role == AccessibilityTypes::ROLE_TEXT) 916 if (state.role == AccessibilityTypes::ROLE_TEXT)
912 return state.value; 917 return state.value;
913 else 918 else
914 return state.name; 919 return state.name;
915 } 920 }
OLDNEW
« no previous file with comments | « chrome/browser/accessibility/renderer_accessibility_browsertest.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698