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

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

Issue 8294030: Fix snapshotting on linux by creating a separate automation path for (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: address Pawel's comments Created 9 years, 2 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 <set> 8 #include <set>
9 #include <string> 9 #include <string>
10 #include <vector> 10 #include <vector>
(...skipping 6168 matching lines...) Expand 10 before | Expand all | Expand 10 after
6179 return; 6179 return;
6180 } 6180 }
6181 DictionaryValue dict; 6181 DictionaryValue dict;
6182 dict.SetString("title", tab_contents->GetTitle()); 6182 dict.SetString("title", tab_contents->GetTitle());
6183 reply.SendSuccess(&dict); 6183 reply.SendSuccess(&dict);
6184 } 6184 }
6185 6185
6186 void TestingAutomationProvider::CaptureEntirePageJSON( 6186 void TestingAutomationProvider::CaptureEntirePageJSON(
6187 DictionaryValue* args, 6187 DictionaryValue* args,
6188 IPC::Message* reply_message) { 6188 IPC::Message* reply_message) {
6189 #if defined(OS_LINUX)
6190 // See crbug.com/89777.
6191 AutomationJSONReply(this, reply_message).SendError(
6192 "Taking a page snapshot is not supported on this platform");
6193 return;
6194 #endif
6195 if (SendErrorIfModalDialogActive(this, reply_message)) 6189 if (SendErrorIfModalDialogActive(this, reply_message))
6196 return; 6190 return;
6197 6191
6198 TabContents* tab_contents; 6192 TabContents* tab_contents;
6199 std::string error; 6193 std::string error;
6200 6194
6201 if (!GetTabFromJSONArgs(args, &tab_contents, &error)) { 6195 if (!GetTabFromJSONArgs(args, &tab_contents, &error)) {
6202 AutomationJSONReply(this, reply_message).SendError(error); 6196 AutomationJSONReply(this, reply_message).SendError(error);
6203 return; 6197 return;
6204 } 6198 }
6205 6199
6206 FilePath::StringType path_str; 6200 FilePath::StringType path_str;
6207 if (!args->GetString("path", &path_str)) { 6201 if (!args->GetString("path", &path_str)) {
6208 AutomationJSONReply(this, reply_message) 6202 AutomationJSONReply(this, reply_message)
6209 .SendError("'path' missing or invalid"); 6203 .SendError("'path' missing or invalid");
6210 return; 6204 return;
6211 } 6205 }
6212 6206
6213 RenderViewHost* render_view = tab_contents->render_view_host(); 6207 RenderViewHost* render_view = tab_contents->render_view_host();
6214 if (render_view) { 6208 if (render_view) {
6215 FilePath path(path_str); 6209 FilePath path(path_str);
6216 // This will delete itself when finished. 6210 // This will delete itself when finished.
6217 PageSnapshotTaker* snapshot_taker = new PageSnapshotTaker( 6211 PageSnapshotTaker* snapshot_taker = new PageSnapshotTaker(
6218 this, reply_message, render_view, path); 6212 this, reply_message,
6213 TabContentsWrapper::GetCurrentWrapperForContents(tab_contents), path);
6219 snapshot_taker->Start(); 6214 snapshot_taker->Start();
6220 } else { 6215 } else {
6221 AutomationJSONReply(this, reply_message) 6216 AutomationJSONReply(this, reply_message)
6222 .SendError("Tab has no associated RenderViewHost"); 6217 .SendError("Tab has no associated RenderViewHost");
6223 } 6218 }
6224 } 6219 }
6225 6220
6226 void TestingAutomationProvider::GetCookiesJSON( 6221 void TestingAutomationProvider::GetCookiesJSON(
6227 DictionaryValue* args, IPC::Message* reply_message) { 6222 DictionaryValue* args, IPC::Message* reply_message) {
6228 automation_util::GetCookiesJSON(this, args, reply_message); 6223 automation_util::GetCookiesJSON(this, args, reply_message);
(...skipping 299 matching lines...) Expand 10 before | Expand all | Expand 10 after
6528 6523
6529 Send(reply_message_); 6524 Send(reply_message_);
6530 redirect_query_ = 0; 6525 redirect_query_ = 0;
6531 reply_message_ = NULL; 6526 reply_message_ = NULL;
6532 } 6527 }
6533 6528
6534 void TestingAutomationProvider::OnRemoveProvider() { 6529 void TestingAutomationProvider::OnRemoveProvider() {
6535 if (g_browser_process) 6530 if (g_browser_process)
6536 g_browser_process->GetAutomationProviderList()->RemoveProvider(this); 6531 g_browser_process->GetAutomationProviderList()->RemoveProvider(this);
6537 } 6532 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698