summaryrefslogtreecommitdiffstats
path: root/chrome/browser/autocomplete
diff options
context:
space:
mode:
authorerg@chromium.org <erg@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-07-15 21:03:54 +0000
committererg@chromium.org <erg@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-07-15 21:03:54 +0000
commit3a3d4747769aec2954a2ca21de4812c5892994aa (patch)
treedb112f2c73cc39e9d6088059eae1fc9d35b74920 /chrome/browser/autocomplete
parent2235b22b88260fde392b753b5d7bb7904e5efbc6 (diff)
downloadchromium_src-3a3d4747769aec2954a2ca21de4812c5892994aa.zip
chromium_src-3a3d4747769aec2954a2ca21de4812c5892994aa.tar.gz
chromium_src-3a3d4747769aec2954a2ca21de4812c5892994aa.tar.bz2
Move implementation from header to source.
This is an effort to speed up compile and link time, and also minimizing the size of the intermediary .o files on disk. For example, just moving the constructor/destructor from the classes in chrome/browser/pref_member.{cc,h} netted a 368k drop in total .o file size. In aggregate, this shrinks libbrowser.a by 10 megabytes, and a few odd megabytes on most other chrome .a files. A lot of this was done before I started harvesting what the most included symbols were across all of chrome's code. Most of them are in webkit, but there's plenty in base/ that are used everywhere to keep me busy for several patches to come. BUG=none TEST=none Review URL: http://codereview.chromium.org/3012001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@52528 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/autocomplete')
-rw-r--r--chrome/browser/autocomplete/autocomplete.cc36
-rw-r--r--chrome/browser/autocomplete/autocomplete.h25
-rw-r--r--chrome/browser/autocomplete/autocomplete_edit.cc27
-rw-r--r--chrome/browser/autocomplete/autocomplete_edit.h13
4 files changed, 72 insertions, 29 deletions
diff --git a/chrome/browser/autocomplete/autocomplete.cc b/chrome/browser/autocomplete/autocomplete.cc
index a8a9e4e..d24e209 100644
--- a/chrome/browser/autocomplete/autocomplete.cc
+++ b/chrome/browser/autocomplete/autocomplete.cc
@@ -36,6 +36,13 @@ using base::TimeDelta;
// AutocompleteInput ----------------------------------------------------------
+AutocompleteInput::AutocompleteInput()
+ : type_(INVALID),
+ prevent_inline_autocomplete_(false),
+ prefer_keyword_(false),
+ synchronous_only_(false) {
+}
+
AutocompleteInput::AutocompleteInput(const std::wstring& text,
const std::wstring& desired_tld,
bool prevent_inline_autocomplete,
@@ -68,6 +75,9 @@ AutocompleteInput::AutocompleteInput(const std::wstring& text,
text_.erase(0, 1);
}
+AutocompleteInput::~AutocompleteInput() {
+}
+
// static
std::string AutocompleteInput::TypeToString(Type type) {
switch (type) {
@@ -407,6 +417,9 @@ AutocompleteMatch::AutocompleteMatch(AutocompleteProvider* provider,
starred(false) {
}
+AutocompleteMatch::~AutocompleteMatch() {
+}
+
// static
std::string AutocompleteMatch::TypeToString(Type type) {
const char* strings[NUM_TYPES] = {
@@ -561,8 +574,16 @@ void AutocompleteMatch::ValidateClassifications(
// static
const size_t AutocompleteProvider::kMaxMatches = 3;
-AutocompleteProvider::~AutocompleteProvider() {
- Stop();
+AutocompleteProvider::ACProviderListener::~ACProviderListener() {
+}
+
+AutocompleteProvider::AutocompleteProvider(ACProviderListener* listener,
+ Profile* profile,
+ const char* name)
+ : profile_(profile),
+ listener_(listener),
+ done_(true),
+ name_(name) {
}
void AutocompleteProvider::SetProfile(Profile* profile) {
@@ -571,6 +592,17 @@ void AutocompleteProvider::SetProfile(Profile* profile) {
profile_ = profile;
}
+void AutocompleteProvider::Stop() {
+ done_ = true;
+}
+
+void AutocompleteProvider::DeleteMatch(const AutocompleteMatch& match) {
+}
+
+AutocompleteProvider::~AutocompleteProvider() {
+ Stop();
+}
+
// static
bool AutocompleteProvider::HasHTTPScheme(const std::wstring& input) {
std::string utf8_input(WideToUTF8(input));
diff --git a/chrome/browser/autocomplete/autocomplete.h b/chrome/browser/autocomplete/autocomplete.h
index 9cfb1b4..9ddec43 100644
--- a/chrome/browser/autocomplete/autocomplete.h
+++ b/chrome/browser/autocomplete/autocomplete.h
@@ -173,18 +173,13 @@ class AutocompleteInput {
FORCED_QUERY, // Input forced to be a query by an initial '?'
};
- AutocompleteInput()
- : type_(INVALID),
- prevent_inline_autocomplete_(false),
- prefer_keyword_(false),
- synchronous_only_(false) {
- }
-
+ AutocompleteInput();
AutocompleteInput(const std::wstring& text,
const std::wstring& desired_tld,
bool prevent_inline_autocomplete,
bool prefer_keyword,
bool synchronous_only);
+ ~AutocompleteInput();
// Converts |type| to a string representation. Used in logging.
static std::string TypeToString(Type type);
@@ -347,6 +342,7 @@ struct AutocompleteMatch {
int relevance,
bool deletable,
Type type);
+ ~AutocompleteMatch();
// Converts |type| to a string representation. Used in logging.
static std::string TypeToString(Type type);
@@ -491,17 +487,12 @@ class AutocompleteProvider
virtual void OnProviderUpdate(bool updated_matches) = 0;
protected:
- virtual ~ACProviderListener() {}
+ virtual ~ACProviderListener();
};
AutocompleteProvider(ACProviderListener* listener,
Profile* profile,
- const char* name)
- : profile_(profile),
- listener_(listener),
- done_(true),
- name_(name) {
- }
+ const char* name);
// Invoked when the profile changes.
// NOTE: Do not access any previous Profile* at this point as it may have
@@ -530,9 +521,7 @@ class AutocompleteProvider
// Called when a provider must not make any more callbacks for the current
// query. This will be called regardless of whether the provider is already
// done.
- virtual void Stop() {
- done_ = true;
- }
+ virtual void Stop();
// Returns the set of matches for the current query.
const ACMatches& matches() const { return matches_; }
@@ -548,7 +537,7 @@ class AutocompleteProvider
// called for matches the provider marks as deletable. This should only be
// called when no query is running.
// NOTE: Remember to call OnProviderUpdate() if matches_ is updated.
- virtual void DeleteMatch(const AutocompleteMatch& match) {}
+ virtual void DeleteMatch(const AutocompleteMatch& match);
// A suggested upper bound for how many matches a provider should return.
// TODO(pkasting): http://b/1111299 , http://b/933133 This should go away once
diff --git a/chrome/browser/autocomplete/autocomplete_edit.cc b/chrome/browser/autocomplete/autocomplete_edit.cc
index 32a4fec..03c8bff 100644
--- a/chrome/browser/autocomplete/autocomplete_edit.cc
+++ b/chrome/browser/autocomplete/autocomplete_edit.cc
@@ -30,6 +30,30 @@
#include "third_party/skia/include/core/SkBitmap.h"
///////////////////////////////////////////////////////////////////////////////
+// AutocompleteEditController
+
+AutocompleteEditController::~AutocompleteEditController() {
+}
+
+///////////////////////////////////////////////////////////////////////////////
+// AutocompleteEditModel::State
+
+AutocompleteEditModel::State::State(bool user_input_in_progress,
+ const std::wstring& user_text,
+ const std::wstring& keyword,
+ bool is_keyword_hint,
+ KeywordUIState keyword_ui_state)
+ : user_input_in_progress(user_input_in_progress),
+ user_text(user_text),
+ keyword(keyword),
+ is_keyword_hint(is_keyword_hint),
+ keyword_ui_state(keyword_ui_state) {
+}
+
+AutocompleteEditModel::State::~State() {
+}
+
+///////////////////////////////////////////////////////////////////////////////
// AutocompleteEditModel
AutocompleteEditModel::AutocompleteEditModel(
@@ -52,6 +76,9 @@ AutocompleteEditModel::AutocompleteEditModel(
profile_(profile) {
}
+AutocompleteEditModel::~AutocompleteEditModel() {
+}
+
void AutocompleteEditModel::SetPopupModel(AutocompletePopupModel* popup_model) {
popup_ = popup_model;
registrar_.Add(this,
diff --git a/chrome/browser/autocomplete/autocomplete_edit.h b/chrome/browser/autocomplete/autocomplete_edit.h
index 5df61b4..1b9d03a 100644
--- a/chrome/browser/autocomplete/autocomplete_edit.h
+++ b/chrome/browser/autocomplete/autocomplete_edit.h
@@ -61,7 +61,7 @@ class AutocompleteEditController {
virtual std::wstring GetTitle() const = 0;
protected:
- virtual ~AutocompleteEditController() {}
+ virtual ~AutocompleteEditController();
};
class AutocompleteEditModel : public NotificationObserver {
@@ -84,13 +84,8 @@ class AutocompleteEditModel : public NotificationObserver {
const std::wstring& user_text,
const std::wstring& keyword,
bool is_keyword_hint,
- KeywordUIState keyword_ui_state)
- : user_input_in_progress(user_input_in_progress),
- user_text(user_text),
- keyword(keyword),
- is_keyword_hint(is_keyword_hint),
- keyword_ui_state(keyword_ui_state) {
- }
+ KeywordUIState keyword_ui_state);
+ ~State();
bool user_input_in_progress;
const std::wstring user_text;
@@ -102,7 +97,7 @@ class AutocompleteEditModel : public NotificationObserver {
AutocompleteEditModel(AutocompleteEditView* view,
AutocompleteEditController* controller,
Profile* profile);
- ~AutocompleteEditModel() {}
+ ~AutocompleteEditModel();
void SetPopupModel(AutocompletePopupModel* popup_model);