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

Side by Side Diff: content/browser/accessibility/browser_accessibility_mac.mm

Issue 246773008: RWHI should implement BrowserAccessibilityDelegate (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix merge error Created 6 years, 7 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 #import <Cocoa/Cocoa.h> 5 #import <Cocoa/Cocoa.h>
6 6
7 #import "content/browser/accessibility/browser_accessibility_mac.h" 7 #import "content/browser/accessibility/browser_accessibility_mac.h"
8 8
9 #import "content/browser/accessibility/browser_accessibility_cocoa.h" 9 #import "content/browser/accessibility/browser_accessibility_cocoa.h"
10 #import "content/browser/accessibility/browser_accessibility_delegate_mac.h"
11 #include "content/browser/accessibility/browser_accessibility_manager_mac.h" 10 #include "content/browser/accessibility/browser_accessibility_manager_mac.h"
12 11
13 namespace content { 12 namespace content {
14 13
15 // Static. 14 // Static.
16 BrowserAccessibility* BrowserAccessibility::Create() { 15 BrowserAccessibility* BrowserAccessibility::Create() {
17 return new BrowserAccessibilityMac(); 16 return new BrowserAccessibilityMac();
18 } 17 }
19 18
20 BrowserAccessibilityMac::BrowserAccessibilityMac() 19 BrowserAccessibilityMac::BrowserAccessibilityMac()
21 : browser_accessibility_cocoa_(NULL) { 20 : browser_accessibility_cocoa_(NULL) {
22 } 21 }
23 22
24 void BrowserAccessibilityMac::OnDataChanged() { 23 void BrowserAccessibilityMac::OnDataChanged() {
25 BrowserAccessibility::OnDataChanged(); 24 BrowserAccessibility::OnDataChanged();
26 25
27 if (browser_accessibility_cocoa_) { 26 if (browser_accessibility_cocoa_) {
28 [browser_accessibility_cocoa_ childrenChanged]; 27 [browser_accessibility_cocoa_ childrenChanged];
29 return; 28 return;
30 } 29 }
31 30
32 // We take ownership of the cocoa obj here. 31 // We take ownership of the cocoa obj here.
33 BrowserAccessibilityManagerMac* manager =
34 static_cast<BrowserAccessibilityManagerMac*>(manager_);
35 browser_accessibility_cocoa_ = [[BrowserAccessibilityCocoa alloc] 32 browser_accessibility_cocoa_ = [[BrowserAccessibilityCocoa alloc]
36 initWithObject:this 33 initWithObject:this];
37 delegate:
38 (id<BrowserAccessibilityDelegateCocoa>)manager->parent_view()];
39 } 34 }
40 35
41 void BrowserAccessibilityMac::NativeReleaseReference() { 36 void BrowserAccessibilityMac::NativeReleaseReference() {
42 // Detach this object from |browser_accessibility_cocoa_| so it 37 // Detach this object from |browser_accessibility_cocoa_| so it
43 // no longer has a pointer to this object. 38 // no longer has a pointer to this object.
44 [browser_accessibility_cocoa_ detach]; 39 [browser_accessibility_cocoa_ detach];
45 // Now, release it - but at this point, other processes may have a 40 // Now, release it - but at this point, other processes may have a
46 // reference to the cocoa object. 41 // reference to the cocoa object.
47 [browser_accessibility_cocoa_ release]; 42 [browser_accessibility_cocoa_ release];
48 // Finally, it's safe to delete this since we've detached. 43 // Finally, it's safe to delete this since we've detached.
49 delete this; 44 delete this;
50 } 45 }
51 46
52 bool BrowserAccessibilityMac::IsNative() const { 47 bool BrowserAccessibilityMac::IsNative() const {
53 return true; 48 return true;
54 } 49 }
55 50
56 BrowserAccessibilityCocoa* BrowserAccessibility::ToBrowserAccessibilityCocoa() { 51 BrowserAccessibilityCocoa* BrowserAccessibility::ToBrowserAccessibilityCocoa() {
57 return static_cast<BrowserAccessibilityMac*>(this)-> 52 return static_cast<BrowserAccessibilityMac*>(this)->
58 native_view(); 53 native_view();
59 } 54 }
60 55
61 } // namespace content 56 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698