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

Side by Side Diff: pdf/pdfium/pdfium_engine.cc

Issue 603903002: For loop is running un-nacessrily after match. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 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
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 "pdf/pdfium/pdfium_engine.h" 5 #include "pdf/pdfium/pdfium_engine.h"
6 6
7 #include <math.h> 7 #include <math.h>
8 8
9 #include "base/json/json_writer.h" 9 #include "base/json/json_writer.h"
10 #include "base/logging.h" 10 #include "base/logging.h"
(...skipping 2703 matching lines...) Expand 10 before | Expand all | Expand 10 after
2714 PDFiumEngine::SelectionChangeInvalidator::~SelectionChangeInvalidator() { 2714 PDFiumEngine::SelectionChangeInvalidator::~SelectionChangeInvalidator() {
2715 // Offset the old selections if the document scrolled since we recorded them. 2715 // Offset the old selections if the document scrolled since we recorded them.
2716 pp::Point offset = previous_origin_ - engine_->GetVisibleRect().point(); 2716 pp::Point offset = previous_origin_ - engine_->GetVisibleRect().point();
2717 for (size_t i = 0; i < old_selections_.size(); ++i) 2717 for (size_t i = 0; i < old_selections_.size(); ++i)
2718 old_selections_[i].Offset(offset); 2718 old_selections_[i].Offset(offset);
2719 2719
2720 std::vector<pp::Rect> new_selections; 2720 std::vector<pp::Rect> new_selections;
2721 GetVisibleSelectionsScreenRects(&new_selections); 2721 GetVisibleSelectionsScreenRects(&new_selections);
2722 for (size_t i = 0; i < new_selections.size(); ++i) { 2722 for (size_t i = 0; i < new_selections.size(); ++i) {
2723 for (size_t j = 0; j < old_selections_.size(); ++j) { 2723 for (size_t j = 0; j < old_selections_.size(); ++j) {
2724 if (new_selections[i] == old_selections_[j]) { 2724 if (!old_selections_[j].IsEmpty() &&
2725 new_selections[i] == old_selections_[j]) {
2725 // Rectangle was selected before and after, so no need to invalidate it. 2726 // Rectangle was selected before and after, so no need to invalidate it.
2726 // Mark the rectangles by setting them to empty. 2727 // Mark the rectangles by setting them to empty.
2727 new_selections[i] = old_selections_[j] = pp::Rect(); 2728 new_selections[i] = old_selections_[j] = pp::Rect();
2729 break;
raymes 2014/09/29 01:09:51 I don't think we can early return from this loop (
Deepak 2014/09/29 02:41:28 @raymes, When below condition new_selections[i] =
raymes 2014/09/29 03:08:16 Oh I see! Is it ever possible for old_selections_
Deepak 2014/09/29 03:19:52 I think old selection does not contain duplicates.
2728 } 2730 }
2729 } 2731 }
2730 } 2732 }
2731 2733
2732 for (size_t i = 0; i < old_selections_.size(); ++i) { 2734 for (size_t i = 0; i < old_selections_.size(); ++i) {
2733 if (!old_selections_[i].IsEmpty()) 2735 if (!old_selections_[i].IsEmpty())
2734 engine_->client_->Invalidate(old_selections_[i]); 2736 engine_->client_->Invalidate(old_selections_[i]);
2735 } 2737 }
2736 for (size_t i = 0; i < new_selections.size(); ++i) { 2738 for (size_t i = 0; i < new_selections.size(); ++i) {
2737 if (!new_selections[i].IsEmpty()) 2739 if (!new_selections[i].IsEmpty())
(...skipping 780 matching lines...) Expand 10 before | Expand all | Expand 10 after
3518 double* height) { 3520 double* height) {
3519 FPDF_DOCUMENT doc = FPDF_LoadMemDocument(pdf_buffer, pdf_buffer_size, NULL); 3521 FPDF_DOCUMENT doc = FPDF_LoadMemDocument(pdf_buffer, pdf_buffer_size, NULL);
3520 if (!doc) 3522 if (!doc)
3521 return false; 3523 return false;
3522 bool success = FPDF_GetPageSizeByIndex(doc, page_number, width, height) != 0; 3524 bool success = FPDF_GetPageSizeByIndex(doc, page_number, width, height) != 0;
3523 FPDF_CloseDocument(doc); 3525 FPDF_CloseDocument(doc);
3524 return success; 3526 return success;
3525 } 3527 }
3526 3528
3527 } // namespace chrome_pdf 3529 } // namespace chrome_pdf
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698