summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorerg@google.com <erg@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2010-09-22 19:42:00 +0000
committererg@google.com <erg@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2010-09-22 19:42:00 +0000
commit7e4468d50ab7c74fad98adcb847d82c5750f2a21 (patch)
treebcaecf049255d834e454b10512b241172109bd6f
parent2aa3de25c0bca5f7c06a89a100bb7cd50004b853 (diff)
downloadchromium_src-7e4468d50ab7c74fad98adcb847d82c5750f2a21.zip
chromium_src-7e4468d50ab7c74fad98adcb847d82c5750f2a21.tar.gz
chromium_src-7e4468d50ab7c74fad98adcb847d82c5750f2a21.tar.bz2
FBTF: Move a bunch of code to the headers and remove includes.
BUG=none TEST=compiles Review URL: http://codereview.chromium.org/3412016 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@60208 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r--chrome/browser/automation/automation_extension_function.cc6
-rw-r--r--chrome/browser/automation/automation_extension_function.h4
-rw-r--r--chrome/browser/automation/automation_extension_tracker.cc4
-rw-r--r--chrome/browser/automation/automation_extension_tracker.h4
-rw-r--r--chrome/browser/automation/automation_provider.h12
-rw-r--r--chrome/browser/automation/automation_provider_json.cc1
-rw-r--r--chrome/browser/automation/automation_provider_json.h3
-rw-r--r--chrome/browser/automation/automation_provider_observers.cc8
-rw-r--r--chrome/browser/automation/automation_provider_observers.h1
-rw-r--r--chrome/browser/automation/automation_resource_tracker.cc8
-rw-r--r--chrome/browser/automation/automation_resource_tracker.h6
-rw-r--r--chrome/browser/automation/automation_tab_tracker.cc76
-rw-r--r--chrome/browser/automation/automation_tab_tracker.h72
-rw-r--r--chrome/browser/automation/automation_window_tracker.cc25
-rw-r--r--chrome/browser/automation/automation_window_tracker.h20
-rw-r--r--chrome/browser/automation/testing_automation_provider.cc2
-rw-r--r--chrome/browser/automation/testing_automation_provider.h3
-rw-r--r--chrome/browser/automation/url_request_automation_job.cc1
-rw-r--r--chrome/browser/automation/url_request_automation_job.h9
-rw-r--r--chrome/browser/extensions/extension_host.cc1
-rw-r--r--chrome/browser/net/sqlite_persistent_cookie_store.cc1
-rw-r--r--chrome/browser/notifications/desktop_notification_service.cc1
-rw-r--r--chrome/browser/profile_impl.cc1
-rw-r--r--chrome/browser/renderer_host/resource_dispatcher_host.cc1
-rw-r--r--chrome/browser/tab_contents/tab_contents.cc1
-rw-r--r--chrome/chrome_browser.gypi2
-rw-r--r--chrome_frame/test/net/test_automation_resource_message_filter.h3
-rw-r--r--chrome_frame/urlmon_url_request_private.h1
-rw-r--r--net/base/cookie_monster.cc43
-rw-r--r--net/base/cookie_monster.h34
-rw-r--r--net/base/dnssec_chain_verifier.cc10
-rw-r--r--net/base/dnssec_chain_verifier.h10
-rw-r--r--net/base/dnssec_keyset.cc3
-rw-r--r--net/base/dnssec_keyset.h1
-rw-r--r--net/base/ev_root_ca_metadata.cc3
-rw-r--r--net/base/ev_root_ca_metadata.h2
-rw-r--r--net/base/host_mapping_rules.cc14
-rw-r--r--net/base/host_mapping_rules.h14
-rw-r--r--net/base/io_buffer.cc3
-rw-r--r--net/base/io_buffer.h12
-rw-r--r--net/base/pem_tokenizer.cc9
-rw-r--r--net/base/pem_tokenizer.h7
-rw-r--r--net/base/sdch_manager.cc3
-rw-r--r--net/base/sdch_manager.h2
-rw-r--r--net/base/ssl_config_service.cc25
-rw-r--r--net/base/ssl_config_service.h23
-rw-r--r--net/base/ssl_config_service_defaults.cc20
-rw-r--r--net/base/ssl_config_service_defaults.h11
-rw-r--r--net/base/transport_security_state.cc3
-rw-r--r--net/base/transport_security_state.h2
-rw-r--r--net/base/upload_data_stream.cc1
-rw-r--r--net/base/upload_data_stream.h3
-rw-r--r--net/base/x509_cert_types.cc13
-rw-r--r--net/base/x509_cert_types.h8
-rw-r--r--net/http/http_stream_parser.h1
-rw-r--r--net/net.gyp1
-rw-r--r--net/url_request/https_prober.cc6
-rw-r--r--net/url_request/https_prober.h3
-rw-r--r--net/url_request/url_request_data_job.cc3
-rw-r--r--net/url_request/url_request_data_job.h2
60 files changed, 381 insertions, 191 deletions
diff --git a/chrome/browser/automation/automation_extension_function.cc b/chrome/browser/automation/automation_extension_function.cc
index ce556be..2e72c6b 100644
--- a/chrome/browser/automation/automation_extension_function.cc
+++ b/chrome/browser/automation/automation_extension_function.cc
@@ -20,6 +20,9 @@ TabContents* AutomationExtensionFunction::api_handler_tab_ = NULL;
AutomationExtensionFunction::PendingFunctionsMap
AutomationExtensionFunction::pending_functions_;
+AutomationExtensionFunction::AutomationExtensionFunction() {
+}
+
void AutomationExtensionFunction::SetArgs(const ListValue* args) {
// Need to JSON-encode for sending over the wire to the automation user.
base::JSONWriter::Write(args, false, &args_);
@@ -164,3 +167,6 @@ bool AutomationExtensionFunction::InterceptMessageFromExternalHost(
return false;
}
+
+AutomationExtensionFunction::~AutomationExtensionFunction() {
+}
diff --git a/chrome/browser/automation/automation_extension_function.h b/chrome/browser/automation/automation_extension_function.h
index 828b0f4..275d3c9 100644
--- a/chrome/browser/automation/automation_extension_function.h
+++ b/chrome/browser/automation/automation_extension_function.h
@@ -21,7 +21,7 @@ class TabContents;
// automation interface, so that extensions can be tested using UITests.
class AutomationExtensionFunction : public AsyncExtensionFunction {
public:
- AutomationExtensionFunction() { }
+ AutomationExtensionFunction();
// ExtensionFunction implementation.
virtual void SetArgs(const ListValue* args);
@@ -59,7 +59,7 @@ class AutomationExtensionFunction : public AsyncExtensionFunction {
const std::string& target);
private:
- ~AutomationExtensionFunction() {}
+ ~AutomationExtensionFunction();
// Weak reference, lifetime managed by the ExternalTabContainer instance
// owning the TabContents in question.
diff --git a/chrome/browser/automation/automation_extension_tracker.cc b/chrome/browser/automation/automation_extension_tracker.cc
index 8f09e1f..cd816d3 100644
--- a/chrome/browser/automation/automation_extension_tracker.cc
+++ b/chrome/browser/automation/automation_extension_tracker.cc
@@ -20,6 +20,10 @@ AutomationExtensionTracker::AutomationExtensionTracker(
AutomationExtensionTracker::~AutomationExtensionTracker() {
}
+void AutomationExtensionTracker::AddObserver(Extension* resource) {}
+
+void AutomationExtensionTracker::RemoveObserver(Extension* resource) {}
+
void AutomationExtensionTracker::Observe(NotificationType type,
const NotificationSource& source,
const NotificationDetails& details) {
diff --git a/chrome/browser/automation/automation_extension_tracker.h b/chrome/browser/automation/automation_extension_tracker.h
index 8daaf7f..c1b7ed7 100644
--- a/chrome/browser/automation/automation_extension_tracker.h
+++ b/chrome/browser/automation/automation_extension_tracker.h
@@ -23,10 +23,10 @@ class AutomationExtensionTracker
// extension, is the one who sends the notification about extension
// uninstalls. Instead of using this method, one observer is added for all
// extensions in the constructor.
- virtual void AddObserver(Extension* resource) {}
+ virtual void AddObserver(Extension* resource);
// See related comment above as to why this method is empty.
- virtual void RemoveObserver(Extension* resource) {}
+ virtual void RemoveObserver(Extension* resource);
// Overriding AutomationResourceTracker Observe. AutomationResourceTracker's
// Observe expects the NotificationSource to be the object that is closing.
diff --git a/chrome/browser/automation/automation_provider.h b/chrome/browser/automation/automation_provider.h
index 233a8c7..838fcd6 100644
--- a/chrome/browser/automation/automation_provider.h
+++ b/chrome/browser/automation/automation_provider.h
@@ -17,17 +17,18 @@
#include <vector>
#include "base/basictypes.h"
+#include "base/observer_list.h"
#include "base/scoped_ptr.h"
#include "chrome/browser/autofill/field_types.h"
-#include "chrome/browser/browser_list.h"
-#include "chrome/browser/history/history.h"
+#include "chrome/browser/cancelable_request.h"
#include "chrome/browser/tab_contents/navigation_entry.h"
#include "chrome/common/content_settings.h"
-#include "chrome/common/notification_registrar.h"
+#include "chrome/common/notification_observer.h"
#include "chrome/test/automation/automation_constants.h"
#include "ipc/ipc_message.h"
#include "ipc/ipc_channel.h"
#if defined(OS_WIN)
+#include "gfx/native_widget_types.h"
#include "views/event.h"
#endif // defined(OS_WIN)
@@ -47,12 +48,15 @@ class AutomationExtensionTracker;
class AutomationResourceMessageFilter;
class AutomationTabTracker;
class AutomationWindowTracker;
+class Browser;
class CreditCard;
class DictionaryValue;
+class DownloadItem;
class Extension;
class ExtensionPortContainer;
class ExtensionTestResultNotificationObserver;
class ExternalTabContainer;
+class FilePath;
class InitialLoadObserver;
class ListValue;
class LoginHandler;
@@ -60,6 +64,8 @@ class MetricEventDurationObserver;
class NavigationController;
class NavigationControllerRestoredObserver;
class Profile;
+class RenderViewHost;
+class TabContents;
struct AutocompleteMatchData;
namespace gfx {
diff --git a/chrome/browser/automation/automation_provider_json.cc b/chrome/browser/automation/automation_provider_json.cc
index 05f3a1b..2ffbeaa 100644
--- a/chrome/browser/automation/automation_provider_json.cc
+++ b/chrome/browser/automation/automation_provider_json.cc
@@ -6,6 +6,7 @@
#include "base/json/json_writer.h"
#include "base/json/string_escape.h"
+#include "chrome/browser/automation/automation_provider.h"
#include "chrome/test/automation/automation_messages.h"
namespace {
diff --git a/chrome/browser/automation/automation_provider_json.h b/chrome/browser/automation/automation_provider_json.h
index 692af80..26b8581 100644
--- a/chrome/browser/automation/automation_provider_json.h
+++ b/chrome/browser/automation/automation_provider_json.h
@@ -10,9 +10,8 @@
#include <string>
-#include "chrome/browser/automation/automation_provider.h"
-
class Value;
+class AutomationProvider;
namespace IPC {
class Message;
diff --git a/chrome/browser/automation/automation_provider_observers.cc b/chrome/browser/automation/automation_provider_observers.cc
index a885a4f..f927c50 100644
--- a/chrome/browser/automation/automation_provider_observers.cc
+++ b/chrome/browser/automation/automation_provider_observers.cc
@@ -11,6 +11,8 @@
#include "chrome/browser/automation/automation_provider.h"
#include "chrome/browser/automation/automation_provider_json.h"
#include "chrome/browser/bookmarks/bookmark_model.h"
+#include "chrome/browser/browser.h"
+#include "chrome/browser/browser_list.h"
#include "chrome/browser/dom_operation_notification_details.h"
#include "chrome/browser/download/download_item.h"
#include "chrome/browser/download/save_package.h"
@@ -1109,7 +1111,8 @@ void LoginManagerObserver::Observe(NotificationType type,
}
#endif
-AutomationProviderBookmarkModelObserver::AutomationProviderBookmarkModelObserver(
+AutomationProviderBookmarkModelObserver::
+AutomationProviderBookmarkModelObserver(
AutomationProvider* provider,
IPC::Message* reply_message,
BookmarkModel* model) {
@@ -1119,7 +1122,8 @@ AutomationProviderBookmarkModelObserver::AutomationProviderBookmarkModelObserver
model_->AddObserver(this);
}
-AutomationProviderBookmarkModelObserver::~AutomationProviderBookmarkModelObserver() {
+AutomationProviderBookmarkModelObserver::
+~AutomationProviderBookmarkModelObserver() {
model_->RemoveObserver(this);
}
diff --git a/chrome/browser/automation/automation_provider_observers.h b/chrome/browser/automation/automation_provider_observers.h
index 5f9bbcf..949a594 100644
--- a/chrome/browser/automation/automation_provider_observers.h
+++ b/chrome/browser/automation/automation_provider_observers.h
@@ -20,7 +20,6 @@
#include "chrome/browser/importer/importer_data_types.h"
#include "chrome/browser/password_manager/password_store.h"
#include "chrome/browser/search_engines/template_url_model_observer.h"
-#include "chrome/browser/tab_contents/tab_contents.h"
#include "chrome/browser/tabs/tab_strip_model.h"
#include "chrome/common/notification_observer.h"
#include "chrome/common/notification_registrar.h"
diff --git a/chrome/browser/automation/automation_resource_tracker.cc b/chrome/browser/automation/automation_resource_tracker.cc
index de20ba1..c233b41 100644
--- a/chrome/browser/automation/automation_resource_tracker.cc
+++ b/chrome/browser/automation/automation_resource_tracker.cc
@@ -7,6 +7,14 @@
#include "chrome/common/notification_service.h"
#include "chrome/test/automation/automation_messages.h"
+AutomationResourceTrackerImpl::AutomationResourceTrackerImpl(
+ IPC::Message::Sender* sender)
+ : sender_(sender) {
+}
+
+AutomationResourceTrackerImpl::~AutomationResourceTrackerImpl() {
+}
+
int AutomationResourceTrackerImpl::AddImpl(void* resource) {
if (ContainsResourceImpl(resource))
return resource_to_handle_[resource];
diff --git a/chrome/browser/automation/automation_resource_tracker.h b/chrome/browser/automation/automation_resource_tracker.h
index 0eade90..671f72b 100644
--- a/chrome/browser/automation/automation_resource_tracker.h
+++ b/chrome/browser/automation/automation_resource_tracker.h
@@ -32,10 +32,8 @@ struct AutomationResourceTraits<T*> {
// of AutomationResourceTracker to live in a .cc file.
class AutomationResourceTrackerImpl {
public:
- explicit AutomationResourceTrackerImpl(IPC::Message::Sender* sender)
- : sender_(sender) {}
-
- virtual ~AutomationResourceTrackerImpl() {}
+ explicit AutomationResourceTrackerImpl(IPC::Message::Sender* sender);
+ virtual ~AutomationResourceTrackerImpl();
// These need to be implemented in AutomationResourceTracker,
// since it needs to call the subclass's type-specific notification
diff --git a/chrome/browser/automation/automation_tab_tracker.cc b/chrome/browser/automation/automation_tab_tracker.cc
new file mode 100644
index 0000000..e672e2e
--- /dev/null
+++ b/chrome/browser/automation/automation_tab_tracker.cc
@@ -0,0 +1,76 @@
+// Copyright (c) 2010 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "chrome/browser/automation/automation_tab_tracker.h"
+
+#include "chrome/browser/tab_contents/navigation_controller.h"
+#include "chrome/common/notification_type.h"
+#include "chrome/common/notification_source.h"
+
+AutomationTabTracker::AutomationTabTracker(IPC::Message::Sender* automation)
+ : AutomationResourceTracker<NavigationController*>(automation) {
+}
+
+AutomationTabTracker::~AutomationTabTracker() {
+}
+
+void AutomationTabTracker::AddObserver(NavigationController* resource) {
+ // This tab could either be a regular tab or an external tab
+ // Register for both notifications.
+ registrar_.Add(this, NotificationType::TAB_CLOSING,
+ Source<NavigationController>(resource));
+ registrar_.Add(this, NotificationType::EXTERNAL_TAB_CLOSED,
+ Source<NavigationController>(resource));
+ // We also want to know about navigations so we can keep track of the last
+ // navigation time.
+ registrar_.Add(this, NotificationType::LOAD_STOP,
+ Source<NavigationController>(resource));
+}
+
+void AutomationTabTracker::RemoveObserver(NavigationController* resource) {
+ registrar_.Remove(this, NotificationType::TAB_CLOSING,
+ Source<NavigationController>(resource));
+ registrar_.Remove(this, NotificationType::EXTERNAL_TAB_CLOSED,
+ Source<NavigationController>(resource));
+ registrar_.Remove(this, NotificationType::LOAD_STOP,
+ Source<NavigationController>(resource));
+}
+
+void AutomationTabTracker::Observe(NotificationType type,
+ const NotificationSource& source,
+ const NotificationDetails& details) {
+ switch (type.value) {
+ case NotificationType::LOAD_STOP:
+ last_navigation_times_[Source<NavigationController>(source).ptr()] =
+ base::Time::Now();
+ return;
+ case NotificationType::EXTERNAL_TAB_CLOSED:
+ case NotificationType::TAB_CLOSING:
+ {
+ std::map<NavigationController*, base::Time>::iterator iter =
+ last_navigation_times_.find(
+ Source<NavigationController>(source).ptr());
+ if (iter != last_navigation_times_.end())
+ last_navigation_times_.erase(iter);
+ }
+ break;
+ default:
+ NOTREACHED();
+ }
+ AutomationResourceTracker<NavigationController*>::Observe(type, source,
+ details);
+}
+
+base::Time AutomationTabTracker::GetLastNavigationTime(int handle) {
+ if (ContainsHandle(handle)) {
+ NavigationController* controller = GetResource(handle);
+ if (controller) {
+ std::map<NavigationController*, base::Time>::const_iterator iter =
+ last_navigation_times_.find(controller);
+ if (iter != last_navigation_times_.end())
+ return iter->second;
+ }
+ }
+ return base::Time();
+}
diff --git a/chrome/browser/automation/automation_tab_tracker.h b/chrome/browser/automation/automation_tab_tracker.h
index a259aed..e894f0d 100644
--- a/chrome/browser/automation/automation_tab_tracker.h
+++ b/chrome/browser/automation/automation_tab_tracker.h
@@ -10,78 +10,24 @@
#include "base/time.h"
#include "chrome/browser/automation/automation_resource_tracker.h"
-#include "chrome/browser/tab_contents/navigation_controller.h"
-#include "chrome/common/notification_registrar.h"
-#include "chrome/common/notification_type.h"
+
+class NavigationController;
+class NotificationType;
class AutomationTabTracker
: public AutomationResourceTracker<NavigationController*> {
public:
- explicit AutomationTabTracker(IPC::Message::Sender* automation)
- : AutomationResourceTracker<NavigationController*>(automation) {}
-
- virtual ~AutomationTabTracker() {
- }
-
- virtual void AddObserver(NavigationController* resource) {
- // This tab could either be a regular tab or an external tab
- // Register for both notifications.
- registrar_.Add(this, NotificationType::TAB_CLOSING,
- Source<NavigationController>(resource));
- registrar_.Add(this, NotificationType::EXTERNAL_TAB_CLOSED,
- Source<NavigationController>(resource));
- // We also want to know about navigations so we can keep track of the last
- // navigation time.
- registrar_.Add(this, NotificationType::LOAD_STOP,
- Source<NavigationController>(resource));
- }
+ explicit AutomationTabTracker(IPC::Message::Sender* automation);
+ virtual ~AutomationTabTracker();
- virtual void RemoveObserver(NavigationController* resource) {
- registrar_.Remove(this, NotificationType::TAB_CLOSING,
- Source<NavigationController>(resource));
- registrar_.Remove(this, NotificationType::EXTERNAL_TAB_CLOSED,
- Source<NavigationController>(resource));
- registrar_.Remove(this, NotificationType::LOAD_STOP,
- Source<NavigationController>(resource));
- }
+ virtual void AddObserver(NavigationController* resource);
+ virtual void RemoveObserver(NavigationController* resource);
virtual void Observe(NotificationType type,
const NotificationSource& source,
- const NotificationDetails& details) {
- switch (type.value) {
- case NotificationType::LOAD_STOP:
- last_navigation_times_[Source<NavigationController>(source).ptr()] =
- base::Time::Now();
- return;
- case NotificationType::EXTERNAL_TAB_CLOSED:
- case NotificationType::TAB_CLOSING:
- {
- std::map<NavigationController*, base::Time>::iterator iter =
- last_navigation_times_.find(
- Source<NavigationController>(source).ptr());
- if (iter != last_navigation_times_.end())
- last_navigation_times_.erase(iter);
- }
- break;
- default:
- NOTREACHED();
- }
- AutomationResourceTracker<NavigationController*>::Observe(type, source,
- details);
- }
+ const NotificationDetails& details);
- base::Time GetLastNavigationTime(int handle) {
- if (ContainsHandle(handle)) {
- NavigationController* controller = GetResource(handle);
- if (controller) {
- std::map<NavigationController*, base::Time>::const_iterator iter =
- last_navigation_times_.find(controller);
- if (iter != last_navigation_times_.end())
- return iter->second;
- }
- }
- return base::Time();
- }
+ base::Time GetLastNavigationTime(int handle);
private:
// Last time a navigation occurred.
diff --git a/chrome/browser/automation/automation_window_tracker.cc b/chrome/browser/automation/automation_window_tracker.cc
new file mode 100644
index 0000000..e0f8b32
--- /dev/null
+++ b/chrome/browser/automation/automation_window_tracker.cc
@@ -0,0 +1,25 @@
+// Copyright (c) 2010 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "chrome/browser/automation/automation_window_tracker.h"
+
+#include "chrome/common/native_window_notification_source.h"
+
+AutomationWindowTracker::AutomationWindowTracker(
+ IPC::Message::Sender* automation)
+ : AutomationResourceTracker<gfx::NativeWindow>(automation) {
+}
+
+AutomationWindowTracker::~AutomationWindowTracker() {
+}
+
+void AutomationWindowTracker::AddObserver(gfx::NativeWindow resource) {
+ registrar_.Add(this, NotificationType::WINDOW_CLOSED,
+ Source<gfx::NativeWindow>(resource));
+}
+
+void AutomationWindowTracker::RemoveObserver(gfx::NativeWindow resource) {
+ registrar_.Remove(this, NotificationType::WINDOW_CLOSED,
+ Source<gfx::NativeWindow>(resource));
+}
diff --git a/chrome/browser/automation/automation_window_tracker.h b/chrome/browser/automation/automation_window_tracker.h
index e73b169..7483f1d 100644
--- a/chrome/browser/automation/automation_window_tracker.h
+++ b/chrome/browser/automation/automation_window_tracker.h
@@ -1,4 +1,4 @@
-// Copyright (c) 2006-2008 The Chromium Authors. All rights reserved.
+// Copyright (c) 2010 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
@@ -8,26 +8,16 @@
#include "build/build_config.h"
#include "chrome/browser/automation/automation_resource_tracker.h"
-#include "chrome/common/native_window_notification_source.h"
#include "gfx/native_widget_types.h"
class AutomationWindowTracker
: public AutomationResourceTracker<gfx::NativeWindow> {
public:
- explicit AutomationWindowTracker(IPC::Message::Sender* automation)
- : AutomationResourceTracker<gfx::NativeWindow>(automation) { }
- virtual ~AutomationWindowTracker() {
- }
+ explicit AutomationWindowTracker(IPC::Message::Sender* automation);
+ virtual ~AutomationWindowTracker();
- virtual void AddObserver(gfx::NativeWindow resource) {
- registrar_.Add(this, NotificationType::WINDOW_CLOSED,
- Source<gfx::NativeWindow>(resource));
- }
-
- virtual void RemoveObserver(gfx::NativeWindow resource) {
- registrar_.Remove(this, NotificationType::WINDOW_CLOSED,
- Source<gfx::NativeWindow>(resource));
- }
+ virtual void AddObserver(gfx::NativeWindow resource);
+ virtual void RemoveObserver(gfx::NativeWindow resource);
};
#endif // CHROME_BROWSER_AUTOMATION_AUTOMATION_WINDOW_TRACKER_H_
diff --git a/chrome/browser/automation/testing_automation_provider.cc b/chrome/browser/automation/testing_automation_provider.cc
index 6a9a90a..cecdeb7 100644
--- a/chrome/browser/automation/testing_automation_provider.cc
+++ b/chrome/browser/automation/testing_automation_provider.cc
@@ -46,8 +46,10 @@
#include "chrome/browser/renderer_host/render_process_host.h"
#include "chrome/browser/renderer_host/render_view_host.h"
#include "chrome/browser/search_engines/template_url.h"
+#include "chrome/browser/search_engines/template_url_model.h"
#include "chrome/browser/tab_contents/infobar_delegate.h"
#include "chrome/browser/tab_contents/interstitial_page.h"
+#include "chrome/browser/tab_contents/tab_contents.h"
#include "chrome/browser/translate/translate_infobar_delegate.h"
#include "chrome/common/chrome_constants.h"
#include "chrome/common/chrome_paths.h"
diff --git a/chrome/browser/automation/testing_automation_provider.h b/chrome/browser/automation/testing_automation_provider.h
index 870e4ff..8099884 100644
--- a/chrome/browser/automation/testing_automation_provider.h
+++ b/chrome/browser/automation/testing_automation_provider.h
@@ -10,9 +10,10 @@
#include "chrome/browser/automation/automation_provider.h"
#include "chrome/browser/browser_list.h"
#include "chrome/browser/history/history.h"
-#include "chrome/browser/search_engines/template_url_model.h"
#include "chrome/common/notification_registrar.h"
+class TemplateURLModel;
+
// This is an automation provider containing testing calls.
class TestingAutomationProvider : public AutomationProvider,
public BrowserList::Observer,
diff --git a/chrome/browser/automation/url_request_automation_job.cc b/chrome/browser/automation/url_request_automation_job.cc
index cc4b403..8e96e7a 100644
--- a/chrome/browser/automation/url_request_automation_job.cc
+++ b/chrome/browser/automation/url_request_automation_job.cc
@@ -15,6 +15,7 @@
#include "net/base/cookie_monster.h"
#include "net/base/io_buffer.h"
#include "net/base/net_errors.h"
+#include "net/http/http_response_headers.h"
#include "net/http/http_request_headers.h"
#include "net/http/http_util.h"
#include "net/url_request/url_request_context.h"
diff --git a/chrome/browser/automation/url_request_automation_job.h b/chrome/browser/automation/url_request_automation_job.h
index 2a76c8e..5ce9553 100644
--- a/chrome/browser/automation/url_request_automation_job.h
+++ b/chrome/browser/automation/url_request_automation_job.h
@@ -7,18 +7,21 @@
#define CHROME_BROWSER_AUTOMATION_URL_REQUEST_AUTOMATION_JOB_H_
#pragma once
-#include "chrome/browser/automation/automation_resource_message_filter.h"
#include "chrome/common/ref_counted_util.h"
-#include "net/http/http_response_headers.h"
#include "net/url_request/url_request.h"
#include "net/url_request/url_request_job.h"
class AutomationResourceMessageFilter;
+namespace net {
+class HttpResponseHeaders;
+class HttpResponseInfo;
+}
+
namespace IPC {
class Message;
struct AutomationURLResponse;
-};
+}
// URLRequestJob implementation that loads the resources using
// automation.
diff --git a/chrome/browser/extensions/extension_host.cc b/chrome/browser/extensions/extension_host.cc
index cf95ce2..86dad5c 100644
--- a/chrome/browser/extensions/extension_host.cc
+++ b/chrome/browser/extensions/extension_host.cc
@@ -9,6 +9,7 @@
#include "app/keyboard_codes.h"
#include "app/l10n_util.h"
#include "app/resource_bundle.h"
+#include "base/histogram.h"
#include "base/message_loop.h"
#include "base/singleton.h"
#include "base/string_util.h"
diff --git a/chrome/browser/net/sqlite_persistent_cookie_store.cc b/chrome/browser/net/sqlite_persistent_cookie_store.cc
index acce350..b70ca15 100644
--- a/chrome/browser/net/sqlite_persistent_cookie_store.cc
+++ b/chrome/browser/net/sqlite_persistent_cookie_store.cc
@@ -10,6 +10,7 @@
#include "app/sql/transaction.h"
#include "base/basictypes.h"
#include "base/file_util.h"
+#include "base/histogram.h"
#include "base/logging.h"
#include "base/ref_counted.h"
#include "base/scoped_ptr.h"
diff --git a/chrome/browser/notifications/desktop_notification_service.cc b/chrome/browser/notifications/desktop_notification_service.cc
index a467697..b55c573 100644
--- a/chrome/browser/notifications/desktop_notification_service.cc
+++ b/chrome/browser/notifications/desktop_notification_service.cc
@@ -6,6 +6,7 @@
#include "app/l10n_util.h"
#include "app/resource_bundle.h"
+#include "base/histogram.h"
#include "base/thread.h"
#include "base/utf_string_conversions.h"
#include "chrome/browser/browser_child_process_host.h"
diff --git a/chrome/browser/profile_impl.cc b/chrome/browser/profile_impl.cc
index fb5f501..cce9629 100644
--- a/chrome/browser/profile_impl.cc
+++ b/chrome/browser/profile_impl.cc
@@ -9,6 +9,7 @@
#include "base/environment.h"
#include "base/file_path.h"
#include "base/file_util.h"
+#include "base/histogram.h"
#include "base/path_service.h"
#include "base/scoped_ptr.h"
#include "base/string_number_conversions.h"
diff --git a/chrome/browser/renderer_host/resource_dispatcher_host.cc b/chrome/browser/renderer_host/resource_dispatcher_host.cc
index dd37488..899f077 100644
--- a/chrome/browser/renderer_host/resource_dispatcher_host.cc
+++ b/chrome/browser/renderer_host/resource_dispatcher_host.cc
@@ -10,6 +10,7 @@
#include "base/logging.h"
#include "base/command_line.h"
+#include "base/histogram.h"
#include "base/message_loop.h"
#include "base/scoped_ptr.h"
#include "base/shared_memory.h"
diff --git a/chrome/browser/tab_contents/tab_contents.cc b/chrome/browser/tab_contents/tab_contents.cc
index 2578b5a..086d1f1 100644
--- a/chrome/browser/tab_contents/tab_contents.cc
+++ b/chrome/browser/tab_contents/tab_contents.cc
@@ -17,6 +17,7 @@
#include "app/text_elider.h"
#include "base/auto_reset.h"
#include "base/file_version_info.h"
+#include "base/histogram.h"
#include "base/i18n/rtl.h"
#include "base/process_util.h"
#include "base/string16.h"
diff --git a/chrome/chrome_browser.gypi b/chrome/chrome_browser.gypi
index b7b741c..c650db4 100644
--- a/chrome/chrome_browser.gypi
+++ b/chrome/chrome_browser.gypi
@@ -218,7 +218,9 @@
'browser/automation/automation_resource_routing_delegate.h',
'browser/automation/automation_resource_tracker.cc',
'browser/automation/automation_resource_tracker.h',
+ 'browser/automation/automation_tab_tracker.cc',
'browser/automation/automation_tab_tracker.h',
+ 'browser/automation/automation_window_tracker.cc',
'browser/automation/automation_window_tracker.h',
'browser/automation/chrome_frame_automation_provider.cc',
'browser/automation/chrome_frame_automation_provider.h',
diff --git a/chrome_frame/test/net/test_automation_resource_message_filter.h b/chrome_frame/test/net/test_automation_resource_message_filter.h
index 310307a..281a45a 100644
--- a/chrome_frame/test/net/test_automation_resource_message_filter.h
+++ b/chrome_frame/test/net/test_automation_resource_message_filter.h
@@ -5,6 +5,7 @@
#define CHROME_FRAME_TEST_NET_TEST_AUTOMATION_RESOURCE_MESSAGE_FILTER_H_
#include "chrome/browser/automation/automation_provider.h"
+#include "chrome/browser/automation/automation_resource_message_filter.h"
#include "chrome/browser/automation/url_request_automation_job.h"
// Performs the same duties as AutomationResourceMessageFilter but with one
@@ -22,7 +23,7 @@
class TestAutomationResourceMessageFilter
: public AutomationResourceMessageFilter {
public:
- TestAutomationResourceMessageFilter(AutomationProvider* automation);
+ explicit TestAutomationResourceMessageFilter(AutomationProvider* automation);
virtual bool Send(IPC::Message* message);
diff --git a/chrome_frame/urlmon_url_request_private.h b/chrome_frame/urlmon_url_request_private.h
index f116998..9f6d823 100644
--- a/chrome_frame/urlmon_url_request_private.h
+++ b/chrome_frame/urlmon_url_request_private.h
@@ -9,6 +9,7 @@
#include <atlcom.h>
#include <string>
+#include "base/callback.h"
#include "net/base/net_errors.h"
#include "net/http/http_response_headers.h"
#include "net/url_request/url_request_status.h"
diff --git a/net/base/cookie_monster.cc b/net/base/cookie_monster.cc
index 28d1e55..3353019 100644
--- a/net/base/cookie_monster.cc
+++ b/net/base/cookie_monster.cc
@@ -48,6 +48,7 @@
#include "base/basictypes.h"
#include "base/format_macros.h"
+#include "base/histogram.h"
#include "base/logging.h"
#include "base/scoped_ptr.h"
#include "base/string_tokenizer.h"
@@ -1697,6 +1698,31 @@ std::string CookieMonster::ParsedCookie::DebugString() const {
return out;
}
+CookieMonster::CanonicalCookie::CanonicalCookie() {
+}
+
+CookieMonster::CanonicalCookie::CanonicalCookie(const std::string& name,
+ const std::string& value,
+ const std::string& domain,
+ const std::string& path,
+ bool secure,
+ bool httponly,
+ const base::Time& creation,
+ const base::Time& last_access,
+ bool has_expires,
+ const base::Time& expires)
+ : name_(name),
+ value_(value),
+ domain_(domain),
+ path_(path),
+ creation_date_(creation),
+ last_access_date_(last_access),
+ expiry_date_(expires),
+ has_expires_(has_expires),
+ secure_(secure),
+ httponly_(httponly) {
+}
+
CookieMonster::CanonicalCookie::CanonicalCookie(const GURL& url,
const ParsedCookie& pc)
: name_(pc.Name()),
@@ -1724,6 +1750,23 @@ CookieMonster::CanonicalCookie::CanonicalCookie(const GURL& url,
domain_ = cookie_domain;
}
+CookieMonster::CookieMonster(PersistentCookieStore* store,
+ Delegate* delegate,
+ int last_access_threshold_milliseconds)
+ : initialized_(false),
+ use_effective_domain_key_scheme_(use_effective_domain_key_default_),
+ store_(store),
+ last_access_threshold_(base::TimeDelta::FromMilliseconds(
+ last_access_threshold_milliseconds)),
+ delegate_(delegate),
+ last_statistic_record_time_(base::Time::Now()) {
+ InitializeHistograms();
+ SetDefaultCookieableSchemes();
+}
+
+CookieMonster::CanonicalCookie::~CanonicalCookie() {
+}
+
CookieMonster::CanonicalCookie* CookieMonster::CanonicalCookie::Create(
const GURL& url, const std::string& name, const std::string& value,
const std::string& domain, const std::string& path,
diff --git a/net/base/cookie_monster.h b/net/base/cookie_monster.h
index febf147..8063876 100644
--- a/net/base/cookie_monster.h
+++ b/net/base/cookie_monster.h
@@ -15,7 +15,6 @@
#include "base/basictypes.h"
#include "base/gtest_prod_util.h"
-#include "base/histogram.h"
#include "base/lock.h"
#include "base/ref_counted.h"
#include "base/scoped_ptr.h"
@@ -23,6 +22,7 @@
#include "net/base/cookie_store.h"
class GURL;
+class Histogram;
namespace net {
@@ -100,21 +100,10 @@ class CookieMonster : public CookieStore {
// creation/deletion of cookies.
CookieMonster(PersistentCookieStore* store, Delegate* delegate);
-#ifdef UNIT_TEST
+ // Only used during unit testing.
CookieMonster(PersistentCookieStore* store,
Delegate* delegate,
- int last_access_threshold_milliseconds)
- : initialized_(false),
- use_effective_domain_key_scheme_(use_effective_domain_key_default_),
- store_(store),
- last_access_threshold_(base::TimeDelta::FromMilliseconds(
- last_access_threshold_milliseconds)),
- delegate_(delegate),
- last_statistic_record_time_(base::Time::Now()) {
- InitializeHistograms();
- SetDefaultCookieableSchemes();
- }
-#endif
+ int last_access_threshold_milliseconds);
// Parses the string with the cookie time (very forgivingly).
static base::Time ParseCookieTime(const std::string& time_string);
@@ -441,7 +430,7 @@ class CookieMonster::CanonicalCookie {
// the resulting CanonicalCookies should not be relied on to be canonical
// unless the caller has done appropriate validation and canonicalization
// themselves.
- CanonicalCookie() { }
+ CanonicalCookie();
CanonicalCookie(const std::string& name,
const std::string& value,
const std::string& domain,
@@ -451,24 +440,15 @@ class CookieMonster::CanonicalCookie {
const base::Time& creation,
const base::Time& last_access,
bool has_expires,
- const base::Time& expires)
- : name_(name),
- value_(value),
- domain_(domain),
- path_(path),
- creation_date_(creation),
- last_access_date_(last_access),
- expiry_date_(expires),
- has_expires_(has_expires),
- secure_(secure),
- httponly_(httponly) {
- }
+ const base::Time& expires);
// This constructor does canonicalization but not validation.
// The result of this constructor should not be relied on in contexts
// in which pre-validation of the ParsedCookie has not been done.
CanonicalCookie(const GURL& url, const ParsedCookie& pc);
+ ~CanonicalCookie();
+
// Supports the default copy constructor.
// Creates a canonical cookie from unparsed attribute values.
diff --git a/net/base/dnssec_chain_verifier.cc b/net/base/dnssec_chain_verifier.cc
index a32c683..2dbacbc 100644
--- a/net/base/dnssec_chain_verifier.cc
+++ b/net/base/dnssec_chain_verifier.cc
@@ -10,6 +10,7 @@
#include "base/sha2.h"
#include "base/string_util.h"
#include "net/base/dns_util.h"
+#include "net/base/dnssec_keyset.h"
// We don't have a location for the spec yet, so we'll include it here until it
// finds a better home.
@@ -139,6 +140,15 @@ static const uint16 kRootKeyID = 19036;
namespace net {
+struct DNSSECChainVerifier::Zone {
+ base::StringPiece name;
+ // The number of consecutive labels which |name| shares with |target_|,
+ // counting right-to-left from the root.
+ unsigned matching_labels;
+ DNSSECKeySet trusted_keys;
+ Zone* prev;
+};
+
DNSSECChainVerifier::DNSSECChainVerifier(const std::string& target,
const base::StringPiece& chain)
: current_zone_(NULL),
diff --git a/net/base/dnssec_chain_verifier.h b/net/base/dnssec_chain_verifier.h
index d896c6c..60376c0 100644
--- a/net/base/dnssec_chain_verifier.h
+++ b/net/base/dnssec_chain_verifier.h
@@ -10,7 +10,6 @@
#include <vector>
#include "base/string_piece.h"
-#include "net/base/dnssec_keyset.h"
namespace net {
@@ -67,14 +66,7 @@ class DNSSECChainVerifier {
base::StringPiece b);
private:
- struct Zone {
- base::StringPiece name;
- // The number of consecutive labels which |name| shares with |target_|,
- // counting right-to-left from the root.
- unsigned matching_labels;
- DNSSECKeySet trusted_keys;
- Zone* prev;
- };
+ struct Zone;
bool U8(uint8*);
bool U16(uint16*);
diff --git a/net/base/dnssec_keyset.cc b/net/base/dnssec_keyset.cc
index 0d89ae1..70aa217 100644
--- a/net/base/dnssec_keyset.cc
+++ b/net/base/dnssec_keyset.cc
@@ -21,6 +21,9 @@ DNSSECKeySet::DNSSECKeySet()
: ignore_timestamps_(false) {
}
+DNSSECKeySet::~DNSSECKeySet() {
+}
+
bool DNSSECKeySet::AddKey(const base::StringPiece& dnskey) {
uint16 keyid = DNSKEYToKeyID(dnskey);
std::string der_encoded = ASN1WrapDNSKEY(dnskey);
diff --git a/net/base/dnssec_keyset.h b/net/base/dnssec_keyset.h
index 7a44916..58bd288 100644
--- a/net/base/dnssec_keyset.h
+++ b/net/base/dnssec_keyset.h
@@ -17,6 +17,7 @@ namespace net {
class DNSSECKeySet {
public:
DNSSECKeySet();
+ ~DNSSECKeySet();
// AddKey adds a key to the trusted set.
// dnskey: the RRDATA of a DNSKEY.
diff --git a/net/base/ev_root_ca_metadata.cc b/net/base/ev_root_ca_metadata.cc
index 023b1fb..3aa02e5 100644
--- a/net/base/ev_root_ca_metadata.cc
+++ b/net/base/ev_root_ca_metadata.cc
@@ -281,4 +281,7 @@ EVRootCAMetadata::EVRootCAMetadata() {
#endif
}
+EVRootCAMetadata::~EVRootCAMetadata() {
+}
+
} // namespace net
diff --git a/net/base/ev_root_ca_metadata.h b/net/base/ev_root_ca_metadata.h
index 21f9729..e9e8130 100644
--- a/net/base/ev_root_ca_metadata.h
+++ b/net/base/ev_root_ca_metadata.h
@@ -44,7 +44,7 @@ class EVRootCAMetadata {
private:
EVRootCAMetadata();
- ~EVRootCAMetadata() { }
+ ~EVRootCAMetadata();
friend struct DefaultSingletonTraits<EVRootCAMetadata>;
diff --git a/net/base/host_mapping_rules.cc b/net/base/host_mapping_rules.cc
index a535d14..e7d72b2 100644
--- a/net/base/host_mapping_rules.cc
+++ b/net/base/host_mapping_rules.cc
@@ -12,8 +12,22 @@
namespace net {
+struct HostMappingRules::MapRule {
+ MapRule() : replacement_port(-1) {}
+
+ std::string hostname_pattern;
+ std::string replacement_hostname;
+ int replacement_port;
+};
+
+struct HostMappingRules::ExclusionRule {
+ std::string hostname_pattern;
+};
+
HostMappingRules::HostMappingRules() {}
+HostMappingRules::~HostMappingRules() {}
+
bool HostMappingRules::RewriteHost(HostPortPair* host_port) const {
// Check if the hostname was excluded.
for (ExclusionRuleList::const_iterator it = exclusion_rules_.begin();
diff --git a/net/base/host_mapping_rules.h b/net/base/host_mapping_rules.h
index 9ab06fe..05f531f 100644
--- a/net/base/host_mapping_rules.h
+++ b/net/base/host_mapping_rules.h
@@ -17,6 +17,7 @@ class HostPortPair;
class HostMappingRules {
public:
HostMappingRules();
+ ~HostMappingRules();
// Modifies |*host_port| based on the current rules. Returns true if the
// RequestInfo was modified, false otherwise.
@@ -36,17 +37,8 @@ class HostMappingRules {
void SetRulesFromString(const std::string& rules_string);
private:
- struct MapRule {
- MapRule() : replacement_port(-1) {}
-
- std::string hostname_pattern;
- std::string replacement_hostname;
- int replacement_port;
- };
-
- struct ExclusionRule {
- std::string hostname_pattern;
- };
+ struct MapRule;
+ struct ExclusionRule;
typedef std::vector<MapRule> MapRuleList;
typedef std::vector<ExclusionRule> ExclusionRuleList;
diff --git a/net/base/io_buffer.cc b/net/base/io_buffer.cc
index b922733..dfd4d38 100644
--- a/net/base/io_buffer.cc
+++ b/net/base/io_buffer.cc
@@ -30,6 +30,9 @@ IOBufferWithSize::IOBufferWithSize(int size)
size_(size) {
}
+IOBufferWithSize::~IOBufferWithSize() {
+}
+
StringIOBuffer::StringIOBuffer(const std::string& s)
: IOBuffer(static_cast<char*>(NULL)),
string_data_(s) {
diff --git a/net/base/io_buffer.h b/net/base/io_buffer.h
index f8fb328..527864b 100644
--- a/net/base/io_buffer.h
+++ b/net/base/io_buffer.h
@@ -46,7 +46,7 @@ class IOBufferWithSize : public IOBuffer {
int size() const { return size_; }
private:
- ~IOBufferWithSize() {}
+ virtual ~IOBufferWithSize();
int size_;
};
@@ -60,7 +60,7 @@ class StringIOBuffer : public IOBuffer {
int size() const { return string_data_.size(); }
private:
- ~StringIOBuffer();
+ virtual ~StringIOBuffer();
std::string string_data_;
};
@@ -88,7 +88,7 @@ class DrainableIOBuffer : public IOBuffer {
int size() const { return size_; }
private:
- ~DrainableIOBuffer();
+ virtual ~DrainableIOBuffer();
scoped_refptr<IOBuffer> base_;
int size_;
@@ -112,7 +112,7 @@ class GrowableIOBuffer : public IOBuffer {
char* StartOfBuffer();
private:
- ~GrowableIOBuffer();
+ virtual ~GrowableIOBuffer();
scoped_ptr_malloc<char> real_data_;
int capacity_;
@@ -132,7 +132,7 @@ class PickledIOBuffer : public IOBuffer {
void Done();
private:
- ~PickledIOBuffer();
+ virtual ~PickledIOBuffer();
Pickle pickle_;
};
@@ -147,7 +147,7 @@ class WrappedIOBuffer : public IOBuffer {
explicit WrappedIOBuffer(const char* data);
protected:
- ~WrappedIOBuffer();
+ virtual ~WrappedIOBuffer();
};
} // namespace net
diff --git a/net/base/pem_tokenizer.cc b/net/base/pem_tokenizer.cc
index 0abe5db..6e83058 100644
--- a/net/base/pem_tokenizer.cc
+++ b/net/base/pem_tokenizer.cc
@@ -19,12 +19,21 @@ namespace net {
using base::StringPiece;
+struct PEMTokenizer::PEMType {
+ std::string type;
+ std::string header;
+ std::string footer;
+};
+
PEMTokenizer::PEMTokenizer(
const StringPiece& str,
const std::vector<std::string>& allowed_block_types) {
Init(str, allowed_block_types);
}
+PEMTokenizer::~PEMTokenizer() {
+}
+
bool PEMTokenizer::GetNext() {
while (pos_ != StringPiece::npos) {
// Scan for the beginning of the next PEM encoded block.
diff --git a/net/base/pem_tokenizer.h b/net/base/pem_tokenizer.h
index 5074b20..b54337e 100644
--- a/net/base/pem_tokenizer.h
+++ b/net/base/pem_tokenizer.h
@@ -24,6 +24,7 @@ class PEMTokenizer {
// |str| must remain valid for the duration of the PEMTokenizer.
PEMTokenizer(const base::StringPiece& str,
const std::vector<std::string>& allowed_block_types);
+ ~PEMTokenizer();
// Attempts to decode the next PEM block in the string. Returns false if no
// PEM blocks can be decoded. The decoded PEM block will be available via
@@ -46,11 +47,7 @@ class PEMTokenizer {
// A simple cache of the allowed PEM header and footer for a given PEM
// block type, so that it is only computed once.
- struct PEMType {
- std::string type;
- std::string header;
- std::string footer;
- };
+ struct PEMType;
// The string to search, which must remain valid for as long as this class
// is around.
diff --git a/net/base/sdch_manager.cc b/net/base/sdch_manager.cc
index 07c839a..21cbe07 100644
--- a/net/base/sdch_manager.cc
+++ b/net/base/sdch_manager.cc
@@ -331,6 +331,9 @@ SdchManager::Dictionary::Dictionary(const std::string& dictionary_text,
ports_(ports) {
}
+SdchManager::Dictionary::~Dictionary() {
+}
+
// static
void SdchManager::GenerateHash(const std::string& dictionary_text,
std::string* client_hash, std::string* server_hash) {
diff --git a/net/base/sdch_manager.h b/net/base/sdch_manager.h
index 4dd43ae..d53be00 100644
--- a/net/base/sdch_manager.h
+++ b/net/base/sdch_manager.h
@@ -175,7 +175,7 @@ class SdchManager {
const std::string& client_hash, const GURL& url,
const std::string& domain, const std::string& path,
const base::Time& expiration, const std::set<int> ports);
- ~Dictionary() {}
+ ~Dictionary();
const GURL& url() const { return url_; }
const std::string& client_hash() const { return client_hash_; }
diff --git a/net/base/ssl_config_service.cc b/net/base/ssl_config_service.cc
index 753f1c7..c20284f 100644
--- a/net/base/ssl_config_service.cc
+++ b/net/base/ssl_config_service.cc
@@ -15,6 +15,31 @@
namespace net {
+SSLConfig::SSLConfig()
+ : rev_checking_enabled(true), ssl2_enabled(false), ssl3_enabled(true),
+ tls1_enabled(true), dnssec_enabled(false), mitm_proxies_allowed(false),
+ false_start_enabled(true), send_client_cert(false),
+ verify_ev_cert(false), ssl3_fallback(false) {
+}
+
+SSLConfig::~SSLConfig() {
+}
+
+bool SSLConfig::IsAllowedBadCert(X509Certificate* cert) const {
+ for (size_t i = 0; i < allowed_bad_certs.size(); ++i) {
+ if (cert == allowed_bad_certs[i].cert)
+ return true;
+ }
+ return false;
+}
+
+SSLConfigService::SSLConfigService()
+ : observer_list_(ObserverList<Observer>::NOTIFY_EXISTING_ONLY) {
+}
+
+SSLConfigService::~SSLConfigService() {
+}
+
// static
SSLConfigService* SSLConfigService::CreateSystemSSLConfigService() {
#if defined(OS_WIN)
diff --git a/net/base/ssl_config_service.h b/net/base/ssl_config_service.h
index f9d2245..f78e3df 100644
--- a/net/base/ssl_config_service.h
+++ b/net/base/ssl_config_service.h
@@ -18,12 +18,8 @@ namespace net {
struct SSLConfig {
// Default to revocation checking.
// Default to SSL 2.0 off, SSL 3.0 on, and TLS 1.0 on.
- SSLConfig()
- : rev_checking_enabled(true), ssl2_enabled(false), ssl3_enabled(true),
- tls1_enabled(true), dnssec_enabled(false), mitm_proxies_allowed(false),
- false_start_enabled(true), send_client_cert(false),
- verify_ev_cert(false), ssl3_fallback(false) {
- }
+ SSLConfig();
+ ~SSLConfig();
bool rev_checking_enabled; // True if server certificate revocation
// checking is enabled.
@@ -51,15 +47,7 @@ struct SSLConfig {
};
// Returns true if |cert| is one of the certs in |allowed_bad_certs|.
- // TODO(wtc): Move this to a .cc file. ssl_config_service.cc is Windows
- // only right now, so I can't move it there.
- bool IsAllowedBadCert(X509Certificate* cert) const {
- for (size_t i = 0; i < allowed_bad_certs.size(); ++i) {
- if (cert == allowed_bad_certs[i].cert)
- return true;
- }
- return false;
- }
+ bool IsAllowedBadCert(X509Certificate* cert) const;
// Add any known-bad SSL certificate (with its cert status) to
// |allowed_bad_certs| that should not trigger an ERR_CERT_* error when
@@ -108,8 +96,7 @@ class SSLConfigService : public base::RefCountedThreadSafe<SSLConfigService> {
virtual ~Observer() {}
};
- SSLConfigService()
- : observer_list_(ObserverList<Observer>::NOTIFY_EXISTING_ONLY) {}
+ SSLConfigService();
// Create an instance of SSLConfigService which retrieves the configuration
// from the system SSL configuration, or an instance of
@@ -157,7 +144,7 @@ class SSLConfigService : public base::RefCountedThreadSafe<SSLConfigService> {
protected:
friend class base::RefCountedThreadSafe<SSLConfigService>;
- virtual ~SSLConfigService() {}
+ virtual ~SSLConfigService();
// SetFlags sets the values of several flags based on global configuration.
static void SetSSLConfigFlags(SSLConfig*);
diff --git a/net/base/ssl_config_service_defaults.cc b/net/base/ssl_config_service_defaults.cc
new file mode 100644
index 0000000..9a3afa2
--- /dev/null
+++ b/net/base/ssl_config_service_defaults.cc
@@ -0,0 +1,20 @@
+// Copyright (c) 2010 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "net/base/ssl_config_service_defaults.h"
+
+namespace net {
+
+SSLConfigServiceDefaults::SSLConfigServiceDefaults() {
+}
+
+void SSLConfigServiceDefaults::GetSSLConfig(SSLConfig* config) {
+ *config = default_config_;
+ SetSSLConfigFlags(config);
+}
+
+SSLConfigServiceDefaults::~SSLConfigServiceDefaults() {
+}
+
+} // namespace net
diff --git a/net/base/ssl_config_service_defaults.h b/net/base/ssl_config_service_defaults.h
index 58d0f2d..6d96a44 100644
--- a/net/base/ssl_config_service_defaults.h
+++ b/net/base/ssl_config_service_defaults.h
@@ -1,4 +1,4 @@
-// Copyright (c) 2009 The Chromium Authors. All rights reserved.
+// Copyright (c) 2010 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
@@ -15,16 +15,13 @@ namespace net {
// implementation of SSLConfigService yet.
class SSLConfigServiceDefaults : public SSLConfigService {
public:
- SSLConfigServiceDefaults() {}
+ SSLConfigServiceDefaults();
// Store default SSL config settings in |config|.
- virtual void GetSSLConfig(SSLConfig* config) {
- *config = default_config_;
- SetSSLConfigFlags(config);
- }
+ virtual void GetSSLConfig(SSLConfig* config);
private:
- virtual ~SSLConfigServiceDefaults() {}
+ virtual ~SSLConfigServiceDefaults();
// Default value of prefs.
const SSLConfig default_config_;
diff --git a/net/base/transport_security_state.cc b/net/base/transport_security_state.cc
index ad6a503..a0d2794 100644
--- a/net/base/transport_security_state.cc
+++ b/net/base/transport_security_state.cc
@@ -347,6 +347,9 @@ void TransportSecurityState::DeleteSince(const base::Time& time) {
DirtyNotify();
}
+TransportSecurityState::~TransportSecurityState() {
+}
+
void TransportSecurityState::DirtyNotify() {
if (delegate_)
delegate_->StateIsDirty(this);
diff --git a/net/base/transport_security_state.h b/net/base/transport_security_state.h
index 3b67c98..b7db72c 100644
--- a/net/base/transport_security_state.h
+++ b/net/base/transport_security_state.h
@@ -93,7 +93,7 @@ class TransportSecurityState :
friend class base::RefCountedThreadSafe<TransportSecurityState>;
FRIEND_TEST_ALL_PREFIXES(TransportSecurityStateTest, IsPreloaded);
- ~TransportSecurityState() {}
+ ~TransportSecurityState();
// If we have a callback configured, call it to let our serialiser know that
// our state is dirty.
diff --git a/net/base/upload_data_stream.cc b/net/base/upload_data_stream.cc
index edcff19..329058c 100644
--- a/net/base/upload_data_stream.cc
+++ b/net/base/upload_data_stream.cc
@@ -6,6 +6,7 @@
#include "base/file_util.h"
#include "base/logging.h"
+#include "net/base/file_stream.h"
#include "net/base/io_buffer.h"
#include "net/base/net_errors.h"
diff --git a/net/base/upload_data_stream.h b/net/base/upload_data_stream.h
index 646335f..0d179d2 100644
--- a/net/base/upload_data_stream.h
+++ b/net/base/upload_data_stream.h
@@ -6,11 +6,12 @@
#define NET_BASE_UPLOAD_DATA_STREAM_H_
#pragma once
-#include "net/base/file_stream.h"
+#include "base/scoped_ptr.h"
#include "net/base/upload_data.h"
namespace net {
+class FileStream;
class IOBuffer;
class UploadDataStream {
diff --git a/net/base/x509_cert_types.cc b/net/base/x509_cert_types.cc
index 9c1369d..5dfc57a 100644
--- a/net/base/x509_cert_types.cc
+++ b/net/base/x509_cert_types.cc
@@ -36,6 +36,13 @@ bool match(const std::vector<std::string> &rdn1,
return true;
}
+CertPrincipal::CertPrincipal() {
+}
+
+CertPrincipal::CertPrincipal(const std::string& name) : common_name(name) {}
+
+CertPrincipal::~CertPrincipal() {
+}
bool CertPrincipal::Matches(const CertPrincipal& against) const {
return match(common_name, against.common_name) &&
@@ -81,6 +88,12 @@ std::ostream& operator<<(std::ostream& s, const CertPrincipal& p) {
return s << "]";
}
+CertPolicy::CertPolicy() {
+}
+
+CertPolicy::~CertPolicy() {
+}
+
CertPolicy::Judgment CertPolicy::Check(
X509Certificate* cert) const {
// It shouldn't matter which set we check first, but we check denied first
diff --git a/net/base/x509_cert_types.h b/net/base/x509_cert_types.h
index b7540c4..43d05dd 100644
--- a/net/base/x509_cert_types.h
+++ b/net/base/x509_cert_types.h
@@ -53,8 +53,9 @@ class SHA1FingerprintLessThan
// CertPrincipal represents the issuer or subject field of an X.509 certificate.
struct CertPrincipal {
- CertPrincipal() { }
- explicit CertPrincipal(const std::string& name) : common_name(name) { }
+ CertPrincipal();
+ explicit CertPrincipal(const std::string& name);
+ ~CertPrincipal();
// Parses a BER-format DistinguishedName.
bool ParseDistinguishedName(const void* ber_name_data, size_t length);
@@ -105,6 +106,9 @@ class CertPolicy {
DENIED,
};
+ CertPolicy();
+ ~CertPolicy();
+
// Returns the judgment this policy makes about this certificate.
Judgment Check(X509Certificate* cert) const;
diff --git a/net/http/http_stream_parser.h b/net/http/http_stream_parser.h
index 1ef7644..ec84d056 100644
--- a/net/http/http_stream_parser.h
+++ b/net/http/http_stream_parser.h
@@ -9,6 +9,7 @@
#include <string>
#include "base/basictypes.h"
+#include "net/base/completion_callback.h"
#include "net/base/net_log.h"
#include "net/base/upload_data_stream.h"
#include "net/http/http_chunked_decoder.h"
diff --git a/net/net.gyp b/net/net.gyp
index 4788816..06105fa 100644
--- a/net/net.gyp
+++ b/net/net.gyp
@@ -161,6 +161,7 @@
'base/ssl_client_auth_cache.h',
'base/ssl_config_service.cc',
'base/ssl_config_service.h',
+ 'base/ssl_config_service_defaults.cc',
'base/ssl_config_service_defaults.h',
'base/ssl_config_service_mac.cc',
'base/ssl_config_service_mac.h',
diff --git a/net/url_request/https_prober.cc b/net/url_request/https_prober.cc
index a7163ba..d69eaf3 100644
--- a/net/url_request/https_prober.cc
+++ b/net/url_request/https_prober.cc
@@ -9,6 +9,12 @@
namespace net {
+HTTPSProber::HTTPSProber() {
+}
+
+HTTPSProber::~HTTPSProber() {
+}
+
bool HTTPSProber::HaveProbed(const std::string& host) const {
return probed_.find(host) != probed_.end();
}
diff --git a/net/url_request/https_prober.h b/net/url_request/https_prober.h
index b85b126..28182c4 100644
--- a/net/url_request/https_prober.h
+++ b/net/url_request/https_prober.h
@@ -33,7 +33,8 @@ class HTTPSProberDelegate {
// transparently upgrading from HTTP to HTTPS (for example, for SPDY).
class HTTPSProber : public URLRequest::Delegate {
public:
- HTTPSProber() {}
+ HTTPSProber();
+ ~HTTPSProber();
// HaveProbed returns true if the given host is known to have been probed
// since the browser was last started.
diff --git a/net/url_request/url_request_data_job.cc b/net/url_request/url_request_data_job.cc
index ff52bb3..737f169 100644
--- a/net/url_request/url_request_data_job.cc
+++ b/net/url_request/url_request_data_job.cc
@@ -19,7 +19,6 @@ URLRequestDataJob::URLRequestDataJob(URLRequest* request)
: URLRequestSimpleJob(request) {
}
-
bool URLRequestDataJob::GetData(std::string* mime_type,
std::string* charset,
std::string* data) const {
@@ -31,3 +30,5 @@ bool URLRequestDataJob::GetData(std::string* mime_type,
return net::DataURL::Parse(url, mime_type, charset, data);
}
+URLRequestDataJob::~URLRequestDataJob() {
+}
diff --git a/net/url_request/url_request_data_job.h b/net/url_request/url_request_data_job.h
index 80ea450..1bb868a 100644
--- a/net/url_request/url_request_data_job.h
+++ b/net/url_request/url_request_data_job.h
@@ -24,7 +24,7 @@ class URLRequestDataJob : public URLRequestSimpleJob {
static URLRequest::ProtocolFactory Factory;
private:
- ~URLRequestDataJob() {}
+ ~URLRequestDataJob();
DISALLOW_COPY_AND_ASSIGN(URLRequestDataJob);
};