| OLD | NEW |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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/browser/android/contextualsearch/contextual_search_delegate.h" | 5 #include "chrome/browser/android/contextualsearch/contextual_search_delegate.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 #include <utility> | |
| 9 | 8 |
| 10 #include "base/base64.h" | 9 #include "base/base64.h" |
| 11 #include "base/command_line.h" | 10 #include "base/command_line.h" |
| 12 #include "base/json/json_string_value_serializer.h" | 11 #include "base/json/json_string_value_serializer.h" |
| 13 #include "base/strings/string_number_conversions.h" | 12 #include "base/strings/string_number_conversions.h" |
| 14 #include "base/strings/string_util.h" | 13 #include "base/strings/string_util.h" |
| 15 #include "base/strings/utf_string_conversions.h" | 14 #include "base/strings/utf_string_conversions.h" |
| 16 #include "chrome/browser/android/contextualsearch/contextual_search_field_trial.
h" | 15 #include "chrome/browser/android/contextualsearch/contextual_search_field_trial.
h" |
| 17 #include "chrome/browser/android/contextualsearch/resolved_search_term.h" | 16 #include "chrome/browser/android/contextualsearch/resolved_search_term.h" |
| 18 #include "chrome/browser/android/proto/client_discourse_context.pb.h" | 17 #include "chrome/browser/android/proto/client_discourse_context.pb.h" |
| (...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 54 const char kXssiEscape[] = ")]}'\n"; | 53 const char kXssiEscape[] = ")]}'\n"; |
| 55 const char kDiscourseContextHeaderPrefix[] = "X-Additional-Discourse-Context: "; | 54 const char kDiscourseContextHeaderPrefix[] = "X-Additional-Discourse-Context: "; |
| 56 const char kDoPreventPreloadValue[] = "1"; | 55 const char kDoPreventPreloadValue[] = "1"; |
| 57 | 56 |
| 58 // The number of characters that should be shown after the selected expression. | 57 // The number of characters that should be shown after the selected expression. |
| 59 const int kSurroundingSizeForUI = 60; | 58 const int kSurroundingSizeForUI = 60; |
| 60 | 59 |
| 61 // The version of the Contextual Cards API that we want to invoke. | 60 // The version of the Contextual Cards API that we want to invoke. |
| 62 const int kContextualCardsVersion = 1; | 61 const int kContextualCardsVersion = 1; |
| 63 | 62 |
| 64 } // namespace | 63 } // namespace |
| 65 | 64 |
| 66 // URLFetcher ID, only used for tests: we only have one kind of fetcher. | 65 // URLFetcher ID, only used for tests: we only have one kind of fetcher. |
| 67 const int ContextualSearchDelegate::kContextualSearchURLFetcherID = 1; | 66 const int ContextualSearchDelegate::kContextualSearchURLFetcherID = 1; |
| 68 | 67 |
| 69 // Handles tasks for the ContextualSearchManager in a separable, testable way. | 68 // Handles tasks for the ContextualSearchManager in a separable, testable way. |
| 70 ContextualSearchDelegate::ContextualSearchDelegate( | 69 ContextualSearchDelegate::ContextualSearchDelegate( |
| 71 net::URLRequestContextGetter* url_request_context, | 70 net::URLRequestContextGetter* url_request_context, |
| 72 TemplateURLService* template_url_service, | 71 TemplateURLService* template_url_service, |
| 73 const ContextualSearchDelegate::SearchTermResolutionCallback& | 72 const ContextualSearchDelegate::SearchTermResolutionCallback& |
| 74 search_term_callback, | 73 search_term_callback, |
| (...skipping 328 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 403 | 402 |
| 404 // Only allow HTTP URLs or HTTPS URLs. | 403 // Only allow HTTP URLs or HTTPS URLs. |
| 405 if (current_page_url.scheme() != url::kHttpScheme && | 404 if (current_page_url.scheme() != url::kHttpScheme && |
| 406 (current_page_url.scheme() != url::kHttpsScheme)) | 405 (current_page_url.scheme() != url::kHttpsScheme)) |
| 407 return false; | 406 return false; |
| 408 | 407 |
| 409 // Check that the user has sync enabled, is logged in, and syncs their Chrome | 408 // Check that the user has sync enabled, is logged in, and syncs their Chrome |
| 410 // History. | 409 // History. |
| 411 browser_sync::ProfileSyncService* service = | 410 browser_sync::ProfileSyncService* service = |
| 412 ProfileSyncServiceFactory::GetInstance()->GetForProfile(profile); | 411 ProfileSyncServiceFactory::GetInstance()->GetForProfile(profile); |
| 413 syncer::SyncPrefs sync_prefs(profile->GetPrefs()); | 412 sync_driver::SyncPrefs sync_prefs(profile->GetPrefs()); |
| 414 if (service == NULL || !service->CanSyncStart() || | 413 if (service == NULL || !service->CanSyncStart() || |
| 415 !sync_prefs.GetPreferredDataTypes(syncer::UserTypes()) | 414 !sync_prefs.GetPreferredDataTypes(syncer::UserTypes()) |
| 416 .Has(syncer::PROXY_TABS) || | 415 .Has(syncer::PROXY_TABS) || |
| 417 !service->GetActiveDataTypes().Has(syncer::HISTORY_DELETE_DIRECTIVES)) { | 416 !service->GetActiveDataTypes().Has(syncer::HISTORY_DELETE_DIRECTIVES)) { |
| 418 return false; | 417 return false; |
| 419 } | 418 } |
| 420 | 419 |
| 421 return true; | 420 return true; |
| 422 } | 421 } |
| 423 | 422 |
| (...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 538 end_offset -= trim; | 537 end_offset -= trim; |
| 539 } | 538 } |
| 540 if (result_text.length() > end_offset + padding_each_side_pinned) { | 539 if (result_text.length() > end_offset + padding_each_side_pinned) { |
| 541 // Trim the end. | 540 // Trim the end. |
| 542 result_text = result_text.substr(0, end_offset + padding_each_side_pinned); | 541 result_text = result_text.substr(0, end_offset + padding_each_side_pinned); |
| 543 } | 542 } |
| 544 *start = start_offset; | 543 *start = start_offset; |
| 545 *end = end_offset; | 544 *end = end_offset; |
| 546 return result_text; | 545 return result_text; |
| 547 } | 546 } |
| OLD | NEW |