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

Side by Side Diff: chrome/test/base/ui_test_utils.cc

Issue 7714004: base: Add AsList() function to Value API. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: more poor const_casts Created 9 years, 4 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) 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 "chrome/test/base/ui_test_utils.h" 5 #include "chrome/test/base/ui_test_utils.h"
6 6
7 #include <vector> 7 #include <vector>
8 8
9 #include "base/callback.h" 9 #include "base/callback.h"
10 #include "base/command_line.h" 10 #include "base/command_line.h"
(...skipping 249 matching lines...) Expand 10 before | Expand all | Expand 10 after
260 // Nothing more to do for callers that ignore the returned JS value. 260 // Nothing more to do for callers that ignore the returned JS value.
261 if (!result) 261 if (!result)
262 return true; 262 return true;
263 263
264 // Wrap |json| in an array before deserializing because valid JSON has an 264 // Wrap |json| in an array before deserializing because valid JSON has an
265 // array or an object as the root. 265 // array or an object as the root.
266 json.insert(0, "["); 266 json.insert(0, "[");
267 json.append("]"); 267 json.append("]");
268 268
269 scoped_ptr<Value> root_val(base::JSONReader::Read(json, true)); 269 scoped_ptr<Value> root_val(base::JSONReader::Read(json, true));
270 if (!root_val->IsType(Value::TYPE_LIST)) 270 ListValue* list = root_val->AsList();
271 if (!list)
271 return false; 272 return false;
272 273
273 ListValue* list = static_cast<ListValue*>(root_val.get());
274 Value* result_val; 274 Value* result_val;
275 if (!list || !list->GetSize() || 275 if (!list || !list->GetSize() ||
276 !list->Remove(0, &result_val)) // Remove gives us ownership of the value. 276 !list->Remove(0, &result_val)) // Remove gives us ownership of the value.
277 return false; 277 return false;
278 278
279 result->reset(result_val); 279 result->reset(result_val);
280 return true; 280 return true;
281 } 281 }
282 282
283 } // namespace 283 } // namespace
(...skipping 725 matching lines...) Expand 10 before | Expand all | Expand 10 after
1009 L"window.domAutomationController.send(" 1009 L"window.domAutomationController.send("
1010 L" JSON.stringify([document.width, document.height]))"; 1010 L" JSON.stringify([document.width, document.height]))";
1011 std::string json; 1011 std::string json;
1012 if (!ui_test_utils::ExecuteJavaScriptAndExtractString( 1012 if (!ui_test_utils::ExecuteJavaScriptAndExtractString(
1013 rvh, L"", script, &json)) 1013 rvh, L"", script, &json))
1014 return false; 1014 return false;
1015 1015
1016 // Parse the JSON. 1016 // Parse the JSON.
1017 std::vector<int> dimensions; 1017 std::vector<int> dimensions;
1018 scoped_ptr<Value> value(base::JSONReader::Read(json, true)); 1018 scoped_ptr<Value> value(base::JSONReader::Read(json, true));
1019 if (!value->IsType(Value::TYPE_LIST)) 1019 ListValue* list = value->AsList();
1020 if (!list)
1020 return false; 1021 return false;
1021 ListValue* list = static_cast<ListValue*>(value.get());
1022 int width, height; 1022 int width, height;
1023 if (!list->GetInteger(0, &width) || !list->GetInteger(1, &height)) 1023 if (!list->GetInteger(0, &width) || !list->GetInteger(1, &height))
1024 return false; 1024 return false;
1025 1025
1026 // Take the snapshot. 1026 // Take the snapshot.
1027 gfx::Size page_size(width, height); 1027 gfx::Size page_size(width, height);
1028 return TakeRenderWidgetSnapshot(rvh, page_size, page_size, bitmap); 1028 return TakeRenderWidgetSnapshot(rvh, page_size, page_size, bitmap);
1029 } 1029 }
1030 1030
1031 private: 1031 private:
(...skipping 20 matching lines...) Expand all
1052 return taker.TakeRenderWidgetSnapshot(rwh, page_size, page_size, bitmap); 1052 return taker.TakeRenderWidgetSnapshot(rwh, page_size, page_size, bitmap);
1053 } 1053 }
1054 1054
1055 bool TakeEntirePageSnapshot(RenderViewHost* rvh, SkBitmap* bitmap) { 1055 bool TakeEntirePageSnapshot(RenderViewHost* rvh, SkBitmap* bitmap) {
1056 DCHECK(bitmap); 1056 DCHECK(bitmap);
1057 SnapshotTaker taker; 1057 SnapshotTaker taker;
1058 return taker.TakeEntirePageSnapshot(rvh, bitmap); 1058 return taker.TakeEntirePageSnapshot(rvh, bitmap);
1059 } 1059 }
1060 1060
1061 } // namespace ui_test_utils 1061 } // namespace ui_test_utils
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698