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

Side by Side Diff: chrome/browser/autocomplete/keyword_provider.cc

Issue 7327007: Moving notification types which are chrome specific to a new header file chrome_notification_type... (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: '' Created 9 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
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/browser/autocomplete/keyword_provider.h" 5 #include "chrome/browser/autocomplete/keyword_provider.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/string16.h" 10 #include "base/string16.h"
11 #include "base/utf_string_conversions.h" 11 #include "base/utf_string_conversions.h"
12 #include "chrome/browser/autocomplete/autocomplete_match.h" 12 #include "chrome/browser/autocomplete/autocomplete_match.h"
13 #include "chrome/browser/extensions/extension_omnibox_api.h" 13 #include "chrome/browser/extensions/extension_omnibox_api.h"
14 #include "chrome/browser/extensions/extension_service.h" 14 #include "chrome/browser/extensions/extension_service.h"
15 #include "chrome/browser/profiles/profile.h" 15 #include "chrome/browser/profiles/profile.h"
16 #include "chrome/browser/search_engines/template_url.h" 16 #include "chrome/browser/search_engines/template_url.h"
17 #include "chrome/browser/search_engines/template_url_service.h" 17 #include "chrome/browser/search_engines/template_url_service.h"
18 #include "chrome/browser/search_engines/template_url_service_factory.h" 18 #include "chrome/browser/search_engines/template_url_service_factory.h"
19 #include "chrome/common/chrome_notification_types.h"
19 #include "content/common/notification_details.h" 20 #include "content/common/notification_details.h"
20 #include "content/common/notification_source.h" 21 #include "content/common/notification_source.h"
21 #include "grit/generated_resources.h" 22 #include "grit/generated_resources.h"
22 #include "net/base/escape.h" 23 #include "net/base/escape.h"
23 #include "net/base/net_util.h" 24 #include "net/base/net_util.h"
24 #include "ui/base/l10n/l10n_util.h" 25 #include "ui/base/l10n/l10n_util.h"
25 26
26 // Helper functor for Start(), for ending keyword mode unless explicitly told 27 // Helper functor for Start(), for ending keyword mode unless explicitly told
27 // otherwise. 28 // otherwise.
28 class KeywordProvider::ScopedEndExtensionKeywordMode { 29 class KeywordProvider::ScopedEndExtensionKeywordMode {
(...skipping 27 matching lines...) Expand all
56 return remaining_input; 57 return remaining_input;
57 } 58 }
58 59
59 KeywordProvider::KeywordProvider(ACProviderListener* listener, Profile* profile) 60 KeywordProvider::KeywordProvider(ACProviderListener* listener, Profile* profile)
60 : AutocompleteProvider(listener, profile, "Keyword"), 61 : AutocompleteProvider(listener, profile, "Keyword"),
61 model_(NULL), 62 model_(NULL),
62 current_input_id_(0) { 63 current_input_id_(0) {
63 // Extension suggestions always come from the original profile, since that's 64 // Extension suggestions always come from the original profile, since that's
64 // where extensions run. We use the input ID to distinguish whether the 65 // where extensions run. We use the input ID to distinguish whether the
65 // suggestions are meant for us. 66 // suggestions are meant for us.
66 registrar_.Add(this, NotificationType::EXTENSION_OMNIBOX_SUGGESTIONS_READY, 67 registrar_.Add(this,
68 chrome::NOTIFICATION_EXTENSION_OMNIBOX_SUGGESTIONS_READY,
67 Source<Profile>(profile->GetOriginalProfile())); 69 Source<Profile>(profile->GetOriginalProfile()));
68 registrar_.Add(this, 70 registrar_.Add(
69 NotificationType::EXTENSION_OMNIBOX_DEFAULT_SUGGESTION_CHANGED, 71 this, chrome::NOTIFICATION_EXTENSION_OMNIBOX_DEFAULT_SUGGESTION_CHANGED,
70 Source<Profile>(profile->GetOriginalProfile())); 72 Source<Profile>(profile->GetOriginalProfile()));
71 registrar_.Add(this, NotificationType::EXTENSION_OMNIBOX_INPUT_ENTERED, 73 registrar_.Add(this, chrome::NOTIFICATION_EXTENSION_OMNIBOX_INPUT_ENTERED,
72 Source<Profile>(profile)); 74 Source<Profile>(profile));
73 } 75 }
74 76
75 KeywordProvider::KeywordProvider(ACProviderListener* listener, 77 KeywordProvider::KeywordProvider(ACProviderListener* listener,
76 TemplateURLService* model) 78 TemplateURLService* model)
77 : AutocompleteProvider(listener, NULL, "Keyword"), 79 : AutocompleteProvider(listener, NULL, "Keyword"),
78 model_(model), 80 model_(model),
79 current_input_id_(0) { 81 current_input_id_(0) {
80 } 82 }
81 83
(...skipping 362 matching lines...) Expand 10 before | Expand all | Expand 10 after
444 keyword_desc.find(ASCIIToUTF16("%s")), 446 keyword_desc.find(ASCIIToUTF16("%s")),
445 prefix_length, 447 prefix_length,
446 result.description.length(), 448 result.description.length(),
447 ACMatchClassification::DIM, 449 ACMatchClassification::DIM,
448 &result.description_class); 450 &result.description_class);
449 } 451 }
450 452
451 return result; 453 return result;
452 } 454 }
453 455
454 void KeywordProvider::Observe(NotificationType type, 456 void KeywordProvider::Observe(int type,
455 const NotificationSource& source, 457 const NotificationSource& source,
456 const NotificationDetails& details) { 458 const NotificationDetails& details) {
457 TemplateURLService* model = 459 TemplateURLService* model =
458 profile_ ? TemplateURLServiceFactory::GetForProfile(profile_) : model_; 460 profile_ ? TemplateURLServiceFactory::GetForProfile(profile_) : model_;
459 const AutocompleteInput& input = extension_suggest_last_input_; 461 const AutocompleteInput& input = extension_suggest_last_input_;
460 462
461 switch (type.value) { 463 switch (type) {
462 case NotificationType::EXTENSION_OMNIBOX_INPUT_ENTERED: 464 case chrome::NOTIFICATION_EXTENSION_OMNIBOX_INPUT_ENTERED:
463 // Input has been accepted, so we're done with this input session. Ensure 465 // Input has been accepted, so we're done with this input session. Ensure
464 // we don't send the OnInputCancelled event, or handle any more stray 466 // we don't send the OnInputCancelled event, or handle any more stray
465 // suggestions_ready events. 467 // suggestions_ready events.
466 current_keyword_extension_id_.clear(); 468 current_keyword_extension_id_.clear();
467 current_input_id_ = 0; 469 current_input_id_ = 0;
468 return; 470 return;
469 471
470 case NotificationType::EXTENSION_OMNIBOX_DEFAULT_SUGGESTION_CHANGED: { 472 case chrome::NOTIFICATION_EXTENSION_OMNIBOX_DEFAULT_SUGGESTION_CHANGED: {
471 // It's possible to change the default suggestion while not in an editing 473 // It's possible to change the default suggestion while not in an editing
472 // session. 474 // session.
473 string16 keyword, remaining_input; 475 string16 keyword, remaining_input;
474 if (matches_.empty() || current_keyword_extension_id_.empty() || 476 if (matches_.empty() || current_keyword_extension_id_.empty() ||
475 !ExtractKeywordFromInput(input, &keyword, &remaining_input)) 477 !ExtractKeywordFromInput(input, &keyword, &remaining_input))
476 return; 478 return;
477 479
478 const TemplateURL* template_url( 480 const TemplateURL* template_url(
479 model->GetTemplateURLForKeyword(keyword)); 481 model->GetTemplateURLForKeyword(keyword));
480 ApplyDefaultSuggestionForExtensionKeyword(profile_, template_url, 482 ApplyDefaultSuggestionForExtensionKeyword(profile_, template_url,
481 remaining_input, 483 remaining_input,
482 &matches_[0]); 484 &matches_[0]);
483 listener_->OnProviderUpdate(true); 485 listener_->OnProviderUpdate(true);
484 return; 486 return;
485 } 487 }
486 488
487 case NotificationType::EXTENSION_OMNIBOX_SUGGESTIONS_READY: { 489 case chrome::NOTIFICATION_EXTENSION_OMNIBOX_SUGGESTIONS_READY: {
488 const ExtensionOmniboxSuggestions& suggestions = 490 const ExtensionOmniboxSuggestions& suggestions =
489 *Details<ExtensionOmniboxSuggestions>(details).ptr(); 491 *Details<ExtensionOmniboxSuggestions>(details).ptr();
490 if (suggestions.request_id != current_input_id_) 492 if (suggestions.request_id != current_input_id_)
491 return; // This is an old result. Just ignore. 493 return; // This is an old result. Just ignore.
492 494
493 string16 keyword, remaining_input; 495 string16 keyword, remaining_input;
494 if (!ExtractKeywordFromInput(input, &keyword, &remaining_input)) { 496 if (!ExtractKeywordFromInput(input, &keyword, &remaining_input)) {
495 NOTREACHED(); 497 NOTREACHED();
496 return; 498 return;
497 } 499 }
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
542 } 544 }
543 545
544 void KeywordProvider::MaybeEndExtensionKeywordMode() { 546 void KeywordProvider::MaybeEndExtensionKeywordMode() {
545 if (!current_keyword_extension_id_.empty()) { 547 if (!current_keyword_extension_id_.empty()) {
546 ExtensionOmniboxEventRouter::OnInputCancelled( 548 ExtensionOmniboxEventRouter::OnInputCancelled(
547 profile_, current_keyword_extension_id_); 549 profile_, current_keyword_extension_id_);
548 550
549 current_keyword_extension_id_.clear(); 551 current_keyword_extension_id_.clear();
550 } 552 }
551 } 553 }
OLDNEW
« no previous file with comments | « chrome/browser/autocomplete/keyword_provider.h ('k') | chrome/browser/autocomplete/shortcuts_provider.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698