Index: chrome/browser/extensions/api/page_capture/page_capture_api.cc |
diff --git a/chrome/browser/extensions/api/page_capture/page_capture_api.cc b/chrome/browser/extensions/api/page_capture/page_capture_api.cc |
index 5b366fd3af3231ebb2b81d8583d747a6c3a757f0..6da38cc052684a3d487065a3e50322cc36e419a5 100644 |
--- a/chrome/browser/extensions/api/page_capture/page_capture_api.cc |
+++ b/chrome/browser/extensions/api/page_capture/page_capture_api.cc |
@@ -26,6 +26,8 @@ using content::WebContents; |
using extensions::PageCaptureSaveAsMHTMLFunction; |
using webkit_blob::ShareableFileReference; |
+namespace SaveAsMHTML = extensions::api::page_capture::SaveAsMHTML; |
+ |
namespace { |
// Error messages. |
@@ -40,7 +42,7 @@ const char* const kTabClosedError = "Cannot find the tab for thie request."; |
static PageCaptureSaveAsMHTMLFunction::TestDelegate* test_delegate_ = NULL; |
-PageCaptureSaveAsMHTMLFunction::PageCaptureSaveAsMHTMLFunction() : tab_id_(0) { |
+PageCaptureSaveAsMHTMLFunction::PageCaptureSaveAsMHTMLFunction() { |
} |
PageCaptureSaveAsMHTMLFunction::~PageCaptureSaveAsMHTMLFunction() { |
@@ -55,13 +57,8 @@ void PageCaptureSaveAsMHTMLFunction::SetTestDelegate(TestDelegate* delegate) { |
} |
bool PageCaptureSaveAsMHTMLFunction::RunImpl() { |
- DictionaryValue* args; |
- EXTENSION_FUNCTION_VALIDATE(args_->GetDictionary(0, &args)); |
- |
- if (!args->HasKey("tabId")) |
- return false; |
- |
- EXTENSION_FUNCTION_VALIDATE(args->GetInteger("tabId", &tab_id_)); |
+ params_ = SaveAsMHTML::Params::Create(*args_); |
+ EXTENSION_FUNCTION_VALIDATE(params_.get()); |
AddRef(); // Balanced in ReturnFailure/ReturnSuccess() |
@@ -193,8 +190,9 @@ WebContents* PageCaptureSaveAsMHTMLFunction::GetWebContents() { |
Browser* browser = NULL; |
TabContents* tab_contents = NULL; |
- if (!ExtensionTabUtil::GetTabById(tab_id_, profile(), include_incognito(), |
- &browser, NULL, &tab_contents, NULL)) { |
+ if (!ExtensionTabUtil::GetTabById(params_->details.tab_id, profile(), |
+ include_incognito(), &browser, NULL, |
+ &tab_contents, NULL)) { |
return NULL; |
} |
return tab_contents->web_contents(); |