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

Side by Side Diff: chrome/renderer/safe_browsing/phishing_classifier_delegate.cc

Issue 363293005: Remove page id from "page capture". (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fixes Created 6 years, 5 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
« no previous file with comments | « chrome/renderer/chrome_render_view_observer.cc ('k') | 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) 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/renderer/safe_browsing/phishing_classifier_delegate.h" 5 #include "chrome/renderer/safe_browsing/phishing_classifier_delegate.h"
6 6
7 #include <set> 7 #include <set>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/callback.h" 10 #include "base/callback.h"
(...skipping 126 matching lines...) Expand 10 before | Expand all | Expand 10 after
137 137
138 void PhishingClassifierDelegate::OnStartPhishingDetection(const GURL& url) { 138 void PhishingClassifierDelegate::OnStartPhishingDetection(const GURL& url) {
139 last_url_received_from_browser_ = StripRef(url); 139 last_url_received_from_browser_ = StripRef(url);
140 // Start classifying the current page if all conditions are met. 140 // Start classifying the current page if all conditions are met.
141 // See MaybeStartClassification() for details. 141 // See MaybeStartClassification() for details.
142 MaybeStartClassification(); 142 MaybeStartClassification();
143 } 143 }
144 144
145 void PhishingClassifierDelegate::DidCommitProvisionalLoad( 145 void PhishingClassifierDelegate::DidCommitProvisionalLoad(
146 blink::WebLocalFrame* frame, bool is_new_navigation) { 146 blink::WebLocalFrame* frame, bool is_new_navigation) {
147 // A new page is starting to load, so cancel classificaiton.
148 //
149 // TODO(bryner): We shouldn't need to cancel classification if the navigation
150 // is within the same page. However, if we let classification continue in
151 // this case, we need to properly deal with the fact that PageCaptured will
152 // be called again for the in-page navigation. We need to be sure not to
153 // swap out the page text while the term feature extractor is still running.
154 DocumentState* document_state = DocumentState::FromDataSource(
155 frame->dataSource());
156 NavigationState* navigation_state = document_state->navigation_state();
157 CancelPendingClassification(navigation_state->was_within_same_page() ?
158 NAVIGATE_WITHIN_PAGE : NAVIGATE_AWAY);
159 if (frame == render_view()->GetWebView()->mainFrame()) { 147 if (frame == render_view()->GetWebView()->mainFrame()) {
148 DocumentState* document_state = DocumentState::FromDataSource(
149 frame->dataSource());
150 NavigationState* navigation_state = document_state->navigation_state();
160 last_main_frame_transition_ = navigation_state->transition_type(); 151 last_main_frame_transition_ = navigation_state->transition_type();
161 } 152 }
162 } 153 }
163 154
164 void PhishingClassifierDelegate::PageCaptured(base::string16* page_text, 155 void PhishingClassifierDelegate::PageCaptured(base::string16* page_text,
165 bool preliminary_capture) { 156 bool preliminary_capture) {
166 if (preliminary_capture) { 157 if (preliminary_capture || *page_text != classifier_page_text_)
mattm 2014/07/08 23:35:50 should that be "==" ?
Avi (use Gerrit) 2014/07/08 23:43:18 D'oh. Yes.
167 return; 158 return;
168 } 159
169 // Make sure there's no classification in progress. We don't want to swap 160 // Make sure there's no classification in progress. We don't want to swap
170 // out the page text string from underneath the term feature extractor. 161 // out the page text string from underneath the term feature extractor.
171 // 162 //
172 // Note: Currently, if the url hasn't changed, we won't restart 163 // Note: Currently, if the url hasn't changed, we won't restart
173 // classification in this case. We may want to adjust this. 164 // classification in this case. We may want to adjust this.
174 CancelPendingClassification(PAGE_RECAPTURED); 165 CancelPendingClassification(PAGE_RECAPTURED);
175 last_finished_load_url_ = GetToplevelUrl(); 166 last_finished_load_url_ = GetToplevelUrl();
176 classifier_page_text_.swap(*page_text); 167 classifier_page_text_.swap(*page_text);
177 have_page_text_ = true; 168 have_page_text_ = true;
178 MaybeStartClassification(); 169 MaybeStartClassification();
(...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after
283 VLOG(2) << "Starting classification for " << last_finished_load_url_; 274 VLOG(2) << "Starting classification for " << last_finished_load_url_;
284 last_url_sent_to_classifier_ = last_finished_load_url_; 275 last_url_sent_to_classifier_ = last_finished_load_url_;
285 is_classifying_ = true; 276 is_classifying_ = true;
286 classifier_->BeginClassification( 277 classifier_->BeginClassification(
287 &classifier_page_text_, 278 &classifier_page_text_,
288 base::Bind(&PhishingClassifierDelegate::ClassificationDone, 279 base::Bind(&PhishingClassifierDelegate::ClassificationDone,
289 base::Unretained(this))); 280 base::Unretained(this)));
290 } 281 }
291 282
292 } // namespace safe_browsing 283 } // namespace safe_browsing
OLDNEW
« no previous file with comments | « chrome/renderer/chrome_render_view_observer.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698