 Chromium Code Reviews
 Chromium Code Reviews Issue 2817603003:
  Remove ListValue::Append(raw ptr) on Mac and iOS  (Closed)
    
  
    Issue 2817603003:
  Remove ListValue::Append(raw ptr) on Mac and iOS  (Closed) 
  | OLD | NEW | 
|---|---|
| 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 "content/browser/accessibility/accessibility_tree_formatter.h" | 5 #include "content/browser/accessibility/accessibility_tree_formatter.h" | 
| 6 | 6 | 
| 7 #import <Cocoa/Cocoa.h> | 7 #import <Cocoa/Cocoa.h> | 
| 8 | 8 | 
| 9 #include "base/files/file_path.h" | 9 #include "base/files/file_path.h" | 
| 10 #include "base/json/json_writer.h" | 10 #include "base/json/json_writer.h" | 
| 11 #include "base/strings/string_number_conversions.h" | 11 #include "base/strings/string_number_conversions.h" | 
| 12 #include "base/strings/stringprintf.h" | 12 #include "base/strings/stringprintf.h" | 
| 13 #include "base/strings/sys_string_conversions.h" | 13 #include "base/strings/sys_string_conversions.h" | 
| 14 #include "base/strings/utf_string_conversions.h" | 14 #include "base/strings/utf_string_conversions.h" | 
| 
jdoerrie
2017/04/12 12:37:46
#include "base/values.h"
 
vabr (Chromium)
2017/04/12 12:55:04
Done.
 | |
| 15 #include "content/browser/accessibility/browser_accessibility_cocoa.h" | 15 #include "content/browser/accessibility/browser_accessibility_cocoa.h" | 
| 16 #include "content/browser/accessibility/browser_accessibility_mac.h" | 16 #include "content/browser/accessibility/browser_accessibility_mac.h" | 
| 17 #include "content/browser/accessibility/browser_accessibility_manager.h" | 17 #include "content/browser/accessibility/browser_accessibility_manager.h" | 
| 18 | 18 | 
| 19 using base::StringPrintf; | 19 using base::StringPrintf; | 
| 20 using base::SysNSStringToUTF8; | 20 using base::SysNSStringToUTF8; | 
| 21 using base::SysNSStringToUTF16; | 21 using base::SysNSStringToUTF16; | 
| 22 using std::string; | 22 using std::string; | 
| 23 | 23 | 
| 24 namespace content { | 24 namespace content { | 
| (...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 81 if (![value isKindOfClass:[NSValue class]]) | 81 if (![value isKindOfClass:[NSValue class]]) | 
| 82 return false; | 82 return false; | 
| 83 return 0 == strcmp([value objCType], @encode(NSRange)); | 83 return 0 == strcmp([value objCType], @encode(NSRange)); | 
| 84 } | 84 } | 
| 85 | 85 | 
| 86 std::unique_ptr<base::Value> PopulateObject(id value); | 86 std::unique_ptr<base::Value> PopulateObject(id value); | 
| 87 | 87 | 
| 88 std::unique_ptr<base::ListValue> PopulateArray(NSArray* array) { | 88 std::unique_ptr<base::ListValue> PopulateArray(NSArray* array) { | 
| 89 std::unique_ptr<base::ListValue> list(new base::ListValue); | 89 std::unique_ptr<base::ListValue> list(new base::ListValue); | 
| 90 for (NSUInteger i = 0; i < [array count]; i++) | 90 for (NSUInteger i = 0; i < [array count]; i++) | 
| 91 list->Append(PopulateObject([array objectAtIndex:i]).release()); | 91 list->Append(PopulateObject([array objectAtIndex:i])); | 
| 92 return list; | 92 return list; | 
| 93 } | 93 } | 
| 94 | 94 | 
| 95 std::unique_ptr<base::Value> StringForBrowserAccessibility( | 95 std::unique_ptr<base::Value> StringForBrowserAccessibility( | 
| 96 BrowserAccessibilityCocoa* obj) { | 96 BrowserAccessibilityCocoa* obj) { | 
| 97 NSMutableArray* tokens = [[NSMutableArray alloc] init]; | 97 NSMutableArray* tokens = [[NSMutableArray alloc] init]; | 
| 98 | 98 | 
| 99 // Always include the role | 99 // Always include the role | 
| 100 id role = [obj role]; | 100 id role = [obj role]; | 
| 101 [tokens addObject:role]; | 101 [tokens addObject:role]; | 
| (...skipping 144 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 246 } | 246 } | 
| 247 | 247 | 
| 248 CR_DEFINE_STATIC_LOCAL(NSArray*, all_attributes, (BuildAllAttributesArray())); | 248 CR_DEFINE_STATIC_LOCAL(NSArray*, all_attributes, (BuildAllAttributesArray())); | 
| 249 for (NSString* requestedAttribute in all_attributes) { | 249 for (NSString* requestedAttribute in all_attributes) { | 
| 250 if (![supportedAttributes containsObject:requestedAttribute]) | 250 if (![supportedAttributes containsObject:requestedAttribute]) | 
| 251 continue; | 251 continue; | 
| 252 id value = [cocoa_node accessibilityAttributeValue:requestedAttribute]; | 252 id value = [cocoa_node accessibilityAttributeValue:requestedAttribute]; | 
| 253 if (value != nil) { | 253 if (value != nil) { | 
| 254 dict->Set( | 254 dict->Set( | 
| 255 SysNSStringToUTF8(requestedAttribute), | 255 SysNSStringToUTF8(requestedAttribute), | 
| 256 PopulateObject(value).release()); | 256 PopulateObject(value)); | 
| 257 } | 257 } | 
| 258 } | 258 } | 
| 259 dict->Set(kPositionDictAttr, PopulatePosition(node).release()); | 259 dict->Set(kPositionDictAttr, PopulatePosition(node)); | 
| 260 dict->Set(kSizeDictAttr, PopulateSize(cocoa_node).release()); | 260 dict->Set(kSizeDictAttr, PopulateSize(cocoa_node)); | 
| 261 } | 261 } | 
| 262 | 262 | 
| 263 base::string16 AccessibilityTreeFormatterMac::ToString( | 263 base::string16 AccessibilityTreeFormatterMac::ToString( | 
| 264 const base::DictionaryValue& dict) { | 264 const base::DictionaryValue& dict) { | 
| 265 base::string16 line; | 265 base::string16 line; | 
| 266 if (show_ids()) { | 266 if (show_ids()) { | 
| 267 int id_value; | 267 int id_value; | 
| 268 dict.GetInteger("id", &id_value); | 268 dict.GetInteger("id", &id_value); | 
| 269 WriteAttribute(true, base::IntToString16(id_value), &line); | 269 WriteAttribute(true, base::IntToString16(id_value), &line); | 
| 270 } | 270 } | 
| (...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 340 | 340 | 
| 341 const string AccessibilityTreeFormatterMac::GetAllowString() { | 341 const string AccessibilityTreeFormatterMac::GetAllowString() { | 
| 342 return "@MAC-ALLOW:"; | 342 return "@MAC-ALLOW:"; | 
| 343 } | 343 } | 
| 344 | 344 | 
| 345 const string AccessibilityTreeFormatterMac::GetDenyString() { | 345 const string AccessibilityTreeFormatterMac::GetDenyString() { | 
| 346 return "@MAC-DENY:"; | 346 return "@MAC-DENY:"; | 
| 347 } | 347 } | 
| 348 | 348 | 
| 349 } // namespace content | 349 } // namespace content | 
| OLD | NEW |