Index: pdf/out_of_process_instance.cc |
diff --git a/pdf/out_of_process_instance.cc b/pdf/out_of_process_instance.cc |
index 1fa0964bae9cbd35794bf8d0c0a8d44c6e1aadaf..727e671157bf146579906ee3787915ee24da0a4a 100644 |
--- a/pdf/out_of_process_instance.cc |
+++ b/pdf/out_of_process_instance.cc |
@@ -14,6 +14,7 @@ |
#include <list> |
#include "base/logging.h" |
+#include "base/memory/ptr_util.h" |
#include "base/strings/string_number_conversions.h" |
#include "base/strings/string_split.h" |
#include "base/strings/string_util.h" |
@@ -45,6 +46,8 @@ |
namespace chrome_pdf { |
+namespace { |
+ |
const char kChromePrint[] = "chrome://print/"; |
const char kChromeExtension[] = |
"chrome-extension://mhjfbmdgcfjbbpaeojofohoefgiehjai"; |
@@ -153,9 +156,7 @@ const int kAccessibilityPageDelayMs = 100; |
const double kMinZoom = 0.01; |
-namespace { |
- |
-static const char kPPPPdfInterface[] = PPP_PDF_INTERFACE_1; |
+const char kPPPPdfInterface[] = PPP_PDF_INTERFACE_1; |
// Used for UMA. Do not delete entries, and keep in sync with histograms.xml. |
enum PDFFeatures { |
@@ -269,8 +270,7 @@ pp::Var ModalDialog(const pp::Instance* instance, |
interface->GetWindowObject(instance->pp_instance())); |
if (default_answer.empty()) |
return window.Call(type, message); |
- else |
- return window.Call(type, message, default_answer); |
+ return window.Call(type, message, default_answer); |
} |
} // namespace |
@@ -352,7 +352,7 @@ bool OutOfProcessInstance::Init(uint32_t argc, |
if (full_) |
SetPluginToHandleFindRequests(); |
- text_input_.reset(new pp::TextInput_Dev(this)); |
+ text_input_ = base::MakeUnique<pp::TextInput_Dev>(this); |
const char* stream_url = nullptr; |
const char* original_url = nullptr; |
@@ -544,7 +544,6 @@ void OutOfProcessInstance::HandleMessage(const pp::Var& message) { |
} else if (type == kJSLoadPreviewPageType && |
dict.Get(pp::Var(kJSPreviewPageUrl)).is_string() && |
dict.Get(pp::Var(kJSPreviewPageIndex)).is_int()) { |
- |
std::string url = dict.Get(pp::Var(kJSPreviewPageUrl)).AsString(); |
// For security reasons we crash if the URL that is trying to be loaded here |
// isn't a print preview one. |
@@ -950,7 +949,7 @@ void OutOfProcessInstance::DidOpen(int32_t result) { |
void OutOfProcessInstance::DidOpenPreview(int32_t result) { |
if (result == PP_OK) { |
- preview_client_.reset(new PreviewModeClient(this)); |
+ preview_client_ = base::MakeUnique<PreviewModeClient>(this); |
preview_engine_.reset(PDFEngine::Create(preview_client_.get())); |
preview_engine_->HandleDocumentLoad(embed_preview_loader_); |
} else { |
@@ -1141,8 +1140,8 @@ void OutOfProcessInstance::GetDocumentPassword( |
return; |
} |
- password_callback_.reset( |
- new pp::CompletionCallbackWithOutput<pp::Var>(callback)); |
+ password_callback_ = |
+ base::MakeUnique<pp::CompletionCallbackWithOutput<pp::Var>>(callback); |
pp::VarDictionary message; |
message.Set(pp::Var(kType), pp::Var(kJSGetPasswordType)); |
PostMessage(message); |
@@ -1286,7 +1285,7 @@ void OutOfProcessInstance::DocumentLoadComplete(int page_count) { |
// Clear focus state for OSK. |
FormTextFieldFocusChange(false); |
- DCHECK(document_load_state_ == LOAD_STATE_LOADING); |
+ DCHECK_EQ(LOAD_STATE_LOADING, document_load_state_); |
document_load_state_ = LOAD_STATE_COMPLETE; |
UserMetricsRecordAction("PDF.LoadSuccess"); |
uma_.HistogramEnumeration("PDF.DocumentFeature", LOADED_DOCUMENT, |
@@ -1381,7 +1380,7 @@ void OutOfProcessInstance::PreviewDocumentLoadComplete() { |
} |
void OutOfProcessInstance::DocumentLoadFailed() { |
- DCHECK(document_load_state_ == LOAD_STATE_LOADING); |
+ DCHECK_EQ(LOAD_STATE_LOADING, document_load_state_); |
UserMetricsRecordAction("PDF.LoadFailure"); |
if (did_call_start_loading_) { |
@@ -1447,17 +1446,14 @@ void OutOfProcessInstance::DocumentHasUnsupportedFeature( |
void OutOfProcessInstance::DocumentLoadProgress(uint32_t available, |
uint32_t doc_size) { |
double progress = 0.0; |
- if (doc_size == 0) { |
+ if (doc_size) { |
+ progress = 100.0 * static_cast<double>(available) / doc_size; |
+ } else { |
// Document size is unknown. Use heuristics. |
// We'll make progress logarithmic from 0 to 100M. |
static const double kFactor = log(100000000.0) / 100.0; |
- if (available > 0) { |
- progress = log(static_cast<double>(available)) / kFactor; |
- if (progress > 100.0) |
- progress = 100.0; |
- } |
- } else { |
- progress = 100.0 * static_cast<double>(available) / doc_size; |
+ if (available > 0) |
+ progress = std::min(log(static_cast<double>(available)) / kFactor, 100.0); |
} |
// We send 100% load progress in DocumentLoadComplete. |
@@ -1483,10 +1479,8 @@ void OutOfProcessInstance::FormTextFieldFocusChange(bool in_focus) { |
message.Set(pp::Var(kJSFieldFocus), pp::Var(in_focus)); |
PostMessage(message); |
- if (in_focus) |
- text_input_->SetTextInputType(PP_TEXTINPUT_TYPE_DEV_TEXT); |
- else |
- text_input_->SetTextInputType(PP_TEXTINPUT_TYPE_DEV_NONE); |
+ text_input_->SetTextInputType(in_focus ? PP_TEXTINPUT_TYPE_DEV_TEXT |
+ : PP_TEXTINPUT_TYPE_DEV_NONE); |
} |
void OutOfProcessInstance::ResetRecentlySentFindUpdate(int32_t /* unused */) { |