Upstream version 9.38.198.0
[platform/framework/web/crosswalk.git] / src / chrome / browser / ui / webui / options / startup_pages_handler.cc
index 19b0563..6563b45 100644 (file)
@@ -9,14 +9,17 @@
 #include "base/prefs/pref_service.h"
 #include "chrome/browser/autocomplete/autocomplete_classifier.h"
 #include "chrome/browser/autocomplete/autocomplete_controller.h"
-#include "chrome/browser/autocomplete/autocomplete_input.h"
-#include "chrome/browser/autocomplete/autocomplete_result.h"
+#include "chrome/browser/autocomplete/chrome_autocomplete_scheme_classifier.h"
 #include "chrome/browser/chrome_notification_types.h"
 #include "chrome/browser/custom_home_pages_table_model.h"
 #include "chrome/browser/prefs/session_startup_pref.h"
 #include "chrome/browser/profiles/profile.h"
-#include "chrome/common/net/url_fixer_upper.h"
+#include "chrome/browser/search_engines/template_url_service_factory.h"
 #include "chrome/common/pref_names.h"
+#include "components/metrics/proto/omnibox_event.pb.h"
+#include "components/omnibox/autocomplete_input.h"
+#include "components/omnibox/autocomplete_result.h"
+#include "components/url_fixer/url_fixer.h"
 #include "content/public/browser/notification_details.h"
 #include "content/public/browser/web_ui.h"
 #include "grit/generated_resources.h"
@@ -45,6 +48,11 @@ void StartupPagesHandler::GetLocalizedValues(
 }
 
 void StartupPagesHandler::RegisterMessages() {
+  // Guest profiles should never have been displayed the option to set these
+  // values.
+  if (Profile::FromWebUI(web_ui())->IsOffTheRecord())
+    return;
+
   web_ui()->RegisterMessageCallback("removeStartupPages",
       base::Bind(&StartupPagesHandler::RemoveStartupPages,
                  base::Unretained(this)));
@@ -92,7 +100,8 @@ void StartupPagesHandler::InitializeHandler() {
       base::Bind(&StartupPagesHandler::UpdateStartupPages,
                  base::Unretained(this)));
 
-  autocomplete_controller_.reset(new AutocompleteController(profile, this,
+  autocomplete_controller_.reset(new AutocompleteController(profile,
+      TemplateURLServiceFactory::GetForProfile(profile), this,
       AutocompleteClassifier::kDefaultOmniboxProviders));
 }
 
@@ -153,7 +162,7 @@ void StartupPagesHandler::AddStartupPage(const base::ListValue* args) {
   std::string url_string;
   CHECK(args->GetString(0, &url_string));
 
-  GURL url = URLFixerUpper::FixupURL(url_string, std::string());
+  GURL url = url_fixer::FixupURL(url_string, std::string());
   if (!url.is_valid())
     return;
 
@@ -178,7 +187,7 @@ void StartupPagesHandler::EditStartupPage(const base::ListValue* args) {
     return;
   }
 
-  fixed_url = URLFixerUpper::FixupURL(url_string, std::string());
+  fixed_url = url_fixer::FixupURL(url_string, std::string());
   if (!fixed_url.is_empty()) {
     std::vector<GURL> urls = startup_custom_pages_table_model_->GetURLs();
     urls[index] = fixed_url;
@@ -236,7 +245,8 @@ void StartupPagesHandler::RequestAutocompleteSuggestions(
 
   autocomplete_controller_->Start(AutocompleteInput(
       input, base::string16::npos, base::string16(), GURL(),
-      AutocompleteInput::INVALID_SPEC, true, false, false, true));
+      metrics::OmniboxEventProto::INVALID_SPEC, true, false, false, true,
+      ChromeAutocompleteSchemeClassifier(Profile::FromWebUI(web_ui()))));
 }
 
 void StartupPagesHandler::OnResultChanged(bool default_match_changed) {