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

Side by Side Diff: chrome/test/chromedriver/element_util.cc

Issue 377683002: Fixes for re-enabling more MSVC level 4 warnings: chrome/ edition (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 5 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) 2013 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2013 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/chromedriver/element_util.h" 5 #include "chrome/test/chromedriver/element_util.h"
6 6
7 #include "base/strings/string_number_conversions.h" 7 #include "base/strings/string_number_conversions.h"
8 #include "base/strings/string_util.h" 8 #include "base/strings/string_util.h"
9 #include "base/strings/stringprintf.h" 9 #include "base/strings/stringprintf.h"
10 #include "base/threading/platform_thread.h" 10 #include "base/threading/platform_thread.h"
11 #include "base/time/time.h" 11 #include "base/time/time.h"
12 #include "base/values.h" 12 #include "base/values.h"
13 #include "chrome/test/chromedriver/basic_types.h" 13 #include "chrome/test/chromedriver/basic_types.h"
14 #include "chrome/test/chromedriver/chrome/chrome.h" 14 #include "chrome/test/chromedriver/chrome/chrome.h"
15 #include "chrome/test/chromedriver/chrome/js.h" 15 #include "chrome/test/chromedriver/chrome/js.h"
16 #include "chrome/test/chromedriver/chrome/status.h" 16 #include "chrome/test/chromedriver/chrome/status.h"
17 #include "chrome/test/chromedriver/chrome/version.h" 17 #include "chrome/test/chromedriver/chrome/version.h"
18 #include "chrome/test/chromedriver/chrome/web_view.h" 18 #include "chrome/test/chromedriver/chrome/web_view.h"
19 #include "chrome/test/chromedriver/session.h" 19 #include "chrome/test/chromedriver/session.h"
20 #include "third_party/webdriver/atoms.h" 20 #include "third_party/webdriver/atoms.h"
21 21
22 namespace { 22 namespace {
23 23
24 const char kElementKey[] = "ELEMENT"; 24 const char kElementKey[] = "ELEMENT";
25 25
26 bool ParseFromValue(base::Value* value, WebPoint* point) { 26 bool ParseFromValue(base::Value* value, WebPoint* point) {
27 base::DictionaryValue* dict_value; 27 base::DictionaryValue* dict_value;
28 if (!value->GetAsDictionary(&dict_value)) 28 if (!value->GetAsDictionary(&dict_value))
29 return false; 29 return false;
30 double x, y; 30 double x = 0;
31 double y = 0;
31 if (!dict_value->GetDouble("x", &x) || 32 if (!dict_value->GetDouble("x", &x) ||
32 !dict_value->GetDouble("y", &y)) 33 !dict_value->GetDouble("y", &y))
33 return false; 34 return false;
34 point->x = static_cast<int>(x); 35 point->x = static_cast<int>(x);
35 point->y = static_cast<int>(y); 36 point->y = static_cast<int>(y);
36 return true; 37 return true;
37 } 38 }
38 39
39 bool ParseFromValue(base::Value* value, WebSize* size) { 40 bool ParseFromValue(base::Value* value, WebSize* size) {
40 base::DictionaryValue* dict_value; 41 base::DictionaryValue* dict_value;
41 if (!value->GetAsDictionary(&dict_value)) 42 if (!value->GetAsDictionary(&dict_value))
42 return false; 43 return false;
43 double width, height; 44 double width = 0;
45 double height = 0;
44 if (!dict_value->GetDouble("width", &width) || 46 if (!dict_value->GetDouble("width", &width) ||
45 !dict_value->GetDouble("height", &height)) 47 !dict_value->GetDouble("height", &height))
46 return false; 48 return false;
47 size->width = static_cast<int>(width); 49 size->width = static_cast<int>(width);
48 size->height = static_cast<int>(height); 50 size->height = static_cast<int>(height);
49 return true; 51 return true;
50 } 52 }
51 53
52 bool ParseFromValue(base::Value* value, WebRect* rect) { 54 bool ParseFromValue(base::Value* value, WebRect* rect) {
53 base::DictionaryValue* dict_value; 55 base::DictionaryValue* dict_value;
54 if (!value->GetAsDictionary(&dict_value)) 56 if (!value->GetAsDictionary(&dict_value))
55 return false; 57 return false;
56 double x, y, width, height; 58 double x = 0;
59 double y = 0;
60 double width = 0;
61 double height = 0;
57 if (!dict_value->GetDouble("left", &x) || 62 if (!dict_value->GetDouble("left", &x) ||
58 !dict_value->GetDouble("top", &y) || 63 !dict_value->GetDouble("top", &y) ||
59 !dict_value->GetDouble("width", &width) || 64 !dict_value->GetDouble("width", &width) ||
60 !dict_value->GetDouble("height", &height)) 65 !dict_value->GetDouble("height", &height))
61 return false; 66 return false;
62 rect->origin.x = static_cast<int>(x); 67 rect->origin.x = static_cast<int>(x);
63 rect->origin.y = static_cast<int>(y); 68 rect->origin.y = static_cast<int>(y);
64 rect->size.width = static_cast<int>(width); 69 rect->size.width = static_cast<int>(width);
65 rect->size.height = static_cast<int>(height); 70 rect->size.height = static_cast<int>(height);
66 return true; 71 return true;
(...skipping 26 matching lines...) Expand all
93 base::ListValue args; 98 base::ListValue args;
94 args.Append(CreateElement(element_id)); 99 args.Append(CreateElement(element_id));
95 args.Append(CreateValueFrom(location)); 100 args.Append(CreateValueFrom(location));
96 scoped_ptr<base::Value> result; 101 scoped_ptr<base::Value> result;
97 Status status = CallAtomsJs( 102 Status status = CallAtomsJs(
98 frame, web_view, webdriver::atoms::IS_ELEMENT_CLICKABLE, 103 frame, web_view, webdriver::atoms::IS_ELEMENT_CLICKABLE,
99 args, &result); 104 args, &result);
100 if (status.IsError()) 105 if (status.IsError())
101 return status; 106 return status;
102 base::DictionaryValue* dict; 107 base::DictionaryValue* dict;
103 bool is_clickable; 108 bool is_clickable = false;
104 if (!result->GetAsDictionary(&dict) || 109 if (!result->GetAsDictionary(&dict) ||
105 !dict->GetBoolean("clickable", &is_clickable)) { 110 !dict->GetBoolean("clickable", &is_clickable)) {
106 return Status(kUnknownError, 111 return Status(kUnknownError,
107 "failed to parse value of IS_ELEMENT_CLICKABLE"); 112 "failed to parse value of IS_ELEMENT_CLICKABLE");
108 } 113 }
109 114
110 if (!is_clickable) { 115 if (!is_clickable) {
111 std::string message; 116 std::string message;
112 if (!dict->GetString("message", &message)) 117 if (!dict->GetString("message", &message))
113 message = "element is not clickable"; 118 message = "element is not clickable";
(...skipping 531 matching lines...) Expand 10 before | Expand all | Expand 10 after
645 status = ScrollElementRegionIntoViewHelper( 650 status = ScrollElementRegionIntoViewHelper(
646 rit->parent_frame_id, web_view, frame_element_id, 651 rit->parent_frame_id, web_view, frame_element_id,
647 WebRect(region_offset, region_size), 652 WebRect(region_offset, region_size),
648 center, frame_element_id, &region_offset); 653 center, frame_element_id, &region_offset);
649 if (status.IsError()) 654 if (status.IsError())
650 return status; 655 return status;
651 } 656 }
652 *location = region_offset; 657 *location = region_offset;
653 return Status(kOk); 658 return Status(kOk);
654 } 659 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698