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

Unified Diff: pdf/out_of_process_instance.cc

Issue 2837663002: Cleanup PDF plugin code. (Closed)
Patch Set: Created 3 years, 8 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « pdf/out_of_process_instance.h ('k') | pdf/pdf_engine.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: pdf/out_of_process_instance.cc
diff --git a/pdf/out_of_process_instance.cc b/pdf/out_of_process_instance.cc
index 2f80e2eb358aa55fb9277caf2796ffed3159fc9d..3431f6a811849a88e2cae3abc377973f1619761f 100644
--- a/pdf/out_of_process_instance.cc
+++ b/pdf/out_of_process_instance.cc
@@ -299,11 +299,8 @@ OutOfProcessInstance::OutOfProcessInstance(PP_Instance instance)
top_toolbar_height_(0),
accessibility_state_(ACCESSIBILITY_STATE_OFF),
is_print_preview_(false) {
- loader_factory_.Initialize(this);
- timer_factory_.Initialize(this);
- form_factory_.Initialize(this);
- print_callback_factory_.Initialize(this);
- engine_.reset(PDFEngine::Create(this));
+ callback_factory_.Initialize(this);
+ engine_ = PDFEngine::Create(this);
pp::Module::Get()->AddPluginInterface(kPPPPdfInterface, &ppp_private);
AddPerInstanceObject(kPPPPdfInterface, this);
@@ -385,7 +382,7 @@ bool OutOfProcessInstance::Init(uint32_t argc,
if (IsPrintPreview())
return true;
- LoadUrl(stream_url);
+ LoadUrl(stream_url, false /* is_print_preview */);
raymes 2017/04/26 02:44:19 I just had advice from thakis@ that /*is_print_pre
Lei Zhang 2017/05/04 17:39:28 Done.
url_ = original_url;
pp::PDF::SetCrashData(GetPluginInstance(), original_url, top_level_url);
return engine_->New(original_url, headers);
@@ -536,9 +533,9 @@ void OutOfProcessInstance::HandleMessage(const pp::Var& message) {
preview_pages_info_ = std::queue<PreviewPageInfo>();
preview_document_load_state_ = LOAD_STATE_COMPLETE;
document_load_state_ = LOAD_STATE_LOADING;
- LoadUrl(url_);
+ LoadUrl(url_, false /* is_print_preview */);
preview_engine_.reset();
- engine_.reset(PDFEngine::Create(this));
+ engine_ = PDFEngine::Create(this);
engine_->SetGrayscale(dict.Get(pp::Var(kJSPrintPreviewGrayscale)).AsBool());
engine_->New(url_.c_str(), nullptr /* empty header */);
@@ -719,7 +716,7 @@ void OutOfProcessInstance::LoadAccessibility() {
SendAccessibilityViewportInfo();
// Schedule loading the first page.
- pp::CompletionCallback callback = timer_factory_.NewCallback(
+ pp::CompletionCallback callback = callback_factory_.NewCallback(
&OutOfProcessInstance::SendNextAccessibilityPage);
pp::Module::Get()->core()->CallOnMainThread(kAccessibilityPageDelayMs,
callback, 0);
@@ -785,7 +782,7 @@ void OutOfProcessInstance::SendNextAccessibilityPage(int32_t page_index) {
text_runs.data(), chars.data());
// Schedule loading the next page.
- pp::CompletionCallback callback = timer_factory_.NewCallback(
+ pp::CompletionCallback callback = callback_factory_.NewCallback(
&OutOfProcessInstance::SendNextAccessibilityPage);
pp::Module::Get()->core()->CallOnMainThread(kAccessibilityPageDelayMs,
callback, page_index + 1);
@@ -959,7 +956,7 @@ void OutOfProcessInstance::DidOpen(int32_t result) {
void OutOfProcessInstance::DidOpenPreview(int32_t result) {
if (result == PP_OK) {
preview_client_ = base::MakeUnique<PreviewModeClient>(this);
- preview_engine_.reset(PDFEngine::Create(preview_client_.get()));
+ preview_engine_ = PDFEngine::Create(preview_client_.get());
preview_engine_->HandleDocumentLoad(embed_preview_loader_);
} else {
NOTREACHED();
@@ -1127,7 +1124,7 @@ void OutOfProcessInstance::NotifyNumberOfFindResultsChanged(int total,
NumberOfFindResultsChanged(total, final_result);
SetTickmarks(tickmarks_);
recently_sent_find_update_ = true;
- pp::CompletionCallback callback = timer_factory_.NewCallback(
+ pp::CompletionCallback callback = callback_factory_.NewCallback(
&OutOfProcessInstance::ResetRecentlySentFindUpdate);
pp::Module::Get()->core()->CallOnMainThread(kFindResultCooldownMs, callback,
0);
@@ -1199,7 +1196,7 @@ void OutOfProcessInstance::Print() {
}
pp::CompletionCallback callback =
- print_callback_factory_.NewCallback(&OutOfProcessInstance::OnPrint);
+ callback_factory_.NewCallback(&OutOfProcessInstance::OnPrint);
pp::Module::Get()->core()->CallOnMainThread(0, callback);
}
@@ -1216,7 +1213,7 @@ void OutOfProcessInstance::SubmitForm(const std::string& url,
request.AppendDataToBody(reinterpret_cast<const char*>(data), length);
pp::CompletionCallback callback =
- form_factory_.NewCallback(&OutOfProcessInstance::FormDidOpen);
+ callback_factory_.NewCallback(&OutOfProcessInstance::FormDidOpen);
form_loader_ = CreateURLLoaderInternal();
int rv = form_loader_.Open(request, callback);
if (rv != PP_OK_COMPLETIONPENDING)
@@ -1256,7 +1253,7 @@ pp::URLLoader OutOfProcessInstance::CreateURLLoader() {
void OutOfProcessInstance::ScheduleCallback(int id, int delay_in_ms) {
pp::CompletionCallback callback =
- timer_factory_.NewCallback(&OutOfProcessInstance::OnClientTimerFired);
+ callback_factory_.NewCallback(&OutOfProcessInstance::OnClientTimerFired);
pp::Module::Get()->core()->CallOnMainThread(delay_in_ms, callback, id);
}
@@ -1365,15 +1362,15 @@ void OutOfProcessInstance::PreviewDocumentLoadComplete() {
preview_document_load_state_ = LOAD_STATE_COMPLETE;
+ const std::string& url = preview_pages_info_.front().first;
int dest_page_index = preview_pages_info_.front().second;
- int src_page_index =
- ExtractPrintPreviewPageIndex(preview_pages_info_.front().first);
- if (src_page_index > 0 && dest_page_index > -1 && preview_engine_.get())
+ int src_page_index = ExtractPrintPreviewPageIndex(url);
+ if (src_page_index > 0 && dest_page_index > -1 && preview_engine_)
engine_->AppendPage(preview_engine_.get(), dest_page_index);
preview_pages_info_.pop();
// |print_preview_page_count_| is not updated yet. Do not load any
- // other preview pages till we get this information.
+ // other preview pages until this information is available.
if (print_preview_page_count_ == 0)
return;
@@ -1473,7 +1470,7 @@ void OutOfProcessInstance::DocumentLoadProgress(uint32_t available,
}
void OutOfProcessInstance::FormTextFieldFocusChange(bool in_focus) {
- if (!text_input_.get())
+ if (!text_input_)
return;
pp::VarDictionary message;
@@ -1517,27 +1514,20 @@ void OutOfProcessInstance::OnGeometryChanged(double old_zoom,
SendAccessibilityViewportInfo();
}
-void OutOfProcessInstance::LoadUrl(const std::string& url) {
- LoadUrlInternal(url, &embed_loader_, &OutOfProcessInstance::DidOpen);
-}
-
-void OutOfProcessInstance::LoadPreviewUrl(const std::string& url) {
- LoadUrlInternal(url, &embed_preview_loader_,
- &OutOfProcessInstance::DidOpenPreview);
-}
-
-void OutOfProcessInstance::LoadUrlInternal(
- const std::string& url,
- pp::URLLoader* loader,
- void (OutOfProcessInstance::*method)(int32_t)) {
+void OutOfProcessInstance::LoadUrl(const std::string& url,
+ bool is_print_preview) {
pp::URLRequestInfo request(this);
request.SetURL(url);
request.SetMethod("GET");
request.SetFollowRedirects(false);
- *loader = CreateURLLoaderInternal();
- pp::CompletionCallback callback = loader_factory_.NewCallback(method);
- int rv = loader->Open(request, callback);
+ pp::URLLoader& loader =
+ is_print_preview ? embed_preview_loader_ : embed_loader_;
raymes 2017/04/26 02:44:19 This is a bit subtle to me. Maybe it's just becaus
Lei Zhang 2017/05/04 17:39:28 Back to pointers.
+ loader = CreateURLLoaderInternal();
+ pp::CompletionCallback callback = callback_factory_.NewCallback(
+ is_print_preview ? &OutOfProcessInstance::DidOpenPreview
+ : &OutOfProcessInstance::DidOpen);
+ int rv = loader.Open(request, callback);
if (rv != PP_OK_COMPLETIONPENDING)
callback.Run(rv);
}
@@ -1601,7 +1591,7 @@ void OutOfProcessInstance::LoadAvailablePreviewPage() {
return;
}
- std::string url = preview_pages_info_.front().first;
+ const std::string& url = preview_pages_info_.front().first;
int dst_page_index = preview_pages_info_.front().second;
int src_page_index = ExtractPrintPreviewPageIndex(url);
if (src_page_index < 1 || dst_page_index >= print_preview_page_count_ ||
@@ -1610,7 +1600,7 @@ void OutOfProcessInstance::LoadAvailablePreviewPage() {
}
preview_document_load_state_ = LOAD_STATE_LOADING;
- LoadPreviewUrl(url);
+ LoadUrl(url, true /* is_print_preview */);
}
void OutOfProcessInstance::UserMetricsRecordAction(const std::string& action) {
« no previous file with comments | « pdf/out_of_process_instance.h ('k') | pdf/pdf_engine.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698