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

Side by Side Diff: chrome/browser/automation/testing_automation_provider.cc

Issue 6312154: Remove wstring from RVH's run Javascript command.... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 9 years, 10 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/browser/automation/testing_automation_provider.h" 5 #include "chrome/browser/automation/testing_automation_provider.h"
6 6
7 #include <map> 7 #include <map>
8 #include <string> 8 #include <string>
9 #include <vector> 9 #include <vector>
10 10
(...skipping 629 matching lines...) Expand 10 before | Expand all | Expand 10 after
640 return; 640 return;
641 } 641 }
642 } 642 }
643 643
644 AutomationMsg_Reload::WriteReplyParams( 644 AutomationMsg_Reload::WriteReplyParams(
645 reply_message, AUTOMATION_MSG_NAVIGATION_ERROR); 645 reply_message, AUTOMATION_MSG_NAVIGATION_ERROR);
646 Send(reply_message); 646 Send(reply_message);
647 } 647 }
648 648
649 void TestingAutomationProvider::SetAuth(int tab_handle, 649 void TestingAutomationProvider::SetAuth(int tab_handle,
650 const std::wstring& username, 650 const string16& username,
651 const std::wstring& password, 651 const string16& password,
652 IPC::Message* reply_message) { 652 IPC::Message* reply_message) {
653 if (tab_tracker_->ContainsHandle(tab_handle)) { 653 if (tab_tracker_->ContainsHandle(tab_handle)) {
654 NavigationController* tab = tab_tracker_->GetResource(tab_handle); 654 NavigationController* tab = tab_tracker_->GetResource(tab_handle);
655 LoginHandlerMap::iterator iter = login_handler_map_.find(tab); 655 LoginHandlerMap::iterator iter = login_handler_map_.find(tab);
656 656
657 if (iter != login_handler_map_.end()) { 657 if (iter != login_handler_map_.end()) {
658 // If auth is needed again after this, assume login has failed. This is 658 // If auth is needed again after this, assume login has failed. This is
659 // not strictly correct, because a navigation can require both proxy and 659 // not strictly correct, because a navigation can require both proxy and
660 // server auth, but it should be OK for now. 660 // server auth, but it should be OK for now.
661 LoginHandler* handler = iter->second; 661 LoginHandler* handler = iter->second;
(...skipping 266 matching lines...) Expand 10 before | Expand all | Expand 10 after
928 TabContents* tab_contents = 928 TabContents* tab_contents =
929 tab_tracker_->GetResource(handle)->tab_contents(); 929 tab_tracker_->GetResource(handle)->tab_contents();
930 RenderProcessHost* rph = tab_contents->GetRenderProcessHost(); 930 RenderProcessHost* rph = tab_contents->GetRenderProcessHost();
931 if (rph) 931 if (rph)
932 *process_id = base::GetProcId(rph->GetHandle()); 932 *process_id = base::GetProcId(rph->GetHandle());
933 } 933 }
934 } 934 }
935 935
936 void TestingAutomationProvider::GetTabTitle(int handle, 936 void TestingAutomationProvider::GetTabTitle(int handle,
937 int* title_string_size, 937 int* title_string_size,
938 std::wstring* title) { 938 string16* title) {
939 *title_string_size = -1; // -1 is the error code 939 *title_string_size = -1; // -1 is the error code
940 if (tab_tracker_->ContainsHandle(handle)) { 940 if (tab_tracker_->ContainsHandle(handle)) {
941 NavigationController* tab = tab_tracker_->GetResource(handle); 941 NavigationController* tab = tab_tracker_->GetResource(handle);
942 NavigationEntry* entry = tab->GetActiveEntry(); 942 NavigationEntry* entry = tab->GetActiveEntry();
943 if (entry != NULL) { 943 if (entry != NULL) {
944 *title = UTF16ToWideHack(entry->title()); 944 *title = entry->title();
945 } else { 945 } else {
946 *title = std::wstring(); 946 *title = string16();
947 } 947 }
948 *title_string_size = static_cast<int>(title->size()); 948 *title_string_size = static_cast<int>(title->size());
949 } 949 }
950 } 950 }
951 951
952 void TestingAutomationProvider::GetTabIndex(int handle, int* tabstrip_index) { 952 void TestingAutomationProvider::GetTabIndex(int handle, int* tabstrip_index) {
953 *tabstrip_index = -1; // -1 is the error code 953 *tabstrip_index = -1; // -1 is the error code
954 954
955 if (tab_tracker_->ContainsHandle(handle)) { 955 if (tab_tracker_->ContainsHandle(handle)) {
956 NavigationController* tab = tab_tracker_->GetResource(handle); 956 NavigationController* tab = tab_tracker_->GetResource(handle);
(...skipping 152 matching lines...) Expand 10 before | Expand all | Expand 10 after
1109 *query_in_progress = false; 1109 *query_in_progress = false;
1110 if (autocomplete_edit_tracker_->ContainsHandle(autocomplete_edit_handle)) { 1110 if (autocomplete_edit_tracker_->ContainsHandle(autocomplete_edit_handle)) {
1111 *query_in_progress = autocomplete_edit_tracker_-> 1111 *query_in_progress = autocomplete_edit_tracker_->
1112 GetResource(autocomplete_edit_handle)->model()->query_in_progress(); 1112 GetResource(autocomplete_edit_handle)->model()->query_in_progress();
1113 *success = true; 1113 *success = true;
1114 } 1114 }
1115 } 1115 }
1116 1116
1117 void TestingAutomationProvider::ExecuteJavascript( 1117 void TestingAutomationProvider::ExecuteJavascript(
1118 int handle, 1118 int handle,
1119 const std::wstring& frame_xpath, 1119 const string16& frame_xpath,
1120 const std::wstring& script, 1120 const string16& script,
1121 IPC::Message* reply_message) { 1121 IPC::Message* reply_message) {
1122 TabContents* tab_contents = GetTabContentsForHandle(handle, NULL); 1122 TabContents* tab_contents = GetTabContentsForHandle(handle, NULL);
1123 if (!tab_contents) { 1123 if (!tab_contents) {
1124 AutomationMsg_DomOperation::WriteReplyParams(reply_message, std::string()); 1124 AutomationMsg_DomOperation::WriteReplyParams(reply_message, std::string());
1125 Send(reply_message); 1125 Send(reply_message);
1126 return; 1126 return;
1127 } 1127 }
1128 1128
1129 // Set the routing id of this message with the controller. 1129 // Set the routing id of this message with the controller.
1130 // This routing id needs to be remembered for the reverse 1130 // This routing id needs to be remembered for the reverse
1131 // communication while sending back the response of 1131 // communication while sending back the response of
1132 // this javascript execution. 1132 // this javascript execution.
1133 std::string set_automation_id; 1133 std::string set_automation_id;
1134 base::SStringPrintf(&set_automation_id, 1134 base::SStringPrintf(&set_automation_id,
1135 "window.domAutomationController.setAutomationId(%d);", 1135 "window.domAutomationController.setAutomationId(%d);",
1136 reply_message->routing_id()); 1136 reply_message->routing_id());
1137 1137
1138 DCHECK(reply_message_ == NULL); 1138 DCHECK(reply_message_ == NULL);
1139 reply_message_ = reply_message; 1139 reply_message_ = reply_message;
1140 1140
1141 tab_contents->render_view_host()->ExecuteJavascriptInWebFrame( 1141 tab_contents->render_view_host()->ExecuteJavascriptInWebFrame(
1142 frame_xpath, UTF8ToWide(set_automation_id)); 1142 frame_xpath, UTF8ToUTF16(set_automation_id));
1143 tab_contents->render_view_host()->ExecuteJavascriptInWebFrame( 1143 tab_contents->render_view_host()->ExecuteJavascriptInWebFrame(
1144 frame_xpath, script); 1144 frame_xpath, script);
1145 } 1145 }
1146 1146
1147 void TestingAutomationProvider::GetConstrainedWindowCount(int handle, 1147 void TestingAutomationProvider::GetConstrainedWindowCount(int handle,
1148 int* count) { 1148 int* count) {
1149 *count = -1; // -1 is the error code 1149 *count = -1; // -1 is the error code
1150 if (tab_tracker_->ContainsHandle(handle)) { 1150 if (tab_tracker_->ContainsHandle(handle)) {
1151 NavigationController* nav_controller = tab_tracker_->GetResource(handle); 1151 NavigationController* nav_controller = tab_tracker_->GetResource(handle);
1152 TabContents* tab_contents = nav_controller->tab_contents(); 1152 TabContents* tab_contents = nav_controller->tab_contents();
(...skipping 363 matching lines...) Expand 10 before | Expand all | Expand 10 after
1516 // The observer will delete itself when done. 1516 // The observer will delete itself when done.
1517 new AutomationProviderBookmarkModelObserver(this, reply_message, 1517 new AutomationProviderBookmarkModelObserver(this, reply_message,
1518 model); 1518 model);
1519 } 1519 }
1520 } 1520 }
1521 } 1521 }
1522 1522
1523 void TestingAutomationProvider::AddBookmarkGroup(int handle, 1523 void TestingAutomationProvider::AddBookmarkGroup(int handle,
1524 int64 parent_id, 1524 int64 parent_id,
1525 int index, 1525 int index,
1526 std::wstring title, 1526 const string16& title,
1527 bool* success) { 1527 bool* success) {
1528 if (browser_tracker_->ContainsHandle(handle)) { 1528 if (browser_tracker_->ContainsHandle(handle)) {
1529 Browser* browser = browser_tracker_->GetResource(handle); 1529 Browser* browser = browser_tracker_->GetResource(handle);
1530 if (browser) { 1530 if (browser) {
1531 BookmarkModel* model = browser->profile()->GetBookmarkModel(); 1531 BookmarkModel* model = browser->profile()->GetBookmarkModel();
1532 if (!model->IsLoaded()) { 1532 if (!model->IsLoaded()) {
1533 *success = false; 1533 *success = false;
1534 return; 1534 return;
1535 } 1535 }
1536 const BookmarkNode* parent = model->GetNodeByID(parent_id); 1536 const BookmarkNode* parent = model->GetNodeByID(parent_id);
1537 DCHECK(parent); 1537 DCHECK(parent);
1538 if (parent) { 1538 if (parent) {
1539 const BookmarkNode* child = model->AddGroup(parent, index, 1539 const BookmarkNode* child = model->AddGroup(parent, index, title);
1540 WideToUTF16Hack(title));
1541 DCHECK(child); 1540 DCHECK(child);
1542 if (child) 1541 if (child)
1543 *success = true; 1542 *success = true;
1544 } 1543 }
1545 } 1544 }
1546 } 1545 }
1547 *success = false; 1546 *success = false;
1548 } 1547 }
1549 1548
1550 void TestingAutomationProvider::AddBookmarkURL(int handle, 1549 void TestingAutomationProvider::AddBookmarkURL(int handle,
1551 int64 parent_id, 1550 int64 parent_id,
1552 int index, 1551 int index,
1553 std::wstring title, 1552 const string16& title,
1554 const GURL& url, 1553 const GURL& url,
1555 bool* success) { 1554 bool* success) {
1556 if (browser_tracker_->ContainsHandle(handle)) { 1555 if (browser_tracker_->ContainsHandle(handle)) {
1557 Browser* browser = browser_tracker_->GetResource(handle); 1556 Browser* browser = browser_tracker_->GetResource(handle);
1558 if (browser) { 1557 if (browser) {
1559 BookmarkModel* model = browser->profile()->GetBookmarkModel(); 1558 BookmarkModel* model = browser->profile()->GetBookmarkModel();
1560 if (!model->IsLoaded()) { 1559 if (!model->IsLoaded()) {
1561 *success = false; 1560 *success = false;
1562 return; 1561 return;
1563 } 1562 }
1564 const BookmarkNode* parent = model->GetNodeByID(parent_id); 1563 const BookmarkNode* parent = model->GetNodeByID(parent_id);
1565 DCHECK(parent); 1564 DCHECK(parent);
1566 if (parent) { 1565 if (parent) {
1567 const BookmarkNode* child = model->AddURL(parent, index, 1566 const BookmarkNode* child = model->AddURL(parent, index, title, url);
1568 WideToUTF16Hack(title), url);
1569 DCHECK(child); 1567 DCHECK(child);
1570 if (child) 1568 if (child)
1571 *success = true; 1569 *success = true;
1572 } 1570 }
1573 } 1571 }
1574 } 1572 }
1575 *success = false; 1573 *success = false;
1576 } 1574 }
1577 1575
1578 void TestingAutomationProvider::ReparentBookmark(int handle, 1576 void TestingAutomationProvider::ReparentBookmark(int handle,
(...skipping 17 matching lines...) Expand all
1596 model->Move(node, new_parent, index); 1594 model->Move(node, new_parent, index);
1597 *success = true; 1595 *success = true;
1598 } 1596 }
1599 } 1597 }
1600 } 1598 }
1601 *success = false; 1599 *success = false;
1602 } 1600 }
1603 1601
1604 void TestingAutomationProvider::SetBookmarkTitle(int handle, 1602 void TestingAutomationProvider::SetBookmarkTitle(int handle,
1605 int64 id, 1603 int64 id,
1606 std::wstring title, 1604 const string16& title,
1607 bool* success) { 1605 bool* success) {
1608 if (browser_tracker_->ContainsHandle(handle)) { 1606 if (browser_tracker_->ContainsHandle(handle)) {
1609 Browser* browser = browser_tracker_->GetResource(handle); 1607 Browser* browser = browser_tracker_->GetResource(handle);
1610 if (browser) { 1608 if (browser) {
1611 BookmarkModel* model = browser->profile()->GetBookmarkModel(); 1609 BookmarkModel* model = browser->profile()->GetBookmarkModel();
1612 if (!model->IsLoaded()) { 1610 if (!model->IsLoaded()) {
1613 *success = false; 1611 *success = false;
1614 return; 1612 return;
1615 } 1613 }
1616 const BookmarkNode* node = model->GetNodeByID(id); 1614 const BookmarkNode* node = model->GetNodeByID(id);
1617 DCHECK(node); 1615 DCHECK(node);
1618 if (node) { 1616 if (node) {
1619 model->SetTitle(node, WideToUTF16Hack(title)); 1617 model->SetTitle(node, title);
1620 *success = true; 1618 *success = true;
1621 } 1619 }
1622 } 1620 }
1623 } 1621 }
1624 *success = false; 1622 *success = false;
1625 } 1623 }
1626 1624
1627 void TestingAutomationProvider::SetBookmarkURL(int handle, 1625 void TestingAutomationProvider::SetBookmarkURL(int handle,
1628 int64 id, 1626 int64 id,
1629 const GURL& url, 1627 const GURL& url,
(...skipping 3011 matching lines...) Expand 10 before | Expand all | Expand 10 after
4641 // If you change this, update Observer for NotificationType::SESSION_END 4639 // If you change this, update Observer for NotificationType::SESSION_END
4642 // below. 4640 // below.
4643 MessageLoop::current()->PostTask(FROM_HERE, 4641 MessageLoop::current()->PostTask(FROM_HERE,
4644 NewRunnableMethod(this, &TestingAutomationProvider::OnRemoveProvider)); 4642 NewRunnableMethod(this, &TestingAutomationProvider::OnRemoveProvider));
4645 } 4643 }
4646 } 4644 }
4647 4645
4648 void TestingAutomationProvider::OnRemoveProvider() { 4646 void TestingAutomationProvider::OnRemoveProvider() {
4649 AutomationProviderList::GetInstance()->RemoveProvider(this); 4647 AutomationProviderList::GetInstance()->RemoveProvider(this);
4650 } 4648 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698