| OLD | NEW |
| 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 136 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 147 // A new page is starting to load, so cancel classificaiton. | 147 // A new page is starting to load, so cancel classificaiton. |
| 148 // | 148 // |
| 149 // TODO(bryner): We shouldn't need to cancel classification if the navigation | 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 | 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 | 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 | 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. | 153 // swap out the page text while the term feature extractor is still running. |
| 154 DocumentState* document_state = DocumentState::FromDataSource( | 154 DocumentState* document_state = DocumentState::FromDataSource( |
| 155 frame->dataSource()); | 155 frame->dataSource()); |
| 156 NavigationState* navigation_state = document_state->navigation_state(); | 156 NavigationState* navigation_state = document_state->navigation_state(); |
| 157 CancelPendingClassification(navigation_state->was_within_same_page() ? | 157 CancelPendingClassification(navigation_state->GetWasWithinSamePage() |
| 158 NAVIGATE_WITHIN_PAGE : NAVIGATE_AWAY); | 158 ? NAVIGATE_WITHIN_PAGE |
| 159 : NAVIGATE_AWAY); |
| 159 if (frame == render_view()->GetWebView()->mainFrame()) { | 160 if (frame == render_view()->GetWebView()->mainFrame()) { |
| 160 last_main_frame_transition_ = navigation_state->transition_type(); | 161 last_main_frame_transition_ = navigation_state->GetTransitionType(); |
| 161 } | 162 } |
| 162 } | 163 } |
| 163 | 164 |
| 164 void PhishingClassifierDelegate::PageCaptured(base::string16* page_text, | 165 void PhishingClassifierDelegate::PageCaptured(base::string16* page_text, |
| 165 bool preliminary_capture) { | 166 bool preliminary_capture) { |
| 166 if (preliminary_capture) { | 167 if (preliminary_capture) { |
| 167 return; | 168 return; |
| 168 } | 169 } |
| 169 // Make sure there's no classification in progress. We don't want to swap | 170 // 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. | 171 // out the page text string from underneath the term feature extractor. |
| (...skipping 112 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 283 DVLOG(2) << "Starting classification for " << last_finished_load_url_; | 284 DVLOG(2) << "Starting classification for " << last_finished_load_url_; |
| 284 last_url_sent_to_classifier_ = last_finished_load_url_; | 285 last_url_sent_to_classifier_ = last_finished_load_url_; |
| 285 is_classifying_ = true; | 286 is_classifying_ = true; |
| 286 classifier_->BeginClassification( | 287 classifier_->BeginClassification( |
| 287 &classifier_page_text_, | 288 &classifier_page_text_, |
| 288 base::Bind(&PhishingClassifierDelegate::ClassificationDone, | 289 base::Bind(&PhishingClassifierDelegate::ClassificationDone, |
| 289 base::Unretained(this))); | 290 base::Unretained(this))); |
| 290 } | 291 } |
| 291 | 292 |
| 292 } // namespace safe_browsing | 293 } // namespace safe_browsing |
| OLD | NEW |