Standardize usage of virtual/override/final in chrome/browser/extensions/

This patch was automatically generated by applying clang fixit hints
generated by the plugin to the source tree.

BUG=417463
[email protected]

Review URL: https://codereview.chromium.org/666153002

Cr-Commit-Position: refs/heads/master@{#300474}
diff --git a/chrome/browser/extensions/active_install_data.h b/chrome/browser/extensions/active_install_data.h
index c225ae6..4aa5887 100644
--- a/chrome/browser/extensions/active_install_data.h
+++ b/chrome/browser/extensions/active_install_data.h
@@ -38,7 +38,7 @@
   // is still deregistered upon destruction.
   ScopedActiveInstall(InstallTracker* tracker, const std::string& extension_id);
 
-  virtual ~ScopedActiveInstall();
+  ~ScopedActiveInstall() override;
 
   // Ensures that the active install is not deregistered upon destruction. This
   // may be necessary if the extension install outlives the lifetime of this
@@ -49,7 +49,7 @@
   void Init();
 
   // InstallObserver implementation.
-  virtual void OnShutdown() override;
+  void OnShutdown() override;
 
   InstallTracker* tracker_;
   ScopedObserver<InstallTracker, InstallObserver> tracker_observer_;
diff --git a/chrome/browser/extensions/active_script_controller.h b/chrome/browser/extensions/active_script_controller.h
index 082b7f67..169ac11 100644
--- a/chrome/browser/extensions/active_script_controller.h
+++ b/chrome/browser/extensions/active_script_controller.h
@@ -41,7 +41,7 @@
                                public ExtensionRegistryObserver {
  public:
   explicit ActiveScriptController(content::WebContents* web_contents);
-  virtual ~ActiveScriptController();
+  ~ActiveScriptController() override;
 
   // Returns the ActiveScriptController for the given |web_contents|, or NULL
   // if one does not exist.
@@ -117,16 +117,15 @@
   void LogUMA() const;
 
   // content::WebContentsObserver implementation.
-  virtual bool OnMessageReceived(const IPC::Message& message) override;
-  virtual void DidNavigateMainFrame(
+  bool OnMessageReceived(const IPC::Message& message) override;
+  void DidNavigateMainFrame(
       const content::LoadCommittedDetails& details,
       const content::FrameNavigateParams& params) override;
 
   // ExtensionRegistryObserver:
-  virtual void OnExtensionUnloaded(
-      content::BrowserContext* browser_context,
-      const Extension* extension,
-      UnloadedExtensionInfo::Reason reason) override;
+  void OnExtensionUnloaded(content::BrowserContext* browser_context,
+                           const Extension* extension,
+                           UnloadedExtensionInfo::Reason reason) override;
 
   // The associated browser context.
   content::BrowserContext* browser_context_;
diff --git a/chrome/browser/extensions/active_script_controller_browsertest.cc b/chrome/browser/extensions/active_script_controller_browsertest.cc
index ff1dd414..d282170b 100644
--- a/chrome/browser/extensions/active_script_controller_browsertest.cc
+++ b/chrome/browser/extensions/active_script_controller_browsertest.cc
@@ -71,8 +71,8 @@
  public:
   ActiveScriptControllerBrowserTest() {}
 
-  virtual void SetUpCommandLine(base::CommandLine* command_line) override;
-  virtual void TearDownOnMainThread() override;
+  void SetUpCommandLine(base::CommandLine* command_line) override;
+  void TearDownOnMainThread() override;
 
   // Returns an extension with the given |host_type| and |injection_type|. If
   // one already exists, the existing extension will be returned. Othewrwise,
@@ -408,7 +408,7 @@
     : public ActiveScriptControllerBrowserTest {
  private:
   // Simply don't append the flag.
-  virtual void SetUpCommandLine(base::CommandLine* command_line) override {
+  void SetUpCommandLine(base::CommandLine* command_line) override {
     ExtensionBrowserTest::SetUpCommandLine(command_line);
   }
 };
diff --git a/chrome/browser/extensions/active_tab_permission_granter.h b/chrome/browser/extensions/active_tab_permission_granter.h
index 68b31f75..498c6e82 100644
--- a/chrome/browser/extensions/active_tab_permission_granter.h
+++ b/chrome/browser/extensions/active_tab_permission_granter.h
@@ -34,7 +34,7 @@
   ActiveTabPermissionGranter(content::WebContents* web_contents,
                              int tab_id,
                              Profile* profile);
-  virtual ~ActiveTabPermissionGranter();
+  ~ActiveTabPermissionGranter() override;
 
   // If |extension| has the activeTab or tabCapture permission, grants
   // tab-specific permissions to it until the next page navigation or refresh.
@@ -42,16 +42,15 @@
 
  private:
   // content::WebContentsObserver implementation.
-  virtual void DidNavigateMainFrame(
+  void DidNavigateMainFrame(
       const content::LoadCommittedDetails& details,
       const content::FrameNavigateParams& params) override;
-  virtual void WebContentsDestroyed() override;
+  void WebContentsDestroyed() override;
 
   // extensions::ExtensionRegistryObserver implementation.
-  virtual void OnExtensionUnloaded(content::BrowserContext* browser_context,
-                                   const Extension* extension,
-                                   UnloadedExtensionInfo::Reason reason)
-      override;
+  void OnExtensionUnloaded(content::BrowserContext* browser_context,
+                           const Extension* extension,
+                           UnloadedExtensionInfo::Reason reason) override;
 
   // Clears any tab-specific permissions for all extensions on |tab_id_| and
   // notifies renderers.
diff --git a/chrome/browser/extensions/activity_log/activity_database_unittest.cc b/chrome/browser/extensions/activity_log/activity_database_unittest.cc
index b653227..dab330a 100644
--- a/chrome/browser/extensions/activity_log/activity_database_unittest.cc
+++ b/chrome/browser/extensions/activity_log/activity_database_unittest.cc
@@ -53,10 +53,10 @@
   virtual void Record(ActivityDatabase* db, scoped_refptr<Action> action);
 
  protected:
-  virtual bool InitDatabase(sql::Connection* db) override;
-  virtual bool FlushDatabase(sql::Connection*) override;
-  virtual void OnDatabaseFailure() override {}
-  virtual void OnDatabaseClose() override { delete this; }
+  bool InitDatabase(sql::Connection* db) override;
+  bool FlushDatabase(sql::Connection*) override;
+  void OnDatabaseFailure() override {}
+  void OnDatabaseClose() override { delete this; }
 
   std::vector<scoped_refptr<Action> > queue_;
 };
diff --git a/chrome/browser/extensions/activity_log/activity_log.h b/chrome/browser/extensions/activity_log/activity_log.h
index 02ebb7c..82b72af 100644
--- a/chrome/browser/extensions/activity_log/activity_log.h
+++ b/chrome/browser/extensions/activity_log/activity_log.h
@@ -86,26 +86,22 @@
   // ExtensionRegistryObserver.
   // We keep track of whether the whitelisted extension is installed; if it is,
   // we want to recompute whether to have logging enabled.
-  virtual void OnExtensionLoaded(content::BrowserContext* browser_context,
-                                 const Extension* extension) override;
-  virtual void OnExtensionUnloaded(
-      content::BrowserContext* browser_context,
-      const Extension* extension,
-      UnloadedExtensionInfo::Reason reason) override;
-  virtual void OnExtensionUninstalled(
-      content::BrowserContext* browser_context,
-      const Extension* extension,
-      extensions::UninstallReason reason) override;
+  void OnExtensionLoaded(content::BrowserContext* browser_context,
+                         const Extension* extension) override;
+  void OnExtensionUnloaded(content::BrowserContext* browser_context,
+                           const Extension* extension,
+                           UnloadedExtensionInfo::Reason reason) override;
+  void OnExtensionUninstalled(content::BrowserContext* browser_context,
+                              const Extension* extension,
+                              extensions::UninstallReason reason) override;
 
   // ApiActivityMonitor.
-  virtual void OnApiEventDispatched(
-      const std::string& extension_id,
-      const std::string& event_name,
-      scoped_ptr<base::ListValue> event_args) override;
-  virtual void OnApiFunctionCalled(
-      const std::string& extension_id,
-      const std::string& api_name,
-      scoped_ptr<base::ListValue> event_args) override;
+  void OnApiEventDispatched(const std::string& extension_id,
+                            const std::string& event_name,
+                            scoped_ptr<base::ListValue> event_args) override;
+  void OnApiFunctionCalled(const std::string& extension_id,
+                           const std::string& api_name,
+                           scoped_ptr<base::ListValue> event_args) override;
 
   static void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry);
 
@@ -132,7 +128,7 @@
   friend class BrowserContextKeyedAPIFactory<ActivityLog>;
 
   explicit ActivityLog(content::BrowserContext* context);
-  virtual ~ActivityLog();
+  ~ActivityLog() override;
 
   // Specifies if the Watchdog app is active (installed & enabled).
   // If so, we need to log to the database and stream to the API.
@@ -149,10 +145,9 @@
 
   // ScriptExecutionObserver implementation.
   // Fires when a ContentScript is executed.
-  virtual void OnScriptsExecuted(
-      const content::WebContents* web_contents,
-      const ExecutingScriptsMap& extension_ids,
-      const GURL& on_url) override;
+  void OnScriptsExecuted(const content::WebContents* web_contents,
+                         const ExecutingScriptsMap& extension_ids,
+                         const GURL& on_url) override;
 
   // At the moment, ActivityLog will use only one policy for summarization.
   // These methods are used to choose and set the most appropriate policy.
diff --git a/chrome/browser/extensions/activity_log/activity_log_browsertest.cc b/chrome/browser/extensions/activity_log/activity_log_browsertest.cc
index 26bf493a..cd99528 100644
--- a/chrome/browser/extensions/activity_log/activity_log_browsertest.cc
+++ b/chrome/browser/extensions/activity_log/activity_log_browsertest.cc
@@ -29,7 +29,7 @@
 class ActivityLogPrerenderTest : public ExtensionApiTest {
  protected:
   // Make sure the activity log is turned on.
-  virtual void SetUpCommandLine(CommandLine* command_line) override {
+  void SetUpCommandLine(CommandLine* command_line) override {
     ExtensionBrowserTest::SetUpCommandLine(command_line);
     command_line->AppendSwitch(switches::kEnableExtensionActivityLogging);
     command_line->AppendSwitchASCII(switches::kPrerenderMode,
diff --git a/chrome/browser/extensions/activity_log/ad_injection_browsertest.cc b/chrome/browser/extensions/activity_log/ad_injection_browsertest.cc
index 9cdd2c4..ab7b258 100644
--- a/chrome/browser/extensions/activity_log/ad_injection_browsertest.cc
+++ b/chrome/browser/extensions/activity_log/ad_injection_browsertest.cc
@@ -93,7 +93,7 @@
   bool found_multiple_injections() const { return found_multiple_injections_; }
 
  private:
-  virtual void OnExtensionActivity(scoped_refptr<Action> action) override;
+  void OnExtensionActivity(scoped_refptr<Action> action) override;
 
   ScopedObserver<ActivityLog, ActivityLog::Observer> scoped_observer_;
 
@@ -139,10 +139,10 @@
 class TestAdNetworkDatabase : public AdNetworkDatabase {
  public:
   TestAdNetworkDatabase();
-  virtual ~TestAdNetworkDatabase();
+  ~TestAdNetworkDatabase() override;
 
  private:
-  virtual bool IsAdNetwork(const GURL& url) const override;
+  bool IsAdNetwork(const GURL& url) const override;
 
   GURL ad_network_url1_;
   GURL ad_network_url2_;
@@ -173,8 +173,8 @@
   AdInjectionBrowserTest();
   virtual ~AdInjectionBrowserTest();
 
-  virtual void SetUpOnMainThread() override;
-  virtual void TearDownOnMainThread() override;
+  void SetUpOnMainThread() override;
+  void TearDownOnMainThread() override;
 
   // Handle the "Reset Begin" stage of the test.
   testing::AssertionResult HandleResetBeginStage();
@@ -385,8 +385,8 @@
 // If this test grows, we should consolidate it and AdInjectionBrowserTest.
 class ExecuteScriptAdInjectionBrowserTest : public ExtensionBrowserTest {
  protected:
-  virtual void SetUpOnMainThread() override;
-  virtual void TearDownOnMainThread() override;
+  void SetUpOnMainThread() override;
+  void TearDownOnMainThread() override;
 };
 
 void ExecuteScriptAdInjectionBrowserTest::SetUpOnMainThread() {
diff --git a/chrome/browser/extensions/activity_log/ad_injection_unittest.cc b/chrome/browser/extensions/activity_log/ad_injection_unittest.cc
index d723efc..e8accd8 100644
--- a/chrome/browser/extensions/activity_log/ad_injection_unittest.cc
+++ b/chrome/browser/extensions/activity_log/ad_injection_unittest.cc
@@ -36,7 +36,7 @@
 class TestRapporService : public rappor::RapporService {
  public:
   TestRapporService();
-  virtual ~TestRapporService();
+  ~TestRapporService() override;
 
   // Returns the active reports. This also clears the internal map of metrics
   // as a biproduct, so if comparing numbers of reports, the comparison should
diff --git a/chrome/browser/extensions/activity_log/counting_policy.h b/chrome/browser/extensions/activity_log/counting_policy.h
index 57b6efa..3926670 100644
--- a/chrome/browser/extensions/activity_log/counting_policy.h
+++ b/chrome/browser/extensions/activity_log/counting_policy.h
@@ -23,21 +23,21 @@
 class CountingPolicy : public ActivityLogDatabasePolicy {
  public:
   explicit CountingPolicy(Profile* profile);
-  virtual ~CountingPolicy();
+  ~CountingPolicy() override;
 
-  virtual void ProcessAction(scoped_refptr<Action> action) override;
+  void ProcessAction(scoped_refptr<Action> action) override;
 
-  virtual void ReadFilteredData(
+  void ReadFilteredData(
       const std::string& extension_id,
       const Action::ActionType type,
       const std::string& api_name,
       const std::string& page_url,
       const std::string& arg_url,
       const int days_ago,
-      const base::Callback
-          <void(scoped_ptr<Action::ActionVector>)>& callback) override;
+      const base::Callback<void(scoped_ptr<Action::ActionVector>)>& callback)
+      override;
 
-  virtual void Close() override;
+  void Close() override;
 
   // Gets or sets the amount of time that old records are kept in the database.
   const base::TimeDelta& retention_time() const { return retention_time_; }
@@ -46,16 +46,16 @@
   }
 
   // Remove actions (rows) which IDs are specified in the action_ids array.
-  virtual void RemoveActions(const std::vector<int64>& action_ids) override;
+  void RemoveActions(const std::vector<int64>& action_ids) override;
 
   // Clean the URL data stored for this policy.
-  virtual void RemoveURLs(const std::vector<GURL>&) override;
+  void RemoveURLs(const std::vector<GURL>&) override;
 
   // Clean the data related to this extension for this policy.
-  virtual void RemoveExtensionData(const std::string& extension_id) override;
+  void RemoveExtensionData(const std::string& extension_id) override;
 
   // Delete everything in the database.
-  virtual void DeleteDatabase() override;
+  void DeleteDatabase() override;
 
   // The main database table, and the name for a read-only view that
   // decompresses string values for easier parsing.
@@ -65,10 +65,10 @@
  protected:
   // The ActivityDatabase::Delegate interface.  These are always called from
   // the database thread.
-  virtual bool InitDatabase(sql::Connection* db) override;
-  virtual bool FlushDatabase(sql::Connection* db) override;
-  virtual void OnDatabaseFailure() override;
-  virtual void OnDatabaseClose() override;
+  bool InitDatabase(sql::Connection* db) override;
+  bool FlushDatabase(sql::Connection* db) override;
+  void OnDatabaseFailure() override;
+  void OnDatabaseClose() override;
 
  private:
   // A type used to track pending writes to the database.  The key is an action
diff --git a/chrome/browser/extensions/activity_log/fullstream_ui_policy.h b/chrome/browser/extensions/activity_log/fullstream_ui_policy.h
index cdcc446..8a583e4 100644
--- a/chrome/browser/extensions/activity_log/fullstream_ui_policy.h
+++ b/chrome/browser/extensions/activity_log/fullstream_ui_policy.h
@@ -26,31 +26,31 @@
   // For more info about these member functions, see the super class.
   explicit FullStreamUIPolicy(Profile* profile);
 
-  virtual void ProcessAction(scoped_refptr<Action> action) override;
+  void ProcessAction(scoped_refptr<Action> action) override;
 
-  virtual void ReadFilteredData(
+  void ReadFilteredData(
       const std::string& extension_id,
       const Action::ActionType type,
       const std::string& api_name,
       const std::string& page_url,
       const std::string& arg_url,
       const int days_ago,
-      const base::Callback
-          <void(scoped_ptr<Action::ActionVector>)>& callback) override;
+      const base::Callback<void(scoped_ptr<Action::ActionVector>)>& callback)
+      override;
 
-  virtual void Close() override;
+  void Close() override;
 
   // Remove the actions stored for this policy according to the passed IDs.
-  virtual void RemoveActions(const std::vector<int64>& action_ids) override;
+  void RemoveActions(const std::vector<int64>& action_ids) override;
 
   // Clean the URL data stored for this policy.
-  virtual void RemoveURLs(const std::vector<GURL>& restrict_urls) override;
+  void RemoveURLs(const std::vector<GURL>& restrict_urls) override;
 
   // Clean the data related to this extension for this policy.
-  virtual void RemoveExtensionData(const std::string& extension_id) override;
+  void RemoveExtensionData(const std::string& extension_id) override;
 
   // Delete everything in the database.
-  virtual void DeleteDatabase() override;
+  void DeleteDatabase() override;
 
   // Database table schema.
   static const char* kTableName;
@@ -61,14 +61,14 @@
  protected:
   // Only ever run by OnDatabaseClose() below; see the comments on the
   // ActivityDatabase class for an overall discussion of how cleanup works.
-  virtual ~FullStreamUIPolicy();
+  ~FullStreamUIPolicy() override;
 
   // The ActivityDatabase::Delegate interface.  These are always called from
   // the database thread.
-  virtual bool InitDatabase(sql::Connection* db) override;
-  virtual bool FlushDatabase(sql::Connection* db) override;
-  virtual void OnDatabaseFailure() override;
-  virtual void OnDatabaseClose() override;
+  bool InitDatabase(sql::Connection* db) override;
+  bool FlushDatabase(sql::Connection* db) override;
+  void OnDatabaseFailure() override;
+  void OnDatabaseClose() override;
 
   // Strips arguments if needed by policy.  May return the original object (if
   // unmodified), or a copy (if modifications were made).  The implementation
diff --git a/chrome/browser/extensions/activity_log/hashed_ad_network_database.h b/chrome/browser/extensions/activity_log/hashed_ad_network_database.h
index c3dad05c1..a281bd9 100644
--- a/chrome/browser/extensions/activity_log/hashed_ad_network_database.h
+++ b/chrome/browser/extensions/activity_log/hashed_ad_network_database.h
@@ -14,7 +14,7 @@
 class HashedAdNetworkDatabase : public AdNetworkDatabase {
  public:
   HashedAdNetworkDatabase();
-  virtual ~HashedAdNetworkDatabase();
+  ~HashedAdNetworkDatabase() override;
 
   void set_entries_for_testing(const char** entries, int num_entries) {
     entries_ = entries;
@@ -23,7 +23,7 @@
 
  private:
   // AdNetworkDatabase implementation.
-  virtual bool IsAdNetwork(const GURL& url) const override;
+  bool IsAdNetwork(const GURL& url) const override;
 
   // Points to the array of hash entries. In practice, this is always set to
   // kHashedAdNetworks, but is exposed via set_entries_for_testing().
diff --git a/chrome/browser/extensions/activity_log/uma_policy.h b/chrome/browser/extensions/activity_log/uma_policy.h
index c534f62..5075039 100644
--- a/chrome/browser/extensions/activity_log/uma_policy.h
+++ b/chrome/browser/extensions/activity_log/uma_policy.h
@@ -56,15 +56,15 @@
   explicit UmaPolicy(Profile* profile);
 
   // ActivityLogPolicy implementation.
-  virtual void ProcessAction(scoped_refptr<Action> action) override;
-  virtual void Close() override;
+  void ProcessAction(scoped_refptr<Action> action) override;
+  void Close() override;
 
   // Gets the histogram name associated with each PageStatus.
   static const char* GetHistogramName(PageStatus status);
 
  protected:
   // Run when Close() is called.
-  virtual ~UmaPolicy();
+  ~UmaPolicy() override;
 
  private:
   // Used as a special key in the ExtensionMap.
@@ -77,19 +77,19 @@
   typedef std::map<std::string, ExtensionMap> SiteMap;
 
   // BrowserListObserver
-  virtual void OnBrowserAdded(Browser* browser) override;
-  virtual void OnBrowserRemoved(Browser* browser) override;
+  void OnBrowserAdded(Browser* browser) override;
+  void OnBrowserRemoved(Browser* browser) override;
 
   // TabStripModelObserver
   // Fired when a page loads, either as a new tab or replacing the contents of
   // an older tab.
-  virtual void TabChangedAt(content::WebContents* contents,
-                            int index,
-                            TabChangeType change_type) override;
+  void TabChangedAt(content::WebContents* contents,
+                    int index,
+                    TabChangeType change_type) override;
   // Fired when a tab closes.
-  virtual void TabClosingAt(TabStripModel* tab_strip_model,
-                            content::WebContents* contents,
-                            int index) override;
+  void TabClosingAt(TabStripModel* tab_strip_model,
+                    content::WebContents* contents,
+                    int index) override;
 
   // Assign a status bitmask based on the action's properties.
   int MatchActionToStatus(scoped_refptr<Action> action);
diff --git a/chrome/browser/extensions/api/activity_log_private/activity_log_private_api.h b/chrome/browser/extensions/api/activity_log_private/activity_log_private_api.h
index 7e3ddd0e..f09c5c7 100644
--- a/chrome/browser/extensions/api/activity_log_private/activity_log_private_api.h
+++ b/chrome/browser/extensions/api/activity_log_private/activity_log_private_api.h
@@ -26,12 +26,12 @@
                        public EventRouter::Observer {
  public:
   explicit ActivityLogAPI(content::BrowserContext* context);
-  virtual ~ActivityLogAPI();
+  ~ActivityLogAPI() override;
 
   // BrowserContextKeyedAPI implementation.
   static BrowserContextKeyedAPIFactory<ActivityLogAPI>* GetFactoryInstance();
 
-  virtual void Shutdown() override;
+  void Shutdown() override;
 
   // Lookup whether the extension ID is whitelisted.
   static bool IsExtensionWhitelisted(const std::string& extension_id);
@@ -42,12 +42,12 @@
 
   // ActivityLog::Observer
   // We pass this along to activityLogPrivate.onExtensionActivity.
-  virtual void OnExtensionActivity(scoped_refptr<Action> activity) override;
+  void OnExtensionActivity(scoped_refptr<Action> activity) override;
 
   // EventRouter::Observer
   // We only keep track of OnExtensionActivity if we have any listeners.
-  virtual void OnListenerAdded(const EventListenerInfo& details) override;
-  virtual void OnListenerRemoved(const EventListenerInfo& details) override;
+  void OnListenerAdded(const EventListenerInfo& details) override;
+  void OnListenerRemoved(const EventListenerInfo& details) override;
 
   content::BrowserContext* browser_context_;
   ActivityLog* activity_log_;
@@ -68,10 +68,10 @@
                              ACTIVITYLOGPRIVATE_GETEXTENSIONACTIVITIES)
 
  protected:
-  virtual ~ActivityLogPrivateGetExtensionActivitiesFunction() {}
+  ~ActivityLogPrivateGetExtensionActivitiesFunction() override {}
 
   // ExtensionFunction:
-  virtual bool RunAsync() override;
+  bool RunAsync() override;
 
  private:
   void OnLookupCompleted(
@@ -86,10 +86,10 @@
                              ACTIVITYLOGPRIVATE_DELETEACTIVITIES)
 
  protected:
-  virtual ~ActivityLogPrivateDeleteActivitiesFunction() {}
+  ~ActivityLogPrivateDeleteActivitiesFunction() override {}
 
   // ExtensionFunction:
-  virtual bool RunAsync() override;
+  bool RunAsync() override;
 };
 
 // The implementation of activityLogPrivate.deleteDatabase
@@ -100,10 +100,10 @@
                              ACTIVITYLOGPRIVATE_DELETEDATABASE)
 
  protected:
-  virtual ~ActivityLogPrivateDeleteDatabaseFunction() {}
+  ~ActivityLogPrivateDeleteDatabaseFunction() override {}
 
   // ExtensionFunction:
-  virtual bool RunAsync() override;
+  bool RunAsync() override;
 };
 
 // The implementation of activityLogPrivate.deleteUrls
@@ -114,10 +114,10 @@
                              ACTIVITYLOGPRIVATE_DELETEURLS)
 
  protected:
-  virtual ~ActivityLogPrivateDeleteUrlsFunction() {}
+  ~ActivityLogPrivateDeleteUrlsFunction() override {}
 
   // ExtensionFunction:
-  virtual bool RunAsync() override;
+  bool RunAsync() override;
 };
 
 }  // namespace extensions
diff --git a/chrome/browser/extensions/api/activity_log_private/activity_log_private_apitest.cc b/chrome/browser/extensions/api/activity_log_private/activity_log_private_apitest.cc
index 80cdf141..7196ddb 100644
--- a/chrome/browser/extensions/api/activity_log_private/activity_log_private_apitest.cc
+++ b/chrome/browser/extensions/api/activity_log_private/activity_log_private_apitest.cc
@@ -28,7 +28,7 @@
     *CommandLine::ForCurrentProcess() = saved_cmdline_;
   }
 
-  virtual void SetUpCommandLine(CommandLine* command_line) override {
+  void SetUpCommandLine(CommandLine* command_line) override {
     ExtensionApiTest::SetUpCommandLine(command_line);
     saved_cmdline_ = *CommandLine::ForCurrentProcess();
     command_line->AppendSwitch(switches::kEnableExtensionActivityLogging);
diff --git a/chrome/browser/extensions/api/alarms/alarm_manager.cc b/chrome/browser/extensions/api/alarms/alarm_manager.cc
index 98705a82..bf688fc 100644
--- a/chrome/browser/extensions/api/alarms/alarm_manager.cc
+++ b/chrome/browser/extensions/api/alarms/alarm_manager.cc
@@ -39,10 +39,9 @@
  public:
   explicit DefaultAlarmDelegate(content::BrowserContext* context)
       : browser_context_(context) {}
-  virtual ~DefaultAlarmDelegate() {}
+  ~DefaultAlarmDelegate() override {}
 
-  virtual void OnAlarm(const std::string& extension_id,
-                       const Alarm& alarm) override {
+  void OnAlarm(const std::string& extension_id, const Alarm& alarm) override {
     scoped_ptr<base::ListValue> args(new base::ListValue());
     args->Append(alarm.js_alarm->ToValue().release());
     scoped_ptr<Event> event(new Event(alarms::OnAlarm::kEventName,
diff --git a/chrome/browser/extensions/api/alarms/alarm_manager.h b/chrome/browser/extensions/api/alarms/alarm_manager.h
index a0c9711..8df88ca 100644
--- a/chrome/browser/extensions/api/alarms/alarm_manager.h
+++ b/chrome/browser/extensions/api/alarms/alarm_manager.h
@@ -68,7 +68,7 @@
   };
 
   explicit AlarmManager(content::BrowserContext* context);
-  virtual ~AlarmManager();
+  ~AlarmManager() override;
 
   // Override the default delegate. Callee assumes onwership. Used for testing.
   void set_delegate(Delegate* delegate) { delegate_.reset(delegate); }
@@ -202,12 +202,11 @@
   void RunWhenReady(const std::string& extension_id, const ReadyAction& action);
 
   // ExtensionRegistryObserver implementation.
-  virtual void OnExtensionLoaded(content::BrowserContext* browser_context,
-                                 const Extension* extension) override;
-  virtual void OnExtensionUninstalled(
-      content::BrowserContext* browser_context,
-      const Extension* extension,
-      extensions::UninstallReason reason) override;
+  void OnExtensionLoaded(content::BrowserContext* browser_context,
+                         const Extension* extension) override;
+  void OnExtensionUninstalled(content::BrowserContext* browser_context,
+                              const Extension* extension,
+                              extensions::UninstallReason reason) override;
 
   // BrowserContextKeyedAPI implementation.
   static const char* service_name() {
diff --git a/chrome/browser/extensions/api/alarms/alarms_api.h b/chrome/browser/extensions/api/alarms/alarms_api.h
index 20e68d03..eb650364 100644
--- a/chrome/browser/extensions/api/alarms/alarms_api.h
+++ b/chrome/browser/extensions/api/alarms/alarms_api.h
@@ -24,10 +24,10 @@
   // of |clock|. Used for testing.
   explicit AlarmsCreateFunction(base::Clock* clock);
  protected:
-  virtual ~AlarmsCreateFunction();
+  ~AlarmsCreateFunction() override;
 
   // ExtensionFunction:
-  virtual bool RunAsync() override;
+  bool RunAsync() override;
   DECLARE_EXTENSION_FUNCTION("alarms.create", ALARMS_CREATE)
  private:
   void Callback();
@@ -41,10 +41,10 @@
 
 class AlarmsGetFunction : public ChromeAsyncExtensionFunction {
  protected:
-  virtual ~AlarmsGetFunction() {}
+  ~AlarmsGetFunction() override {}
 
   // ExtensionFunction:
-  virtual bool RunAsync() override;
+  bool RunAsync() override;
 
  private:
   void Callback(const std::string& name, Alarm* alarm);
@@ -53,10 +53,10 @@
 
 class AlarmsGetAllFunction : public ChromeAsyncExtensionFunction {
  protected:
-  virtual ~AlarmsGetAllFunction() {}
+  ~AlarmsGetAllFunction() override {}
 
   // ExtensionFunction:
-  virtual bool RunAsync() override;
+  bool RunAsync() override;
 
  private:
   void Callback(const AlarmList* alarms);
@@ -65,10 +65,10 @@
 
 class AlarmsClearFunction : public ChromeAsyncExtensionFunction {
  protected:
-  virtual ~AlarmsClearFunction() {}
+  ~AlarmsClearFunction() override {}
 
   // ExtensionFunction:
-  virtual bool RunAsync() override;
+  bool RunAsync() override;
 
  private:
   void Callback(const std::string& name, bool success);
@@ -77,10 +77,10 @@
 
 class AlarmsClearAllFunction : public ChromeAsyncExtensionFunction {
  protected:
-  virtual ~AlarmsClearAllFunction() {}
+  ~AlarmsClearAllFunction() override {}
 
   // ExtensionFunction:
-  virtual bool RunAsync() override;
+  bool RunAsync() override;
 
  private:
   void Callback();
diff --git a/chrome/browser/extensions/api/alarms/alarms_api_unittest.cc b/chrome/browser/extensions/api/alarms/alarms_api_unittest.cc
index f3c2d00f..dd0603e 100644
--- a/chrome/browser/extensions/api/alarms/alarms_api_unittest.cc
+++ b/chrome/browser/extensions/api/alarms/alarms_api_unittest.cc
@@ -30,9 +30,8 @@
 // Test delegate which quits the message loop when an alarm fires.
 class AlarmDelegate : public AlarmManager::Delegate {
  public:
-  virtual ~AlarmDelegate() {}
-  virtual void OnAlarm(const std::string& extension_id,
-                       const Alarm& alarm) override {
+  ~AlarmDelegate() override {}
+  void OnAlarm(const std::string& extension_id, const Alarm& alarm) override {
     alarms_seen.push_back(alarm.js_alarm->name);
     if (base::MessageLoop::current()->is_running())
       base::MessageLoop::current()->Quit();
diff --git a/chrome/browser/extensions/api/audio/audio_api.h b/chrome/browser/extensions/api/audio/audio_api.h
index 6bad8f1..d6506cc 100644
--- a/chrome/browser/extensions/api/audio/audio_api.h
+++ b/chrome/browser/extensions/api/audio/audio_api.h
@@ -16,7 +16,7 @@
 class AudioAPI : public BrowserContextKeyedAPI, public AudioService::Observer {
  public:
   explicit AudioAPI(content::BrowserContext* context);
-  virtual ~AudioAPI();
+  ~AudioAPI() override;
 
   AudioService* GetService() const;
 
@@ -24,7 +24,7 @@
   static BrowserContextKeyedAPIFactory<AudioAPI>* GetFactoryInstance();
 
   // AudioService::Observer implementation.
-  virtual void OnDeviceChanged() override;
+  void OnDeviceChanged() override;
 
  private:
   friend class BrowserContextKeyedAPIFactory<AudioAPI>;
@@ -44,8 +44,8 @@
                              AUDIO_GETINFO);
 
  protected:
-  virtual ~AudioGetInfoFunction() {}
-  virtual bool RunAsync() override;
+  ~AudioGetInfoFunction() override {}
+  bool RunAsync() override;
 
  private:
   void OnGetInfoCompleted(const OutputInfo& output_info,
@@ -59,8 +59,8 @@
                              AUDIO_SETACTIVEDEVICES);
 
  protected:
-  virtual ~AudioSetActiveDevicesFunction() {}
-  virtual bool RunSync() override;
+  ~AudioSetActiveDevicesFunction() override {}
+  bool RunSync() override;
 };
 
 class AudioSetPropertiesFunction : public ChromeSyncExtensionFunction {
@@ -69,8 +69,8 @@
                              AUDIO_SETPROPERTIES);
 
  protected:
-  virtual ~AudioSetPropertiesFunction() {}
-  virtual bool RunSync() override;
+  ~AudioSetPropertiesFunction() override {}
+  bool RunSync() override;
 };
 
 
diff --git a/chrome/browser/extensions/api/audio/audio_service.cc b/chrome/browser/extensions/api/audio/audio_service.cc
index ebccc3f..b150323 100644
--- a/chrome/browser/extensions/api/audio/audio_service.cc
+++ b/chrome/browser/extensions/api/audio/audio_service.cc
@@ -9,19 +9,19 @@
 class AudioServiceImpl : public AudioService {
  public:
   AudioServiceImpl() {}
-  virtual ~AudioServiceImpl() {}
+  ~AudioServiceImpl() override {}
 
   // Called by listeners to this service to add/remove themselves as observers.
-  virtual void AddObserver(Observer* observer) override;
-  virtual void RemoveObserver(Observer* observer) override;
+  void AddObserver(Observer* observer) override;
+  void RemoveObserver(Observer* observer) override;
 
   // Start to query audio device information.
-  virtual void StartGetInfo(const GetInfoCallback& callback) override;
-  virtual void SetActiveDevices(const DeviceIdList& device_list) override;
-  virtual bool SetDeviceProperties(const std::string& device_id,
-                                   bool muted,
-                                   int volume,
-                                   int gain) override;
+  void StartGetInfo(const GetInfoCallback& callback) override;
+  void SetActiveDevices(const DeviceIdList& device_list) override;
+  bool SetDeviceProperties(const std::string& device_id,
+                           bool muted,
+                           int volume,
+                           int gain) override;
 };
 
 void AudioServiceImpl::AddObserver(Observer* observer) {
diff --git a/chrome/browser/extensions/api/automation_internal/automation_internal_api.cc b/chrome/browser/extensions/api/automation_internal/automation_internal_api.cc
index 7fe564e..40e184b 100644
--- a/chrome/browser/extensions/api/automation_internal/automation_internal_api.cc
+++ b/chrome/browser/extensions/api/automation_internal/automation_internal_api.cc
@@ -69,10 +69,10 @@
     : public content::WebContentsObserver,
       public content::WebContentsUserData<AutomationWebContentsObserver> {
  public:
-  virtual ~AutomationWebContentsObserver() {}
+  ~AutomationWebContentsObserver() override {}
 
   // content::WebContentsObserver overrides.
-  virtual void AccessibilityEventReceived(
+  void AccessibilityEventReceived(
       const std::vector<content::AXEventNotificationDetails>& details)
       override {
     automation_util::DispatchAccessibilityEventsToAutomation(
@@ -80,7 +80,7 @@
         web_contents()->GetContainerBounds().OffsetFromOrigin());
   }
 
-  virtual void RenderFrameDeleted(
+  void RenderFrameDeleted(
       content::RenderFrameHost* render_frame_host) override {
     automation_util::DispatchTreeDestroyedEventToAutomation(
         render_frame_host->GetProcess()->GetID(),
@@ -110,19 +110,15 @@
   virtual ~RenderFrameHostActionAdapter() {}
 
   // AutomationActionAdapter implementation.
-  virtual void DoDefault(int32 id) override {
-    rfh_->AccessibilityDoDefaultAction(id);
-  }
+  void DoDefault(int32 id) override { rfh_->AccessibilityDoDefaultAction(id); }
 
-  virtual void Focus(int32 id) override {
-    rfh_->AccessibilitySetFocus(id);
-  }
+  void Focus(int32 id) override { rfh_->AccessibilitySetFocus(id); }
 
-  virtual void MakeVisible(int32 id) override {
+  void MakeVisible(int32 id) override {
     rfh_->AccessibilityScrollToMakeVisible(id, gfx::Rect());
   }
 
-  virtual void SetSelection(int32 id, int32 start, int32 end) override {
+  void SetSelection(int32 id, int32 start, int32 end) override {
     rfh_->AccessibilitySetTextSelection(id, start, end);
   }
 
diff --git a/chrome/browser/extensions/api/automation_internal/automation_internal_api.h b/chrome/browser/extensions/api/automation_internal/automation_internal_api.h
index c22e0d5..7912419 100644
--- a/chrome/browser/extensions/api/automation_internal/automation_internal_api.h
+++ b/chrome/browser/extensions/api/automation_internal/automation_internal_api.h
@@ -37,9 +37,9 @@
   DECLARE_EXTENSION_FUNCTION("automationInternal.enableTab",
                              AUTOMATIONINTERNAL_ENABLETAB)
  protected:
-  virtual ~AutomationInternalEnableTabFunction() {}
+  ~AutomationInternalEnableTabFunction() override {}
 
-  virtual ExtensionFunction::ResponseAction Run() override;
+  ExtensionFunction::ResponseAction Run() override;
 };
 
 class AutomationInternalPerformActionFunction
@@ -47,9 +47,9 @@
   DECLARE_EXTENSION_FUNCTION("automationInternal.performAction",
                              AUTOMATIONINTERNAL_PERFORMACTION)
  protected:
-  virtual ~AutomationInternalPerformActionFunction() {}
+  ~AutomationInternalPerformActionFunction() override {}
 
-  virtual ExtensionFunction::ResponseAction Run() override;
+  ExtensionFunction::ResponseAction Run() override;
 
  private:
   // Helper function to route an action to an action adapter.
@@ -63,9 +63,9 @@
   DECLARE_EXTENSION_FUNCTION("automationInternal.enableDesktop",
                              AUTOMATIONINTERNAL_ENABLEDESKTOP)
  protected:
-  virtual ~AutomationInternalEnableDesktopFunction() {}
+  ~AutomationInternalEnableDesktopFunction() override {}
 
-  virtual ResponseAction Run() override;
+  ResponseAction Run() override;
 };
 
 }  // namespace extensions
diff --git a/chrome/browser/extensions/api/autotest_private/autotest_private_api.h b/chrome/browser/extensions/api/autotest_private/autotest_private_api.h
index c70a63f..37a5c358b 100644
--- a/chrome/browser/extensions/api/autotest_private/autotest_private_api.h
+++ b/chrome/browser/extensions/api/autotest_private/autotest_private_api.h
@@ -18,8 +18,8 @@
   DECLARE_EXTENSION_FUNCTION("autotestPrivate.logout", AUTOTESTPRIVATE_LOGOUT)
 
  private:
-  virtual ~AutotestPrivateLogoutFunction() {}
-  virtual bool RunSync() override;
+  ~AutotestPrivateLogoutFunction() override {}
+  bool RunSync() override;
 };
 
 class AutotestPrivateRestartFunction : public ChromeSyncExtensionFunction {
@@ -27,8 +27,8 @@
   DECLARE_EXTENSION_FUNCTION("autotestPrivate.restart", AUTOTESTPRIVATE_RESTART)
 
  private:
-  virtual ~AutotestPrivateRestartFunction() {}
-  virtual bool RunSync() override;
+  ~AutotestPrivateRestartFunction() override {}
+  bool RunSync() override;
 };
 
 class AutotestPrivateShutdownFunction : public ChromeSyncExtensionFunction {
@@ -37,8 +37,8 @@
                              AUTOTESTPRIVATE_SHUTDOWN)
 
  private:
-  virtual ~AutotestPrivateShutdownFunction() {}
-  virtual bool RunSync() override;
+  ~AutotestPrivateShutdownFunction() override {}
+  bool RunSync() override;
 };
 
 class AutotestPrivateLoginStatusFunction : public ChromeSyncExtensionFunction {
@@ -47,8 +47,8 @@
                              AUTOTESTPRIVATE_LOGINSTATUS)
 
  private:
-  virtual ~AutotestPrivateLoginStatusFunction() {}
-  virtual bool RunSync() override;
+  ~AutotestPrivateLoginStatusFunction() override {}
+  bool RunSync() override;
 };
 
 class AutotestPrivateLockScreenFunction : public ChromeSyncExtensionFunction {
@@ -57,8 +57,8 @@
                              AUTOTESTPRIVATE_LOCKSCREEN)
 
  private:
-  virtual ~AutotestPrivateLockScreenFunction() {}
-  virtual bool RunSync() override;
+  ~AutotestPrivateLockScreenFunction() override {}
+  bool RunSync() override;
 };
 
 class AutotestPrivateGetExtensionsInfoFunction
@@ -68,8 +68,8 @@
                              AUTOTESTPRIVATE_GETEXTENSIONSINFO)
 
  private:
-  virtual ~AutotestPrivateGetExtensionsInfoFunction() {}
-  virtual bool RunSync() override;
+  ~AutotestPrivateGetExtensionsInfoFunction() override {}
+  bool RunSync() override;
 };
 
 class AutotestPrivateSimulateAsanMemoryBugFunction
@@ -79,8 +79,8 @@
                              AUTOTESTPRIVATE_SIMULATEASANMEMORYBUG)
 
  private:
-  virtual ~AutotestPrivateSimulateAsanMemoryBugFunction() {}
-  virtual bool RunSync() override;
+  ~AutotestPrivateSimulateAsanMemoryBugFunction() override {}
+  bool RunSync() override;
 };
 
 // Don't kill the browser when we're in a browser test.
@@ -100,7 +100,7 @@
   friend class BrowserContextKeyedAPIFactory<AutotestPrivateAPI>;
 
   AutotestPrivateAPI();
-  virtual ~AutotestPrivateAPI();
+  ~AutotestPrivateAPI() override;
 
   // BrowserContextKeyedAPI implementation.
   static const char* service_name() { return "AutotestPrivateAPI"; }
diff --git a/chrome/browser/extensions/api/bookmark_manager_private/bookmark_manager_private_api.h b/chrome/browser/extensions/api/bookmark_manager_private/bookmark_manager_private_api.h
index cebe6dd..a9e6944 100644
--- a/chrome/browser/extensions/api/bookmark_manager_private/bookmark_manager_private_api.h
+++ b/chrome/browser/extensions/api/bookmark_manager_private/bookmark_manager_private_api.h
@@ -34,15 +34,15 @@
  public:
   BookmarkManagerPrivateEventRouter(content::BrowserContext* browser_context,
                                     BookmarkModel* bookmark_model);
-  virtual ~BookmarkManagerPrivateEventRouter();
+  ~BookmarkManagerPrivateEventRouter() override;
 
   // BaseBookmarkModelObserver:
-  virtual void BookmarkModelChanged() override;
-  virtual void BookmarkModelBeingDeleted(BookmarkModel* model) override;
-  virtual void OnWillChangeBookmarkMetaInfo(BookmarkModel* model,
-                                            const BookmarkNode* node) override;
-  virtual void BookmarkMetaInfoChanged(BookmarkModel* model,
-                                       const BookmarkNode* node) override;
+  void BookmarkModelChanged() override;
+  void BookmarkModelBeingDeleted(BookmarkModel* model) override;
+  void OnWillChangeBookmarkMetaInfo(BookmarkModel* model,
+                                    const BookmarkNode* node) override;
+  void BookmarkMetaInfoChanged(BookmarkModel* model,
+                               const BookmarkNode* node) override;
 
  private:
   // Helper to actually dispatch an event to extension listeners.
@@ -60,17 +60,17 @@
                                   public EventRouter::Observer {
  public:
   explicit BookmarkManagerPrivateAPI(content::BrowserContext* browser_context);
-  virtual ~BookmarkManagerPrivateAPI();
+  ~BookmarkManagerPrivateAPI() override;
 
   // BrowserContextKeyedService implementation.
-  virtual void Shutdown() override;
+  void Shutdown() override;
 
   // BrowserContextKeyedAPI implementation.
   static BrowserContextKeyedAPIFactory<BookmarkManagerPrivateAPI>*
       GetFactoryInstance();
 
   // EventRouter::Observer implementation.
-  virtual void OnListenerAdded(const EventListenerInfo& details) override;
+  void OnListenerAdded(const EventListenerInfo& details) override;
 
  private:
   friend class BrowserContextKeyedAPIFactory<BookmarkManagerPrivateAPI>;
@@ -92,13 +92,13 @@
  public:
   BookmarkManagerPrivateDragEventRouter(Profile* profile,
                                         content::WebContents* web_contents);
-  virtual ~BookmarkManagerPrivateDragEventRouter();
+  ~BookmarkManagerPrivateDragEventRouter() override;
 
   // BookmarkTabHelper::BookmarkDrag interface
-  virtual void OnDragEnter(const bookmarks::BookmarkNodeData& data) override;
-  virtual void OnDragOver(const bookmarks::BookmarkNodeData& data) override;
-  virtual void OnDragLeave(const bookmarks::BookmarkNodeData& data) override;
-  virtual void OnDrop(const bookmarks::BookmarkNodeData& data) override;
+  void OnDragEnter(const bookmarks::BookmarkNodeData& data) override;
+  void OnDragOver(const bookmarks::BookmarkNodeData& data) override;
+  void OnDragLeave(const bookmarks::BookmarkNodeData& data) override;
+  void OnDrop(const bookmarks::BookmarkNodeData& data) override;
 
   // The bookmark drag and drop data. This gets set after a drop was done on
   // the page. This returns NULL if no data is available.
@@ -121,7 +121,7 @@
 
 class ClipboardBookmarkManagerFunction : public extensions::BookmarksFunction {
  protected:
-  virtual ~ClipboardBookmarkManagerFunction() {}
+  ~ClipboardBookmarkManagerFunction() override {}
 
   bool CopyOrCut(bool cut, const std::vector<std::string>& id_list);
 };
@@ -133,10 +133,10 @@
                              BOOKMARKMANAGERPRIVATE_COPY)
 
  protected:
-  virtual ~BookmarkManagerPrivateCopyFunction() {}
+  ~BookmarkManagerPrivateCopyFunction() override {}
 
   // ExtensionFunction:
-  virtual bool RunOnReady() override;
+  bool RunOnReady() override;
 };
 
 class BookmarkManagerPrivateCutFunction
@@ -146,10 +146,10 @@
                              BOOKMARKMANAGERPRIVATE_CUT)
 
  protected:
-  virtual ~BookmarkManagerPrivateCutFunction() {}
+  ~BookmarkManagerPrivateCutFunction() override {}
 
   // ExtensionFunction:
-  virtual bool RunOnReady() override;
+  bool RunOnReady() override;
 };
 
 class BookmarkManagerPrivatePasteFunction
@@ -159,10 +159,10 @@
                              BOOKMARKMANAGERPRIVATE_PASTE)
 
  protected:
-  virtual ~BookmarkManagerPrivatePasteFunction() {}
+  ~BookmarkManagerPrivatePasteFunction() override {}
 
   // ExtensionFunction:
-  virtual bool RunOnReady() override;
+  bool RunOnReady() override;
 };
 
 class BookmarkManagerPrivateCanPasteFunction
@@ -172,10 +172,10 @@
                              BOOKMARKMANAGERPRIVATE_CANPASTE)
 
  protected:
-  virtual ~BookmarkManagerPrivateCanPasteFunction() {}
+  ~BookmarkManagerPrivateCanPasteFunction() override {}
 
   // ExtensionFunction:
-  virtual bool RunOnReady() override;
+  bool RunOnReady() override;
 };
 
 class BookmarkManagerPrivateSortChildrenFunction
@@ -185,10 +185,10 @@
                              BOOKMARKMANAGERPRIVATE_SORTCHILDREN)
 
  protected:
-  virtual ~BookmarkManagerPrivateSortChildrenFunction() {}
+  ~BookmarkManagerPrivateSortChildrenFunction() override {}
 
   // ExtensionFunction:
-  virtual bool RunOnReady() override;
+  bool RunOnReady() override;
 };
 
 class BookmarkManagerPrivateGetStringsFunction : public AsyncExtensionFunction {
@@ -197,10 +197,10 @@
                              BOOKMARKMANAGERPRIVATE_GETSTRINGS)
 
  protected:
-  virtual ~BookmarkManagerPrivateGetStringsFunction() {}
+  ~BookmarkManagerPrivateGetStringsFunction() override {}
 
   // ExtensionFunction:
-  virtual bool RunAsync() override;
+  bool RunAsync() override;
 };
 
 class BookmarkManagerPrivateStartDragFunction
@@ -210,10 +210,10 @@
                              BOOKMARKMANAGERPRIVATE_STARTDRAG)
 
  protected:
-  virtual ~BookmarkManagerPrivateStartDragFunction() {}
+  ~BookmarkManagerPrivateStartDragFunction() override {}
 
   // ExtensionFunction:
-  virtual bool RunOnReady() override;
+  bool RunOnReady() override;
 };
 
 class BookmarkManagerPrivateDropFunction
@@ -223,10 +223,10 @@
                              BOOKMARKMANAGERPRIVATE_DROP)
 
  protected:
-  virtual ~BookmarkManagerPrivateDropFunction() {}
+  ~BookmarkManagerPrivateDropFunction() override {}
 
   // ExtensionFunction:
-  virtual bool RunOnReady() override;
+  bool RunOnReady() override;
 };
 
 class BookmarkManagerPrivateGetSubtreeFunction
@@ -236,10 +236,10 @@
                              BOOKMARKMANAGERPRIVATE_GETSUBTREE)
 
  protected:
-  virtual ~BookmarkManagerPrivateGetSubtreeFunction() {}
+  ~BookmarkManagerPrivateGetSubtreeFunction() override {}
 
   // ExtensionFunction:
-  virtual bool RunOnReady() override;
+  bool RunOnReady() override;
 };
 
 class BookmarkManagerPrivateCanEditFunction
@@ -249,10 +249,10 @@
                              BOOKMARKMANAGERPRIVATE_CANEDIT)
 
  protected:
-  virtual ~BookmarkManagerPrivateCanEditFunction() {}
+  ~BookmarkManagerPrivateCanEditFunction() override {}
 
   // ExtensionFunction:
-  virtual bool RunOnReady() override;
+  bool RunOnReady() override;
 };
 
 class BookmarkManagerPrivateRecordLaunchFunction
@@ -262,10 +262,10 @@
                              BOOKMARKMANAGERPRIVATE_RECORDLAUNCH)
 
  protected:
-  virtual ~BookmarkManagerPrivateRecordLaunchFunction() {}
+  ~BookmarkManagerPrivateRecordLaunchFunction() override {}
 
   // ExtensionFunction:
-  virtual bool RunOnReady() override;
+  bool RunOnReady() override;
 };
 
 class BookmarkManagerPrivateCreateWithMetaInfoFunction
@@ -275,10 +275,10 @@
                              BOOKMARKMANAGERPRIVATE_CREATEWITHMETAINFO)
 
  protected:
-  virtual ~BookmarkManagerPrivateCreateWithMetaInfoFunction() {}
+  ~BookmarkManagerPrivateCreateWithMetaInfoFunction() override {}
 
   // ExtensionFunction:
-  virtual bool RunOnReady() override;
+  bool RunOnReady() override;
 };
 
 class BookmarkManagerPrivateGetMetaInfoFunction
@@ -288,10 +288,10 @@
                              BOOKMARKMANAGERPRIVATE_GETMETAINFO)
 
  protected:
-  virtual ~BookmarkManagerPrivateGetMetaInfoFunction() {}
+  ~BookmarkManagerPrivateGetMetaInfoFunction() override {}
 
   // ExtensionFunction:
-  virtual bool RunOnReady() override;
+  bool RunOnReady() override;
 };
 
 class BookmarkManagerPrivateSetMetaInfoFunction
@@ -301,10 +301,10 @@
                              BOOKMARKMANAGERPRIVATE_SETMETAINFO)
 
  protected:
-  virtual ~BookmarkManagerPrivateSetMetaInfoFunction() {}
+  ~BookmarkManagerPrivateSetMetaInfoFunction() override {}
 
   // ExtensionFunction:
-  virtual bool RunOnReady() override;
+  bool RunOnReady() override;
 };
 
 class BookmarkManagerPrivateUpdateMetaInfoFunction
@@ -314,10 +314,10 @@
                              BOOKMARKMANAGERPRIVATE_UPDATEMETAINFO)
 
  protected:
-  virtual ~BookmarkManagerPrivateUpdateMetaInfoFunction() {}
+  ~BookmarkManagerPrivateUpdateMetaInfoFunction() override {}
 
   // ExtensionFunction:
-  virtual bool RunOnReady() override;
+  bool RunOnReady() override;
 };
 
 class BookmarkManagerPrivateCanOpenNewWindowsFunction
@@ -327,10 +327,10 @@
                              BOOKMARKMANAGERPRIVATE_CANOPENNEWWINDOWS)
 
  protected:
-  virtual ~BookmarkManagerPrivateCanOpenNewWindowsFunction() {}
+  ~BookmarkManagerPrivateCanOpenNewWindowsFunction() override {}
 
   // ExtensionFunction:
-  virtual bool RunOnReady() override;
+  bool RunOnReady() override;
 };
 
 class BookmarkManagerPrivateRemoveTreesFunction
@@ -340,10 +340,10 @@
                              BOOKMARKMANAGERPRIVATE_REMOVETREES)
 
  protected:
-  virtual ~BookmarkManagerPrivateRemoveTreesFunction() {}
+  ~BookmarkManagerPrivateRemoveTreesFunction() override {}
 
   // ExtensionFunction:
-  virtual bool RunOnReady() override;
+  bool RunOnReady() override;
 };
 
 class BookmarkManagerPrivateUndoFunction
@@ -353,10 +353,10 @@
                              BOOKMARKMANAGERPRIVATE_UNDO)
 
  protected:
-  virtual ~BookmarkManagerPrivateUndoFunction() {}
+  ~BookmarkManagerPrivateUndoFunction() override {}
 
   // ExtensionFunction:
-  virtual bool RunOnReady() override;
+  bool RunOnReady() override;
 };
 
 class BookmarkManagerPrivateRedoFunction
@@ -366,10 +366,10 @@
                              BOOKMARKMANAGERPRIVATE_REDO)
 
  protected:
-  virtual ~BookmarkManagerPrivateRedoFunction() {}
+  ~BookmarkManagerPrivateRedoFunction() override {}
 
   // ExtensionFunction:
-  virtual bool RunOnReady() override;
+  bool RunOnReady() override;
 };
 
 class BookmarkManagerPrivateGetUndoInfoFunction
@@ -379,10 +379,10 @@
                              BOOKMARKMANAGERPRIVATE_UNDOINFO)
 
  protected:
-  virtual ~BookmarkManagerPrivateGetUndoInfoFunction() {}
+  ~BookmarkManagerPrivateGetUndoInfoFunction() override {}
 
   // ExtensionFunction:
-  virtual bool RunOnReady() override;
+  bool RunOnReady() override;
 };
 
 class BookmarkManagerPrivateGetRedoInfoFunction
@@ -392,10 +392,10 @@
                              BOOKMARKMANAGERPRIVATE_REDOINFO)
 
  protected:
-  virtual ~BookmarkManagerPrivateGetRedoInfoFunction() {}
+  ~BookmarkManagerPrivateGetRedoInfoFunction() override {}
 
   // ExtensionFunction:
-  virtual bool RunOnReady() override;
+  bool RunOnReady() override;
 };
 
 class BookmarkManagerPrivateSetVersionFunction
@@ -405,10 +405,10 @@
                              BOOKMARKMANAGERPRIVATE_SETVERSION);
 
  protected:
-  virtual ~BookmarkManagerPrivateSetVersionFunction() {}
+  ~BookmarkManagerPrivateSetVersionFunction() override {}
 
   // ExtensionFunction:
-  virtual bool RunOnReady() override;
+  bool RunOnReady() override;
 };
 
 }  // namespace extensions
diff --git a/chrome/browser/extensions/api/bookmarks/bookmarks_api.h b/chrome/browser/extensions/api/bookmarks/bookmarks_api.h
index 544d67f6..e799c5b3 100644
--- a/chrome/browser/extensions/api/bookmarks/bookmarks_api.h
+++ b/chrome/browser/extensions/api/bookmarks/bookmarks_api.h
@@ -42,36 +42,34 @@
 class BookmarkEventRouter : public BookmarkModelObserver {
  public:
   explicit BookmarkEventRouter(Profile* profile);
-  virtual ~BookmarkEventRouter();
+  ~BookmarkEventRouter() override;
 
   // BookmarkModelObserver:
-  virtual void BookmarkModelLoaded(BookmarkModel* model,
-                                   bool ids_reassigned) override;
-  virtual void BookmarkModelBeingDeleted(BookmarkModel* model) override;
-  virtual void BookmarkNodeMoved(BookmarkModel* model,
-                                 const BookmarkNode* old_parent,
-                                 int old_index,
-                                 const BookmarkNode* new_parent,
-                                 int new_index) override;
-  virtual void BookmarkNodeAdded(BookmarkModel* model,
-                                 const BookmarkNode* parent,
-                                 int index) override;
-  virtual void BookmarkNodeRemoved(BookmarkModel* model,
-                                   const BookmarkNode* parent,
-                                   int old_index,
-                                   const BookmarkNode* node,
+  void BookmarkModelLoaded(BookmarkModel* model, bool ids_reassigned) override;
+  void BookmarkModelBeingDeleted(BookmarkModel* model) override;
+  void BookmarkNodeMoved(BookmarkModel* model,
+                         const BookmarkNode* old_parent,
+                         int old_index,
+                         const BookmarkNode* new_parent,
+                         int new_index) override;
+  void BookmarkNodeAdded(BookmarkModel* model,
+                         const BookmarkNode* parent,
+                         int index) override;
+  void BookmarkNodeRemoved(BookmarkModel* model,
+                           const BookmarkNode* parent,
+                           int old_index,
+                           const BookmarkNode* node,
+                           const std::set<GURL>& removed_urls) override;
+  void BookmarkAllUserNodesRemoved(BookmarkModel* model,
                                    const std::set<GURL>& removed_urls) override;
-  virtual void BookmarkAllUserNodesRemoved(
-      BookmarkModel* model,
-      const std::set<GURL>& removed_urls) override;
-  virtual void BookmarkNodeChanged(BookmarkModel* model,
-                                   const BookmarkNode* node) override;
-  virtual void BookmarkNodeFaviconChanged(BookmarkModel* model,
-                                          const BookmarkNode* node) override;
-  virtual void BookmarkNodeChildrenReordered(BookmarkModel* model,
-                                             const BookmarkNode* node) override;
-  virtual void ExtensiveBookmarkChangesBeginning(BookmarkModel* model) override;
-  virtual void ExtensiveBookmarkChangesEnded(BookmarkModel* model) override;
+  void BookmarkNodeChanged(BookmarkModel* model,
+                           const BookmarkNode* node) override;
+  void BookmarkNodeFaviconChanged(BookmarkModel* model,
+                                  const BookmarkNode* node) override;
+  void BookmarkNodeChildrenReordered(BookmarkModel* model,
+                                     const BookmarkNode* node) override;
+  void ExtensiveBookmarkChangesBeginning(BookmarkModel* model) override;
+  void ExtensiveBookmarkChangesEnded(BookmarkModel* model) override;
 
  private:
   // Helper to actually dispatch an event to extension listeners.
@@ -89,17 +87,16 @@
                      public EventRouter::Observer {
  public:
   explicit BookmarksAPI(content::BrowserContext* context);
-  virtual ~BookmarksAPI();
+  ~BookmarksAPI() override;
 
   // KeyedService implementation.
-  virtual void Shutdown() override;
+  void Shutdown() override;
 
   // BrowserContextKeyedAPI implementation.
   static BrowserContextKeyedAPIFactory<BookmarksAPI>* GetFactoryInstance();
 
   // EventRouter::Observer implementation.
-  virtual void OnListenerAdded(
-      const EventListenerInfo& details) override;
+  void OnListenerAdded(const EventListenerInfo& details) override;
 
  private:
   friend class BrowserContextKeyedAPIFactory<BookmarksAPI>;
@@ -120,10 +117,10 @@
                           public BaseBookmarkModelObserver {
  public:
   // AsyncExtensionFunction:
-  virtual bool RunAsync() override;
+  bool RunAsync() override;
 
  protected:
-  virtual ~BookmarksFunction() {}
+  ~BookmarksFunction() override {}
 
   // RunAsync semantic equivalent called when the bookmarks are ready.
   virtual bool RunOnReady() = 0;
@@ -163,9 +160,8 @@
 
  private:
   // BaseBookmarkModelObserver:
-  virtual void BookmarkModelChanged() override;
-  virtual void BookmarkModelLoaded(BookmarkModel* model,
-                                   bool ids_reassigned) override;
+  void BookmarkModelChanged() override;
+  void BookmarkModelLoaded(BookmarkModel* model, bool ids_reassigned) override;
 };
 
 class BookmarksGetFunction : public BookmarksFunction {
@@ -173,10 +169,10 @@
   DECLARE_EXTENSION_FUNCTION("bookmarks.get", BOOKMARKS_GET)
 
  protected:
-  virtual ~BookmarksGetFunction() {}
+  ~BookmarksGetFunction() override {}
 
   // BookmarksFunction:
-  virtual bool RunOnReady() override;
+  bool RunOnReady() override;
 };
 
 class BookmarksGetChildrenFunction : public BookmarksFunction {
@@ -184,10 +180,10 @@
   DECLARE_EXTENSION_FUNCTION("bookmarks.getChildren", BOOKMARKS_GETCHILDREN)
 
  protected:
-  virtual ~BookmarksGetChildrenFunction() {}
+  ~BookmarksGetChildrenFunction() override {}
 
   // BookmarksFunction:
-  virtual bool RunOnReady() override;
+  bool RunOnReady() override;
 };
 
 class BookmarksGetRecentFunction : public BookmarksFunction {
@@ -195,10 +191,10 @@
   DECLARE_EXTENSION_FUNCTION("bookmarks.getRecent", BOOKMARKS_GETRECENT)
 
  protected:
-  virtual ~BookmarksGetRecentFunction() {}
+  ~BookmarksGetRecentFunction() override {}
 
   // BookmarksFunction:
-  virtual bool RunOnReady() override;
+  bool RunOnReady() override;
 };
 
 class BookmarksGetTreeFunction : public BookmarksFunction {
@@ -206,10 +202,10 @@
   DECLARE_EXTENSION_FUNCTION("bookmarks.getTree", BOOKMARKS_GETTREE)
 
  protected:
-  virtual ~BookmarksGetTreeFunction() {}
+  ~BookmarksGetTreeFunction() override {}
 
   // BookmarksFunction:
-  virtual bool RunOnReady() override;
+  bool RunOnReady() override;
 };
 
 class BookmarksGetSubTreeFunction : public BookmarksFunction {
@@ -217,10 +213,10 @@
   DECLARE_EXTENSION_FUNCTION("bookmarks.getSubTree", BOOKMARKS_GETSUBTREE)
 
  protected:
-  virtual ~BookmarksGetSubTreeFunction() {}
+  ~BookmarksGetSubTreeFunction() override {}
 
   // BookmarksFunction:
-  virtual bool RunOnReady() override;
+  bool RunOnReady() override;
 };
 
 class BookmarksSearchFunction : public BookmarksFunction {
@@ -228,10 +224,10 @@
   DECLARE_EXTENSION_FUNCTION("bookmarks.search", BOOKMARKS_SEARCH)
 
  protected:
-  virtual ~BookmarksSearchFunction() {}
+  ~BookmarksSearchFunction() override {}
 
   // BookmarksFunction:
-  virtual bool RunOnReady() override;
+  bool RunOnReady() override;
 };
 
 class BookmarksRemoveFunction : public BookmarksFunction {
@@ -245,10 +241,10 @@
                          bool* invalid_id);
 
  protected:
-  virtual ~BookmarksRemoveFunction() {}
+  ~BookmarksRemoveFunction() override {}
 
   // BookmarksFunction:
-  virtual bool RunOnReady() override;
+  bool RunOnReady() override;
 };
 
 class BookmarksRemoveTreeFunction : public BookmarksRemoveFunction {
@@ -256,7 +252,7 @@
   DECLARE_EXTENSION_FUNCTION("bookmarks.removeTree", BOOKMARKS_REMOVETREE)
 
  protected:
-  virtual ~BookmarksRemoveTreeFunction() {}
+  ~BookmarksRemoveTreeFunction() override {}
 };
 
 class BookmarksCreateFunction : public BookmarksFunction {
@@ -264,10 +260,10 @@
   DECLARE_EXTENSION_FUNCTION("bookmarks.create", BOOKMARKS_CREATE)
 
  protected:
-  virtual ~BookmarksCreateFunction() {}
+  ~BookmarksCreateFunction() override {}
 
   // BookmarksFunction:
-  virtual bool RunOnReady() override;
+  bool RunOnReady() override;
 };
 
 class BookmarksMoveFunction : public BookmarksFunction {
@@ -279,10 +275,10 @@
                          bool* invalid_id);
 
  protected:
-  virtual ~BookmarksMoveFunction() {}
+  ~BookmarksMoveFunction() override {}
 
   // BookmarksFunction:
-  virtual bool RunOnReady() override;
+  bool RunOnReady() override;
 };
 
 class BookmarksUpdateFunction : public BookmarksFunction {
@@ -294,10 +290,10 @@
                          bool* invalid_id);
 
  protected:
-  virtual ~BookmarksUpdateFunction() {}
+  ~BookmarksUpdateFunction() override {}
 
   // BookmarksFunction:
-  virtual bool RunOnReady() override;
+  bool RunOnReady() override;
 };
 
 class BookmarksIOFunction : public BookmarksFunction,
@@ -308,14 +304,14 @@
   virtual void FileSelected(const base::FilePath& path, int index, void* params) = 0;
 
   // ui::SelectFileDialog::Listener:
-  virtual void MultiFilesSelected(const std::vector<base::FilePath>& files,
-                                  void* params) override;
-  virtual void FileSelectionCanceled(void* params) override;
+  void MultiFilesSelected(const std::vector<base::FilePath>& files,
+                          void* params) override;
+  void FileSelectionCanceled(void* params) override;
 
   void SelectFile(ui::SelectFileDialog::Type type);
 
  protected:
-  virtual ~BookmarksIOFunction();
+  ~BookmarksIOFunction() override;
 
  private:
   void ShowSelectFileDialog(
@@ -331,15 +327,15 @@
   DECLARE_EXTENSION_FUNCTION("bookmarks.import", BOOKMARKS_IMPORT)
 
   // BookmarkManagerIOFunction:
-  virtual void FileSelected(const base::FilePath& path,
-                            int index,
-                            void* params) override;
+  void FileSelected(const base::FilePath& path,
+                    int index,
+                    void* params) override;
 
  private:
-  virtual ~BookmarksImportFunction() {}
+  ~BookmarksImportFunction() override {}
 
   // BookmarksFunction:
-  virtual bool RunOnReady() override;
+  bool RunOnReady() override;
 };
 
 class BookmarksExportFunction : public BookmarksIOFunction {
@@ -347,15 +343,15 @@
   DECLARE_EXTENSION_FUNCTION("bookmarks.export", BOOKMARKS_EXPORT)
 
   // BookmarkManagerIOFunction:
-  virtual void FileSelected(const base::FilePath& path,
-                            int index,
-                            void* params) override;
+  void FileSelected(const base::FilePath& path,
+                    int index,
+                    void* params) override;
 
  private:
-  virtual ~BookmarksExportFunction() {}
+  ~BookmarksExportFunction() override {}
 
   // BookmarksFunction:
-  virtual bool RunOnReady() override;
+  bool RunOnReady() override;
 };
 
 }  // namespace extensions
diff --git a/chrome/browser/extensions/api/braille_display_private/braille_controller_stub.cc b/chrome/browser/extensions/api/braille_display_private/braille_controller_stub.cc
index 6ba977df..ba394d0 100644
--- a/chrome/browser/extensions/api/braille_display_private/braille_controller_stub.cc
+++ b/chrome/browser/extensions/api/braille_display_private/braille_controller_stub.cc
@@ -17,14 +17,14 @@
 class BrailleControllerImpl : public BrailleController {
  public:
   static BrailleControllerImpl* GetInstance();
-  virtual scoped_ptr<DisplayState> GetDisplayState() override;
-  virtual void WriteDots(const std::string& cells) override;
-  virtual void AddObserver(BrailleObserver* observer) override;
-  virtual void RemoveObserver(BrailleObserver* observer) override;
+  scoped_ptr<DisplayState> GetDisplayState() override;
+  void WriteDots(const std::string& cells) override;
+  void AddObserver(BrailleObserver* observer) override;
+  void RemoveObserver(BrailleObserver* observer) override;
 
  private:
   BrailleControllerImpl();
-  virtual ~BrailleControllerImpl();
+  ~BrailleControllerImpl() override;
   friend struct DefaultSingletonTraits<BrailleControllerImpl>;
   DISALLOW_COPY_AND_ASSIGN(BrailleControllerImpl);
 };
diff --git a/chrome/browser/extensions/api/braille_display_private/braille_display_private_api.cc b/chrome/browser/extensions/api/braille_display_private/braille_display_private_api.cc
index 20e7a15..f5d8e50 100644
--- a/chrome/browser/extensions/api/braille_display_private/braille_display_private_api.cc
+++ b/chrome/browser/extensions/api/braille_display_private/braille_display_private_api.cc
@@ -29,10 +29,10 @@
     : public BrailleDisplayPrivateAPI::EventDelegate {
  public:
   DefaultEventDelegate(EventRouter::Observer* observer, Profile* profile);
-  virtual ~DefaultEventDelegate();
+  ~DefaultEventDelegate() override;
 
-  virtual void BroadcastEvent(scoped_ptr<Event> event) override;
-  virtual bool HasListener() override;
+  void BroadcastEvent(scoped_ptr<Event> event) override;
+  bool HasListener() override;
 
  private:
   EventRouter::Observer* observer_;
diff --git a/chrome/browser/extensions/api/braille_display_private/braille_display_private_api.h b/chrome/browser/extensions/api/braille_display_private/braille_display_private_api.h
index d27554ed..c1b23e7 100644
--- a/chrome/browser/extensions/api/braille_display_private/braille_display_private_api.h
+++ b/chrome/browser/extensions/api/braille_display_private/braille_display_private_api.h
@@ -27,25 +27,24 @@
                                  EventRouter::Observer {
  public:
   explicit BrailleDisplayPrivateAPI(content::BrowserContext* context);
-  virtual ~BrailleDisplayPrivateAPI();
+  ~BrailleDisplayPrivateAPI() override;
 
   // ProfileKeyedService implementation.
-  virtual void Shutdown() override;
+  void Shutdown() override;
 
   // BrowserContextKeyedAPI implementation.
   static BrowserContextKeyedAPIFactory<BrailleDisplayPrivateAPI>*
       GetFactoryInstance();
 
   // BrailleObserver implementation.
-  virtual void OnBrailleDisplayStateChanged(
+  void OnBrailleDisplayStateChanged(
       const api::braille_display_private::DisplayState& display_state) override;
-  virtual void OnBrailleKeyEvent(
+  void OnBrailleKeyEvent(
       const api::braille_display_private::KeyEvent& keyEvent) override;
 
   // EventRouter::Observer implementation.
-  virtual void OnListenerAdded(const EventListenerInfo& details) override;
-  virtual void OnListenerRemoved(const EventListenerInfo& details) override;
-
+  void OnListenerAdded(const EventListenerInfo& details) override;
+  void OnListenerRemoved(const EventListenerInfo& details) override;
 
  private:
   friend class BrowserContextKeyedAPIFactory<BrailleDisplayPrivateAPI>;
@@ -85,10 +84,10 @@
   DECLARE_EXTENSION_FUNCTION("brailleDisplayPrivate.getDisplayState",
                              BRAILLEDISPLAYPRIVATE_GETDISPLAYSTATE)
  protected:
-  virtual ~BrailleDisplayPrivateGetDisplayStateFunction() {}
-  virtual bool Prepare() override;
-  virtual void Work() override;
-  virtual bool Respond() override;
+  ~BrailleDisplayPrivateGetDisplayStateFunction() override {}
+  bool Prepare() override;
+  void Work() override;
+  bool Respond() override;
 };
 
 class BrailleDisplayPrivateWriteDotsFunction : public AsyncApiFunction {
@@ -98,10 +97,10 @@
   BrailleDisplayPrivateWriteDotsFunction();
 
  protected:
-  virtual ~BrailleDisplayPrivateWriteDotsFunction();
-  virtual bool Prepare() override;
-  virtual void Work() override;
-  virtual bool Respond() override;
+  ~BrailleDisplayPrivateWriteDotsFunction() override;
+  bool Prepare() override;
+  void Work() override;
+  bool Respond() override;
 
  private:
   scoped_ptr<braille_display_private::WriteDots::Params> params_;
diff --git a/chrome/browser/extensions/api/braille_display_private/mock_braille_controller.h b/chrome/browser/extensions/api/braille_display_private/mock_braille_controller.h
index f7e680e..9ce52bc9 100644
--- a/chrome/browser/extensions/api/braille_display_private/mock_braille_controller.h
+++ b/chrome/browser/extensions/api/braille_display_private/mock_braille_controller.h
@@ -16,9 +16,9 @@
  public:
   MockBrailleController();
 
-  virtual scoped_ptr<DisplayState> GetDisplayState() override;
-  virtual void AddObserver(BrailleObserver* observer) override;
-  virtual void RemoveObserver(BrailleObserver* observer) override;
+  scoped_ptr<DisplayState> GetDisplayState() override;
+  void AddObserver(BrailleObserver* observer) override;
+  void RemoveObserver(BrailleObserver* observer) override;
 
   // Sets the available flag without calling the observer.
   void SetAvailable(bool available);
diff --git a/chrome/browser/extensions/api/braille_display_private/stub_braille_controller.h b/chrome/browser/extensions/api/braille_display_private/stub_braille_controller.h
index da803e4..66ea0369 100644
--- a/chrome/browser/extensions/api/braille_display_private/stub_braille_controller.h
+++ b/chrome/browser/extensions/api/braille_display_private/stub_braille_controller.h
@@ -15,10 +15,10 @@
 class StubBrailleController : public BrailleController {
  public:
   StubBrailleController();
-  virtual scoped_ptr<DisplayState> GetDisplayState() override;
-  virtual void WriteDots(const std::string& cells) override;
-  virtual void AddObserver(BrailleObserver* observer) override;
-  virtual void RemoveObserver(BrailleObserver* observer) override;
+  scoped_ptr<DisplayState> GetDisplayState() override;
+  void WriteDots(const std::string& cells) override;
+  void AddObserver(BrailleObserver* observer) override;
+  void RemoveObserver(BrailleObserver* observer) override;
 };
 
 }  // namespace braille_display_private
diff --git a/chrome/browser/extensions/api/browser/browser_api.h b/chrome/browser/extensions/api/browser/browser_api.h
index e291605..634c568b 100644
--- a/chrome/browser/extensions/api/browser/browser_api.h
+++ b/chrome/browser/extensions/api/browser/browser_api.h
@@ -16,9 +16,9 @@
   DECLARE_EXTENSION_FUNCTION("browser.openTab", BROWSER_OPENTAB)
 
  protected:
-  virtual ~BrowserOpenTabFunction();
+  ~BrowserOpenTabFunction() override;
 
-  virtual bool RunSync() override;
+  bool RunSync() override;
 };
 
 }  // namespace api
diff --git a/chrome/browser/extensions/api/browsing_data/browsing_data_api.h b/chrome/browser/extensions/api/browsing_data/browsing_data_api.h
index 71da2c7..815e022 100644
--- a/chrome/browser/extensions/api/browsing_data/browsing_data_api.h
+++ b/chrome/browser/extensions/api/browsing_data/browsing_data_api.h
@@ -57,10 +57,10 @@
   DECLARE_EXTENSION_FUNCTION("browsingData.settings", BROWSINGDATA_SETTINGS)
 
   // ExtensionFunction:
-  virtual bool RunSync() override;
+  bool RunSync() override;
 
  protected:
-  virtual ~BrowsingDataSettingsFunction() {}
+  ~BrowsingDataSettingsFunction() override {}
 
  private:
   // Sets a boolean value in the |selected_dict| with the |data_type| as a key,
@@ -84,13 +84,13 @@
                                     public BrowsingDataRemover::Observer {
  public:
   // BrowsingDataRemover::Observer interface method.
-  virtual void OnBrowsingDataRemoverDone() override;
+  void OnBrowsingDataRemoverDone() override;
 
   // ExtensionFunction:
-  virtual bool RunAsync() override;
+  bool RunAsync() override;
 
  protected:
-  virtual ~BrowsingDataRemoverFunction() {}
+  ~BrowsingDataRemoverFunction() override {}
 
   // Children should override this method to provide the proper removal mask
   // based on the API call they represent.
@@ -120,10 +120,10 @@
                              BROWSINGDATA_REMOVEAPPCACHE)
 
  protected:
-  virtual ~BrowsingDataRemoveAppcacheFunction() {}
+  ~BrowsingDataRemoveAppcacheFunction() override {}
 
   // BrowsingDataRemoverFunction:
-  virtual int GetRemovalMask() override;
+  int GetRemovalMask() override;
 };
 
 class BrowsingDataRemoveFunction : public BrowsingDataRemoverFunction {
@@ -131,10 +131,10 @@
   DECLARE_EXTENSION_FUNCTION("browsingData.remove", BROWSINGDATA_REMOVE)
 
  protected:
-  virtual ~BrowsingDataRemoveFunction() {}
+  ~BrowsingDataRemoveFunction() override {}
 
   // BrowsingDataRemoverFunction:
-  virtual int GetRemovalMask() override;
+  int GetRemovalMask() override;
 };
 
 class BrowsingDataRemoveCacheFunction : public BrowsingDataRemoverFunction {
@@ -143,10 +143,10 @@
                              BROWSINGDATA_REMOVECACHE)
 
  protected:
-  virtual ~BrowsingDataRemoveCacheFunction() {}
+  ~BrowsingDataRemoveCacheFunction() override {}
 
   // BrowsingDataRemoverFunction:
-  virtual int GetRemovalMask() override;
+  int GetRemovalMask() override;
 };
 
 class BrowsingDataRemoveCookiesFunction : public BrowsingDataRemoverFunction {
@@ -155,10 +155,10 @@
                              BROWSINGDATA_REMOVECOOKIES)
 
  protected:
-  virtual ~BrowsingDataRemoveCookiesFunction() {}
+  ~BrowsingDataRemoveCookiesFunction() override {}
 
   // BrowsingDataRemoverFunction:
-  virtual int GetRemovalMask() override;
+  int GetRemovalMask() override;
 };
 
 class BrowsingDataRemoveDownloadsFunction : public BrowsingDataRemoverFunction {
@@ -167,10 +167,10 @@
                              BROWSINGDATA_REMOVEDOWNLOADS)
 
  protected:
-  virtual ~BrowsingDataRemoveDownloadsFunction() {}
+  ~BrowsingDataRemoveDownloadsFunction() override {}
 
   // BrowsingDataRemoverFunction:
-  virtual int GetRemovalMask() override;
+  int GetRemovalMask() override;
 };
 
 class BrowsingDataRemoveFileSystemsFunction
@@ -180,10 +180,10 @@
                              BROWSINGDATA_REMOVEFILESYSTEMS)
 
  protected:
-  virtual ~BrowsingDataRemoveFileSystemsFunction() {}
+  ~BrowsingDataRemoveFileSystemsFunction() override {}
 
   // BrowsingDataRemoverFunction:
-  virtual int GetRemovalMask() override;
+  int GetRemovalMask() override;
 };
 
 class BrowsingDataRemoveFormDataFunction : public BrowsingDataRemoverFunction {
@@ -192,10 +192,10 @@
                              BROWSINGDATA_REMOVEFORMDATA)
 
  protected:
-  virtual ~BrowsingDataRemoveFormDataFunction() {}
+  ~BrowsingDataRemoveFormDataFunction() override {}
 
   // BrowsingDataRemoverFunction:
-  virtual int GetRemovalMask() override;
+  int GetRemovalMask() override;
 };
 
 class BrowsingDataRemoveHistoryFunction : public BrowsingDataRemoverFunction {
@@ -204,10 +204,10 @@
                              BROWSINGDATA_REMOVEHISTORY)
 
  protected:
-  virtual ~BrowsingDataRemoveHistoryFunction() {}
+  ~BrowsingDataRemoveHistoryFunction() override {}
 
   // BrowsingDataRemoverFunction:
-  virtual int GetRemovalMask() override;
+  int GetRemovalMask() override;
 };
 
 class BrowsingDataRemoveIndexedDBFunction : public BrowsingDataRemoverFunction {
@@ -216,10 +216,10 @@
                              BROWSINGDATA_REMOVEINDEXEDDB)
 
  protected:
-  virtual ~BrowsingDataRemoveIndexedDBFunction() {}
+  ~BrowsingDataRemoveIndexedDBFunction() override {}
 
   // BrowsingDataRemoverFunction:
-  virtual int GetRemovalMask() override;
+  int GetRemovalMask() override;
 };
 
 class BrowsingDataRemoveLocalStorageFunction
@@ -229,10 +229,10 @@
                              BROWSINGDATA_REMOVELOCALSTORAGE)
 
  protected:
-  virtual ~BrowsingDataRemoveLocalStorageFunction() {}
+  ~BrowsingDataRemoveLocalStorageFunction() override {}
 
   // BrowsingDataRemoverFunction:
-  virtual int GetRemovalMask() override;
+  int GetRemovalMask() override;
 };
 
 class BrowsingDataRemovePluginDataFunction
@@ -242,10 +242,10 @@
                              BROWSINGDATA_REMOVEPLUGINDATA)
 
  protected:
-  virtual ~BrowsingDataRemovePluginDataFunction() {}
+  ~BrowsingDataRemovePluginDataFunction() override {}
 
   // BrowsingDataRemoverFunction:
-  virtual int GetRemovalMask() override;
+  int GetRemovalMask() override;
 };
 
 class BrowsingDataRemovePasswordsFunction : public BrowsingDataRemoverFunction {
@@ -254,10 +254,10 @@
                              BROWSINGDATA_REMOVEPASSWORDS)
 
  protected:
-  virtual ~BrowsingDataRemovePasswordsFunction() {}
+  ~BrowsingDataRemovePasswordsFunction() override {}
 
   // BrowsingDataRemoverFunction:
-  virtual int GetRemovalMask() override;
+  int GetRemovalMask() override;
 };
 
 class BrowsingDataRemoveServiceWorkersFunction
@@ -267,10 +267,10 @@
                              BROWSINGDATA_REMOVESERVICEWORKERS)
 
  protected:
-  virtual ~BrowsingDataRemoveServiceWorkersFunction() {}
+  ~BrowsingDataRemoveServiceWorkersFunction() override {}
 
   // BrowsingDataRemoverFunction:
-  virtual int GetRemovalMask() override;
+  int GetRemovalMask() override;
 };
 
 class BrowsingDataRemoveWebSQLFunction : public BrowsingDataRemoverFunction {
@@ -279,10 +279,10 @@
                              BROWSINGDATA_REMOVEWEBSQL)
 
  protected:
-  virtual ~BrowsingDataRemoveWebSQLFunction() {}
+  ~BrowsingDataRemoveWebSQLFunction() override {}
 
   // BrowsingDataRemoverFunction:
-  virtual int GetRemovalMask() override;
+  int GetRemovalMask() override;
 };
 
 #endif  // CHROME_BROWSER_EXTENSIONS_API_BROWSING_DATA_BROWSING_DATA_API_H_
diff --git a/chrome/browser/extensions/api/browsing_data/browsing_data_test.cc b/chrome/browser/extensions/api/browsing_data/browsing_data_test.cc
index 88c8468..3a1c15e 100644
--- a/chrome/browser/extensions/api/browsing_data/browsing_data_test.cc
+++ b/chrome/browser/extensions/api/browsing_data/browsing_data_test.cc
@@ -58,16 +58,16 @@
   }
 
  protected:
-  virtual void SetUpOnMainThread() override {
+  void SetUpOnMainThread() override {
     called_with_details_.reset(new BrowsingDataRemover::NotificationDetails());
     registrar_.Add(this, chrome::NOTIFICATION_BROWSING_DATA_REMOVED,
                    content::Source<Profile>(browser()->profile()));
   }
 
   // content::NotificationObserver implementation.
-  virtual void Observe(int type,
-                       const content::NotificationSource& source,
-                       const content::NotificationDetails& details) override {
+  void Observe(int type,
+               const content::NotificationSource& source,
+               const content::NotificationDetails& details) override {
     DCHECK_EQ(type, chrome::NOTIFICATION_BROWSING_DATA_REMOVED);
 
     // We're not taking ownership of the details object, but storing a copy of
diff --git a/chrome/browser/extensions/api/cast_streaming/cast_streaming_apitest.cc b/chrome/browser/extensions/api/cast_streaming/cast_streaming_apitest.cc
index 7c838f7f..799e658 100644
--- a/chrome/browser/extensions/api/cast_streaming/cast_streaming_apitest.cc
+++ b/chrome/browser/extensions/api/cast_streaming/cast_streaming_apitest.cc
@@ -37,7 +37,7 @@
 
 class CastStreamingApiTest : public ExtensionApiTest {
  public:
-  virtual void SetUpCommandLine(CommandLine* command_line) override {
+  void SetUpCommandLine(CommandLine* command_line) override {
     ExtensionApiTest::SetUpCommandLine(command_line);
     command_line->AppendSwitchASCII(
         extensions::switches::kWhitelistedExtensionID,
@@ -110,7 +110,7 @@
             WithFakeAesKeyAndIv(media::cast::GetDefaultVideoReceiverConfig())) {
   }
 
-  virtual ~TestPatternReceiver() {}
+  ~TestPatternReceiver() override {}
 
   void AddExpectedTone(int tone_frequency) {
     expected_tones_.push_back(tone_frequency);
@@ -153,9 +153,9 @@
   }
 
   // Invoked by InProcessReceiver for each received audio frame.
-  virtual void OnAudioFrame(scoped_ptr<media::AudioBus> audio_frame,
-                            const base::TimeTicks& playout_time,
-                            bool is_continuous) override {
+  void OnAudioFrame(scoped_ptr<media::AudioBus> audio_frame,
+                    const base::TimeTicks& playout_time,
+                    bool is_continuous) override {
     DCHECK(cast_env()->CurrentlyOn(media::cast::CastEnvironment::MAIN));
 
     if (audio_frame->frames() <= 0) {
@@ -192,9 +192,9 @@
     }
   }
 
-  virtual void OnVideoFrame(const scoped_refptr<media::VideoFrame>& video_frame,
-                            const base::TimeTicks& playout_time,
-                            bool is_continuous) override {
+  void OnVideoFrame(const scoped_refptr<media::VideoFrame>& video_frame,
+                    const base::TimeTicks& playout_time,
+                    bool is_continuous) override {
     DCHECK(cast_env()->CurrentlyOn(media::cast::CastEnvironment::MAIN));
 
     CHECK(video_frame->format() == media::VideoFrame::YV12 ||
@@ -321,7 +321,7 @@
     CastStreamingApiTest::SetUp();
   }
 
-  virtual void SetUpCommandLine(CommandLine* command_line) override {
+  void SetUpCommandLine(CommandLine* command_line) override {
     command_line->AppendSwitchASCII(::switches::kWindowSize, "128,128");
     CastStreamingApiTest::SetUpCommandLine(command_line);
   }
diff --git a/chrome/browser/extensions/api/cast_streaming/performance_test.cc b/chrome/browser/extensions/api/cast_streaming/performance_test.cc
index 8234ede..f15d7e81 100644
--- a/chrome/browser/extensions/api/cast_streaming/performance_test.cc
+++ b/chrome/browser/extensions/api/cast_streaming/performance_test.cc
@@ -81,7 +81,7 @@
  public:
   explicit SkewedTickClock(const base::TimeDelta& delta) : delta_(delta) {
   }
-  virtual base::TimeTicks NowTicks() override {
+  base::TimeTicks NowTicks() override {
     return DefaultTickClock::NowTicks() + delta_;
   }
  private:
@@ -96,7 +96,7 @@
   }
 
  protected:
-  virtual ~SkewedCastEnvironment() {}
+  ~SkewedCastEnvironment() override {}
 };
 
 // We log one of these for each call to OnAudioFrame/OnVideoFrame.
@@ -239,9 +239,9 @@
 
  private:
   // Invoked by InProcessReceiver for each received audio frame.
-  virtual void OnAudioFrame(scoped_ptr<media::AudioBus> audio_frame,
-                            const base::TimeTicks& playout_time,
-                            bool is_continuous) override {
+  void OnAudioFrame(scoped_ptr<media::AudioBus> audio_frame,
+                    const base::TimeTicks& playout_time,
+                    bool is_continuous) override {
     CHECK(cast_env()->CurrentlyOn(media::cast::CastEnvironment::MAIN));
 
     if (audio_frame->frames() <= 0) {
@@ -260,9 +260,9 @@
     }
   }
 
-  virtual void OnVideoFrame(const scoped_refptr<media::VideoFrame>& video_frame,
-                            const base::TimeTicks& render_time,
-                            bool is_continuous) override {
+  void OnVideoFrame(const scoped_refptr<media::VideoFrame>& video_frame,
+                    const base::TimeTicks& render_time,
+                    bool is_continuous) override {
     CHECK(cast_env()->CurrentlyOn(media::cast::CastEnvironment::MAIN));
 
     TRACE_EVENT_INSTANT1(
@@ -360,7 +360,7 @@
     ExtensionApiTest::SetUp();
   }
 
-  virtual void SetUpCommandLine(CommandLine* command_line) override {
+  void SetUpCommandLine(CommandLine* command_line) override {
     // Some of the tests may launch http requests through JSON or AJAX
     // which causes a security error (cross domain request) when the page
     // is loaded from the local file system ( file:// ). The following switch
diff --git a/chrome/browser/extensions/api/chrome_device_permissions_prompt.h b/chrome/browser/extensions/api/chrome_device_permissions_prompt.h
index cd8428d..2567275 100644
--- a/chrome/browser/extensions/api/chrome_device_permissions_prompt.h
+++ b/chrome/browser/extensions/api/chrome_device_permissions_prompt.h
@@ -13,10 +13,10 @@
   explicit ChromeDevicePermissionsPrompt(content::WebContents* web_contents)
       : extensions::DevicePermissionsPrompt(web_contents) {}
 
-  virtual ~ChromeDevicePermissionsPrompt() {}
+  ~ChromeDevicePermissionsPrompt() override {}
 
  private:
-  virtual void ShowDialog() override;
+  void ShowDialog() override;
 };
 
 #endif  // CHROME_BROWSER_EXTENSIONS_API_CHROME_DEVICE_PERMISSIONS_PROMPT_H_
diff --git a/chrome/browser/extensions/api/chrome_extensions_api_client.h b/chrome/browser/extensions/api/chrome_extensions_api_client.h
index 24ec7f8..fb5f1aa 100644
--- a/chrome/browser/extensions/api/chrome_extensions_api_client.h
+++ b/chrome/browser/extensions/api/chrome_extensions_api_client.h
@@ -14,32 +14,30 @@
 class ChromeExtensionsAPIClient : public ExtensionsAPIClient {
  public:
   ChromeExtensionsAPIClient();
-  virtual ~ChromeExtensionsAPIClient();
+  ~ChromeExtensionsAPIClient() override;
 
   // ExtensionsApiClient implementation.
-  virtual void AddAdditionalValueStoreCaches(
+  void AddAdditionalValueStoreCaches(
       content::BrowserContext* context,
       const scoped_refptr<SettingsStorageFactory>& factory,
-      const scoped_refptr<ObserverListThreadSafe<SettingsObserver> >& observers,
+      const scoped_refptr<ObserverListThreadSafe<SettingsObserver>>& observers,
       std::map<settings_namespace::Namespace, ValueStoreCache*>* caches)
       override;
-  virtual AppViewGuestDelegate* CreateAppViewGuestDelegate() const override;
-  virtual ExtensionOptionsGuestDelegate* CreateExtensionOptionsGuestDelegate(
+  AppViewGuestDelegate* CreateAppViewGuestDelegate() const override;
+  ExtensionOptionsGuestDelegate* CreateExtensionOptionsGuestDelegate(
       ExtensionOptionsGuest* guest) const override;
-  virtual scoped_ptr<MimeHandlerViewGuestDelegate>
-      CreateMimeHandlerViewGuestDelegate(
-          MimeHandlerViewGuest* guest) const override;
-  virtual WebViewGuestDelegate* CreateWebViewGuestDelegate(
+  scoped_ptr<MimeHandlerViewGuestDelegate> CreateMimeHandlerViewGuestDelegate(
+      MimeHandlerViewGuest* guest) const override;
+  WebViewGuestDelegate* CreateWebViewGuestDelegate(
       WebViewGuest* web_view_guest) const override;
-  virtual WebViewPermissionHelperDelegate*
-      CreateWebViewPermissionHelperDelegate(
-          WebViewPermissionHelper* web_view_permission_helper) const override;
-  virtual WebRequestEventRouterDelegate* CreateWebRequestEventRouterDelegate()
+  WebViewPermissionHelperDelegate* CreateWebViewPermissionHelperDelegate(
+      WebViewPermissionHelper* web_view_permission_helper) const override;
+  WebRequestEventRouterDelegate* CreateWebRequestEventRouterDelegate()
       const override;
-  virtual scoped_refptr<ContentRulesRegistry> CreateContentRulesRegistry(
+  scoped_refptr<ContentRulesRegistry> CreateContentRulesRegistry(
       content::BrowserContext* browser_context,
       RulesCacheDelegate* cache_delegate) const override;
-  virtual scoped_ptr<DevicePermissionsPrompt> CreateDevicePermissionsPrompt(
+  scoped_ptr<DevicePermissionsPrompt> CreateDevicePermissionsPrompt(
       content::WebContents* web_contents) const override;
 
  private:
diff --git a/chrome/browser/extensions/api/cloud_print_private/cloud_print_private_api.h b/chrome/browser/extensions/api/cloud_print_private/cloud_print_private_api.h
index d5aa3c1..52a369d 100644
--- a/chrome/browser/extensions/api/cloud_print_private/cloud_print_private_api.h
+++ b/chrome/browser/extensions/api/cloud_print_private/cloud_print_private_api.h
@@ -55,10 +55,10 @@
   CloudPrintPrivateSetupConnectorFunction();
 
  protected:
-  virtual ~CloudPrintPrivateSetupConnectorFunction();
+  ~CloudPrintPrivateSetupConnectorFunction() override;
 
   // ExtensionFunction:
-  virtual bool RunAsync() override;
+  bool RunAsync() override;
 };
 
 class CloudPrintPrivateGetHostNameFunction
@@ -70,10 +70,10 @@
   CloudPrintPrivateGetHostNameFunction();
 
  protected:
-  virtual ~CloudPrintPrivateGetHostNameFunction();
+  ~CloudPrintPrivateGetHostNameFunction() override;
 
   // ExtensionFunction:
-  virtual bool RunAsync() override;
+  bool RunAsync() override;
 };
 
 class CloudPrintPrivateGetPrintersFunction
@@ -85,13 +85,13 @@
   CloudPrintPrivateGetPrintersFunction();
 
  protected:
-  virtual ~CloudPrintPrivateGetPrintersFunction();
+  ~CloudPrintPrivateGetPrintersFunction() override;
 
  private:
   void SendResults(const std::vector<std::string>& printers);
 
   // ExtensionFunction:
-  virtual bool RunAsync() override;
+  bool RunAsync() override;
 };
 
 class CloudPrintPrivateGetClientIdFunction
@@ -103,10 +103,10 @@
   CloudPrintPrivateGetClientIdFunction();
 
  protected:
-  virtual ~CloudPrintPrivateGetClientIdFunction();
+  ~CloudPrintPrivateGetClientIdFunction() override;
 
   // ExtensionFunction:
-  virtual bool RunAsync() override;
+  bool RunAsync() override;
 };
 
 }  // namespace extensions
diff --git a/chrome/browser/extensions/api/cloud_print_private/cloud_print_private_apitest.cc b/chrome/browser/extensions/api/cloud_print_private/cloud_print_private_apitest.cc
index e9a5cd6..6088257 100644
--- a/chrome/browser/extensions/api/cloud_print_private/cloud_print_private_apitest.cc
+++ b/chrome/browser/extensions/api/cloud_print_private/cloud_print_private_apitest.cc
@@ -23,7 +23,7 @@
 // A base class for tests below.
 class ExtensionCloudPrintPrivateApiTest : public ExtensionApiTest {
  public:
-  virtual void SetUpCommandLine(CommandLine* command_line) override {
+  void SetUpCommandLine(CommandLine* command_line) override {
     ExtensionApiTest::SetUpCommandLine(command_line);
     command_line->AppendSwitchASCII(
         switches::kCloudPrintURL,
@@ -31,7 +31,7 @@
         "cloud_print_private");
   }
 
-  virtual void SetUpInProcessBrowserTestFixture() override {
+  void SetUpInProcessBrowserTestFixture() override {
     // Start up the test server and get us ready for calling the install
     // API functions.
     host_resolver()->AddRule("www.cloudprintapp.com", "127.0.0.1");
diff --git a/chrome/browser/extensions/api/command_line_private/command_line_private_api.h b/chrome/browser/extensions/api/command_line_private/command_line_private_api.h
index ceed07c..423963e 100644
--- a/chrome/browser/extensions/api/command_line_private/command_line_private_api.h
+++ b/chrome/browser/extensions/api/command_line_private/command_line_private_api.h
@@ -13,10 +13,10 @@
   DECLARE_EXTENSION_FUNCTION("commandLinePrivate.hasSwitch",
                              COMMANDLINEPRIVATE_HASSWITCH)
  protected:
-  virtual ~CommandLinePrivateHasSwitchFunction() {}
+  ~CommandLinePrivateHasSwitchFunction() override {}
 
   // ExtensionFunction:
-  virtual bool RunSync() override;
+  bool RunSync() override;
 };
 
 }  // namespace extensions
diff --git a/chrome/browser/extensions/api/command_line_private/command_line_private_apitest.cc b/chrome/browser/extensions/api/command_line_private/command_line_private_apitest.cc
index 29bfa5a..36de0ce 100644
--- a/chrome/browser/extensions/api/command_line_private/command_line_private_apitest.cc
+++ b/chrome/browser/extensions/api/command_line_private/command_line_private_apitest.cc
@@ -12,7 +12,7 @@
 }  // namespace
 
 class CommandLinePrivateApiTest : public ExtensionApiTest {
-  virtual void SetUpCommandLine(base::CommandLine* command_line) override {
+  void SetUpCommandLine(base::CommandLine* command_line) override {
     ExtensionApiTest::SetUpCommandLine(command_line);
     command_line->AppendSwitch(kTestCommandLineSwitch);
   }
diff --git a/chrome/browser/extensions/api/commands/command_service.h b/chrome/browser/extensions/api/commands/command_service.h
index 7f39b7d..19cde7e4 100644
--- a/chrome/browser/extensions/api/commands/command_service.h
+++ b/chrome/browser/extensions/api/commands/command_service.h
@@ -69,7 +69,7 @@
 
   // Constructs a CommandService object for the given profile.
   explicit CommandService(content::BrowserContext* context);
-  virtual ~CommandService();
+  ~CommandService() override;
 
   // BrowserContextKeyedAPI implementation.
   static BrowserContextKeyedAPIFactory<CommandService>* GetFactoryInstance();
@@ -179,16 +179,14 @@
   static const bool kServiceRedirectedInIncognito = true;
 
   // ExtensionRegistryObserver.
-  virtual void OnExtensionWillBeInstalled(
-      content::BrowserContext* browser_context,
-      const Extension* extension,
-      bool is_update,
-      bool from_ephemeral,
-      const std::string& old_name) override;
-  virtual void OnExtensionUninstalled(
-      content::BrowserContext* browser_context,
-      const Extension* extension,
-      extensions::UninstallReason reason) override;
+  void OnExtensionWillBeInstalled(content::BrowserContext* browser_context,
+                                  const Extension* extension,
+                                  bool is_update,
+                                  bool from_ephemeral,
+                                  const std::string& old_name) override;
+  void OnExtensionUninstalled(content::BrowserContext* browser_context,
+                              const Extension* extension,
+                              extensions::UninstallReason reason) override;
 
   // Updates keybindings for a given |extension|'s page action, browser action
   // and named commands. Assigns new keybindings and removes relinquished
diff --git a/chrome/browser/extensions/api/commands/commands.h b/chrome/browser/extensions/api/commands/commands.h
index 423049a..9aa38ea 100644
--- a/chrome/browser/extensions/api/commands/commands.h
+++ b/chrome/browser/extensions/api/commands/commands.h
@@ -8,8 +8,8 @@
 #include "chrome/browser/extensions/chrome_extension_function.h"
 
 class GetAllCommandsFunction : public ChromeSyncExtensionFunction {
-  virtual ~GetAllCommandsFunction() {}
-  virtual bool RunSync() override;
+  ~GetAllCommandsFunction() override {}
+  bool RunSync() override;
   DECLARE_EXTENSION_FUNCTION("commands.getAll", COMMANDS_GETALL)
 };
 
diff --git a/chrome/browser/extensions/api/content_settings/content_settings_api.h b/chrome/browser/extensions/api/content_settings/content_settings_api.h
index fd904a6..8c9d8e18d 100644
--- a/chrome/browser/extensions/api/content_settings/content_settings_api.h
+++ b/chrome/browser/extensions/api/content_settings/content_settings_api.h
@@ -21,10 +21,10 @@
   DECLARE_EXTENSION_FUNCTION("contentSettings.clear", CONTENTSETTINGS_CLEAR)
 
  protected:
-  virtual ~ContentSettingsContentSettingClearFunction() {}
+  ~ContentSettingsContentSettingClearFunction() override {}
 
   // ExtensionFunction:
-  virtual bool RunSync() override;
+  bool RunSync() override;
 };
 
 class ContentSettingsContentSettingGetFunction
@@ -33,10 +33,10 @@
   DECLARE_EXTENSION_FUNCTION("contentSettings.get", CONTENTSETTINGS_GET)
 
  protected:
-  virtual ~ContentSettingsContentSettingGetFunction() {}
+  ~ContentSettingsContentSettingGetFunction() override {}
 
   // ExtensionFunction:
-  virtual bool RunSync() override;
+  bool RunSync() override;
 };
 
 class ContentSettingsContentSettingSetFunction
@@ -45,10 +45,10 @@
   DECLARE_EXTENSION_FUNCTION("contentSettings.set", CONTENTSETTINGS_SET)
 
  protected:
-  virtual ~ContentSettingsContentSettingSetFunction() {}
+  ~ContentSettingsContentSettingSetFunction() override {}
 
   // ExtensionFunction:
-  virtual bool RunSync() override;
+  bool RunSync() override;
 };
 
 class ContentSettingsContentSettingGetResourceIdentifiersFunction
@@ -58,10 +58,10 @@
                              CONTENTSETTINGS_GETRESOURCEIDENTIFIERS)
 
  protected:
-  virtual ~ContentSettingsContentSettingGetResourceIdentifiersFunction() {}
+  ~ContentSettingsContentSettingGetResourceIdentifiersFunction() override {}
 
   // ExtensionFunction:
-  virtual bool RunAsync() override;
+  bool RunAsync() override;
 
  private:
   FRIEND_TEST_ALL_PREFIXES(ExtensionApiTest,
diff --git a/chrome/browser/extensions/api/content_settings/content_settings_apitest.cc b/chrome/browser/extensions/api/content_settings/content_settings_apitest.cc
index fe33840..f457a3a 100644
--- a/chrome/browser/extensions/api/content_settings/content_settings_apitest.cc
+++ b/chrome/browser/extensions/api/content_settings/content_settings_apitest.cc
@@ -35,12 +35,12 @@
  public:
   ExtensionContentSettingsApiTest() : profile_(NULL) {}
 
-  virtual void SetUpCommandLine(CommandLine* command_line) override {
+  void SetUpCommandLine(CommandLine* command_line) override {
     ExtensionApiTest::SetUpCommandLine(command_line);
     command_line->AppendSwitch(switches::kDisablePluginsDiscovery);
   }
 
-  virtual void SetUpOnMainThread() override {
+  void SetUpOnMainThread() override {
     ExtensionApiTest::SetUpOnMainThread();
 
     // The browser might get closed later (and therefore be destroyed), so we
@@ -53,7 +53,7 @@
     g_browser_process->AddRefModule();
   }
 
-  virtual void TearDownOnMainThread() override {
+  void TearDownOnMainThread() override {
     // ReleaseBrowserProcessModule() needs to be called in a message loop, so we
     // post a task to do it, then run the message loop.
     base::MessageLoop::current()->PostTask(
diff --git a/chrome/browser/extensions/api/content_settings/content_settings_service.h b/chrome/browser/extensions/api/content_settings/content_settings_service.h
index 4534dfc..2b7b3e3 100644
--- a/chrome/browser/extensions/api/content_settings/content_settings_service.h
+++ b/chrome/browser/extensions/api/content_settings/content_settings_service.h
@@ -20,7 +20,7 @@
                                public ExtensionPrefsObserver {
  public:
   explicit ContentSettingsService(content::BrowserContext* context);
-  virtual ~ContentSettingsService();
+  ~ContentSettingsService() override;
 
   scoped_refptr<ContentSettingsStore> content_settings_store() const {
     return content_settings_store_;
@@ -34,15 +34,14 @@
       GetFactoryInstance();
 
   // ExtensionPrefsObserver implementation.
-  virtual void OnExtensionRegistered(const std::string& extension_id,
-                                     const base::Time& install_time,
-                                     bool is_enabled) override;
-  virtual void OnExtensionPrefsLoaded(const std::string& extension_id,
-                                      const ExtensionPrefs* prefs) override;
-  virtual void OnExtensionPrefsDeleted(const std::string& extension_id)
-      override;
-  virtual void OnExtensionStateChanged(const std::string& extension_id,
-                                       bool state) override;
+  void OnExtensionRegistered(const std::string& extension_id,
+                             const base::Time& install_time,
+                             bool is_enabled) override;
+  void OnExtensionPrefsLoaded(const std::string& extension_id,
+                              const ExtensionPrefs* prefs) override;
+  void OnExtensionPrefsDeleted(const std::string& extension_id) override;
+  void OnExtensionStateChanged(const std::string& extension_id,
+                               bool state) override;
 
  private:
   friend class BrowserContextKeyedAPIFactory<ContentSettingsService>;
diff --git a/chrome/browser/extensions/api/context_menus/context_menus_api.h b/chrome/browser/extensions/api/context_menus/context_menus_api.h
index a832c328..8c05e68 100644
--- a/chrome/browser/extensions/api/context_menus/context_menus_api.h
+++ b/chrome/browser/extensions/api/context_menus/context_menus_api.h
@@ -14,10 +14,10 @@
   DECLARE_EXTENSION_FUNCTION("contextMenus.create", CONTEXTMENUS_CREATE)
 
  protected:
-  virtual ~ContextMenusCreateFunction() {}
+  ~ContextMenusCreateFunction() override {}
 
   // ExtensionFunction:
-  virtual bool RunSync() override;
+  bool RunSync() override;
 };
 
 class ContextMenusUpdateFunction : public ChromeSyncExtensionFunction {
@@ -25,10 +25,10 @@
   DECLARE_EXTENSION_FUNCTION("contextMenus.update", CONTEXTMENUS_UPDATE)
 
  protected:
-  virtual ~ContextMenusUpdateFunction() {}
+  ~ContextMenusUpdateFunction() override {}
 
   // ExtensionFunction:
-  virtual bool RunSync() override;
+  bool RunSync() override;
 };
 
 class ContextMenusRemoveFunction : public ChromeSyncExtensionFunction {
@@ -36,10 +36,10 @@
   DECLARE_EXTENSION_FUNCTION("contextMenus.remove", CONTEXTMENUS_REMOVE)
 
  protected:
-  virtual ~ContextMenusRemoveFunction() {}
+  ~ContextMenusRemoveFunction() override {}
 
   // ExtensionFunction:
-  virtual bool RunSync() override;
+  bool RunSync() override;
 };
 
 class ContextMenusRemoveAllFunction : public ChromeSyncExtensionFunction {
@@ -47,10 +47,10 @@
   DECLARE_EXTENSION_FUNCTION("contextMenus.removeAll", CONTEXTMENUS_REMOVEALL)
 
  protected:
-  virtual ~ContextMenusRemoveAllFunction() {}
+  ~ContextMenusRemoveAllFunction() override {}
 
   // ExtensionFunction:
-  virtual bool RunSync() override;
+  bool RunSync() override;
 };
 
 }  // namespace extensions
diff --git a/chrome/browser/extensions/api/cookies/cookies_api.h b/chrome/browser/extensions/api/cookies/cookies_api.h
index 41f33f3..30e2c30 100644
--- a/chrome/browser/extensions/api/cookies/cookies_api.h
+++ b/chrome/browser/extensions/api/cookies/cookies_api.h
@@ -34,13 +34,13 @@
 class CookiesEventRouter : public content::NotificationObserver {
  public:
   explicit CookiesEventRouter(content::BrowserContext* context);
-  virtual ~CookiesEventRouter();
+  ~CookiesEventRouter() override;
 
  private:
   // content::NotificationObserver implementation.
-  virtual void Observe(int type,
-                       const content::NotificationSource& source,
-                       const content::NotificationDetails& details) override;
+  void Observe(int type,
+               const content::NotificationSource& source,
+               const content::NotificationDetails& details) override;
 
   // Handler for the COOKIE_CHANGED event. The method takes the details of such
   // an event and constructs a suitable JSON formatted extension event from it.
@@ -68,10 +68,10 @@
   CookiesGetFunction();
 
  protected:
-  virtual ~CookiesGetFunction();
+  ~CookiesGetFunction() override;
 
   // ExtensionFunction:
-  virtual bool RunAsync() override;
+  bool RunAsync() override;
 
  private:
   void GetCookieOnIOThread();
@@ -91,10 +91,10 @@
   CookiesGetAllFunction();
 
  protected:
-  virtual ~CookiesGetAllFunction();
+  ~CookiesGetAllFunction() override;
 
   // ExtensionFunction:
-  virtual bool RunAsync() override;
+  bool RunAsync() override;
 
  private:
   void GetAllCookiesOnIOThread();
@@ -114,8 +114,8 @@
   CookiesSetFunction();
 
  protected:
-  virtual ~CookiesSetFunction();
-  virtual bool RunAsync() override;
+  ~CookiesSetFunction() override;
+  bool RunAsync() override;
 
  private:
   void SetCookieOnIOThread();
@@ -137,10 +137,10 @@
   CookiesRemoveFunction();
 
  protected:
-  virtual ~CookiesRemoveFunction();
+  ~CookiesRemoveFunction() override;
 
   // ExtensionFunction:
-  virtual bool RunAsync() override;
+  bool RunAsync() override;
 
  private:
   void RemoveCookieOnIOThread();
@@ -159,27 +159,26 @@
                              COOKIES_GETALLCOOKIESTORES)
 
  protected:
-  virtual ~CookiesGetAllCookieStoresFunction() {}
+  ~CookiesGetAllCookieStoresFunction() override {}
 
   // ExtensionFunction:
-  virtual bool RunSync() override;
+  bool RunSync() override;
 };
 
 class CookiesAPI : public BrowserContextKeyedAPI,
                    public extensions::EventRouter::Observer {
  public:
   explicit CookiesAPI(content::BrowserContext* context);
-  virtual ~CookiesAPI();
+  ~CookiesAPI() override;
 
   // KeyedService implementation.
-  virtual void Shutdown() override;
+  void Shutdown() override;
 
   // BrowserContextKeyedAPI implementation.
   static BrowserContextKeyedAPIFactory<CookiesAPI>* GetFactoryInstance();
 
   // EventRouter::Observer implementation.
-  virtual void OnListenerAdded(const extensions::EventListenerInfo& details)
-      override;
+  void OnListenerAdded(const extensions::EventListenerInfo& details) override;
 
  private:
   friend class BrowserContextKeyedAPIFactory<CookiesAPI>;
diff --git a/chrome/browser/extensions/api/copresence/copresence_api.h b/chrome/browser/extensions/api/copresence/copresence_api.h
index 5776fd7..7960132 100644
--- a/chrome/browser/extensions/api/copresence/copresence_api.h
+++ b/chrome/browser/extensions/api/copresence/copresence_api.h
@@ -28,10 +28,10 @@
                           public copresence::CopresenceDelegate {
  public:
   explicit CopresenceService(content::BrowserContext* context);
-  virtual ~CopresenceService();
+  ~CopresenceService() override;
 
   // BrowserContextKeyedAPI implementation.
-  virtual void Shutdown() override;
+  void Shutdown() override;
 
   // These accessors will always return an object (except during shutdown).
   // If the object doesn't exist, they will create one first.
@@ -56,14 +56,13 @@
   friend class BrowserContextKeyedAPIFactory<CopresenceService>;
 
   // CopresenceDelegate implementation
-  virtual void HandleMessages(
-      const std::string& app_id,
-      const std::string& subscription_id,
-      const std::vector<copresence::Message>& message) override;
-  virtual net::URLRequestContextGetter* GetRequestContext() const override;
-  virtual const std::string GetPlatformVersionString() const override;
-  virtual const std::string GetAPIKey() const override;
-  virtual copresence::WhispernetClient* GetWhispernetClient() override;
+  void HandleMessages(const std::string& app_id,
+                      const std::string& subscription_id,
+                      const std::vector<copresence::Message>& message) override;
+  net::URLRequestContextGetter* GetRequestContext() const override;
+  const std::string GetPlatformVersionString() const override;
+  const std::string GetAPIKey() const override;
+  copresence::WhispernetClient* GetWhispernetClient() override;
 
   // BrowserContextKeyedAPI implementation.
   static const char* service_name() { return "CopresenceService"; }
@@ -89,8 +88,8 @@
   DECLARE_EXTENSION_FUNCTION("copresence.execute", COPRESENCE_EXECUTE);
 
  protected:
-  virtual ~CopresenceExecuteFunction() {}
-  virtual ExtensionFunction::ResponseAction Run() override;
+  ~CopresenceExecuteFunction() override {}
+  ExtensionFunction::ResponseAction Run() override;
 
  private:
   void SendResult(copresence::CopresenceStatus status);
@@ -101,8 +100,8 @@
   DECLARE_EXTENSION_FUNCTION("copresence.setApiKey", COPRESENCE_SETAPIKEY);
 
  protected:
-  virtual ~CopresenceSetApiKeyFunction() {}
-  virtual ExtensionFunction::ResponseAction Run() override;
+  ~CopresenceSetApiKeyFunction() override {}
+  ExtensionFunction::ResponseAction Run() override;
 };
 
 }  // namespace extensions
diff --git a/chrome/browser/extensions/api/copresence/copresence_api_unittest.cc b/chrome/browser/extensions/api/copresence/copresence_api_unittest.cc
index 95e8070..4e1ffb9 100644
--- a/chrome/browser/extensions/api/copresence/copresence_api_unittest.cc
+++ b/chrome/browser/extensions/api/copresence/copresence_api_unittest.cc
@@ -71,9 +71,9 @@
  public:
   explicit MockCopresenceManager(CopresenceDelegate* delegate)
       : delegate_(delegate) {}
-  virtual ~MockCopresenceManager() {}
+  ~MockCopresenceManager() override {}
 
-  virtual void ExecuteReportRequest(
+  void ExecuteReportRequest(
       ReportRequest request,
       const std::string& app_id,
       const copresence::StatusCallback& status_callback) override {
diff --git a/chrome/browser/extensions/api/copresence_private/copresence_private_api.h b/chrome/browser/extensions/api/copresence_private/copresence_private_api.h
index 360734d2..917b242 100644
--- a/chrome/browser/extensions/api/copresence_private/copresence_private_api.h
+++ b/chrome/browser/extensions/api/copresence_private/copresence_private_api.h
@@ -16,7 +16,7 @@
 class CopresencePrivateFunction : public ChromeUIThreadExtensionFunction {
  protected:
   copresence::WhispernetClient* GetWhispernetClient();
-  virtual ~CopresencePrivateFunction() {}
+  ~CopresencePrivateFunction() override {}
 };
 
 class CopresencePrivateSendFoundFunction : public CopresencePrivateFunction {
@@ -25,8 +25,8 @@
                              COPRESENCEPRIVATE_SENDFOUND);
 
  protected:
-  virtual ~CopresencePrivateSendFoundFunction() {}
-  virtual ExtensionFunction::ResponseAction Run() override;
+  ~CopresencePrivateSendFoundFunction() override {}
+  ExtensionFunction::ResponseAction Run() override;
 };
 
 class CopresencePrivateSendSamplesFunction : public CopresencePrivateFunction {
@@ -35,8 +35,8 @@
                              COPRESENCEPRIVATE_SENDSAMPLES);
 
  protected:
-  virtual ~CopresencePrivateSendSamplesFunction() {}
-  virtual ExtensionFunction::ResponseAction Run() override;
+  ~CopresencePrivateSendSamplesFunction() override {}
+  ExtensionFunction::ResponseAction Run() override;
 };
 
 class CopresencePrivateSendDetectFunction : public CopresencePrivateFunction {
@@ -45,8 +45,8 @@
                              COPRESENCEPRIVATE_SENDDETECT);
 
  protected:
-  virtual ~CopresencePrivateSendDetectFunction() {}
-  virtual ExtensionFunction::ResponseAction Run() override;
+  ~CopresencePrivateSendDetectFunction() override {}
+  ExtensionFunction::ResponseAction Run() override;
 };
 
 class CopresencePrivateSendInitializedFunction
@@ -56,8 +56,8 @@
                              COPRESENCEPRIVATE_SENDINITIALIZED);
 
  protected:
-  virtual ~CopresencePrivateSendInitializedFunction() {}
-  virtual ExtensionFunction::ResponseAction Run() override;
+  ~CopresencePrivateSendInitializedFunction() override {}
+  ExtensionFunction::ResponseAction Run() override;
 };
 
 }  // namespace extensions
diff --git a/chrome/browser/extensions/api/debugger/debugger_api.cc b/chrome/browser/extensions/api/debugger/debugger_api.cc
index bd1489e5..4745a24 100644
--- a/chrome/browser/extensions/api/debugger/debugger_api.cc
+++ b/chrome/browser/extensions/api/debugger/debugger_api.cc
@@ -84,7 +84,7 @@
                               const Debuggee& debuggee,
                               infobars::InfoBar* infobar);
 
-  virtual ~ExtensionDevToolsClientHost();
+  ~ExtensionDevToolsClientHost() override;
 
   const std::string& extension_id() { return extension_id_; }
   DevToolsAgentHost* agent_host() { return agent_host_.get(); }
@@ -97,26 +97,23 @@
   void MarkAsDismissed();
 
   // DevToolsAgentHostClient interface.
-  virtual void AgentHostClosed(
-      DevToolsAgentHost* agent_host,
-      bool replaced_with_another_client) override;
-  virtual void DispatchProtocolMessage(
-      DevToolsAgentHost* agent_host,
-      const std::string& message) override;
+  void AgentHostClosed(DevToolsAgentHost* agent_host,
+                       bool replaced_with_another_client) override;
+  void DispatchProtocolMessage(DevToolsAgentHost* agent_host,
+                               const std::string& message) override;
 
  private:
   void SendDetachedEvent();
 
   // content::NotificationObserver implementation.
-  virtual void Observe(int type,
-                       const content::NotificationSource& source,
-                       const content::NotificationDetails& details) override;
+  void Observe(int type,
+               const content::NotificationSource& source,
+               const content::NotificationDetails& details) override;
 
   // ExtensionRegistryObserver implementation.
-  virtual void OnExtensionUnloaded(
-      content::BrowserContext* browser_context,
-      const Extension* extension,
-      UnloadedExtensionInfo::Reason reason) override;
+  void OnExtensionUnloaded(content::BrowserContext* browser_context,
+                           const Extension* extension,
+                           UnloadedExtensionInfo::Reason reason) override;
 
   Profile* profile_;
   scoped_refptr<DevToolsAgentHost> agent_host_;
@@ -171,16 +168,15 @@
 
  private:
   explicit ExtensionDevToolsInfoBarDelegate(const std::string& client_name);
-  virtual ~ExtensionDevToolsInfoBarDelegate();
+  ~ExtensionDevToolsInfoBarDelegate() override;
 
   // ConfirmInfoBarDelegate:
-  virtual void InfoBarDismissed() override;
-  virtual Type GetInfoBarType() const override;
-  virtual bool ShouldExpireInternal(
-      const NavigationDetails& details) const override;
-  virtual base::string16 GetMessageText() const override;
-  virtual int GetButtons() const override;
-  virtual bool Cancel() override;
+  void InfoBarDismissed() override;
+  Type GetInfoBarType() const override;
+  bool ShouldExpireInternal(const NavigationDetails& details) const override;
+  base::string16 GetMessageText() const override;
+  int GetButtons() const override;
+  bool Cancel() override;
 
   std::string client_name_;
   ExtensionDevToolsClientHost* client_host_;
diff --git a/chrome/browser/extensions/api/debugger/debugger_api.h b/chrome/browser/extensions/api/debugger/debugger_api.h
index d1d907c3..af2d98f1 100644
--- a/chrome/browser/extensions/api/debugger/debugger_api.h
+++ b/chrome/browser/extensions/api/debugger/debugger_api.h
@@ -35,7 +35,7 @@
 class DebuggerFunction : public ChromeAsyncExtensionFunction {
  protected:
   DebuggerFunction();
-  virtual ~DebuggerFunction();
+  ~DebuggerFunction() override;
 
   void FormatErrorMessage(const std::string& format);
 
@@ -55,10 +55,10 @@
   DebuggerAttachFunction();
 
  protected:
-  virtual ~DebuggerAttachFunction();
+  ~DebuggerAttachFunction() override;
 
   // ExtensionFunction:
-  virtual bool RunAsync() override;
+  bool RunAsync() override;
 };
 
 // Implements the debugger.detach() extension function.
@@ -69,10 +69,10 @@
   DebuggerDetachFunction();
 
  protected:
-  virtual ~DebuggerDetachFunction();
+  ~DebuggerDetachFunction() override;
 
   // ExtensionFunction:
-  virtual bool RunAsync() override;
+  bool RunAsync() override;
 };
 
 // Implements the debugger.sendCommand() extension function.
@@ -84,10 +84,10 @@
   void SendResponseBody(base::DictionaryValue* result);
 
  protected:
-  virtual ~DebuggerSendCommandFunction();
+  ~DebuggerSendCommandFunction() override;
 
   // ExtensionFunction:
-  virtual bool RunAsync() override;
+  bool RunAsync() override;
 };
 
 // Implements the debugger.getTargets() extension function.
@@ -98,10 +98,10 @@
   DebuggerGetTargetsFunction();
 
  protected:
-  virtual ~DebuggerGetTargetsFunction();
+  ~DebuggerGetTargetsFunction() override;
 
   // ExtensionFunction:
-  virtual bool RunAsync() override;
+  bool RunAsync() override;
 
  private:
   void SendTargetList(const std::vector<DevToolsTargetImpl*>& target_list);
diff --git a/chrome/browser/extensions/api/debugger/debugger_apitest.cc b/chrome/browser/extensions/api/debugger/debugger_apitest.cc
index 04ce863..77e646f 100644
--- a/chrome/browser/extensions/api/debugger/debugger_apitest.cc
+++ b/chrome/browser/extensions/api/debugger/debugger_apitest.cc
@@ -29,8 +29,8 @@
  protected:
   virtual ~DebuggerApiTest() {}
 
-  virtual void SetUpCommandLine(base::CommandLine* command_line) override;
-  virtual void SetUpOnMainThread() override;
+  void SetUpCommandLine(base::CommandLine* command_line) override;
+  void SetUpOnMainThread() override;
 
   // Run the attach function. If |expected_error| is not empty, then the
   // function should fail with the error. Otherwise, the function is expected
diff --git a/chrome/browser/extensions/api/debugger/debugger_extension_apitest.cc b/chrome/browser/extensions/api/debugger/debugger_extension_apitest.cc
index bb29baf..fca215b 100644
--- a/chrome/browser/extensions/api/debugger/debugger_extension_apitest.cc
+++ b/chrome/browser/extensions/api/debugger/debugger_extension_apitest.cc
@@ -9,7 +9,7 @@
 
 class ExtensionApiTestWithSwitch : public ExtensionApiTest {
  public:
-  virtual void SetUpCommandLine(CommandLine* command_line) override {
+  void SetUpCommandLine(CommandLine* command_line) override {
     ExtensionApiTest::SetUpCommandLine(command_line);
     command_line->AppendSwitch(switches::kSilentDebuggerExtensionAPI);
     command_line->AppendSwitch(extensions::switches::kExtensionsOnChromeURLs);
diff --git a/chrome/browser/extensions/api/declarative_content/chrome_content_rules_registry.h b/chrome/browser/extensions/api/declarative_content/chrome_content_rules_registry.h
index a792ce4..e35c396 100644
--- a/chrome/browser/extensions/api/declarative_content/chrome_content_rules_registry.h
+++ b/chrome/browser/extensions/api/declarative_content/chrome_content_rules_registry.h
@@ -70,36 +70,34 @@
   // ChromeContentRulesRegistry implementation:
   // Applies all content rules given an update (CSS match change or
   // page navigation, for now) from the renderer.
-  virtual void Apply(
-      content::WebContents* contents,
-      const std::vector<std::string>& matching_css_selectors) override;
+  void Apply(content::WebContents* contents,
+             const std::vector<std::string>& matching_css_selectors) override;
 
   // Applies all content rules given that a tab was just navigated.
-  virtual void DidNavigateMainFrame(
+  void DidNavigateMainFrame(
       content::WebContents* tab,
       const content::LoadCommittedDetails& details,
       const content::FrameNavigateParams& params) override;
 
   // Implementation of RulesRegistry:
-  virtual std::string AddRulesImpl(
+  std::string AddRulesImpl(
       const std::string& extension_id,
-      const std::vector<linked_ptr<RulesRegistry::Rule> >& rules) override;
-  virtual std::string RemoveRulesImpl(
+      const std::vector<linked_ptr<RulesRegistry::Rule>>& rules) override;
+  std::string RemoveRulesImpl(
       const std::string& extension_id,
       const std::vector<std::string>& rule_identifiers) override;
-  virtual std::string RemoveAllRulesImpl(
-      const std::string& extension_id) override;
+  std::string RemoveAllRulesImpl(const std::string& extension_id) override;
 
   // content::NotificationObserver implementation.
-  virtual void Observe(int type,
-                       const content::NotificationSource& source,
-                       const content::NotificationDetails& details) override;
+  void Observe(int type,
+               const content::NotificationSource& source,
+               const content::NotificationDetails& details) override;
 
   // Returns true if this object retains no allocated data. Only for debugging.
   bool IsEmpty() const;
 
  protected:
-  virtual ~ChromeContentRulesRegistry();
+  ~ChromeContentRulesRegistry() override;
 
   // Virtual for testing:
   virtual base::Time GetExtensionInstallationTime(
diff --git a/chrome/browser/extensions/api/declarative_content/content_action.cc b/chrome/browser/extensions/api/declarative_content/content_action.cc
index 154af37..4e535b7 100644
--- a/chrome/browser/extensions/api/declarative_content/content_action.cc
+++ b/chrome/browser/extensions/api/declarative_content/content_action.cc
@@ -74,10 +74,10 @@
   }
 
   // Implementation of ContentAction:
-  virtual Type GetType() const override { return ACTION_SHOW_PAGE_ACTION; }
-  virtual void Apply(const std::string& extension_id,
-                     const base::Time& extension_install_time,
-                     ApplyInfo* apply_info) const override {
+  Type GetType() const override { return ACTION_SHOW_PAGE_ACTION; }
+  void Apply(const std::string& extension_id,
+             const base::Time& extension_install_time,
+             ApplyInfo* apply_info) const override {
     ExtensionAction* action =
         GetPageAction(apply_info->browser_context, extension_id);
     action->DeclarativeShow(ExtensionTabUtil::GetTabId(apply_info->tab));
@@ -85,12 +85,12 @@
         action, apply_info->tab, apply_info->browser_context);
   }
   // The page action is already showing, so nothing needs to be done here.
-  virtual void Reapply(const std::string& extension_id,
-                       const base::Time& extension_install_time,
-                       ApplyInfo* apply_info) const override {}
-  virtual void Revert(const std::string& extension_id,
-                      const base::Time& extension_install_time,
-                      ApplyInfo* apply_info) const override {
+  void Reapply(const std::string& extension_id,
+               const base::Time& extension_install_time,
+               ApplyInfo* apply_info) const override {}
+  void Revert(const std::string& extension_id,
+              const base::Time& extension_install_time,
+              ApplyInfo* apply_info) const override {
     if (ExtensionAction* action =
             GetPageAction(apply_info->browser_context, extension_id)) {
       action->UndoDeclarativeShow(ExtensionTabUtil::GetTabId(apply_info->tab));
@@ -111,7 +111,7 @@
     return ExtensionActionManager::Get(browser_context)
         ->GetPageAction(*extension);
   }
-  virtual ~ShowPageAction() {}
+  ~ShowPageAction() override {}
 
   DISALLOW_COPY_AND_ASSIGN(ShowPageAction);
 };
@@ -130,10 +130,10 @@
       bool* bad_message);
 
   // Implementation of ContentAction:
-  virtual Type GetType() const override { return ACTION_SET_ICON; }
-  virtual void Apply(const std::string& extension_id,
-                     const base::Time& extension_install_time,
-                     ApplyInfo* apply_info) const override {
+  Type GetType() const override { return ACTION_SET_ICON; }
+  void Apply(const std::string& extension_id,
+             const base::Time& extension_install_time,
+             ApplyInfo* apply_info) const override {
     Profile* profile = Profile::FromBrowserContext(apply_info->browser_context);
     ExtensionAction* action = GetExtensionAction(profile, extension_id);
     if (action) {
@@ -145,13 +145,13 @@
     }
   }
 
-  virtual void Reapply(const std::string& extension_id,
-                       const base::Time& extension_install_time,
-                       ApplyInfo* apply_info) const override {}
+  void Reapply(const std::string& extension_id,
+               const base::Time& extension_install_time,
+               ApplyInfo* apply_info) const override {}
 
-  virtual void Revert(const std::string& extension_id,
-                      const base::Time& extension_install_time,
-                      ApplyInfo* apply_info) const override {
+  void Revert(const std::string& extension_id,
+              const base::Time& extension_install_time,
+              ApplyInfo* apply_info) const override {
     Profile* profile = Profile::FromBrowserContext(apply_info->browser_context);
     ExtensionAction* action = GetExtensionAction(profile, extension_id);
     if (action) {
@@ -183,7 +183,7 @@
     }
     return NULL;
   }
-  virtual ~SetIcon() {}
+  ~SetIcon() override {}
 
   gfx::Image icon_;
   ActionInfo::Type action_type_;
diff --git a/chrome/browser/extensions/api/declarative_content/content_action.h b/chrome/browser/extensions/api/declarative_content/content_action.h
index b10412d7..dc39431 100644
--- a/chrome/browser/extensions/api/declarative_content/content_action.h
+++ b/chrome/browser/extensions/api/declarative_content/content_action.h
@@ -122,19 +122,19 @@
                              ScriptData* script_data);
 
   // Implementation of ContentAction:
-  virtual Type GetType() const override;
+  Type GetType() const override;
 
-  virtual void Apply(const std::string& extension_id,
-                     const base::Time& extension_install_time,
-                     ApplyInfo* apply_info) const override;
+  void Apply(const std::string& extension_id,
+             const base::Time& extension_install_time,
+             ApplyInfo* apply_info) const override;
 
-  virtual void Reapply(const std::string& extension_id,
-                       const base::Time& extension_install_time,
-                       ApplyInfo* apply_info) const override;
+  void Reapply(const std::string& extension_id,
+               const base::Time& extension_install_time,
+               ApplyInfo* apply_info) const override;
 
-  virtual void Revert(const std::string& extension_id,
-                      const base::Time& extension_install_time,
-                      ApplyInfo* apply_info) const override;
+  void Revert(const std::string& extension_id,
+              const base::Time& extension_install_time,
+              ApplyInfo* apply_info) const override;
 
  private:
   void InitScript(const Extension* extension, const ScriptData& script_data);
@@ -144,7 +144,7 @@
     master_->AddScript(script_);
   }
 
-  virtual ~RequestContentScript();
+  ~RequestContentScript() override;
 
   void InstructRenderProcessToInject(content::WebContents* contents,
                                      const std::string& extension_id) const;
diff --git a/chrome/browser/extensions/api/declarative_webrequest/webrequest_rules_registry_unittest.cc b/chrome/browser/extensions/api/declarative_webrequest/webrequest_rules_registry_unittest.cc
index 369e35f..391ffa30 100644
--- a/chrome/browser/extensions/api/declarative_webrequest/webrequest_rules_registry_unittest.cc
+++ b/chrome/browser/extensions/api/declarative_webrequest/webrequest_rules_registry_unittest.cc
@@ -70,11 +70,9 @@
   }
 
  protected:
-  virtual ~TestWebRequestRulesRegistry() {}
+  ~TestWebRequestRulesRegistry() override {}
 
-  virtual void ClearCacheOnNavigation() override {
-    ++num_clear_cache_calls_;
-  }
+  void ClearCacheOnNavigation() override { ++num_clear_cache_calls_; }
 
  private:
   int num_clear_cache_calls_;
diff --git a/chrome/browser/extensions/api/desktop_capture/desktop_capture_api.h b/chrome/browser/extensions/api/desktop_capture/desktop_capture_api.h
index a1ff2a2..b76b5c4a 100644
--- a/chrome/browser/extensions/api/desktop_capture/desktop_capture_api.h
+++ b/chrome/browser/extensions/api/desktop_capture/desktop_capture_api.h
@@ -46,13 +46,13 @@
   void Cancel();
 
  private:
-  virtual ~DesktopCaptureChooseDesktopMediaFunction();
+  ~DesktopCaptureChooseDesktopMediaFunction() override;
 
   // ExtensionFunction overrides.
-  virtual bool RunAsync() override;
+  bool RunAsync() override;
 
   // content::WebContentsObserver overrides.
-  virtual void WebContentsDestroyed() override;
+  void WebContentsDestroyed() override;
 
   void OnPickerDialogResults(content::DesktopMediaID source);
 
@@ -73,10 +73,10 @@
   DesktopCaptureCancelChooseDesktopMediaFunction();
 
  private:
-  virtual ~DesktopCaptureCancelChooseDesktopMediaFunction();
+  ~DesktopCaptureCancelChooseDesktopMediaFunction() override;
 
   // ExtensionFunction overrides.
-  virtual bool RunSync() override;
+  bool RunSync() override;
 };
 
 class DesktopCaptureRequestsRegistry {
diff --git a/chrome/browser/extensions/api/desktop_capture/desktop_capture_apitest.cc b/chrome/browser/extensions/api/desktop_capture/desktop_capture_apitest.cc
index 479c496d..f071377 100644
--- a/chrome/browser/extensions/api/desktop_capture/desktop_capture_apitest.cc
+++ b/chrome/browser/extensions/api/desktop_capture/desktop_capture_apitest.cc
@@ -42,18 +42,16 @@
         weak_factory_(this) {
     expectation_->picker_created = true;
   }
-  virtual ~FakeDesktopMediaPicker() {
-    expectation_->picker_deleted = true;
-  }
+  ~FakeDesktopMediaPicker() override { expectation_->picker_deleted = true; }
 
   // DesktopMediaPicker interface.
-  virtual void Show(content::WebContents* web_contents,
-                    gfx::NativeWindow context,
-                    gfx::NativeWindow parent,
-                    const base::string16& app_name,
-                    const base::string16& target_name,
-                    scoped_ptr<DesktopMediaList> model,
-                    const DoneCallback& done_callback) override {
+  void Show(content::WebContents* web_contents,
+            gfx::NativeWindow context,
+            gfx::NativeWindow parent,
+            const base::string16& app_name,
+            const base::string16& target_name,
+            scoped_ptr<DesktopMediaList> model,
+            const DoneCallback& done_callback) override {
     if (!expectation_->cancelled) {
       // Post a task to call the callback asynchronously.
       base::ThreadTaskRunnerHandle::Get()->PostTask(
@@ -84,7 +82,7 @@
     public DesktopCaptureChooseDesktopMediaFunction::PickerFactory {
  public:
   FakeDesktopMediaPickerFactory() {}
-  virtual ~FakeDesktopMediaPickerFactory() {}
+  ~FakeDesktopMediaPickerFactory() override {}
 
   void SetTestFlags(TestFlags* test_flags, int tests_count) {
     test_flags_ = test_flags;
@@ -93,9 +91,8 @@
   }
 
   // DesktopCaptureChooseDesktopMediaFunction::PickerFactory interface.
-  virtual scoped_ptr<DesktopMediaList> CreateModel(
-      bool show_screens,
-      bool show_windows) override {
+  scoped_ptr<DesktopMediaList> CreateModel(bool show_screens,
+                                           bool show_windows) override {
     EXPECT_LE(current_test_, tests_count_);
     if (current_test_ >= tests_count_)
       return scoped_ptr<DesktopMediaList>();
@@ -104,7 +101,7 @@
     return scoped_ptr<DesktopMediaList>(new FakeDesktopMediaList());
   }
 
-  virtual scoped_ptr<DesktopMediaPicker> CreatePicker() override {
+  scoped_ptr<DesktopMediaPicker> CreatePicker() override {
     EXPECT_LE(current_test_, tests_count_);
     if (current_test_ >= tests_count_)
       return scoped_ptr<DesktopMediaPicker>();
diff --git a/chrome/browser/extensions/api/developer_private/developer_private_api.h b/chrome/browser/extensions/api/developer_private/developer_private_api.h
index 9a6d08f..41bfff9 100644
--- a/chrome/browser/extensions/api/developer_private/developer_private_api.h
+++ b/chrome/browser/extensions/api/developer_private/developer_private_api.h
@@ -63,7 +63,7 @@
                                     public ErrorConsole::Observer {
  public:
   explicit DeveloperPrivateEventRouter(Profile* profile);
-  virtual ~DeveloperPrivateEventRouter();
+  ~DeveloperPrivateEventRouter() override;
 
   // Add or remove an ID to the list of extensions subscribed to events.
   void AddExtensionId(const std::string& extension_id);
@@ -71,30 +71,27 @@
 
  private:
   // content::NotificationObserver implementation.
-  virtual void Observe(int type,
-                       const content::NotificationSource& source,
-                       const content::NotificationDetails& details) override;
+  void Observe(int type,
+               const content::NotificationSource& source,
+               const content::NotificationDetails& details) override;
 
   // ExtensionRegistryObserver implementation.
-  virtual void OnExtensionLoaded(content::BrowserContext* browser_context,
-                                 const Extension* extension) override;
-  virtual void OnExtensionUnloaded(
-      content::BrowserContext* browser_context,
-      const Extension* extension,
-      UnloadedExtensionInfo::Reason reason) override;
-  virtual void OnExtensionWillBeInstalled(
-      content::BrowserContext* browser_context,
-      const Extension* extension,
-      bool is_update,
-      bool from_ephemeral,
-      const std::string& old_name) override;
-  virtual void OnExtensionUninstalled(
-      content::BrowserContext* browser_context,
-      const Extension* extension,
-      extensions::UninstallReason reason) override;
+  void OnExtensionLoaded(content::BrowserContext* browser_context,
+                         const Extension* extension) override;
+  void OnExtensionUnloaded(content::BrowserContext* browser_context,
+                           const Extension* extension,
+                           UnloadedExtensionInfo::Reason reason) override;
+  void OnExtensionWillBeInstalled(content::BrowserContext* browser_context,
+                                  const Extension* extension,
+                                  bool is_update,
+                                  bool from_ephemeral,
+                                  const std::string& old_name) override;
+  void OnExtensionUninstalled(content::BrowserContext* browser_context,
+                              const Extension* extension,
+                              extensions::UninstallReason reason) override;
 
   // ErrorConsole::Observer implementation.
-  virtual void OnErrorAdded(const ExtensionError* error) override;
+  void OnErrorAdded(const ExtensionError* error) override;
 
   content::NotificationRegistrar registrar_;
 
@@ -126,7 +123,7 @@
   static DeveloperPrivateAPI* Get(content::BrowserContext* context);
 
   explicit DeveloperPrivateAPI(content::BrowserContext* context);
-  virtual ~DeveloperPrivateAPI();
+  ~DeveloperPrivateAPI() override;
 
   void SetLastUnpackedDirectory(const base::FilePath& path);
 
@@ -135,11 +132,11 @@
   }
 
   // KeyedService implementation
-  virtual void Shutdown() override;
+  void Shutdown() override;
 
   // EventRouter::Observer implementation.
-  virtual void OnListenerAdded(const EventListenerInfo& details) override;
-  virtual void OnListenerRemoved(const EventListenerInfo& details) override;
+  void OnListenerAdded(const EventListenerInfo& details) override;
+  void OnListenerRemoved(const EventListenerInfo& details) override;
 
  private:
   friend class BrowserContextKeyedAPIFactory<DeveloperPrivateAPI>;
@@ -171,10 +168,10 @@
                              DEVELOPERPRIVATE_AUTOUPDATE)
 
  protected:
-  virtual ~DeveloperPrivateAutoUpdateFunction();
+  ~DeveloperPrivateAutoUpdateFunction() override;
 
   // ExtensionFunction:
-  virtual bool RunSync() override;
+  bool RunSync() override;
 };
 
 class DeveloperPrivateGetItemsInfoFunction
@@ -184,10 +181,10 @@
                              DEVELOPERPRIVATE_GETITEMSINFO)
 
  protected:
-  virtual ~DeveloperPrivateGetItemsInfoFunction();
+  ~DeveloperPrivateGetItemsInfoFunction() override;
 
   // ExtensionFunction:
-  virtual bool RunAsync() override;
+  bool RunAsync() override;
 
  private:
   scoped_ptr<developer::ItemInfo> CreateItemInfo(const Extension& item,
@@ -224,10 +221,10 @@
                              DEVELOPERPRIVATE_INSPECT)
 
  protected:
-  virtual ~DeveloperPrivateInspectFunction();
+  ~DeveloperPrivateInspectFunction() override;
 
   // ExtensionFunction:
-  virtual bool RunSync() override;
+  bool RunSync() override;
 };
 
 class DeveloperPrivateAllowFileAccessFunction
@@ -237,10 +234,10 @@
                              DEVELOPERPRIVATE_ALLOWFILEACCESS);
 
  protected:
-  virtual ~DeveloperPrivateAllowFileAccessFunction();
+  ~DeveloperPrivateAllowFileAccessFunction() override;
 
   // ExtensionFunction:
-  virtual bool RunSync() override;
+  bool RunSync() override;
 };
 
 class DeveloperPrivateAllowIncognitoFunction
@@ -250,10 +247,10 @@
                              DEVELOPERPRIVATE_ALLOWINCOGNITO);
 
  protected:
-  virtual ~DeveloperPrivateAllowIncognitoFunction();
+  ~DeveloperPrivateAllowIncognitoFunction() override;
 
   // ExtensionFunction:
-  virtual bool RunSync() override;
+  bool RunSync() override;
 };
 
 class DeveloperPrivateReloadFunction : public ChromeSyncExtensionFunction {
@@ -262,10 +259,10 @@
                              DEVELOPERPRIVATE_RELOAD);
 
  protected:
-  virtual ~DeveloperPrivateReloadFunction();
+  ~DeveloperPrivateReloadFunction() override;
 
   // ExtensionFunction:
-  virtual bool RunSync() override;
+  bool RunSync() override;
 };
 
 class DeveloperPrivateShowPermissionsDialogFunction
@@ -277,14 +274,14 @@
 
   DeveloperPrivateShowPermissionsDialogFunction();
  protected:
-  virtual ~DeveloperPrivateShowPermissionsDialogFunction();
+  ~DeveloperPrivateShowPermissionsDialogFunction() override;
 
   // ExtensionFunction:
-  virtual bool RunSync() override;
+  bool RunSync() override;
 
   // Overridden from ExtensionInstallPrompt::Delegate
-  virtual void InstallUIProceed() override;
-  virtual void InstallUIAbort(bool user_initiated) override;
+  void InstallUIProceed() override;
+  void InstallUIAbort(bool user_initiated) override;
 
   scoped_ptr<ExtensionInstallPrompt> prompt_;
   std::string extension_id_;
@@ -300,13 +297,13 @@
   DeveloperPrivateEnableFunction();
 
  protected:
-  virtual ~DeveloperPrivateEnableFunction();
+  ~DeveloperPrivateEnableFunction() override;
 
   // Callback for requirements checker.
   void OnRequirementsChecked(const std::string& extension_id,
                              std::vector<std::string> requirements_errors);
   // ExtensionFunction:
-  virtual bool RunSync() override;
+  bool RunSync() override;
 
  private:
   scoped_ptr<RequirementsChecker> requirements_checker_;
@@ -315,8 +312,8 @@
 class DeveloperPrivateChooseEntryFunction : public ChromeAsyncExtensionFunction,
                                             public EntryPickerClient {
  protected:
-  virtual ~DeveloperPrivateChooseEntryFunction();
-  virtual bool RunAsync() override;
+  ~DeveloperPrivateChooseEntryFunction() override;
+  bool RunAsync() override;
   bool ShowPicker(ui::SelectFileDialog::Type picker_type,
                   const base::FilePath& last_directory,
                   const base::string16& select_title,
@@ -336,12 +333,12 @@
                              DEVELOPERPRIVATE_LOADUNPACKED);
 
  protected:
-  virtual ~DeveloperPrivateLoadUnpackedFunction();
-  virtual bool RunAsync() override;
+  ~DeveloperPrivateLoadUnpackedFunction() override;
+  bool RunAsync() override;
 
   // EntryPickerCLient implementation.
-  virtual void FileSelected(const base::FilePath& path) override;
-  virtual void FileSelectionCanceled() override;
+  void FileSelected(const base::FilePath& path) override;
+  void FileSelectionCanceled() override;
 };
 
 class DeveloperPrivateChoosePathFunction
@@ -351,12 +348,12 @@
                              DEVELOPERPRIVATE_CHOOSEPATH);
 
  protected:
-  virtual ~DeveloperPrivateChoosePathFunction();
-  virtual bool RunAsync() override;
+  ~DeveloperPrivateChoosePathFunction() override;
+  bool RunAsync() override;
 
   // EntryPickerClient functions.
-  virtual void FileSelected(const base::FilePath& path) override;
-  virtual void FileSelectionCanceled() override;
+  void FileSelected(const base::FilePath& path) override;
+  void FileSelectionCanceled() override;
 };
 
 class DeveloperPrivatePackDirectoryFunction
@@ -370,14 +367,14 @@
   DeveloperPrivatePackDirectoryFunction();
 
   // ExtensionPackJob::Client implementation.
-  virtual void OnPackSuccess(const base::FilePath& crx_file,
-                             const base::FilePath& key_file) override;
-  virtual void OnPackFailure(const std::string& error,
-                             ExtensionCreator::ErrorType error_type) override;
+  void OnPackSuccess(const base::FilePath& crx_file,
+                     const base::FilePath& key_file) override;
+  void OnPackFailure(const std::string& error,
+                     ExtensionCreator::ErrorType error_type) override;
 
  protected:
-  virtual ~DeveloperPrivatePackDirectoryFunction();
-  virtual bool RunAsync() override;
+  ~DeveloperPrivatePackDirectoryFunction() override;
+  bool RunAsync() override;
 
  private:
   scoped_refptr<PackExtensionJob> pack_job_;
@@ -392,10 +389,10 @@
                              DEVELOPERPRIVATE_ISPROFILEMANAGED);
 
  protected:
-  virtual ~DeveloperPrivateIsProfileManagedFunction();
+  ~DeveloperPrivateIsProfileManagedFunction() override;
 
   // ExtensionFunction:
-  virtual bool RunSync() override;
+  bool RunSync() override;
 };
 
 class DeveloperPrivateLoadDirectoryFunction
@@ -407,10 +404,10 @@
   DeveloperPrivateLoadDirectoryFunction();
 
  protected:
-  virtual ~DeveloperPrivateLoadDirectoryFunction();
+  ~DeveloperPrivateLoadDirectoryFunction() override;
 
   // ExtensionFunction:
-  virtual bool RunAsync() override;
+  bool RunAsync() override;
 
   bool LoadByFileSystemAPI(const storage::FileSystemURL& directory_url);
 
@@ -463,10 +460,10 @@
   DeveloperPrivateRequestFileSourceFunction();
 
  protected:
-  virtual ~DeveloperPrivateRequestFileSourceFunction();
+  ~DeveloperPrivateRequestFileSourceFunction() override;
 
   // ExtensionFunction:
-  virtual bool RunAsync() override;
+  bool RunAsync() override;
 
  private:
   void LaunchCallback(const base::DictionaryValue& results);
@@ -481,10 +478,10 @@
   DeveloperPrivateOpenDevToolsFunction();
 
  protected:
-  virtual ~DeveloperPrivateOpenDevToolsFunction();
+  ~DeveloperPrivateOpenDevToolsFunction() override;
 
   // ExtensionFunction:
-  virtual bool RunAsync() override;
+  bool RunAsync() override;
 };
 
 }  // namespace api
diff --git a/chrome/browser/extensions/api/developer_private/entry_picker.h b/chrome/browser/extensions/api/developer_private/entry_picker.h
index b5afbde..5fafbc64 100644
--- a/chrome/browser/extensions/api/developer_private/entry_picker.h
+++ b/chrome/browser/extensions/api/developer_private/entry_picker.h
@@ -39,15 +39,15 @@
   static void StopSkippingPickerForTest();
 
  protected:
-  virtual ~EntryPicker();
+  ~EntryPicker() override;
 
  private:
   // ui::SelectFileDialog::Listener implementation.
-  virtual void FileSelected(const base::FilePath& path,
-                            int index,
-                            void* params) override;
+  void FileSelected(const base::FilePath& path,
+                    int index,
+                    void* params) override;
 
-  virtual void FileSelectionCanceled(void* params) override;
+  void FileSelectionCanceled(void* params) override;
 
   scoped_refptr<ui::SelectFileDialog> select_file_dialog_;
   EntryPickerClient* client_;
diff --git a/chrome/browser/extensions/api/dial/dial_api.h b/chrome/browser/extensions/api/dial/dial_api.h
index 33052538..6548a72 100644
--- a/chrome/browser/extensions/api/dial/dial_api.h
+++ b/chrome/browser/extensions/api/dial/dial_api.h
@@ -37,19 +37,18 @@
   void SendErrorOnUIThread(const DialRegistry::DialErrorCode type);
 
  private:
-  virtual ~DialAPI();
+  ~DialAPI() override;
 
   // RefcountedKeyedService:
-  virtual void ShutdownOnUIThread() override;
+  void ShutdownOnUIThread() override;
 
   // EventRouter::Observer:
-  virtual void OnListenerAdded(const EventListenerInfo& details) override;
-  virtual void OnListenerRemoved(const EventListenerInfo& details) override;
+  void OnListenerAdded(const EventListenerInfo& details) override;
+  void OnListenerRemoved(const EventListenerInfo& details) override;
 
   // DialRegistry::Observer:
-  virtual void OnDialDeviceEvent(
-      const DialRegistry::DeviceList& devices) override;
-  virtual void OnDialError(DialRegistry::DialErrorCode type) override;
+  void OnDialDeviceEvent(const DialRegistry::DeviceList& devices) override;
+  void OnDialError(DialRegistry::DialErrorCode type) override;
 
   // Methods to notify the DialRegistry on the correct thread of new/removed
   // listeners.
@@ -75,12 +74,12 @@
   DialDiscoverNowFunction();
 
  protected:
-  virtual ~DialDiscoverNowFunction() {}
+  ~DialDiscoverNowFunction() override {}
 
   // AsyncApiFunction:
-  virtual bool Prepare() override;
-  virtual void Work() override;
-  virtual bool Respond() override;
+  bool Prepare() override;
+  void Work() override;
+  bool Respond() override;
 
  private:
   DECLARE_EXTENSION_FUNCTION("dial.discoverNow", DIAL_DISCOVERNOW)
diff --git a/chrome/browser/extensions/api/dial/dial_api_factory.h b/chrome/browser/extensions/api/dial/dial_api_factory.h
index 7cf6dab..9bfc05d 100644
--- a/chrome/browser/extensions/api/dial/dial_api_factory.h
+++ b/chrome/browser/extensions/api/dial/dial_api_factory.h
@@ -23,13 +23,13 @@
   friend struct DefaultSingletonTraits<DialAPIFactory>;
 
   DialAPIFactory();
-  virtual ~DialAPIFactory();
+  ~DialAPIFactory() override;
 
   // BrowserContextKeyedServiceFactory:
-  virtual scoped_refptr<RefcountedKeyedService> BuildServiceInstanceFor(
+  scoped_refptr<RefcountedKeyedService> BuildServiceInstanceFor(
       content::BrowserContext* profile) const override;
-  virtual bool ServiceIsCreatedWithBrowserContext() const override;
-  virtual bool ServiceIsNULLWhileTesting() const override;
+  bool ServiceIsCreatedWithBrowserContext() const override;
+  bool ServiceIsNULLWhileTesting() const override;
 
   DISALLOW_COPY_AND_ASSIGN(DialAPIFactory);
 };
diff --git a/chrome/browser/extensions/api/dial/dial_apitest.cc b/chrome/browser/extensions/api/dial/dial_apitest.cc
index f2c0e757d..3dceb944 100644
--- a/chrome/browser/extensions/api/dial/dial_apitest.cc
+++ b/chrome/browser/extensions/api/dial/dial_apitest.cc
@@ -25,7 +25,7 @@
  public:
   DialAPITest() {}
 
-  virtual void SetUpCommandLine(CommandLine* command_line) override {
+  void SetUpCommandLine(CommandLine* command_line) override {
     ExtensionApiTest::SetUpCommandLine(command_line);
     command_line->AppendSwitchASCII(
         extensions::switches::kWhitelistedExtensionID,
diff --git a/chrome/browser/extensions/api/dial/dial_registry.h b/chrome/browser/extensions/api/dial/dial_registry.h
index ac474c5e..83caa382 100644
--- a/chrome/browser/extensions/api/dial/dial_registry.h
+++ b/chrome/browser/extensions/api/dial/dial_registry.h
@@ -58,7 +58,7 @@
                const base::TimeDelta& expiration,
                const size_t max_devices);
 
-  virtual ~DialRegistry();
+  ~DialRegistry() override;
 
   // Called by the DIAL API when event listeners are added or removed. The dial
   // service is started after the first listener is added and stopped after the
@@ -88,15 +88,15 @@
   typedef std::map<std::string, linked_ptr<DialDeviceData> > DeviceByLabelMap;
 
   // DialService::Observer:
-  virtual void OnDiscoveryRequest(DialService* service) override;
-  virtual void OnDeviceDiscovered(DialService* service,
-                                  const DialDeviceData& device) override;
-  virtual void OnDiscoveryFinished(DialService* service) override;
-  virtual void OnError(DialService* service,
-                       const DialService::DialServiceErrorCode& code) override;
+  void OnDiscoveryRequest(DialService* service) override;
+  void OnDeviceDiscovered(DialService* service,
+                          const DialDeviceData& device) override;
+  void OnDiscoveryFinished(DialService* service) override;
+  void OnError(DialService* service,
+               const DialService::DialServiceErrorCode& code) override;
 
   // net::NetworkChangeObserver:
-  virtual void OnNetworkChanged(
+  void OnNetworkChanged(
       net::NetworkChangeNotifier::ConnectionType type) override;
 
   // Starts and stops periodic discovery.  Periodic discovery is done when there
diff --git a/chrome/browser/extensions/api/dial/dial_registry_unittest.cc b/chrome/browser/extensions/api/dial/dial_registry_unittest.cc
index 608cfe4..6d5a0b4 100644
--- a/chrome/browser/extensions/api/dial/dial_registry_unittest.cc
+++ b/chrome/browser/extensions/api/dial/dial_registry_unittest.cc
@@ -48,7 +48,7 @@
     time_ = Time::Now();
   }
 
-  virtual ~MockDialRegistry() {
+  ~MockDialRegistry() override {
     // Don't let the DialRegistry delete this.
     DialService* tmp = dial_.release();
     if (tmp != NULL)
@@ -64,15 +64,11 @@
   Time time_;
 
  protected:
-  virtual base::Time Now() const override {
-    return time_;
-  }
+  base::Time Now() const override { return time_; }
 
-  virtual DialService* CreateDialService() override {
-    return &mock_service_;
-  }
+  DialService* CreateDialService() override { return &mock_service_; }
 
-  virtual void ClearDialService() override {
+  void ClearDialService() override {
     // Release the pointer but don't delete the object because the test owns it.
     CHECK_EQ(&mock_service_, dial_.release());
   }
diff --git a/chrome/browser/extensions/api/dial/dial_service.h b/chrome/browser/extensions/api/dial/dial_service.h
index 3f84732..b70ca46 100644
--- a/chrome/browser/extensions/api/dial/dial_service.h
+++ b/chrome/browser/extensions/api/dial/dial_service.h
@@ -102,13 +102,13 @@
                         public base::SupportsWeakPtr<DialServiceImpl> {
  public:
   explicit DialServiceImpl(net::NetLog* net_log);
-  virtual ~DialServiceImpl();
+  ~DialServiceImpl() override;
 
   // DialService implementation
-  virtual bool Discover() override;
-  virtual void AddObserver(Observer* observer) override;
-  virtual void RemoveObserver(Observer* observer) override;
-  virtual bool HasObserver(Observer* observer) override;
+  bool Discover() override;
+  void AddObserver(Observer* observer) override;
+  void RemoveObserver(Observer* observer) override;
+  bool HasObserver(Observer* observer) override;
 
  private:
   // Represents a socket binding to a single network interface.
diff --git a/chrome/browser/extensions/api/downloads/downloads_api.cc b/chrome/browser/extensions/api/downloads/downloads_api.cc
index 47f7fa5..84e1842 100644
--- a/chrome/browser/extensions/api/downloads/downloads_api.cc
+++ b/chrome/browser/extensions/api/downloads/downloads_api.cc
@@ -297,12 +297,13 @@
  public:
   DownloadFileIconExtractorImpl() {}
 
-  virtual ~DownloadFileIconExtractorImpl() {}
+  ~DownloadFileIconExtractorImpl() override {}
 
-  virtual bool ExtractIconURLForPath(const base::FilePath& path,
-                                     float scale,
-                                     IconLoader::IconSize icon_size,
-                                     IconURLCallback callback) override;
+  bool ExtractIconURLForPath(const base::FilePath& path,
+                             float scale,
+                             IconLoader::IconSize icon_size,
+                             IconURLCallback callback) override;
+
  private:
   void OnIconLoadComplete(
       float scale, const IconURLCallback& callback, gfx::Image* icon);
@@ -599,7 +600,7 @@
     download_item->SetUserData(kKey, this);
   }
 
-  virtual ~ExtensionDownloadsEventRouterData() {
+  ~ExtensionDownloadsEventRouterData() override {
     if (updated_ > 0) {
       UMA_HISTOGRAM_PERCENTAGE("Download.OnChanged",
                                (changed_fired_ * 100 / updated_));
@@ -889,11 +890,9 @@
     manager_->AddObserver(this);
   }
 
-  virtual ~ManagerDestructionObserver() {
-    manager_->RemoveObserver(this);
-  }
+  ~ManagerDestructionObserver() override { manager_->RemoveObserver(this); }
 
-  virtual void ManagerGoingDown(DownloadManager* manager) override {
+  void ManagerGoingDown(DownloadManager* manager) override {
     manager_file_existence_last_checked_->erase(manager);
     if (manager_file_existence_last_checked_->size() == 0) {
       delete manager_file_existence_last_checked_;
diff --git a/chrome/browser/extensions/api/downloads/downloads_api.h b/chrome/browser/extensions/api/downloads/downloads_api.h
index 6f7fa73c..96d2afa 100644
--- a/chrome/browser/extensions/api/downloads/downloads_api.h
+++ b/chrome/browser/extensions/api/downloads/downloads_api.h
@@ -94,10 +94,10 @@
  public:
   DECLARE_EXTENSION_FUNCTION("downloads.download", DOWNLOADS_DOWNLOAD)
   DownloadsDownloadFunction();
-  virtual bool RunAsync() override;
+  bool RunAsync() override;
 
  protected:
-  virtual ~DownloadsDownloadFunction();
+  ~DownloadsDownloadFunction() override;
 
  private:
   void OnStarted(const base::FilePath& creator_suggested_filename,
@@ -113,10 +113,10 @@
  public:
   DECLARE_EXTENSION_FUNCTION("downloads.search", DOWNLOADS_SEARCH)
   DownloadsSearchFunction();
-  virtual bool RunSync() override;
+  bool RunSync() override;
 
  protected:
-  virtual ~DownloadsSearchFunction();
+  ~DownloadsSearchFunction() override;
 
  private:
   DISALLOW_COPY_AND_ASSIGN(DownloadsSearchFunction);
@@ -126,10 +126,10 @@
  public:
   DECLARE_EXTENSION_FUNCTION("downloads.pause", DOWNLOADS_PAUSE)
   DownloadsPauseFunction();
-  virtual bool RunSync() override;
+  bool RunSync() override;
 
  protected:
-  virtual ~DownloadsPauseFunction();
+  ~DownloadsPauseFunction() override;
 
  private:
   DISALLOW_COPY_AND_ASSIGN(DownloadsPauseFunction);
@@ -139,10 +139,10 @@
  public:
   DECLARE_EXTENSION_FUNCTION("downloads.resume", DOWNLOADS_RESUME)
   DownloadsResumeFunction();
-  virtual bool RunSync() override;
+  bool RunSync() override;
 
  protected:
-  virtual ~DownloadsResumeFunction();
+  ~DownloadsResumeFunction() override;
 
  private:
   DISALLOW_COPY_AND_ASSIGN(DownloadsResumeFunction);
@@ -152,10 +152,10 @@
  public:
   DECLARE_EXTENSION_FUNCTION("downloads.cancel", DOWNLOADS_CANCEL)
   DownloadsCancelFunction();
-  virtual bool RunSync() override;
+  bool RunSync() override;
 
  protected:
-  virtual ~DownloadsCancelFunction();
+  ~DownloadsCancelFunction() override;
 
  private:
   DISALLOW_COPY_AND_ASSIGN(DownloadsCancelFunction);
@@ -165,10 +165,10 @@
  public:
   DECLARE_EXTENSION_FUNCTION("downloads.erase", DOWNLOADS_ERASE)
   DownloadsEraseFunction();
-  virtual bool RunSync() override;
+  bool RunSync() override;
 
  protected:
-  virtual ~DownloadsEraseFunction();
+  ~DownloadsEraseFunction() override;
 
  private:
   DISALLOW_COPY_AND_ASSIGN(DownloadsEraseFunction);
@@ -178,10 +178,10 @@
  public:
   DECLARE_EXTENSION_FUNCTION("downloads.removeFile", DOWNLOADS_REMOVEFILE)
   DownloadsRemoveFileFunction();
-  virtual bool RunAsync() override;
+  bool RunAsync() override;
 
  protected:
-  virtual ~DownloadsRemoveFileFunction();
+  ~DownloadsRemoveFileFunction() override;
 
  private:
   void Done(bool success);
@@ -199,10 +199,10 @@
 
   DECLARE_EXTENSION_FUNCTION("downloads.acceptDanger", DOWNLOADS_ACCEPTDANGER)
   DownloadsAcceptDangerFunction();
-  virtual bool RunAsync() override;
+  bool RunAsync() override;
 
  protected:
-  virtual ~DownloadsAcceptDangerFunction();
+  ~DownloadsAcceptDangerFunction() override;
   void DangerPromptCallback(int download_id,
                             DownloadDangerPrompt::Action action);
 
@@ -217,10 +217,10 @@
  public:
   DECLARE_EXTENSION_FUNCTION("downloads.show", DOWNLOADS_SHOW)
   DownloadsShowFunction();
-  virtual bool RunAsync() override;
+  bool RunAsync() override;
 
  protected:
-  virtual ~DownloadsShowFunction();
+  ~DownloadsShowFunction() override;
 
  private:
   DISALLOW_COPY_AND_ASSIGN(DownloadsShowFunction);
@@ -231,10 +231,10 @@
   DECLARE_EXTENSION_FUNCTION(
       "downloads.showDefaultFolder", DOWNLOADS_SHOWDEFAULTFOLDER)
   DownloadsShowDefaultFolderFunction();
-  virtual bool RunAsync() override;
+  bool RunAsync() override;
 
  protected:
-  virtual ~DownloadsShowDefaultFolderFunction();
+  ~DownloadsShowDefaultFolderFunction() override;
 
  private:
   DISALLOW_COPY_AND_ASSIGN(DownloadsShowDefaultFolderFunction);
@@ -244,10 +244,10 @@
  public:
   DECLARE_EXTENSION_FUNCTION("downloads.open", DOWNLOADS_OPEN)
   DownloadsOpenFunction();
-  virtual bool RunSync() override;
+  bool RunSync() override;
 
  protected:
-  virtual ~DownloadsOpenFunction();
+  ~DownloadsOpenFunction() override;
 
  private:
   DISALLOW_COPY_AND_ASSIGN(DownloadsOpenFunction);
@@ -258,10 +258,10 @@
   DECLARE_EXTENSION_FUNCTION("downloads.setShelfEnabled",
                              DOWNLOADS_SETSHELFENABLED)
   DownloadsSetShelfEnabledFunction();
-  virtual bool RunSync() override;
+  bool RunSync() override;
 
  protected:
-  virtual ~DownloadsSetShelfEnabledFunction();
+  ~DownloadsSetShelfEnabledFunction() override;
 
  private:
   DISALLOW_COPY_AND_ASSIGN(DownloadsSetShelfEnabledFunction);
@@ -271,10 +271,10 @@
  public:
   DECLARE_EXTENSION_FUNCTION("downloads.drag", DOWNLOADS_DRAG)
   DownloadsDragFunction();
-  virtual bool RunAsync() override;
+  bool RunAsync() override;
 
  protected:
-  virtual ~DownloadsDragFunction();
+  ~DownloadsDragFunction() override;
 
  private:
   DISALLOW_COPY_AND_ASSIGN(DownloadsDragFunction);
@@ -284,11 +284,11 @@
  public:
   DECLARE_EXTENSION_FUNCTION("downloads.getFileIcon", DOWNLOADS_GETFILEICON)
   DownloadsGetFileIconFunction();
-  virtual bool RunAsync() override;
+  bool RunAsync() override;
   void SetIconExtractorForTesting(DownloadFileIconExtractor* extractor);
 
  protected:
-  virtual ~DownloadsGetFileIconFunction();
+  ~DownloadsGetFileIconFunction() override;
 
  private:
   void OnIconURLExtracted(const std::string& url);
@@ -343,7 +343,7 @@
 
   explicit ExtensionDownloadsEventRouter(
       Profile* profile, content::DownloadManager* manager);
-  virtual ~ExtensionDownloadsEventRouter();
+  ~ExtensionDownloadsEventRouter() override;
 
   void SetShelfEnabled(const extensions::Extension* extension, bool enabled);
   bool IsShelfEnabled() const;
@@ -362,19 +362,15 @@
       const FilenameChangedCallback& change);
 
   // AllDownloadItemNotifier::Observer.
-  virtual void OnDownloadCreated(
-      content::DownloadManager* manager,
-      content::DownloadItem* download_item) override;
-  virtual void OnDownloadUpdated(
-      content::DownloadManager* manager,
-      content::DownloadItem* download_item) override;
-  virtual void OnDownloadRemoved(
-      content::DownloadManager* manager,
-      content::DownloadItem* download_item) override;
+  void OnDownloadCreated(content::DownloadManager* manager,
+                         content::DownloadItem* download_item) override;
+  void OnDownloadUpdated(content::DownloadManager* manager,
+                         content::DownloadItem* download_item) override;
+  void OnDownloadRemoved(content::DownloadManager* manager,
+                         content::DownloadItem* download_item) override;
 
   // extensions::EventRouter::Observer.
-  virtual void OnListenerRemoved(
-      const extensions::EventListenerInfo& details) override;
+  void OnListenerRemoved(const extensions::EventListenerInfo& details) override;
 
   // Used for testing.
   struct DownloadsNotificationSource {
@@ -390,7 +386,7 @@
       base::Value* json_arg);
 
   // extensions::ExtensionRegistryObserver.
-  virtual void OnExtensionUnloaded(
+  void OnExtensionUnloaded(
       content::BrowserContext* browser_context,
       const extensions::Extension* extension,
       extensions::UnloadedExtensionInfo::Reason reason) override;
diff --git a/chrome/browser/extensions/api/downloads/downloads_api_browsertest.cc b/chrome/browser/extensions/api/downloads/downloads_api_browsertest.cc
index ece234a..531b5cd4 100644
--- a/chrome/browser/extensions/api/downloads/downloads_api_browsertest.cc
+++ b/chrome/browser/extensions/api/downloads/downloads_api_browsertest.cc
@@ -85,7 +85,7 @@
                    content::NotificationService::AllSources());
   }
 
-  virtual ~DownloadsEventsListener() {
+  ~DownloadsEventsListener() override {
     registrar_.Remove(this,
                       extensions::NOTIFICATION_EXTENSION_DOWNLOADS_EVENT,
                       content::NotificationService::AllSources());
@@ -174,9 +174,9 @@
   typedef ExtensionDownloadsEventRouter::DownloadsNotificationSource
     DownloadsNotificationSource;
 
-  virtual void Observe(int type,
-                       const content::NotificationSource& source,
-                       const content::NotificationDetails& details) override {
+  void Observe(int type,
+               const content::NotificationSource& source,
+               const content::NotificationDetails& details) override {
     switch (type) {
       case extensions::NOTIFICATION_EXTENSION_DOWNLOADS_EVENT: {
           DownloadsNotificationSource* dns =
@@ -312,7 +312,7 @@
   Browser* current_browser() { return current_browser_; }
 
   // InProcessBrowserTest
-  virtual void SetUpOnMainThread() override {
+  void SetUpOnMainThread() override {
     ExtensionApiTest::SetUpOnMainThread();
     BrowserThread::PostTask(
         BrowserThread::IO, FROM_HERE,
@@ -617,12 +617,12 @@
         expected_icon_size_(icon_size),
         response_(response) {
   }
-  virtual ~MockIconExtractorImpl() {}
+  ~MockIconExtractorImpl() override {}
 
-  virtual bool ExtractIconURLForPath(const base::FilePath& path,
-                                     float scale,
-                                     IconLoader::IconSize icon_size,
-                                     IconURLCallback callback) override {
+  bool ExtractIconURLForPath(const base::FilePath& path,
+                             float scale,
+                             IconLoader::IconSize icon_size,
+                             IconURLCallback callback) override {
     EXPECT_STREQ(expected_path_.value().c_str(), path.value().c_str());
     EXPECT_EQ(expected_icon_size_, icon_size);
     if (expected_path_ == path &&
@@ -758,10 +758,10 @@
       : content::DownloadTestObserverInProgress(download_manager, wait_count) {
   }
 
-  virtual ~JustInProgressDownloadObserver() {}
+  ~JustInProgressDownloadObserver() override {}
 
  private:
-  virtual bool IsDownloadInFinalState(DownloadItem* item) override {
+  bool IsDownloadInFinalState(DownloadItem* item) override {
     return item->GetState() == DownloadItem::IN_PROGRESS;
   }
 
diff --git a/chrome/browser/extensions/api/downloads_internal/downloads_internal_api.h b/chrome/browser/extensions/api/downloads_internal/downloads_internal_api.h
index 36fbaf1..5dc2448 100644
--- a/chrome/browser/extensions/api/downloads_internal/downloads_internal_api.h
+++ b/chrome/browser/extensions/api/downloads_internal/downloads_internal_api.h
@@ -15,10 +15,10 @@
   DECLARE_EXTENSION_FUNCTION("downloadsInternal.determineFilename",
                              DOWNLOADSINTERNAL_DETERMINEFILENAME);
   DownloadsInternalDetermineFilenameFunction();
-  virtual bool RunAsync() override;
+  bool RunAsync() override;
 
  protected:
-  virtual ~DownloadsInternalDetermineFilenameFunction();
+  ~DownloadsInternalDetermineFilenameFunction() override;
 
  private:
   DISALLOW_COPY_AND_ASSIGN(DownloadsInternalDetermineFilenameFunction);
diff --git a/chrome/browser/extensions/api/easy_unlock_private/easy_unlock_private_api.h b/chrome/browser/extensions/api/easy_unlock_private/easy_unlock_private_api.h
index 89b62f31..499caa6 100644
--- a/chrome/browser/extensions/api/easy_unlock_private/easy_unlock_private_api.h
+++ b/chrome/browser/extensions/api/easy_unlock_private/easy_unlock_private_api.h
@@ -36,7 +36,7 @@
   static const bool kServiceRedirectedInIncognito = true;
 
   explicit EasyUnlockPrivateAPI(content::BrowserContext* context);
-  virtual ~EasyUnlockPrivateAPI();
+  ~EasyUnlockPrivateAPI() override;
 
   EasyUnlockPrivateCryptoDelegate* crypto_delegate() {
     return crypto_delegate_.get();
@@ -60,10 +60,10 @@
   EasyUnlockPrivateGetStringsFunction();
 
  protected:
-  virtual ~EasyUnlockPrivateGetStringsFunction();
+  ~EasyUnlockPrivateGetStringsFunction() override;
 
   // SyncExtensionFunction:
-  virtual bool RunSync() override;
+  bool RunSync() override;
 
  private:
   DECLARE_EXTENSION_FUNCTION("easyUnlockPrivate.getStrings",
@@ -78,9 +78,9 @@
   EasyUnlockPrivatePerformECDHKeyAgreementFunction();
 
  protected:
-  virtual ~EasyUnlockPrivatePerformECDHKeyAgreementFunction();
+  ~EasyUnlockPrivatePerformECDHKeyAgreementFunction() override;
 
-  virtual bool RunAsync() override;
+  bool RunAsync() override;
 
  private:
   void OnData(const std::string& secret_key);
@@ -97,9 +97,9 @@
   EasyUnlockPrivateGenerateEcP256KeyPairFunction();
 
  protected:
-  virtual ~EasyUnlockPrivateGenerateEcP256KeyPairFunction();
+  ~EasyUnlockPrivateGenerateEcP256KeyPairFunction() override;
 
-  virtual bool RunAsync() override;
+  bool RunAsync() override;
 
  private:
   void OnData(const std::string& public_key,
@@ -117,9 +117,9 @@
   EasyUnlockPrivateCreateSecureMessageFunction();
 
  protected:
-  virtual ~EasyUnlockPrivateCreateSecureMessageFunction();
+  ~EasyUnlockPrivateCreateSecureMessageFunction() override;
 
-  virtual bool RunAsync() override;
+  bool RunAsync() override;
 
  private:
   void OnData(const std::string& message);
@@ -136,9 +136,9 @@
   EasyUnlockPrivateUnwrapSecureMessageFunction();
 
  protected:
-  virtual ~EasyUnlockPrivateUnwrapSecureMessageFunction();
+  ~EasyUnlockPrivateUnwrapSecureMessageFunction() override;
 
-  virtual bool RunAsync() override;
+  bool RunAsync() override;
 
  private:
   void OnData(const std::string& data);
@@ -157,10 +157,10 @@
   EasyUnlockPrivateSeekBluetoothDeviceByAddressFunction();
 
  private:
-  virtual ~EasyUnlockPrivateSeekBluetoothDeviceByAddressFunction();
+  ~EasyUnlockPrivateSeekBluetoothDeviceByAddressFunction() override;
 
   // AsyncExtensionFunction:
-  virtual bool RunAsync() override;
+  bool RunAsync() override;
 
   // Callbacks that are called when the seek operation succeeds or fails.
   void OnSeekSuccess();
@@ -179,11 +179,11 @@
   EasyUnlockPrivateConnectToBluetoothServiceInsecurelyFunction();
 
  private:
-  virtual ~EasyUnlockPrivateConnectToBluetoothServiceInsecurelyFunction();
+  ~EasyUnlockPrivateConnectToBluetoothServiceInsecurelyFunction() override;
 
   // BluetoothSocketAbstractConnectFunction:
-  virtual void ConnectToService(device::BluetoothDevice* device,
-                                const device::BluetoothUUID& uuid) override;
+  void ConnectToService(device::BluetoothDevice* device,
+                        const device::BluetoothUUID& uuid) override;
 
   DISALLOW_COPY_AND_ASSIGN(
       EasyUnlockPrivateConnectToBluetoothServiceInsecurelyFunction);
@@ -195,9 +195,9 @@
   EasyUnlockPrivateUpdateScreenlockStateFunction();
 
  protected:
-  virtual ~EasyUnlockPrivateUpdateScreenlockStateFunction();
+  ~EasyUnlockPrivateUpdateScreenlockStateFunction() override;
 
-  virtual bool RunSync() override;
+  bool RunSync() override;
 
  private:
   DECLARE_EXTENSION_FUNCTION("easyUnlockPrivate.updateScreenlockState",
@@ -213,10 +213,10 @@
   EasyUnlockPrivateSetPermitAccessFunction();
 
  private:
-  virtual ~EasyUnlockPrivateSetPermitAccessFunction();
+  ~EasyUnlockPrivateSetPermitAccessFunction() override;
 
   // SyncExtensionFunction:
-  virtual bool RunSync() override;
+  bool RunSync() override;
 
   DISALLOW_COPY_AND_ASSIGN(EasyUnlockPrivateSetPermitAccessFunction);
 };
@@ -228,10 +228,10 @@
   EasyUnlockPrivateGetPermitAccessFunction();
 
  private:
-  virtual ~EasyUnlockPrivateGetPermitAccessFunction();
+  ~EasyUnlockPrivateGetPermitAccessFunction() override;
 
   // SyncExtensionFunction:
-  virtual bool RunSync() override;
+  bool RunSync() override;
 
   DISALLOW_COPY_AND_ASSIGN(EasyUnlockPrivateGetPermitAccessFunction);
 };
@@ -244,10 +244,10 @@
   EasyUnlockPrivateClearPermitAccessFunction();
 
  private:
-  virtual ~EasyUnlockPrivateClearPermitAccessFunction();
+  ~EasyUnlockPrivateClearPermitAccessFunction() override;
 
   // SyncExtensionFunction:
-  virtual bool RunSync() override;
+  bool RunSync() override;
 
   DISALLOW_COPY_AND_ASSIGN(EasyUnlockPrivateClearPermitAccessFunction);
 };
@@ -259,10 +259,10 @@
   EasyUnlockPrivateSetRemoteDevicesFunction();
 
  private:
-  virtual ~EasyUnlockPrivateSetRemoteDevicesFunction();
+  ~EasyUnlockPrivateSetRemoteDevicesFunction() override;
 
   // SyncExtensionFunction:
-  virtual bool RunSync() override;
+  bool RunSync() override;
 
   DISALLOW_COPY_AND_ASSIGN(EasyUnlockPrivateSetRemoteDevicesFunction);
 };
@@ -274,10 +274,10 @@
   EasyUnlockPrivateGetRemoteDevicesFunction();
 
  private:
-  virtual ~EasyUnlockPrivateGetRemoteDevicesFunction();
+  ~EasyUnlockPrivateGetRemoteDevicesFunction() override;
 
   // SyncExtensionFunction:
-  virtual bool RunSync() override;
+  bool RunSync() override;
 
   DISALLOW_COPY_AND_ASSIGN(EasyUnlockPrivateGetRemoteDevicesFunction);
 };
@@ -290,10 +290,10 @@
   EasyUnlockPrivateGetSignInChallengeFunction();
 
  private:
-  virtual ~EasyUnlockPrivateGetSignInChallengeFunction();
+  ~EasyUnlockPrivateGetSignInChallengeFunction() override;
 
   // SyncExtensionFunction:
-  virtual bool RunSync() override;
+  bool RunSync() override;
 
   DISALLOW_COPY_AND_ASSIGN(EasyUnlockPrivateGetSignInChallengeFunction);
 };
@@ -306,10 +306,10 @@
   EasyUnlockPrivateTrySignInSecretFunction();
 
  private:
-  virtual ~EasyUnlockPrivateTrySignInSecretFunction();
+  ~EasyUnlockPrivateTrySignInSecretFunction() override;
 
   // SyncExtensionFunction:
-  virtual bool RunSync() override;
+  bool RunSync() override;
 
   DISALLOW_COPY_AND_ASSIGN(EasyUnlockPrivateTrySignInSecretFunction);
 };
@@ -321,10 +321,10 @@
   EasyUnlockPrivateGetUserInfoFunction();
 
  private:
-  virtual ~EasyUnlockPrivateGetUserInfoFunction();
+  ~EasyUnlockPrivateGetUserInfoFunction() override;
 
   // SyncExtensionFunction:
-  virtual bool RunSync() override;
+  bool RunSync() override;
 
   DISALLOW_COPY_AND_ASSIGN(EasyUnlockPrivateGetUserInfoFunction);
 };
diff --git a/chrome/browser/extensions/api/easy_unlock_private/easy_unlock_private_crypto_delegate_stub.cc b/chrome/browser/extensions/api/easy_unlock_private/easy_unlock_private_crypto_delegate_stub.cc
index 126a5d98..5869930 100644
--- a/chrome/browser/extensions/api/easy_unlock_private/easy_unlock_private_crypto_delegate_stub.cc
+++ b/chrome/browser/extensions/api/easy_unlock_private/easy_unlock_private_crypto_delegate_stub.cc
@@ -15,25 +15,25 @@
  public:
   EasyUnlockPrivateCryptoDelegateStub() {}
 
-  virtual ~EasyUnlockPrivateCryptoDelegateStub() {}
+  ~EasyUnlockPrivateCryptoDelegateStub() override {}
 
-  virtual void GenerateEcP256KeyPair(const KeyPairCallback& callback) override {
+  void GenerateEcP256KeyPair(const KeyPairCallback& callback) override {
     callback.Run("", "");
   }
 
-  virtual void PerformECDHKeyAgreement(
+  void PerformECDHKeyAgreement(
       const easy_unlock_private::PerformECDHKeyAgreement::Params& params,
       const DataCallback& callback) override {
     callback.Run("");
   }
 
-  virtual void CreateSecureMessage(
+  void CreateSecureMessage(
       const easy_unlock_private::CreateSecureMessage::Params& params,
       const DataCallback& callback) override {
     callback.Run("");
   }
 
-  virtual void UnwrapSecureMessage(
+  void UnwrapSecureMessage(
       const easy_unlock_private::UnwrapSecureMessage::Params& params,
       const DataCallback& callback) override {
     callback.Run("");
diff --git a/chrome/browser/extensions/api/experience_sampling_private/experience_sampling_private_api.h b/chrome/browser/extensions/api/experience_sampling_private/experience_sampling_private_api.h
index a512763..e199f288 100644
--- a/chrome/browser/extensions/api/experience_sampling_private/experience_sampling_private_api.h
+++ b/chrome/browser/extensions/api/experience_sampling_private/experience_sampling_private_api.h
@@ -12,10 +12,10 @@
 class ExperienceSamplingPrivateGetBrowserInfoFunction
     : public ChromeAsyncExtensionFunction {
  protected:
-  virtual ~ExperienceSamplingPrivateGetBrowserInfoFunction() {}
+  ~ExperienceSamplingPrivateGetBrowserInfoFunction() override {}
 
   // ExtensionFuction:
-  virtual bool RunAsync() override;
+  bool RunAsync() override;
 
  private:
   DECLARE_EXTENSION_FUNCTION("experienceSamplingPrivate.getBrowserInfo",
diff --git a/chrome/browser/extensions/api/extension_action/extension_action_api.h b/chrome/browser/extensions/api/extension_action/extension_action_api.h
index 2abf132..5a1f6ce 100644
--- a/chrome/browser/extensions/api/extension_action/extension_action_api.h
+++ b/chrome/browser/extensions/api/extension_action/extension_action_api.h
@@ -55,7 +55,7 @@
   };
 
   explicit ExtensionActionAPI(content::BrowserContext* context);
-  virtual ~ExtensionActionAPI();
+  ~ExtensionActionAPI() override;
 
   // Convenience method to get the instance for a profile.
   static ExtensionActionAPI* Get(content::BrowserContext* context);
@@ -124,7 +124,7 @@
                                content::WebContents* web_contents);
 
   // BrowserContextKeyedAPI implementation.
-  virtual void Shutdown() override;
+  void Shutdown() override;
   static const char* service_name() { return "ExtensionActionAPI"; }
   static const bool kServiceRedirectedInIncognito = true;
 
@@ -148,8 +148,8 @@
 
  protected:
   ExtensionActionFunction();
-  virtual ~ExtensionActionFunction();
-  virtual bool RunSync() override;
+  ~ExtensionActionFunction() override;
+  bool RunSync() override;
   virtual bool RunExtensionAction() = 0;
 
   bool ExtractDataFromArguments();
@@ -181,80 +181,80 @@
 // show
 class ExtensionActionShowFunction : public ExtensionActionFunction {
  protected:
-  virtual ~ExtensionActionShowFunction() {}
-  virtual bool RunExtensionAction() override;
+  ~ExtensionActionShowFunction() override {}
+  bool RunExtensionAction() override;
 };
 
 // hide
 class ExtensionActionHideFunction : public ExtensionActionFunction {
  protected:
-  virtual ~ExtensionActionHideFunction() {}
-  virtual bool RunExtensionAction() override;
+  ~ExtensionActionHideFunction() override {}
+  bool RunExtensionAction() override;
 };
 
 // setIcon
 class ExtensionActionSetIconFunction : public ExtensionActionFunction {
  protected:
-  virtual ~ExtensionActionSetIconFunction() {}
-  virtual bool RunExtensionAction() override;
+  ~ExtensionActionSetIconFunction() override {}
+  bool RunExtensionAction() override;
 };
 
 // setTitle
 class ExtensionActionSetTitleFunction : public ExtensionActionFunction {
  protected:
-  virtual ~ExtensionActionSetTitleFunction() {}
-  virtual bool RunExtensionAction() override;
+  ~ExtensionActionSetTitleFunction() override {}
+  bool RunExtensionAction() override;
 };
 
 // setPopup
 class ExtensionActionSetPopupFunction : public ExtensionActionFunction {
  protected:
-  virtual ~ExtensionActionSetPopupFunction() {}
-  virtual bool RunExtensionAction() override;
+  ~ExtensionActionSetPopupFunction() override {}
+  bool RunExtensionAction() override;
 };
 
 // setBadgeText
 class ExtensionActionSetBadgeTextFunction : public ExtensionActionFunction {
  protected:
-  virtual ~ExtensionActionSetBadgeTextFunction() {}
-  virtual bool RunExtensionAction() override;
+  ~ExtensionActionSetBadgeTextFunction() override {}
+  bool RunExtensionAction() override;
 };
 
 // setBadgeBackgroundColor
 class ExtensionActionSetBadgeBackgroundColorFunction
     : public ExtensionActionFunction {
  protected:
-  virtual ~ExtensionActionSetBadgeBackgroundColorFunction() {}
-  virtual bool RunExtensionAction() override;
+  ~ExtensionActionSetBadgeBackgroundColorFunction() override {}
+  bool RunExtensionAction() override;
 };
 
 // getTitle
 class ExtensionActionGetTitleFunction : public ExtensionActionFunction {
  protected:
-  virtual ~ExtensionActionGetTitleFunction() {}
-  virtual bool RunExtensionAction() override;
+  ~ExtensionActionGetTitleFunction() override {}
+  bool RunExtensionAction() override;
 };
 
 // getPopup
 class ExtensionActionGetPopupFunction : public ExtensionActionFunction {
  protected:
-  virtual ~ExtensionActionGetPopupFunction() {}
-  virtual bool RunExtensionAction() override;
+  ~ExtensionActionGetPopupFunction() override {}
+  bool RunExtensionAction() override;
 };
 
 // getBadgeText
 class ExtensionActionGetBadgeTextFunction : public ExtensionActionFunction {
  protected:
-  virtual ~ExtensionActionGetBadgeTextFunction() {}
-  virtual bool RunExtensionAction() override;
+  ~ExtensionActionGetBadgeTextFunction() override {}
+  bool RunExtensionAction() override;
 };
 
 // getBadgeBackgroundColor
 class ExtensionActionGetBadgeBackgroundColorFunction
     : public ExtensionActionFunction {
  protected:
-  virtual ~ExtensionActionGetBadgeBackgroundColorFunction() {}
-  virtual bool RunExtensionAction() override;
+  ~ExtensionActionGetBadgeBackgroundColorFunction() override {}
+  bool RunExtensionAction() override;
 };
 
 //
@@ -266,7 +266,7 @@
   DECLARE_EXTENSION_FUNCTION("browserAction.setIcon", BROWSERACTION_SETICON)
 
  protected:
-  virtual ~BrowserActionSetIconFunction() {}
+  ~BrowserActionSetIconFunction() override {}
 };
 
 class BrowserActionSetTitleFunction : public ExtensionActionSetTitleFunction {
@@ -274,7 +274,7 @@
   DECLARE_EXTENSION_FUNCTION("browserAction.setTitle", BROWSERACTION_SETTITLE)
 
  protected:
-  virtual ~BrowserActionSetTitleFunction() {}
+  ~BrowserActionSetTitleFunction() override {}
 };
 
 class BrowserActionSetPopupFunction : public ExtensionActionSetPopupFunction {
@@ -282,7 +282,7 @@
   DECLARE_EXTENSION_FUNCTION("browserAction.setPopup", BROWSERACTION_SETPOPUP)
 
  protected:
-  virtual ~BrowserActionSetPopupFunction() {}
+  ~BrowserActionSetPopupFunction() override {}
 };
 
 class BrowserActionGetTitleFunction : public ExtensionActionGetTitleFunction {
@@ -290,7 +290,7 @@
   DECLARE_EXTENSION_FUNCTION("browserAction.getTitle", BROWSERACTION_GETTITLE)
 
  protected:
-  virtual ~BrowserActionGetTitleFunction() {}
+  ~BrowserActionGetTitleFunction() override {}
 };
 
 class BrowserActionGetPopupFunction : public ExtensionActionGetPopupFunction {
@@ -298,7 +298,7 @@
   DECLARE_EXTENSION_FUNCTION("browserAction.getPopup", BROWSERACTION_GETPOPUP)
 
  protected:
-  virtual ~BrowserActionGetPopupFunction() {}
+  ~BrowserActionGetPopupFunction() override {}
 };
 
 class BrowserActionSetBadgeTextFunction
@@ -308,7 +308,7 @@
                              BROWSERACTION_SETBADGETEXT)
 
  protected:
-  virtual ~BrowserActionSetBadgeTextFunction() {}
+  ~BrowserActionSetBadgeTextFunction() override {}
 };
 
 class BrowserActionSetBadgeBackgroundColorFunction
@@ -318,7 +318,7 @@
                              BROWSERACTION_SETBADGEBACKGROUNDCOLOR)
 
  protected:
-  virtual ~BrowserActionSetBadgeBackgroundColorFunction() {}
+  ~BrowserActionSetBadgeBackgroundColorFunction() override {}
 };
 
 class BrowserActionGetBadgeTextFunction
@@ -328,7 +328,7 @@
                              BROWSERACTION_GETBADGETEXT)
 
  protected:
-  virtual ~BrowserActionGetBadgeTextFunction() {}
+  ~BrowserActionGetBadgeTextFunction() override {}
 };
 
 class BrowserActionGetBadgeBackgroundColorFunction
@@ -338,7 +338,7 @@
                              BROWSERACTION_GETBADGEBACKGROUNDCOLOR)
 
  protected:
-  virtual ~BrowserActionGetBadgeBackgroundColorFunction() {}
+  ~BrowserActionGetBadgeBackgroundColorFunction() override {}
 };
 
 class BrowserActionEnableFunction : public ExtensionActionShowFunction {
@@ -346,7 +346,7 @@
   DECLARE_EXTENSION_FUNCTION("browserAction.enable", BROWSERACTION_ENABLE)
 
  protected:
-  virtual ~BrowserActionEnableFunction() {}
+  ~BrowserActionEnableFunction() override {}
 };
 
 class BrowserActionDisableFunction : public ExtensionActionHideFunction {
@@ -354,7 +354,7 @@
   DECLARE_EXTENSION_FUNCTION("browserAction.disable", BROWSERACTION_DISABLE)
 
  protected:
-  virtual ~BrowserActionDisableFunction() {}
+  ~BrowserActionDisableFunction() override {}
 };
 
 class BrowserActionOpenPopupFunction : public ChromeAsyncExtensionFunction,
@@ -365,14 +365,14 @@
   BrowserActionOpenPopupFunction();
 
  private:
-  virtual ~BrowserActionOpenPopupFunction() {}
+  ~BrowserActionOpenPopupFunction() override {}
 
   // ExtensionFunction:
-  virtual bool RunAsync() override;
+  bool RunAsync() override;
 
-  virtual void Observe(int type,
-                       const content::NotificationSource& source,
-                       const content::NotificationDetails& details) override;
+  void Observe(int type,
+               const content::NotificationSource& source,
+               const content::NotificationDetails& details) override;
   void OpenPopupTimedOut();
 
   content::NotificationRegistrar registrar_;
@@ -392,7 +392,7 @@
   DECLARE_EXTENSION_FUNCTION("pageAction.show", PAGEACTION_SHOW)
 
  protected:
-  virtual ~PageActionShowFunction() {}
+  ~PageActionShowFunction() override {}
 };
 
 class PageActionHideFunction : public extensions::ExtensionActionHideFunction {
@@ -400,7 +400,7 @@
   DECLARE_EXTENSION_FUNCTION("pageAction.hide", PAGEACTION_HIDE)
 
  protected:
-  virtual ~PageActionHideFunction() {}
+  ~PageActionHideFunction() override {}
 };
 
 class PageActionSetIconFunction
@@ -409,7 +409,7 @@
   DECLARE_EXTENSION_FUNCTION("pageAction.setIcon", PAGEACTION_SETICON)
 
  protected:
-  virtual ~PageActionSetIconFunction() {}
+  ~PageActionSetIconFunction() override {}
 };
 
 class PageActionSetTitleFunction
@@ -418,7 +418,7 @@
   DECLARE_EXTENSION_FUNCTION("pageAction.setTitle", PAGEACTION_SETTITLE)
 
  protected:
-  virtual ~PageActionSetTitleFunction() {}
+  ~PageActionSetTitleFunction() override {}
 };
 
 class PageActionSetPopupFunction
@@ -427,7 +427,7 @@
   DECLARE_EXTENSION_FUNCTION("pageAction.setPopup", PAGEACTION_SETPOPUP)
 
  protected:
-  virtual ~PageActionSetPopupFunction() {}
+  ~PageActionSetPopupFunction() override {}
 };
 
 class PageActionGetTitleFunction
@@ -436,7 +436,7 @@
   DECLARE_EXTENSION_FUNCTION("pageAction.getTitle", PAGEACTION_GETTITLE)
 
  protected:
-  virtual ~PageActionGetTitleFunction() {}
+  ~PageActionGetTitleFunction() override {}
 };
 
 class PageActionGetPopupFunction
@@ -445,7 +445,7 @@
   DECLARE_EXTENSION_FUNCTION("pageAction.getPopup", PAGEACTION_GETPOPUP)
 
  protected:
-  virtual ~PageActionGetPopupFunction() {}
+  ~PageActionGetPopupFunction() override {}
 };
 
 #endif  // CHROME_BROWSER_EXTENSIONS_API_EXTENSION_ACTION_EXTENSION_ACTION_API_H_
diff --git a/chrome/browser/extensions/api/extension_action/extension_action_prefs_unittest.cc b/chrome/browser/extensions/api/extension_action/extension_action_prefs_unittest.cc
index 6798c63..1d8e23e 100644
--- a/chrome/browser/extensions/api/extension_action/extension_action_prefs_unittest.cc
+++ b/chrome/browser/extensions/api/extension_action/extension_action_prefs_unittest.cc
@@ -16,7 +16,7 @@
 // Tests force hiding browser actions.
 class ExtensionPrefsHidingBrowserActions : public ExtensionPrefsTest {
  public:
-  virtual void Initialize() override {
+  void Initialize() override {
     // Install 5 extensions.
     for (int i = 0; i < 5; i++) {
       std::string name = "test" + base::IntToString(i);
@@ -35,7 +35,7 @@
         prefs(), extensions_[1]->id(), true);
   }
 
-  virtual void Verify() override {
+  void Verify() override {
     // Make sure the one we hid is hidden.
     EXPECT_FALSE(ExtensionActionAPI::GetBrowserActionVisibility(
         prefs(), extensions_[0]->id()));
diff --git a/chrome/browser/extensions/api/feedback_private/feedback_browsertest.cc b/chrome/browser/extensions/api/feedback_private/feedback_browsertest.cc
index e9dcd87f..425225e 100644
--- a/chrome/browser/extensions/api/feedback_private/feedback_browsertest.cc
+++ b/chrome/browser/extensions/api/feedback_private/feedback_browsertest.cc
@@ -36,7 +36,7 @@
     InProcessBrowserTest::SetUp();
   }
 
-  virtual void SetUpCommandLine(CommandLine* command_line) override {
+  void SetUpCommandLine(CommandLine* command_line) override {
     command_line->AppendSwitch(::switches::kEnableUserMediaScreenCapturing);
     InProcessBrowserTest::SetUpCommandLine(command_line);
   }
diff --git a/chrome/browser/extensions/api/feedback_private/feedback_private_api.h b/chrome/browser/extensions/api/feedback_private/feedback_private_api.h
index d979808..fc78aec 100644
--- a/chrome/browser/extensions/api/feedback_private/feedback_private_api.h
+++ b/chrome/browser/extensions/api/feedback_private/feedback_private_api.h
@@ -21,7 +21,7 @@
 class FeedbackPrivateAPI : public BrowserContextKeyedAPI {
  public:
   explicit FeedbackPrivateAPI(content::BrowserContext* context);
-  virtual ~FeedbackPrivateAPI();
+  ~FeedbackPrivateAPI() override;
 
   FeedbackService* GetService() const;
   void RequestFeedback(const std::string& description_template,
@@ -58,10 +58,10 @@
   }
 
  protected:
-  virtual ~FeedbackPrivateGetStringsFunction() {}
+  ~FeedbackPrivateGetStringsFunction() override {}
 
   // SyncExtensionFunction overrides.
-  virtual bool RunSync() override;
+  bool RunSync() override;
 
  private:
   static base::Closure* test_callback_;
@@ -73,8 +73,8 @@
                              FEEDBACKPRIVATE_GETUSEREMAIL);
 
  protected:
-  virtual ~FeedbackPrivateGetUserEmailFunction() {}
-  virtual bool RunSync() override;
+  ~FeedbackPrivateGetUserEmailFunction() override {}
+  bool RunSync() override;
 };
 
 class FeedbackPrivateGetSystemInformationFunction
@@ -84,8 +84,8 @@
                              FEEDBACKPRIVATE_GETSYSTEMINFORMATION);
 
  protected:
-  virtual ~FeedbackPrivateGetSystemInformationFunction() {}
-  virtual bool RunAsync() override;
+  ~FeedbackPrivateGetSystemInformationFunction() override {}
+  bool RunAsync() override;
 
  private:
   void OnCompleted(
@@ -99,8 +99,8 @@
                              FEEDBACKPRIVATE_SENDFEEDBACK);
 
  protected:
-  virtual ~FeedbackPrivateSendFeedbackFunction() {}
-  virtual bool RunAsync() override;
+  ~FeedbackPrivateSendFeedbackFunction() override {}
+  bool RunAsync() override;
 
  private:
   void OnCompleted(bool success);
diff --git a/chrome/browser/extensions/api/feedback_private/feedback_service_nonchromeos.cc b/chrome/browser/extensions/api/feedback_private/feedback_service_nonchromeos.cc
index e958a1b..11f33e3 100644
--- a/chrome/browser/extensions/api/feedback_private/feedback_service_nonchromeos.cc
+++ b/chrome/browser/extensions/api/feedback_private/feedback_service_nonchromeos.cc
@@ -18,14 +18,14 @@
       public base::SupportsWeakPtr<FeedbackServiceImpl> {
  public:
   FeedbackServiceImpl();
-  virtual ~FeedbackServiceImpl();
+  ~FeedbackServiceImpl() override;
 
-  virtual std::string GetUserEmail() override;
-  virtual void GetHistograms(std::string* histograms) override;
+  std::string GetUserEmail() override;
+  void GetHistograms(std::string* histograms) override;
 
  private:
   // Overridden from FeedbackService:
-  virtual base::WeakPtr<FeedbackService> GetWeakPtr() override;
+  base::WeakPtr<FeedbackService> GetWeakPtr() override;
 
   DISALLOW_COPY_AND_ASSIGN(FeedbackServiceImpl);
 };
diff --git a/chrome/browser/extensions/api/file_system/entry_watcher_service.h b/chrome/browser/extensions/api/file_system/entry_watcher_service.h
index a75448e..5b3ddd4 100644
--- a/chrome/browser/extensions/api/file_system/entry_watcher_service.h
+++ b/chrome/browser/extensions/api/file_system/entry_watcher_service.h
@@ -43,7 +43,7 @@
       content::BrowserContext* context)> GetFileSystemContextImplCallback;
 
   explicit EntryWatcherService(content::BrowserContext* context);
-  virtual ~EntryWatcherService();
+  ~EntryWatcherService() override;
 
   // Watches a directory. Only one watcher can be set per the same |url| and
   // |extension_id|.
@@ -61,8 +61,8 @@
       const std::string& extension_id);
 
   // storage::WatcherManager::Observer overrides.
-  virtual void OnEntryChanged(const storage::FileSystemURL& url) override;
-  virtual void OnEntryRemoved(const storage::FileSystemURL& url) override;
+  void OnEntryChanged(const storage::FileSystemURL& url) override;
+  void OnEntryRemoved(const storage::FileSystemURL& url) override;
 
   // Sets a custom dispatcher for tests in order to be able to verify dispatched
   // events.
diff --git a/chrome/browser/extensions/api/file_system/entry_watcher_service_factory.h b/chrome/browser/extensions/api/file_system/entry_watcher_service_factory.h
index 0fe06fc..1f783d3 100644
--- a/chrome/browser/extensions/api/file_system/entry_watcher_service_factory.h
+++ b/chrome/browser/extensions/api/file_system/entry_watcher_service_factory.h
@@ -34,12 +34,12 @@
   friend struct DefaultSingletonTraits<EntryWatcherServiceFactory>;
 
   EntryWatcherServiceFactory();
-  virtual ~EntryWatcherServiceFactory();
+  ~EntryWatcherServiceFactory() override;
 
   // BrowserContextKeyedServiceFactory overrides:
-  virtual KeyedService* BuildServiceInstanceFor(
+  KeyedService* BuildServiceInstanceFor(
       content::BrowserContext* profile) const override;
-  virtual bool ServiceIsCreatedWithBrowserContext() const override;
+  bool ServiceIsCreatedWithBrowserContext() const override;
 
   DISALLOW_COPY_AND_ASSIGN(EntryWatcherServiceFactory);
 };
diff --git a/chrome/browser/extensions/api/file_system/file_system_api.cc b/chrome/browser/extensions/api/file_system/file_system_api.cc
index bbc9b20..dbe8bfdc 100644
--- a/chrome/browser/extensions/api/file_system/file_system_api.cc
+++ b/chrome/browser/extensions/api/file_system/file_system_api.cc
@@ -443,21 +443,21 @@
                                     NULL);
   }
 
-  virtual ~FilePicker() {}
+  ~FilePicker() override {}
 
  private:
   // ui::SelectFileDialog::Listener implementation.
-  virtual void FileSelected(const base::FilePath& path,
-                            int index,
-                            void* params) override {
+  void FileSelected(const base::FilePath& path,
+                    int index,
+                    void* params) override {
     std::vector<base::FilePath> paths;
     paths.push_back(path);
     MultiFilesSelected(paths, params);
   }
 
-  virtual void FileSelectedWithExtraInfo(const ui::SelectedFileInfo& file,
-                                         int index,
-                                         void* params) override {
+  void FileSelectedWithExtraInfo(const ui::SelectedFileInfo& file,
+                                 int index,
+                                 void* params) override {
     // Normally, file.local_path is used because it is a native path to the
     // local read-only cached file in the case of remote file system like
     // Chrome OS's Google Drive integration. Here, however, |file.file_path| is
@@ -469,13 +469,13 @@
     FileSelected(file.file_path, index, params);
   }
 
-  virtual void MultiFilesSelected(const std::vector<base::FilePath>& files,
-                                  void* params) override {
+  void MultiFilesSelected(const std::vector<base::FilePath>& files,
+                          void* params) override {
     function_->FilesSelected(files);
     delete this;
   }
 
-  virtual void MultiFilesSelectedWithExtraInfo(
+  void MultiFilesSelectedWithExtraInfo(
       const std::vector<ui::SelectedFileInfo>& files,
       void* params) override {
     std::vector<base::FilePath> paths;
@@ -486,7 +486,7 @@
     MultiFilesSelected(paths, params);
   }
 
-  virtual void FileSelectionCanceled(void* params) override {
+  void FileSelectionCanceled(void* params) override {
     function_->FileSelectionCanceled();
     delete this;
   }
diff --git a/chrome/browser/extensions/api/file_system/file_system_api.h b/chrome/browser/extensions/api/file_system/file_system_api.h
index 62bfa52..1b782773 100644
--- a/chrome/browser/extensions/api/file_system/file_system_api.h
+++ b/chrome/browser/extensions/api/file_system/file_system_api.h
@@ -40,15 +40,15 @@
                              FILESYSTEM_GETDISPLAYPATH)
 
  protected:
-  virtual ~FileSystemGetDisplayPathFunction() {}
-  virtual bool RunSync() override;
+  ~FileSystemGetDisplayPathFunction() override {}
+  bool RunSync() override;
 };
 
 class FileSystemEntryFunction : public ChromeAsyncExtensionFunction {
  protected:
   FileSystemEntryFunction();
 
-  virtual ~FileSystemEntryFunction() {}
+  ~FileSystemEntryFunction() override {}
 
   // This is called when writable file entries are being returned. The function
   // will ensure the files exist, creating them if necessary, and also check
@@ -88,8 +88,8 @@
                              FILESYSTEM_GETWRITABLEENTRY)
 
  protected:
-  virtual ~FileSystemGetWritableEntryFunction() {}
-  virtual bool RunAsync() override;
+  ~FileSystemGetWritableEntryFunction() override {}
+  bool RunAsync() override;
 
  private:
   void CheckPermissionAndSendResponse();
@@ -105,8 +105,8 @@
                              FILESYSTEM_ISWRITABLEENTRY)
 
  protected:
-  virtual ~FileSystemIsWritableEntryFunction() {}
-  virtual bool RunSync() override;
+  ~FileSystemIsWritableEntryFunction() override {}
+  bool RunSync() override;
 };
 
 class FileSystemChooseEntryFunction : public FileSystemEntryFunction {
@@ -145,8 +145,8 @@
  protected:
   class FilePicker;
 
-  virtual ~FileSystemChooseEntryFunction() {}
-  virtual bool RunAsync() override;
+  ~FileSystemChooseEntryFunction() override {}
+  bool RunAsync() override;
   void ShowPicker(const ui::SelectFileDialog::FileTypeInfo& file_type_info,
                   ui::SelectFileDialog::Type picker_type);
 
@@ -177,8 +177,8 @@
   DECLARE_EXTENSION_FUNCTION("fileSystem.retainEntry", FILESYSTEM_RETAINENTRY)
 
  protected:
-  virtual ~FileSystemRetainEntryFunction() {}
-  virtual bool RunAsync() override;
+  ~FileSystemRetainEntryFunction() override {}
+  bool RunAsync() override;
 
  private:
   // Retains the file entry referenced by |entry_id| in apps::SavedFilesService.
@@ -195,8 +195,8 @@
   DECLARE_EXTENSION_FUNCTION("fileSystem.isRestorable", FILESYSTEM_ISRESTORABLE)
 
  protected:
-  virtual ~FileSystemIsRestorableFunction() {}
-  virtual bool RunSync() override;
+  ~FileSystemIsRestorableFunction() override {}
+  bool RunSync() override;
 };
 
 class FileSystemRestoreEntryFunction : public FileSystemEntryFunction {
@@ -204,8 +204,8 @@
   DECLARE_EXTENSION_FUNCTION("fileSystem.restoreEntry", FILESYSTEM_RESTOREENTRY)
 
  protected:
-  virtual ~FileSystemRestoreEntryFunction() {}
-  virtual bool RunAsync() override;
+  ~FileSystemRestoreEntryFunction() override {}
+  bool RunAsync() override;
 };
 
 class FileSystemObserveDirectoryFunction : public ChromeSyncExtensionFunction {
@@ -214,8 +214,8 @@
                              FILESYSTEM_OBSERVEDIRECTORY)
 
  protected:
-  virtual ~FileSystemObserveDirectoryFunction() {}
-  virtual bool RunSync() override;
+  ~FileSystemObserveDirectoryFunction() override {}
+  bool RunSync() override;
 };
 
 class FileSystemUnobserveEntryFunction : public ChromeSyncExtensionFunction {
@@ -224,8 +224,8 @@
                              FILESYSTEM_UNOBSERVEENTRY)
 
  protected:
-  virtual ~FileSystemUnobserveEntryFunction() {}
-  virtual bool RunSync() override;
+  ~FileSystemUnobserveEntryFunction() override {}
+  bool RunSync() override;
 };
 
 class FileSystemGetObservedEntriesFunction
@@ -235,8 +235,8 @@
                              FILESYSTEM_GETOBSERVEDENTRIES);
 
  protected:
-  virtual ~FileSystemGetObservedEntriesFunction() {}
-  virtual bool RunSync() override;
+  ~FileSystemGetObservedEntriesFunction() override {}
+  bool RunSync() override;
 };
 
 }  // namespace extensions
diff --git a/chrome/browser/extensions/api/file_system/file_system_apitest.cc b/chrome/browser/extensions/api/file_system/file_system_apitest.cc
index 91939f7..4b1861df 100644
--- a/chrome/browser/extensions/api/file_system/file_system_apitest.cc
+++ b/chrome/browser/extensions/api/file_system/file_system_apitest.cc
@@ -31,8 +31,8 @@
     extension_registry_observer_.Add(ExtensionRegistry::Get(browser_context));
   }
 
-  virtual void OnExtensionLoaded(content::BrowserContext* browser_context,
-                                 const Extension* extension) override {
+  void OnExtensionLoaded(content::BrowserContext* browser_context,
+                         const Extension* extension) override {
     callback_.Run(extension);
   }
 
@@ -64,7 +64,7 @@
 
 class FileSystemApiTest : public PlatformAppBrowserTest {
  public:
-  virtual void SetUpCommandLine(CommandLine* command_line) override {
+  void SetUpCommandLine(CommandLine* command_line) override {
     PlatformAppBrowserTest::SetUpCommandLine(command_line);
     test_root_folder_ = test_data_dir_.AppendASCII("api_test")
         .AppendASCII("file_system");
@@ -72,9 +72,7 @@
         "test_root", test_root_folder_);
   }
 
-  virtual void SetUpOnMainThread() override {
-    ClearCommandLineArgs();
-  }
+  void SetUpOnMainThread() override { ClearCommandLineArgs(); }
 
   virtual void TearDown() override {
     FileSystemChooseEntryFunction::StopSkippingPickerForTest();
diff --git a/chrome/browser/extensions/api/font_settings/font_settings_api.h b/chrome/browser/extensions/api/font_settings/font_settings_api.h
index b2dc212..8d506fe 100644
--- a/chrome/browser/extensions/api/font_settings/font_settings_api.h
+++ b/chrome/browser/extensions/api/font_settings/font_settings_api.h
@@ -77,7 +77,7 @@
 class FontSettingsAPI : public BrowserContextKeyedAPI {
  public:
   explicit FontSettingsAPI(content::BrowserContext* context);
-  virtual ~FontSettingsAPI();
+  ~FontSettingsAPI() override;
 
   // BrowserContextKeyedAPI implementation.
   static BrowserContextKeyedAPIFactory<FontSettingsAPI>* GetFactoryInstance();
@@ -102,10 +102,10 @@
  protected:
   // RefCounted types have non-public destructors, as with all extension
   // functions in this file.
-  virtual ~FontSettingsClearFontFunction() {}
+  ~FontSettingsClearFontFunction() override {}
 
   // ExtensionFunction:
-  virtual bool RunSync() override;
+  bool RunSync() override;
 };
 
 // fontSettings.getFont API function.
@@ -114,10 +114,10 @@
   DECLARE_EXTENSION_FUNCTION("fontSettings.getFont", FONTSETTINGS_GETFONT)
 
  protected:
-  virtual ~FontSettingsGetFontFunction() {}
+  ~FontSettingsGetFontFunction() override {}
 
   // ExtensionFunction:
-  virtual bool RunSync() override;
+  bool RunSync() override;
 };
 
 // fontSettings.setFont API function.
@@ -126,10 +126,10 @@
   DECLARE_EXTENSION_FUNCTION("fontSettings.setFont", FONTSETTINGS_SETFONT)
 
  protected:
-  virtual ~FontSettingsSetFontFunction() {}
+  ~FontSettingsSetFontFunction() override {}
 
   // ExtensionFunction:
-  virtual bool RunSync() override;
+  bool RunSync() override;
 };
 
 // fontSettings.getFontList API function.
@@ -139,10 +139,10 @@
                              FONTSETTINGS_GETFONTLIST)
 
  protected:
-  virtual ~FontSettingsGetFontListFunction() {}
+  ~FontSettingsGetFontListFunction() override {}
 
   // ExtensionFunction:
-  virtual bool RunAsync() override;
+  bool RunAsync() override;
 
  private:
   void FontListHasLoaded(scoped_ptr<base::ListValue> list);
@@ -152,10 +152,10 @@
 // Base class for extension API functions that clear a browser font pref.
 class ClearFontPrefExtensionFunction : public ChromeSyncExtensionFunction {
  protected:
-  virtual ~ClearFontPrefExtensionFunction() {}
+  ~ClearFontPrefExtensionFunction() override {}
 
   // ExtensionFunction:
-  virtual bool RunSync() override;
+  bool RunSync() override;
 
   // Implementations should return the name of the preference to clear, like
   // "webkit.webprefs.default_font_size".
@@ -165,10 +165,10 @@
 // Base class for extension API functions that get a browser font pref.
 class GetFontPrefExtensionFunction : public ChromeSyncExtensionFunction {
  protected:
-  virtual ~GetFontPrefExtensionFunction() {}
+  ~GetFontPrefExtensionFunction() override {}
 
   // ExtensionFunction:
-  virtual bool RunSync() override;
+  bool RunSync() override;
 
   // Implementations should return the name of the preference to get, like
   // "webkit.webprefs.default_font_size".
@@ -182,10 +182,10 @@
 // Base class for extension API functions that set a browser font pref.
 class SetFontPrefExtensionFunction : public ChromeSyncExtensionFunction {
  protected:
-  virtual ~SetFontPrefExtensionFunction() {}
+  ~SetFontPrefExtensionFunction() override {}
 
   // ExtensionFunction:
-  virtual bool RunSync() override;
+  bool RunSync() override;
 
   // Implementations should return the name of the preference to set, like
   // "webkit.webprefs.default_font_size".
@@ -206,10 +206,10 @@
                              FONTSETTINGS_CLEARDEFAULTFONTSIZE)
 
  protected:
-  virtual ~FontSettingsClearDefaultFontSizeFunction() {}
+  ~FontSettingsClearDefaultFontSizeFunction() override {}
 
   // ClearFontPrefExtensionFunction:
-  virtual const char* GetPrefName() override;
+  const char* GetPrefName() override;
 };
 
 class FontSettingsGetDefaultFontSizeFunction
@@ -219,11 +219,11 @@
                              FONTSETTINGS_GETDEFAULTFONTSIZE)
 
  protected:
-  virtual ~FontSettingsGetDefaultFontSizeFunction() {}
+  ~FontSettingsGetDefaultFontSizeFunction() override {}
 
   // GetFontPrefExtensionFunction:
-  virtual const char* GetPrefName() override;
-  virtual const char* GetKey() override;
+  const char* GetPrefName() override;
+  const char* GetKey() override;
 };
 
 class FontSettingsSetDefaultFontSizeFunction
@@ -233,11 +233,11 @@
                              FONTSETTINGS_SETDEFAULTFONTSIZE)
 
  protected:
-  virtual ~FontSettingsSetDefaultFontSizeFunction() {}
+  ~FontSettingsSetDefaultFontSizeFunction() override {}
 
   // SetFontPrefExtensionFunction:
-  virtual const char* GetPrefName() override;
-  virtual const char* GetKey() override;
+  const char* GetPrefName() override;
+  const char* GetKey() override;
 };
 
 class FontSettingsClearDefaultFixedFontSizeFunction
@@ -247,10 +247,10 @@
                              FONTSETTINGS_CLEARDEFAULTFIXEDFONTSIZE)
 
  protected:
-  virtual ~FontSettingsClearDefaultFixedFontSizeFunction() {}
+  ~FontSettingsClearDefaultFixedFontSizeFunction() override {}
 
   // ClearFontPrefExtensionFunction:
-  virtual const char* GetPrefName() override;
+  const char* GetPrefName() override;
 };
 
 class FontSettingsGetDefaultFixedFontSizeFunction
@@ -260,11 +260,11 @@
                              FONTSETTINGS_GETDEFAULTFIXEDFONTSIZE)
 
  protected:
-  virtual ~FontSettingsGetDefaultFixedFontSizeFunction() {}
+  ~FontSettingsGetDefaultFixedFontSizeFunction() override {}
 
   // GetFontPrefExtensionFunction:
-  virtual const char* GetPrefName() override;
-  virtual const char* GetKey() override;
+  const char* GetPrefName() override;
+  const char* GetKey() override;
 };
 
 class FontSettingsSetDefaultFixedFontSizeFunction
@@ -274,11 +274,11 @@
                              FONTSETTINGS_SETDEFAULTFIXEDFONTSIZE)
 
  protected:
-  virtual ~FontSettingsSetDefaultFixedFontSizeFunction() {}
+  ~FontSettingsSetDefaultFixedFontSizeFunction() override {}
 
   // SetFontPrefExtensionFunction:
-  virtual const char* GetPrefName() override;
-  virtual const char* GetKey() override;
+  const char* GetPrefName() override;
+  const char* GetKey() override;
 };
 
 class FontSettingsClearMinimumFontSizeFunction
@@ -288,10 +288,10 @@
                              FONTSETTINGS_CLEARMINIMUMFONTSIZE)
 
  protected:
-  virtual ~FontSettingsClearMinimumFontSizeFunction() {}
+  ~FontSettingsClearMinimumFontSizeFunction() override {}
 
   // ClearFontPrefExtensionFunction:
-  virtual const char* GetPrefName() override;
+  const char* GetPrefName() override;
 };
 
 class FontSettingsGetMinimumFontSizeFunction
@@ -301,11 +301,11 @@
                              FONTSETTINGS_GETMINIMUMFONTSIZE)
 
  protected:
-  virtual ~FontSettingsGetMinimumFontSizeFunction() {}
+  ~FontSettingsGetMinimumFontSizeFunction() override {}
 
   // GetFontPrefExtensionFunction:
-  virtual const char* GetPrefName() override;
-  virtual const char* GetKey() override;
+  const char* GetPrefName() override;
+  const char* GetKey() override;
 };
 
 class FontSettingsSetMinimumFontSizeFunction
@@ -315,11 +315,11 @@
                              FONTSETTINGS_SETMINIMUMFONTSIZE)
 
  protected:
-  virtual ~FontSettingsSetMinimumFontSizeFunction() {}
+  ~FontSettingsSetMinimumFontSizeFunction() override {}
 
   // SetFontPrefExtensionFunction:
-  virtual const char* GetPrefName() override;
-  virtual const char* GetKey() override;
+  const char* GetPrefName() override;
+  const char* GetKey() override;
 };
 
 }  // namespace extensions
diff --git a/chrome/browser/extensions/api/gcd_private/gcd_private_api.cc b/chrome/browser/extensions/api/gcd_private/gcd_private_api.cc
index 63d77e3..1137332 100644
--- a/chrome/browser/extensions/api/gcd_private/gcd_private_api.cc
+++ b/chrome/browser/extensions/api/gcd_private/gcd_private_api.cc
@@ -150,16 +150,16 @@
       PasswordMap;
 
   // EventRouter::Observer implementation.
-  virtual void OnListenerAdded(const EventListenerInfo& details) override;
-  virtual void OnListenerRemoved(const EventListenerInfo& details) override;
+  void OnListenerAdded(const EventListenerInfo& details) override;
+  void OnListenerRemoved(const EventListenerInfo& details) override;
 
   // local_discovery::PrivetDeviceLister implementation.
-  virtual void DeviceChanged(
+  void DeviceChanged(
       bool added,
       const std::string& name,
       const local_discovery::DeviceDescription& description) override;
-  virtual void DeviceRemoved(const std::string& name) override;
-  virtual void DeviceCacheFlushed() override;
+  void DeviceRemoved(const std::string& name) override;
+  void DeviceCacheFlushed() override;
 
   void SendMessageInternal(int session_id,
                            const std::string& api,
@@ -197,14 +197,14 @@
                     const base::DictionaryValue& input,
                     const GcdPrivateAPIImpl::MessageResponseCallback& callback,
                     GcdPrivateSessionHolder* session_holder);
-  virtual ~GcdPrivateRequest();
+  ~GcdPrivateRequest() override;
 
   // local_discovery::PrivetV3Session::Request implementation.
-  virtual std::string GetName() override;
-  virtual const base::DictionaryValue& GetInput() override;
-  virtual void OnError() override;
-  virtual void OnParsedJson(const base::DictionaryValue& value,
-                            bool has_error) override;
+  std::string GetName() override;
+  const base::DictionaryValue& GetInput() override;
+  void OnError() override;
+  void OnParsedJson(const base::DictionaryValue& value,
+                    bool has_error) override;
 
   void RunCallback(gcd_private::Status status,
                    const base::DictionaryValue& value);
@@ -227,7 +227,7 @@
   GcdPrivateSessionHolder(const std::string& ip_address,
                           int port,
                           net::URLRequestContextGetter* request_context);
-  virtual ~GcdPrivateSessionHolder();
+  ~GcdPrivateSessionHolder() override;
 
   void Start(const ConfirmationCodeCallback& callback);
 
@@ -243,10 +243,10 @@
 
  private:
   // local_discovery::PrivetV3Session::Delegate implementation.
-  virtual void OnSetupConfirmationNeeded(
+  void OnSetupConfirmationNeeded(
       const std::string& confirmation_code,
       api::gcd_private::ConfirmationType confirmation_type) override;
-  virtual void OnSessionStatus(api::gcd_private::Status status) override;
+  void OnSessionStatus(api::gcd_private::Status status) override;
 
   scoped_ptr<local_discovery::PrivetHTTPClient> http_client_;
   scoped_ptr<local_discovery::PrivetV3Session> privet_session_;
diff --git a/chrome/browser/extensions/api/gcd_private/gcd_private_api.h b/chrome/browser/extensions/api/gcd_private/gcd_private_api.h
index bce1118..b0380adc 100644
--- a/chrome/browser/extensions/api/gcd_private/gcd_private_api.h
+++ b/chrome/browser/extensions/api/gcd_private/gcd_private_api.h
@@ -29,7 +29,7 @@
   };
 
   explicit GcdPrivateAPI(content::BrowserContext* context);
-  virtual ~GcdPrivateAPI();
+  ~GcdPrivateAPI() override;
 
   static void SetGCDApiFlowFactoryForTests(GCDApiFlowFactoryForTests* factory);
 
@@ -56,15 +56,15 @@
   GcdPrivateGetCloudDeviceListFunction();
 
  protected:
-  virtual ~GcdPrivateGetCloudDeviceListFunction();
+  ~GcdPrivateGetCloudDeviceListFunction() override;
 
   // AsyncExtensionFunction overrides.
-  virtual bool RunAsync() override;
+  bool RunAsync() override;
 
  private:
   // CloudDeviceListDelegate implementation
-  virtual void OnDeviceListReady(const DeviceList& devices) override;
-  virtual void OnDeviceListUnavailable() override;
+  void OnDeviceListReady(const DeviceList& devices) override;
+  void OnDeviceListUnavailable() override;
 
   void CheckListingDone();
 
@@ -85,10 +85,10 @@
   GcdPrivateQueryForNewLocalDevicesFunction();
 
  protected:
-  virtual ~GcdPrivateQueryForNewLocalDevicesFunction();
+  ~GcdPrivateQueryForNewLocalDevicesFunction() override;
 
   // SyncExtensionFunction overrides.
-  virtual bool RunSync() override;
+  bool RunSync() override;
 };
 
 class GcdPrivatePrefetchWifiPasswordFunction
@@ -100,10 +100,10 @@
   GcdPrivatePrefetchWifiPasswordFunction();
 
  protected:
-  virtual ~GcdPrivatePrefetchWifiPasswordFunction();
+  ~GcdPrivatePrefetchWifiPasswordFunction() override;
 
   // AsyncExtensionFunction overrides.
-  virtual bool RunAsync() override;
+  bool RunAsync() override;
 
   void OnResponse(bool response);
 };
@@ -117,10 +117,10 @@
   GcdPrivateGetPrefetchedWifiNameListFunction();
 
  protected:
-  virtual ~GcdPrivateGetPrefetchedWifiNameListFunction();
+  ~GcdPrivateGetPrefetchedWifiNameListFunction() override;
 
   // SyncExtensionFunction overrides.
-  virtual bool RunSync() override;
+  bool RunSync() override;
 };
 
 class GcdPrivateEstablishSessionFunction : public ChromeAsyncExtensionFunction {
@@ -131,10 +131,10 @@
   GcdPrivateEstablishSessionFunction();
 
  protected:
-  virtual ~GcdPrivateEstablishSessionFunction();
+  ~GcdPrivateEstablishSessionFunction() override;
 
   // AsyncExtensionFunction overrides.
-  virtual bool RunAsync() override;
+  bool RunAsync() override;
 
  private:
   void OnConfirmCodeCallback(
@@ -151,10 +151,10 @@
   GcdPrivateConfirmCodeFunction();
 
  protected:
-  virtual ~GcdPrivateConfirmCodeFunction();
+  ~GcdPrivateConfirmCodeFunction() override;
 
   // AsyncExtensionFunction overrides.
-  virtual bool RunAsync() override;
+  bool RunAsync() override;
 
  private:
   void OnSessionEstablishedCallback(api::gcd_private::Status status);
@@ -167,10 +167,10 @@
   GcdPrivateSendMessageFunction();
 
  protected:
-  virtual ~GcdPrivateSendMessageFunction();
+  ~GcdPrivateSendMessageFunction() override;
 
   // AsyncExtensionFunction overrides.
-  virtual bool RunAsync() override;
+  bool RunAsync() override;
 
  private:
   void OnMessageSentCallback(api::gcd_private::Status status,
@@ -185,10 +185,10 @@
   GcdPrivateTerminateSessionFunction();
 
  protected:
-  virtual ~GcdPrivateTerminateSessionFunction();
+  ~GcdPrivateTerminateSessionFunction() override;
 
   // AsyncExtensionFunction overrides.
-  virtual bool RunAsync() override;
+  bool RunAsync() override;
 };
 
 class GcdPrivateGetCommandDefinitionsFunction
@@ -200,10 +200,10 @@
   GcdPrivateGetCommandDefinitionsFunction();
 
  protected:
-  virtual ~GcdPrivateGetCommandDefinitionsFunction();
+  ~GcdPrivateGetCommandDefinitionsFunction() override;
 
   // AsyncExtensionFunction overrides.
-  virtual bool RunAsync() override;
+  bool RunAsync() override;
 
  private:
 };
@@ -216,10 +216,10 @@
   GcdPrivateInsertCommandFunction();
 
  protected:
-  virtual ~GcdPrivateInsertCommandFunction();
+  ~GcdPrivateInsertCommandFunction() override;
 
   // AsyncExtensionFunction overrides.
-  virtual bool RunAsync() override;
+  bool RunAsync() override;
 
  private:
 };
@@ -231,10 +231,10 @@
   GcdPrivateGetCommandFunction();
 
  protected:
-  virtual ~GcdPrivateGetCommandFunction();
+  ~GcdPrivateGetCommandFunction() override;
 
   // AsyncExtensionFunction overrides.
-  virtual bool RunAsync() override;
+  bool RunAsync() override;
 
  private:
 };
@@ -247,10 +247,10 @@
   GcdPrivateCancelCommandFunction();
 
  protected:
-  virtual ~GcdPrivateCancelCommandFunction();
+  ~GcdPrivateCancelCommandFunction() override;
 
   // AsyncExtensionFunction overrides.
-  virtual bool RunAsync() override;
+  bool RunAsync() override;
 
  private:
 };
@@ -263,10 +263,10 @@
   GcdPrivateGetCommandsListFunction();
 
  protected:
-  virtual ~GcdPrivateGetCommandsListFunction();
+  ~GcdPrivateGetCommandsListFunction() override;
 
   // AsyncExtensionFunction overrides.
-  virtual bool RunAsync() override;
+  bool RunAsync() override;
 
  private:
 };
diff --git a/chrome/browser/extensions/api/gcd_private/gcd_private_apitest.cc b/chrome/browser/extensions/api/gcd_private/gcd_private_apitest.cc
index e43f171..9f993600 100644
--- a/chrome/browser/extensions/api/gcd_private/gcd_private_apitest.cc
+++ b/chrome/browser/extensions/api/gcd_private/gcd_private_apitest.cc
@@ -173,11 +173,11 @@
     extensions::GcdPrivateAPI::SetGCDApiFlowFactoryForTests(this);
   }
 
-  virtual ~FakeGCDApiFlowFactory() {
+  ~FakeGCDApiFlowFactory() override {
     extensions::GcdPrivateAPI::SetGCDApiFlowFactoryForTests(NULL);
   }
 
-  virtual scoped_ptr<local_discovery::GCDApiFlow> CreateGCDApiFlow() override {
+  scoped_ptr<local_discovery::GCDApiFlow> CreateGCDApiFlow() override {
     return scoped_ptr<local_discovery::GCDApiFlow>(new FakeGCDApiFlow(this));
   }
 
@@ -191,9 +191,9 @@
     explicit FakeGCDApiFlow(FakeGCDApiFlowFactory* factory)
         : factory_(factory) {}
 
-    virtual ~FakeGCDApiFlow() {}
+    ~FakeGCDApiFlow() override {}
 
-    virtual void Start(scoped_ptr<Request> request) override {
+    void Start(scoped_ptr<Request> request) override {
       std::string response_str = factory_->responses_[request->GetURL()];
 
       if (response_str == kResponseValueFailure) {
@@ -228,7 +228,7 @@
 #endif  // ENABLE_MDNS
   }
 
-  virtual void SetUpCommandLine(CommandLine* command_line) override {
+  void SetUpCommandLine(CommandLine* command_line) override {
     ExtensionApiTest::SetUpCommandLine(command_line);
     command_line->AppendSwitchASCII(
         extensions::switches::kWhitelistedExtensionID,
diff --git a/chrome/browser/extensions/api/gcm/gcm_api.h b/chrome/browser/extensions/api/gcm/gcm_api.h
index 01a21cc..b6b33d2 100644
--- a/chrome/browser/extensions/api/gcm/gcm_api.h
+++ b/chrome/browser/extensions/api/gcm/gcm_api.h
@@ -23,10 +23,10 @@
   GcmApiFunction() {}
 
  protected:
-  virtual ~GcmApiFunction() {}
+  ~GcmApiFunction() override {}
 
   // ExtensionFunction:
-  virtual bool RunAsync() override final;
+  bool RunAsync() final;
 
   // Actual implementation of specific functions.
   virtual bool DoWork() = 0;
@@ -44,10 +44,10 @@
   GcmRegisterFunction();
 
  protected:
-  virtual ~GcmRegisterFunction();
+  ~GcmRegisterFunction() override;
 
   // Register function implementation.
-  virtual bool DoWork() override final;
+  bool DoWork() final;
 
  private:
   void CompleteFunctionWithResult(const std::string& registration_id,
@@ -61,10 +61,10 @@
   GcmUnregisterFunction();
 
  protected:
-  virtual ~GcmUnregisterFunction();
+  ~GcmUnregisterFunction() override;
 
   // Register function implementation.
-  virtual bool DoWork() override final;
+  bool DoWork() final;
 
  private:
   void CompleteFunctionWithResult(gcm::GCMClient::Result result);
@@ -77,10 +77,10 @@
   GcmSendFunction();
 
  protected:
-  virtual ~GcmSendFunction();
+  ~GcmSendFunction() override;
 
   // Send function implementation.
-  virtual bool DoWork() override final;
+  bool DoWork() final;
 
  private:
   void CompleteFunctionWithResult(const std::string& message_id,
diff --git a/chrome/browser/extensions/api/gcm/gcm_apitest.cc b/chrome/browser/extensions/api/gcm/gcm_apitest.cc
index 0889c1d..4ab4e24 100644
--- a/chrome/browser/extensions/api/gcm/gcm_apitest.cc
+++ b/chrome/browser/extensions/api/gcm/gcm_apitest.cc
@@ -61,8 +61,8 @@
   GcmApiTest() : fake_gcm_profile_service_(NULL) {}
 
  protected:
-  virtual void SetUpCommandLine(CommandLine* command_line) override;
-  virtual void SetUpOnMainThread() override;
+  void SetUpCommandLine(CommandLine* command_line) override;
+  void SetUpOnMainThread() override;
 
   void StartCollecting();
 
diff --git a/chrome/browser/extensions/api/history/history_api.h b/chrome/browser/extensions/api/history/history_api.h
index 1f89660..ccae66f 100644
--- a/chrome/browser/extensions/api/history/history_api.h
+++ b/chrome/browser/extensions/api/history/history_api.h
@@ -32,20 +32,20 @@
                            public history::HistoryServiceObserver {
  public:
   HistoryEventRouter(Profile* profile, HistoryService* history_service);
-  virtual ~HistoryEventRouter();
+  ~HistoryEventRouter() override;
 
  private:
   // content::NotificationObserver::Observe.
-  virtual void Observe(int type,
-                       const content::NotificationSource& source,
-                       const content::NotificationDetails& details) override;
+  void Observe(int type,
+               const content::NotificationSource& source,
+               const content::NotificationDetails& details) override;
 
   // history::HistoryServiceObserver.
-  virtual void OnURLVisited(HistoryService* history_service,
-                            ui::PageTransition transition,
-                            const history::URLRow& row,
-                            const history::RedirectList& redirects,
-                            base::Time visit_time) override;
+  void OnURLVisited(HistoryService* history_service,
+                    ui::PageTransition transition,
+                    const history::URLRow& row,
+                    const history::RedirectList& redirects,
+                    base::Time visit_time) override;
 
   void HistoryUrlsRemoved(Profile* profile,
                           const history::URLsDeletedDetails* details);
@@ -66,16 +66,16 @@
 class HistoryAPI : public BrowserContextKeyedAPI, public EventRouter::Observer {
  public:
   explicit HistoryAPI(content::BrowserContext* context);
-  virtual ~HistoryAPI();
+  ~HistoryAPI() override;
 
   // KeyedService implementation.
-  virtual void Shutdown() override;
+  void Shutdown() override;
 
   // BrowserContextKeyedAPI implementation.
   static BrowserContextKeyedAPIFactory<HistoryAPI>* GetFactoryInstance();
 
   // EventRouter::Observer implementation.
-  virtual void OnListenerAdded(const EventListenerInfo& details) override;
+  void OnListenerAdded(const EventListenerInfo& details) override;
 
  private:
   friend class BrowserContextKeyedAPIFactory<HistoryAPI>;
@@ -98,7 +98,7 @@
 // Base class for history function APIs.
 class HistoryFunction : public ChromeAsyncExtensionFunction {
  protected:
-  virtual ~HistoryFunction() {}
+  ~HistoryFunction() override {}
 
   bool ValidateUrl(const std::string& url_string, GURL* url);
   bool VerifyDeleteAllowed();
@@ -112,10 +112,10 @@
   HistoryFunctionWithCallback();
 
  protected:
-  virtual ~HistoryFunctionWithCallback();
+  ~HistoryFunctionWithCallback() override;
 
   // ExtensionFunction:
-  virtual bool RunAsync() override;
+  bool RunAsync() override;
 
   // Return true if the async call was completed, false otherwise.
   virtual bool RunAsyncImpl() = 0;
@@ -138,10 +138,10 @@
   DECLARE_EXTENSION_FUNCTION("history.getVisits", HISTORY_GETVISITS)
 
  protected:
-  virtual ~HistoryGetVisitsFunction() {}
+  ~HistoryGetVisitsFunction() override {}
 
   // HistoryFunctionWithCallback:
-  virtual bool RunAsyncImpl() override;
+  bool RunAsyncImpl() override;
 
   // Callback for the history function to provide results.
   void QueryComplete(bool success,
@@ -154,10 +154,10 @@
   DECLARE_EXTENSION_FUNCTION("history.search", HISTORY_SEARCH)
 
  protected:
-  virtual ~HistorySearchFunction() {}
+  ~HistorySearchFunction() override {}
 
   // HistoryFunctionWithCallback:
-  virtual bool RunAsyncImpl() override;
+  bool RunAsyncImpl() override;
 
   // Callback for the history function to provide results.
   void SearchComplete(history::QueryResults* results);
@@ -168,10 +168,10 @@
   DECLARE_EXTENSION_FUNCTION("history.addUrl", HISTORY_ADDURL)
 
  protected:
-  virtual ~HistoryAddUrlFunction() {}
+  ~HistoryAddUrlFunction() override {}
 
   // HistoryFunctionWithCallback:
-  virtual bool RunAsync() override;
+  bool RunAsync() override;
 };
 
 class HistoryDeleteAllFunction : public HistoryFunctionWithCallback {
@@ -179,10 +179,10 @@
   DECLARE_EXTENSION_FUNCTION("history.deleteAll", HISTORY_DELETEALL)
 
  protected:
-  virtual ~HistoryDeleteAllFunction() {}
+  ~HistoryDeleteAllFunction() override {}
 
   // HistoryFunctionWithCallback:
-  virtual bool RunAsyncImpl() override;
+  bool RunAsyncImpl() override;
 
   // Callback for the history service to acknowledge deletion.
   void DeleteComplete();
@@ -194,10 +194,10 @@
   DECLARE_EXTENSION_FUNCTION("history.deleteUrl", HISTORY_DELETEURL)
 
  protected:
-  virtual ~HistoryDeleteUrlFunction() {}
+  ~HistoryDeleteUrlFunction() override {}
 
   // HistoryFunctionWithCallback:
-  virtual bool RunAsync() override;
+  bool RunAsync() override;
 };
 
 class HistoryDeleteRangeFunction : public HistoryFunctionWithCallback {
@@ -205,10 +205,10 @@
   DECLARE_EXTENSION_FUNCTION("history.deleteRange", HISTORY_DELETERANGE)
 
  protected:
-  virtual ~HistoryDeleteRangeFunction() {}
+  ~HistoryDeleteRangeFunction() override {}
 
   // HistoryFunctionWithCallback:
-  virtual bool RunAsyncImpl() override;
+  bool RunAsyncImpl() override;
 
   // Callback for the history service to acknowledge deletion.
   void DeleteComplete();
diff --git a/chrome/browser/extensions/api/history/history_apitest.cc b/chrome/browser/extensions/api/history/history_apitest.cc
index b3af0d8..ed42c8bd 100644
--- a/chrome/browser/extensions/api/history/history_apitest.cc
+++ b/chrome/browser/extensions/api/history/history_apitest.cc
@@ -14,7 +14,7 @@
 
 class HistoryApiTest : public ExtensionApiTest {
  public:
-  virtual void SetUpInProcessBrowserTestFixture() override {
+  void SetUpInProcessBrowserTestFixture() override {
     ExtensionApiTest::SetUpInProcessBrowserTestFixture();
 
     host_resolver()->AddRule("www.a.com", "127.0.0.1");
diff --git a/chrome/browser/extensions/api/hotword_private/hotword_private_api.h b/chrome/browser/extensions/api/hotword_private/hotword_private_api.h
index 9a7b371..790a88f 100644
--- a/chrome/browser/extensions/api/hotword_private/hotword_private_api.h
+++ b/chrome/browser/extensions/api/hotword_private/hotword_private_api.h
@@ -20,10 +20,10 @@
 class HotwordPrivateEventService : public BrowserContextKeyedAPI {
  public:
   explicit HotwordPrivateEventService(content::BrowserContext* context);
-  virtual ~HotwordPrivateEventService();
+  ~HotwordPrivateEventService() override;
 
   // BrowserContextKeyedAPI implementation.
-  virtual void Shutdown() override;
+  void Shutdown() override;
   static BrowserContextKeyedAPIFactory<HotwordPrivateEventService>*
       GetFactoryInstance();
   static const char* service_name();
@@ -50,10 +50,10 @@
                              HOTWORDPRIVATE_SETENABLED)
 
  protected:
-  virtual ~HotwordPrivateSetEnabledFunction() {}
+  ~HotwordPrivateSetEnabledFunction() override {}
 
   // ExtensionFunction:
-  virtual bool RunSync() override;
+  bool RunSync() override;
 };
 
 class HotwordPrivateSetAudioLoggingEnabledFunction
@@ -63,10 +63,10 @@
                              HOTWORDPRIVATE_SETAUDIOLOGGINGENABLED)
 
  protected:
-  virtual ~HotwordPrivateSetAudioLoggingEnabledFunction() {}
+  ~HotwordPrivateSetAudioLoggingEnabledFunction() override {}
 
   // ExtensionFunction:
-  virtual bool RunSync() override;
+  bool RunSync() override;
 };
 
 class HotwordPrivateSetHotwordAlwaysOnSearchEnabledFunction
@@ -76,10 +76,10 @@
                              HOTWORDPRIVATE_SETHOTWORDALWAYSONSEARCHENABLED)
 
  protected:
-  virtual ~HotwordPrivateSetHotwordAlwaysOnSearchEnabledFunction() {}
+  ~HotwordPrivateSetHotwordAlwaysOnSearchEnabledFunction() override {}
 
   // ExtensionFunction:
-  virtual bool RunSync() override;
+  bool RunSync() override;
 };
 
 class HotwordPrivateGetStatusFunction : public ChromeSyncExtensionFunction {
@@ -88,10 +88,10 @@
                              HOTWORDPRIVATE_GETSTATUS)
 
  protected:
-  virtual ~HotwordPrivateGetStatusFunction() {}
+  ~HotwordPrivateGetStatusFunction() override {}
 
   // ExtensionFunction:
-  virtual bool RunSync() override;
+  bool RunSync() override;
 };
 
 class HotwordPrivateSetHotwordSessionStateFunction
@@ -101,10 +101,10 @@
                              HOTWORDPRIVATE_SETHOTWORDSESSIONSTATE);
 
  protected:
-  virtual ~HotwordPrivateSetHotwordSessionStateFunction() {}
+  ~HotwordPrivateSetHotwordSessionStateFunction() override {}
 
   // ExtensionFunction:
-  virtual bool RunSync() override;
+  bool RunSync() override;
 };
 
 class HotwordPrivateNotifyHotwordRecognitionFunction
@@ -114,10 +114,10 @@
                              HOTWORDPRIVATE_NOTIFYHOTWORDRECOGNITION);
 
  protected:
-  virtual ~HotwordPrivateNotifyHotwordRecognitionFunction() {}
+  ~HotwordPrivateNotifyHotwordRecognitionFunction() override {}
 
   // ExtensionFunction:
-  virtual bool RunSync() override;
+  bool RunSync() override;
 };
 
 class HotwordPrivateGetLaunchStateFunction :
@@ -127,10 +127,10 @@
                              HOTWORDPRIVATE_GETLAUNCHSTATE)
 
  protected:
-  virtual ~HotwordPrivateGetLaunchStateFunction() {}
+  ~HotwordPrivateGetLaunchStateFunction() override {}
 
   // ExtensionFunction:
-  virtual bool RunSync() override;
+  bool RunSync() override;
 };
 
 }  // namespace extensions
diff --git a/chrome/browser/extensions/api/hotword_private/hotword_private_apitest.cc b/chrome/browser/extensions/api/hotword_private/hotword_private_apitest.cc
index def38dd..020c655 100644
--- a/chrome/browser/extensions/api/hotword_private/hotword_private_apitest.cc
+++ b/chrome/browser/extensions/api/hotword_private/hotword_private_apitest.cc
@@ -24,11 +24,9 @@
  public:
   explicit MockHotwordService(Profile* profile)
       : HotwordService(profile), service_available_(true) {};
-  virtual ~MockHotwordService() {}
+  ~MockHotwordService() override {}
 
-  virtual bool IsServiceAvailable() override {
-    return service_available_;
-  }
+  bool IsServiceAvailable() override { return service_available_; }
 
   void setServiceAvailable(bool available) {
     service_available_ = available;
@@ -38,7 +36,7 @@
     return new MockHotwordService(static_cast<Profile*>(profile));
   }
 
-  virtual LaunchMode GetHotwordAudioVerificationLaunchMode() override {
+  LaunchMode GetHotwordAudioVerificationLaunchMode() override {
     return launch_mode_;
   }
 
@@ -61,16 +59,14 @@
         recognized_count_(0) {
   }
 
-  virtual ~MockHotwordClient() {}
+  ~MockHotwordClient() override {}
 
-  virtual void OnHotwordStateChanged(bool enabled) override {
+  void OnHotwordStateChanged(bool enabled) override {
     last_enabled_ = enabled;
     state_changed_count_++;
   }
 
-  virtual void OnHotwordRecognized() override {
-    recognized_count_++;
-  }
+  void OnHotwordRecognized() override { recognized_count_++; }
 
   bool last_enabled() const { return last_enabled_; }
   int state_changed_count() const { return state_changed_count_; }
@@ -89,7 +85,7 @@
   HotwordPrivateApiTest() {}
   virtual ~HotwordPrivateApiTest() {}
 
-  virtual void SetUpCommandLine(base::CommandLine* command_line) override {
+  void SetUpCommandLine(base::CommandLine* command_line) override {
     ExtensionApiTest::SetUpCommandLine(command_line);
 
     // Whitelist the test extensions (which all share a common ID) to use
@@ -98,7 +94,7 @@
         extensions::switches::kWhitelistedExtensionID, kHotwordTestExtensionId);
   }
 
-  virtual void SetUpOnMainThread() override {
+  void SetUpOnMainThread() override {
     ExtensionApiTest::SetUpOnMainThread();
 
     test_data_dir_ = test_data_dir_.AppendASCII("hotword_private");
diff --git a/chrome/browser/extensions/api/i18n/i18n_api.h b/chrome/browser/extensions/api/i18n/i18n_api.h
index f99e499..5863aaa 100644
--- a/chrome/browser/extensions/api/i18n/i18n_api.h
+++ b/chrome/browser/extensions/api/i18n/i18n_api.h
@@ -13,8 +13,8 @@
 namespace extensions {
 
 class I18nGetAcceptLanguagesFunction : public ChromeSyncExtensionFunction {
-  virtual ~I18nGetAcceptLanguagesFunction() {}
-  virtual bool RunSync() override;
+  ~I18nGetAcceptLanguagesFunction() override {}
+  bool RunSync() override;
   DECLARE_EXTENSION_FUNCTION("i18n.getAcceptLanguages", I18N_GETACCEPTLANGUAGES)
 };
 
diff --git a/chrome/browser/extensions/api/identity/gaia_web_auth_flow.h b/chrome/browser/extensions/api/identity/gaia_web_auth_flow.h
index 364acd6..58e18f9a 100644
--- a/chrome/browser/extensions/api/identity/gaia_web_auth_flow.h
+++ b/chrome/browser/extensions/api/identity/gaia_web_auth_flow.h
@@ -64,19 +64,19 @@
                   const ExtensionTokenKey* token_key,
                   const std::string& oauth2_client_id,
                   const std::string& locale);
-  virtual ~GaiaWebAuthFlow();
+  ~GaiaWebAuthFlow() override;
 
   // Starts the flow by fetching an ubertoken. Can override for testing.
   virtual void Start();
 
   // UbertokenConsumer implementation:
-  virtual void OnUbertokenSuccess(const std::string& token) override;
-  virtual void OnUbertokenFailure(const GoogleServiceAuthError& error) override;
+  void OnUbertokenSuccess(const std::string& token) override;
+  void OnUbertokenFailure(const GoogleServiceAuthError& error) override;
 
   // WebAuthFlow::Delegate implementation.
-  virtual void OnAuthFlowFailure(WebAuthFlow::Failure failure) override;
-  virtual void OnAuthFlowURLChange(const GURL& redirect_url) override;
-  virtual void OnAuthFlowTitleChange(const std::string& title) override;
+  void OnAuthFlowFailure(WebAuthFlow::Failure failure) override;
+  void OnAuthFlowURLChange(const GURL& redirect_url) override;
+  void OnAuthFlowTitleChange(const std::string& title) override;
 
  private:
   // Creates a WebAuthFlow, which will navigate to |url|. Can override
diff --git a/chrome/browser/extensions/api/identity/gaia_web_auth_flow_unittest.cc b/chrome/browser/extensions/api/identity/gaia_web_auth_flow_unittest.cc
index 8b09815..555cff82 100644
--- a/chrome/browser/extensions/api/identity/gaia_web_auth_flow_unittest.cc
+++ b/chrome/browser/extensions/api/identity/gaia_web_auth_flow_unittest.cc
@@ -22,7 +22,7 @@
                     GURL(),
                     WebAuthFlow::INTERACTIVE) {}
 
-  virtual void Start() override {}
+  void Start() override {}
 };
 
 class TestGaiaWebAuthFlow : public GaiaWebAuthFlow {
@@ -34,7 +34,7 @@
       : GaiaWebAuthFlow(delegate, NULL, token_key, oauth2_client_id, "en-us"),
         ubertoken_error_(ubertoken_error_state) {}
 
-  virtual void Start() override {
+  void Start() override {
     if (ubertoken_error_.state() == GoogleServiceAuthError::NONE)
       OnUbertokenSuccess("fake_ubertoken");
     else
@@ -42,7 +42,7 @@
   }
 
  private:
-  virtual scoped_ptr<WebAuthFlow> CreateWebAuthFlow(GURL url) override {
+  scoped_ptr<WebAuthFlow> CreateWebAuthFlow(GURL url) override {
     return scoped_ptr<WebAuthFlow>(new FakeWebAuthFlow(this));
   }
 
diff --git a/chrome/browser/extensions/api/identity/identity_api.h b/chrome/browser/extensions/api/identity/identity_api.h
index 85d2c84..489029c 100644
--- a/chrome/browser/extensions/api/identity/identity_api.h
+++ b/chrome/browser/extensions/api/identity/identity_api.h
@@ -93,7 +93,7 @@
   };
 
   explicit IdentityAPI(content::BrowserContext* context);
-  virtual ~IdentityAPI();
+  ~IdentityAPI() override;
 
   // Request serialization queue for getAuthToken.
   IdentityMintRequestQueue* mint_queue();
@@ -113,14 +113,14 @@
   std::string FindAccountKeyByGaiaId(const std::string& gaia_id);
 
   // BrowserContextKeyedAPI implementation.
-  virtual void Shutdown() override;
+  void Shutdown() override;
   static BrowserContextKeyedAPIFactory<IdentityAPI>* GetFactoryInstance();
 
   // gaia::AccountTracker::Observer implementation:
-  virtual void OnAccountAdded(const gaia::AccountIds& ids) override;
-  virtual void OnAccountRemoved(const gaia::AccountIds& ids) override;
-  virtual void OnAccountSignInChanged(const gaia::AccountIds& ids,
-                                      bool is_signed_in) override;
+  void OnAccountAdded(const gaia::AccountIds& ids) override;
+  void OnAccountRemoved(const gaia::AccountIds& ids) override;
+  void OnAccountSignInChanged(const gaia::AccountIds& ids,
+                              bool is_signed_in) override;
 
   void AddShutdownObserver(ShutdownObserver* observer);
   void RemoveShutdownObserver(ShutdownObserver* observer);
@@ -153,10 +153,10 @@
   IdentityGetAccountsFunction();
 
  private:
-  virtual ~IdentityGetAccountsFunction();
+  ~IdentityGetAccountsFunction() override;
 
   // UIThreadExtensionFunction implementation.
-  virtual ExtensionFunction::ResponseAction Run() override;
+  ExtensionFunction::ResponseAction Run() override;
 };
 
 // identity.getAuthToken fetches an OAuth 2 function for the
@@ -194,28 +194,28 @@
   }
 
  protected:
-  virtual ~IdentityGetAuthTokenFunction();
+  ~IdentityGetAuthTokenFunction() override;
 
   // IdentitySigninFlow::Delegate implementation:
-  virtual void SigninSuccess() override;
-  virtual void SigninFailed() override;
+  void SigninSuccess() override;
+  void SigninFailed() override;
 
   // GaiaWebAuthFlow::Delegate implementation:
-  virtual void OnGaiaFlowFailure(GaiaWebAuthFlow::Failure failure,
-                                 GoogleServiceAuthError service_error,
-                                 const std::string& oauth_error) override;
-  virtual void OnGaiaFlowCompleted(const std::string& access_token,
-                                   const std::string& expiration) override;
+  void OnGaiaFlowFailure(GaiaWebAuthFlow::Failure failure,
+                         GoogleServiceAuthError service_error,
+                         const std::string& oauth_error) override;
+  void OnGaiaFlowCompleted(const std::string& access_token,
+                           const std::string& expiration) override;
 
   // Starts a login access token request.
   virtual void StartLoginAccessTokenRequest();
 
   // OAuth2TokenService::Consumer implementation:
-  virtual void OnGetTokenSuccess(const OAuth2TokenService::Request* request,
-                                 const std::string& access_token,
-                                 const base::Time& expiration_time) override;
-  virtual void OnGetTokenFailure(const OAuth2TokenService::Request* request,
-                                 const GoogleServiceAuthError& error) override;
+  void OnGetTokenSuccess(const OAuth2TokenService::Request* request,
+                         const std::string& access_token,
+                         const base::Time& expiration_time) override;
+  void OnGetTokenFailure(const OAuth2TokenService::Request* request,
+                         const GoogleServiceAuthError& error) override;
 
   // Starts a mint token request to GAIA.
   // Exposed for testing.
@@ -236,7 +236,7 @@
   FRIEND_TEST_ALL_PREFIXES(GetAuthTokenFunctionTest, NoninteractiveShutdown);
 
   // ExtensionFunction:
-  virtual bool RunAsync() override;
+  bool RunAsync() override;
 
   // Helpers to report async function results to the caller.
   void StartAsyncRun();
@@ -250,18 +250,16 @@
   void CompleteMintTokenFlow();
 
   // IdentityMintRequestQueue::Request implementation:
-  virtual void StartMintToken(IdentityMintRequestQueue::MintType type) override;
+  void StartMintToken(IdentityMintRequestQueue::MintType type) override;
 
   // OAuth2MintTokenFlow::Delegate implementation:
-  virtual void OnMintTokenSuccess(const std::string& access_token,
-                                  int time_to_live) override;
-  virtual void OnMintTokenFailure(
-      const GoogleServiceAuthError& error) override;
-  virtual void OnIssueAdviceSuccess(
-      const IssueAdviceInfo& issue_advice) override;
+  void OnMintTokenSuccess(const std::string& access_token,
+                          int time_to_live) override;
+  void OnMintTokenFailure(const GoogleServiceAuthError& error) override;
+  void OnIssueAdviceSuccess(const IssueAdviceInfo& issue_advice) override;
 
   // IdentityAPI::ShutdownObserver implementation:
-  virtual void OnShutdown() override;
+  void OnShutdown() override;
 
 #if defined(OS_CHROMEOS)
   // Starts a login access token request for device robot account. This method
@@ -306,10 +304,10 @@
   IdentityGetProfileUserInfoFunction();
 
  private:
-  virtual ~IdentityGetProfileUserInfoFunction();
+  ~IdentityGetProfileUserInfoFunction() override;
 
   // UIThreadExtensionFunction implementation.
-  virtual ExtensionFunction::ResponseAction Run() override;
+  ExtensionFunction::ResponseAction Run() override;
 };
 
 class IdentityRemoveCachedAuthTokenFunction
@@ -320,10 +318,10 @@
   IdentityRemoveCachedAuthTokenFunction();
 
  protected:
-  virtual ~IdentityRemoveCachedAuthTokenFunction();
+  ~IdentityRemoveCachedAuthTokenFunction() override;
 
   // SyncExtensionFunction implementation:
-  virtual bool RunSync() override;
+  bool RunSync() override;
 };
 
 class IdentityLaunchWebAuthFlowFunction : public ChromeAsyncExtensionFunction,
@@ -338,13 +336,13 @@
   void InitFinalRedirectURLPrefixForTest(const std::string& extension_id);
 
  private:
-  virtual ~IdentityLaunchWebAuthFlowFunction();
-  virtual bool RunAsync() override;
+  ~IdentityLaunchWebAuthFlowFunction() override;
+  bool RunAsync() override;
 
   // WebAuthFlow::Delegate implementation.
-  virtual void OnAuthFlowFailure(WebAuthFlow::Failure failure) override;
-  virtual void OnAuthFlowURLChange(const GURL& redirect_url) override;
-  virtual void OnAuthFlowTitleChange(const std::string& title) override {}
+  void OnAuthFlowFailure(WebAuthFlow::Failure failure) override;
+  void OnAuthFlowURLChange(const GURL& redirect_url) override;
+  void OnAuthFlowTitleChange(const std::string& title) override {}
 
   // Helper to initialize final URL prefix.
   void InitFinalRedirectURLPrefix(const std::string& extension_id);
diff --git a/chrome/browser/extensions/api/identity/identity_apitest.cc b/chrome/browser/extensions/api/identity/identity_apitest.cc
index c73cc0c..86d34e2 100644
--- a/chrome/browser/extensions/api/identity/identity_apitest.cc
+++ b/chrome/browser/extensions/api/identity/identity_apitest.cc
@@ -85,9 +85,9 @@
     return *response_.get();
   }
 
-  virtual void OnSendResponse(UIThreadExtensionFunction* function,
-                              bool success,
-                              bool bad_message) override {
+  void OnSendResponse(UIThreadExtensionFunction* function,
+                      bool success,
+                      bool bad_message) override {
     ASSERT_FALSE(bad_message);
     ASSERT_FALSE(HasResponse());
     response_.reset(new bool);
@@ -164,8 +164,8 @@
   TestHangOAuth2MintTokenFlow()
       : OAuth2MintTokenFlow(NULL, OAuth2MintTokenFlow::Parameters()) {}
 
-  virtual void Start(net::URLRequestContextGetter* context,
-                     const std::string& access_token) override {
+  void Start(net::URLRequestContextGetter* context,
+             const std::string& access_token) override {
     // Do nothing, simulating a hanging network call.
   }
 };
@@ -186,8 +186,8 @@
         result_(result),
         delegate_(delegate) {}
 
-  virtual void Start(net::URLRequestContextGetter* context,
-                     const std::string& access_token) override {
+  void Start(net::URLRequestContextGetter* context,
+             const std::string& access_token) override {
     switch (result_) {
       case ISSUE_ADVICE_SUCCESS: {
         IssueAdviceInfo info;
@@ -235,9 +235,9 @@
         url_(url) {}
 
   // NotificationObserver:
-  virtual void Observe(int type,
-                       const content::NotificationSource& source,
-                       const content::NotificationDetails& details) override {
+  void Observe(int type,
+               const content::NotificationSource& source,
+               const content::NotificationDetails& details) override {
     content::NavigationController* web_auth_flow_controller =
         content::Source<content::NavigationController>(source).ptr();
     content::WebContents* web_contents =
@@ -316,7 +316,7 @@
 
   std::string login_access_token() const { return login_access_token_; }
 
-  virtual void StartLoginAccessTokenRequest() override {
+  void StartLoginAccessTokenRequest() override {
     if (auto_login_access_token_) {
       if (login_access_token_result_) {
         OnGetTokenSuccess(login_token_request_.get(),
@@ -334,7 +334,7 @@
     }
   }
 
-  virtual void ShowLoginPopup() override {
+  void ShowLoginPopup() override {
     EXPECT_FALSE(login_ui_shown_);
     login_ui_shown_ = true;
     if (login_ui_result_)
@@ -343,8 +343,7 @@
       SigninFailed();
   }
 
-  virtual void ShowOAuthApprovalDialog(
-      const IssueAdviceInfo& issue_advice) override {
+  void ShowOAuthApprovalDialog(const IssueAdviceInfo& issue_advice) override {
     scope_ui_shown_ = true;
 
     if (scope_ui_result_) {
@@ -358,8 +357,7 @@
     }
   }
 
-  virtual void StartGaiaRequest(
-      const std::string& login_access_token) override {
+  void StartGaiaRequest(const std::string& login_access_token) override {
     EXPECT_TRUE(login_access_token_.empty());
     // Save the login token used in the mint token flow so tests can see
     // what account was used.
@@ -367,12 +365,12 @@
     IdentityGetAuthTokenFunction::StartGaiaRequest(login_access_token);
   }
 
-  virtual OAuth2MintTokenFlow* CreateMintTokenFlow() override {
+  OAuth2MintTokenFlow* CreateMintTokenFlow() override {
     return flow_.release();
   }
 
  private:
-  virtual ~FakeGetAuthTokenFunction() {}
+  ~FakeGetAuthTokenFunction() override {}
   bool login_access_token_result_;
   bool auto_login_access_token_;
   bool login_ui_result_;
@@ -401,7 +399,7 @@
 }
 
 class IdentityGetAccountsFunctionTest : public ExtensionBrowserTest {
-  virtual void SetUpCommandLine(CommandLine* command_line) override {
+  void SetUpCommandLine(CommandLine* command_line) override {
     ExtensionBrowserTest::SetUpCommandLine(command_line);
     command_line->AppendSwitch(switches::kExtensionsMultiAccount);
   }
@@ -513,7 +511,7 @@
 
 class IdentityOldProfilesGetAccountsFunctionTest
     : public IdentityGetAccountsFunctionTest {
-  virtual void SetUpCommandLine(CommandLine* command_line) override {
+  void SetUpCommandLine(CommandLine* command_line) override {
     // Don't add the multi-account switch that parent class would have.
   }
 };
@@ -602,12 +600,12 @@
 
 class GetAuthTokenFunctionTest : public AsyncExtensionBrowserTest {
  public:
-  virtual void SetUpCommandLine(CommandLine* command_line) override {
+  void SetUpCommandLine(CommandLine* command_line) override {
     AsyncExtensionBrowserTest::SetUpCommandLine(command_line);
     command_line->AppendSwitch(switches::kExtensionsMultiAccount);
   }
 
-  virtual void SetUpInProcessBrowserTestFixture() override {
+  void SetUpInProcessBrowserTestFixture() override {
     AsyncExtensionBrowserTest::SetUpInProcessBrowserTestFixture();
 
     will_create_browser_context_services_subscription_ =
@@ -631,7 +629,7 @@
         context, &FakeAccountReconcilor::Build);
   }
 
-  virtual void SetUpOnMainThread() override {
+  void SetUpOnMainThread() override {
     AsyncExtensionBrowserTest::SetUpOnMainThread();
 
     // Grab references to the fake signin manager and token service.
@@ -1659,7 +1657,7 @@
 
 class LaunchWebAuthFlowFunctionTest : public AsyncExtensionBrowserTest {
  public:
-  virtual void SetUpCommandLine(CommandLine* command_line) override {
+  void SetUpCommandLine(CommandLine* command_line) override {
     AsyncExtensionBrowserTest::SetUpCommandLine(command_line);
     // Reduce performance test variance by disabling background networking.
     command_line->AppendSwitch(switches::kDisableBackgroundNetworking);
diff --git a/chrome/browser/extensions/api/identity/identity_signin_flow.h b/chrome/browser/extensions/api/identity/identity_signin_flow.h
index 9a0d6468..5f443f51 100644
--- a/chrome/browser/extensions/api/identity/identity_signin_flow.h
+++ b/chrome/browser/extensions/api/identity/identity_signin_flow.h
@@ -34,13 +34,13 @@
 
   IdentitySigninFlow(Delegate* delegate,
                      Profile* profile);
-  virtual ~IdentitySigninFlow();
+  ~IdentitySigninFlow() override;
 
   // Starts the flow. Should only be called once.
   void Start();
 
   // OAuth2TokenService::Observer implementation:
-  virtual void OnRefreshTokenAvailable(const std::string& account_id) override;
+  void OnRefreshTokenAvailable(const std::string& account_id) override;
 
  private:
   Delegate* delegate_;
diff --git a/chrome/browser/extensions/api/identity/web_auth_flow.h b/chrome/browser/extensions/api/identity/web_auth_flow.h
index dccc5f0..b7b31aa 100644
--- a/chrome/browser/extensions/api/identity/web_auth_flow.h
+++ b/chrome/browser/extensions/api/identity/web_auth_flow.h
@@ -80,7 +80,7 @@
               const GURL& provider_url,
               Mode mode);
 
-  virtual ~WebAuthFlow();
+  ~WebAuthFlow() override;
 
   // Starts the flow.
   virtual void Start();
@@ -92,31 +92,29 @@
   friend class ::WebAuthFlowTest;
 
   // ::AppWindowRegistry::Observer implementation.
-  virtual void OnAppWindowAdded(AppWindow* app_window) override;
-  virtual void OnAppWindowRemoved(AppWindow* app_window) override;
+  void OnAppWindowAdded(AppWindow* app_window) override;
+  void OnAppWindowRemoved(AppWindow* app_window) override;
 
   // NotificationObserver implementation.
-  virtual void Observe(int type,
-                       const content::NotificationSource& source,
-                       const content::NotificationDetails& details) override;
+  void Observe(int type,
+               const content::NotificationSource& source,
+               const content::NotificationDetails& details) override;
 
   // WebContentsObserver implementation.
-  virtual void DidStopLoading(content::RenderViewHost* render_view_host)
-      override;
-  virtual void DidNavigateMainFrame(
+  void DidStopLoading(content::RenderViewHost* render_view_host) override;
+  void DidNavigateMainFrame(
       const content::LoadCommittedDetails& details,
       const content::FrameNavigateParams& params) override;
-  virtual void RenderProcessGone(base::TerminationStatus status) override;
-  virtual void DidStartProvisionalLoadForFrame(
+  void RenderProcessGone(base::TerminationStatus status) override;
+  void DidStartProvisionalLoadForFrame(
       content::RenderFrameHost* render_frame_host,
       const GURL& validated_url,
       bool is_error_page,
       bool is_iframe_srcdoc) override;
-  virtual void DidFailProvisionalLoad(
-      content::RenderFrameHost* render_frame_host,
-      const GURL& validated_url,
-      int error_code,
-      const base::string16& error_description) override;
+  void DidFailProvisionalLoad(content::RenderFrameHost* render_frame_host,
+                              const GURL& validated_url,
+                              int error_code,
+                              const base::string16& error_description) override;
 
   void BeforeUrlLoaded(const GURL& url);
   void AfterUrlLoaded();
diff --git a/chrome/browser/extensions/api/identity_private/identity_private_api.h b/chrome/browser/extensions/api/identity_private/identity_private_api.h
index 6a1460d..893f580 100644
--- a/chrome/browser/extensions/api/identity_private/identity_private_api.h
+++ b/chrome/browser/extensions/api/identity_private/identity_private_api.h
@@ -16,10 +16,10 @@
   IdentityPrivateGetStringsFunction();
 
  protected:
-  virtual ~IdentityPrivateGetStringsFunction();
+  ~IdentityPrivateGetStringsFunction() override;
 
   // ExtensionFunction:
-  virtual bool RunSync() override;
+  bool RunSync() override;
 
  private:
   DISALLOW_COPY_AND_ASSIGN(IdentityPrivateGetStringsFunction);
diff --git a/chrome/browser/extensions/api/idle/idle_api.h b/chrome/browser/extensions/api/idle/idle_api.h
index 005cc7d1..f74f92b 100644
--- a/chrome/browser/extensions/api/idle/idle_api.h
+++ b/chrome/browser/extensions/api/idle/idle_api.h
@@ -16,10 +16,10 @@
   DECLARE_EXTENSION_FUNCTION("idle.queryState", IDLE_QUERYSTATE)
 
  protected:
-  virtual ~IdleQueryStateFunction() {}
+  ~IdleQueryStateFunction() override {}
 
   // ExtensionFunction:
-  virtual bool RunAsync() override;
+  bool RunAsync() override;
 
  private:
   void IdleStateCallback(IdleState state);
@@ -32,10 +32,10 @@
                              IDLE_SETDETECTIONINTERVAL)
 
  protected:
-  virtual ~IdleSetDetectionIntervalFunction() {}
+  ~IdleSetDetectionIntervalFunction() override {}
 
   // ExtensionFunction:
-  virtual bool RunSync() override;
+  bool RunSync() override;
 };
 
 }  // namespace extensions
diff --git a/chrome/browser/extensions/api/idle/idle_api_unittest.cc b/chrome/browser/extensions/api/idle/idle_api_unittest.cc
index 52edd52..d21b7d9 100644
--- a/chrome/browser/extensions/api/idle/idle_api_unittest.cc
+++ b/chrome/browser/extensions/api/idle/idle_api_unittest.cc
@@ -42,11 +42,10 @@
 class TestIdleProvider : public IdleManager::IdleTimeProvider {
  public:
   TestIdleProvider();
-  virtual ~TestIdleProvider();
-  virtual void CalculateIdleState(int idle_threshold,
-                                  IdleCallback notify) override;
-  virtual void CalculateIdleTime(IdleTimeCallback notify) override;
-  virtual bool CheckIdleStateIsLocked() override;
+  ~TestIdleProvider() override;
+  void CalculateIdleState(int idle_threshold, IdleCallback notify) override;
+  void CalculateIdleTime(IdleTimeCallback notify) override;
+  bool CheckIdleStateIsLocked() override;
 
   void set_idle_time(int idle_time);
   void set_locked(bool locked);
diff --git a/chrome/browser/extensions/api/idle/idle_manager.cc b/chrome/browser/extensions/api/idle/idle_manager.cc
index 8520b38..c00bcc3 100644
--- a/chrome/browser/extensions/api/idle/idle_manager.cc
+++ b/chrome/browser/extensions/api/idle/idle_manager.cc
@@ -29,12 +29,12 @@
 class DefaultEventDelegate : public IdleManager::EventDelegate {
  public:
   explicit DefaultEventDelegate(Profile* profile);
-  virtual ~DefaultEventDelegate();
+  ~DefaultEventDelegate() override;
 
-  virtual void OnStateChanged(const std::string& extension_id,
-                              IdleState new_state) override;
-  virtual void RegisterObserver(EventRouter::Observer* observer) override;
-  virtual void UnregisterObserver(EventRouter::Observer* observer) override;
+  void OnStateChanged(const std::string& extension_id,
+                      IdleState new_state) override;
+  void RegisterObserver(EventRouter::Observer* observer) override;
+  void UnregisterObserver(EventRouter::Observer* observer) override;
 
  private:
   Profile* profile_;
@@ -71,12 +71,11 @@
 class DefaultIdleProvider : public IdleManager::IdleTimeProvider {
  public:
   DefaultIdleProvider();
-  virtual ~DefaultIdleProvider();
+  ~DefaultIdleProvider() override;
 
-  virtual void CalculateIdleState(int idle_threshold,
-                                  IdleCallback notify) override;
-  virtual void CalculateIdleTime(IdleTimeCallback notify) override;
-  virtual bool CheckIdleStateIsLocked() override;
+  void CalculateIdleState(int idle_threshold, IdleCallback notify) override;
+  void CalculateIdleTime(IdleTimeCallback notify) override;
+  bool CheckIdleStateIsLocked() override;
 };
 
 DefaultIdleProvider::DefaultIdleProvider() {
diff --git a/chrome/browser/extensions/api/idle/idle_manager.h b/chrome/browser/extensions/api/idle/idle_manager.h
index 8e96e27..a5a2bfc 100644
--- a/chrome/browser/extensions/api/idle/idle_manager.h
+++ b/chrome/browser/extensions/api/idle/idle_manager.h
@@ -69,22 +69,21 @@
   };
 
   explicit IdleManager(Profile* profile);
-  virtual ~IdleManager();
+  ~IdleManager() override;
 
   void Init();
 
   // KeyedService implementation.
-  virtual void Shutdown() override;
+  void Shutdown() override;
 
   // ExtensionRegistryObserver implementation.
-  virtual void OnExtensionUnloaded(
-      content::BrowserContext* browser_context,
-      const Extension* extension,
-      UnloadedExtensionInfo::Reason reason) override;
+  void OnExtensionUnloaded(content::BrowserContext* browser_context,
+                           const Extension* extension,
+                           UnloadedExtensionInfo::Reason reason) override;
 
   // EventRouter::Observer implementation.
-  virtual void OnListenerAdded(const EventListenerInfo& details) override;
-  virtual void OnListenerRemoved(const EventListenerInfo& details) override;
+  void OnListenerAdded(const EventListenerInfo& details) override;
+  void OnListenerRemoved(const EventListenerInfo& details) override;
 
   void QueryState(int threshold, QueryStateCallback notify);
   void SetThreshold(const std::string& extension_id, int threshold);
diff --git a/chrome/browser/extensions/api/idle/idle_manager_factory.h b/chrome/browser/extensions/api/idle/idle_manager_factory.h
index ac4d005..b24843b 100644
--- a/chrome/browser/extensions/api/idle/idle_manager_factory.h
+++ b/chrome/browser/extensions/api/idle/idle_manager_factory.h
@@ -23,15 +23,15 @@
   friend struct DefaultSingletonTraits<IdleManagerFactory>;
 
   IdleManagerFactory();
-  virtual ~IdleManagerFactory();
+  ~IdleManagerFactory() override;
 
   // BrowserContextKeyedBaseFactory implementation.
-  virtual KeyedService* BuildServiceInstanceFor(
+  KeyedService* BuildServiceInstanceFor(
       content::BrowserContext* profile) const override;
-  virtual content::BrowserContext* GetBrowserContextToUse(
+  content::BrowserContext* GetBrowserContextToUse(
       content::BrowserContext* context) const override;
-  virtual bool ServiceIsCreatedWithBrowserContext() const override;
-  virtual bool ServiceIsNULLWhileTesting() const override;
+  bool ServiceIsCreatedWithBrowserContext() const override;
+  bool ServiceIsNULLWhileTesting() const override;
 };
 
 }  // namespace extensions
diff --git a/chrome/browser/extensions/api/idltest/idltest_api.h b/chrome/browser/extensions/api/idltest/idltest_api.h
index 19f6156c..587664e3 100644
--- a/chrome/browser/extensions/api/idltest/idltest_api.h
+++ b/chrome/browser/extensions/api/idltest/idltest_api.h
@@ -12,8 +12,8 @@
   DECLARE_EXTENSION_FUNCTION("idltest.sendArrayBuffer", IDLTEST_SENDARRAYBUFFER)
 
  protected:
-  virtual ~IdltestSendArrayBufferFunction() {}
-  virtual bool RunSync() override;
+  ~IdltestSendArrayBufferFunction() override {}
+  bool RunSync() override;
 };
 
 class IdltestSendArrayBufferViewFunction : public SyncExtensionFunction {
@@ -22,8 +22,8 @@
                              IDLTEST_SENDARRAYBUFFERVIEW)
 
  protected:
-  virtual ~IdltestSendArrayBufferViewFunction() {}
-  virtual bool RunSync() override;
+  ~IdltestSendArrayBufferViewFunction() override {}
+  bool RunSync() override;
 };
 
 class IdltestGetArrayBufferFunction : public SyncExtensionFunction {
@@ -31,8 +31,8 @@
   DECLARE_EXTENSION_FUNCTION("idltest.getArrayBuffer", IDLTEST_GETARRAYBUFFER)
 
  protected:
-  virtual ~IdltestGetArrayBufferFunction() {}
-  virtual bool RunSync() override;
+  ~IdltestGetArrayBufferFunction() override {}
+  bool RunSync() override;
 };
 
 #endif  // CHROME_BROWSER_EXTENSIONS_API_IDLTEST_IDLTEST_API_H_
diff --git a/chrome/browser/extensions/api/image_writer_private/destroy_partitions_operation.h b/chrome/browser/extensions/api/image_writer_private/destroy_partitions_operation.h
index 7d9a026..b01e513 100644
--- a/chrome/browser/extensions/api/image_writer_private/destroy_partitions_operation.h
+++ b/chrome/browser/extensions/api/image_writer_private/destroy_partitions_operation.h
@@ -20,10 +20,10 @@
   DestroyPartitionsOperation(base::WeakPtr<OperationManager> manager,
                              const ExtensionId& extension_id,
                              const std::string& storage_unit_id);
-  virtual void StartImpl() override;
+  void StartImpl() override;
 
  private:
-  virtual ~DestroyPartitionsOperation();
+  ~DestroyPartitionsOperation() override;
 };
 
 }  // namespace image_writer
diff --git a/chrome/browser/extensions/api/image_writer_private/image_writer_private_api.h b/chrome/browser/extensions/api/image_writer_private/image_writer_private_api.h
index e55150c..a7abf444 100644
--- a/chrome/browser/extensions/api/image_writer_private/image_writer_private_api.h
+++ b/chrome/browser/extensions/api/image_writer_private/image_writer_private_api.h
@@ -18,8 +18,8 @@
   ImageWriterPrivateWriteFromUrlFunction();
 
  private:
-  virtual ~ImageWriterPrivateWriteFromUrlFunction();
-  virtual bool RunAsync() override;
+  ~ImageWriterPrivateWriteFromUrlFunction() override;
+  bool RunAsync() override;
   void OnWriteStarted(bool success, const std::string& error);
 };
 
@@ -31,8 +31,8 @@
   ImageWriterPrivateWriteFromFileFunction();
 
  private:
-  virtual ~ImageWriterPrivateWriteFromFileFunction();
-  virtual bool RunAsync() override;
+  ~ImageWriterPrivateWriteFromFileFunction() override;
+  bool RunAsync() override;
   void OnWriteStarted(bool success, const std::string& error);
 };
 
@@ -44,8 +44,8 @@
   ImageWriterPrivateCancelWriteFunction();
 
  private:
-  virtual ~ImageWriterPrivateCancelWriteFunction();
-  virtual bool RunAsync() override;
+  ~ImageWriterPrivateCancelWriteFunction() override;
+  bool RunAsync() override;
   void OnWriteCancelled(bool success, const std::string& error);
 };
 
@@ -57,8 +57,8 @@
   ImageWriterPrivateDestroyPartitionsFunction();
 
  private:
-  virtual ~ImageWriterPrivateDestroyPartitionsFunction();
-  virtual bool RunAsync() override;
+  ~ImageWriterPrivateDestroyPartitionsFunction() override;
+  bool RunAsync() override;
   void OnDestroyComplete(bool success, const std::string& error);
 };
 
@@ -70,8 +70,8 @@
   ImageWriterPrivateListRemovableStorageDevicesFunction();
 
  private:
-  virtual ~ImageWriterPrivateListRemovableStorageDevicesFunction();
-  virtual bool RunAsync() override;
+  ~ImageWriterPrivateListRemovableStorageDevicesFunction() override;
+  bool RunAsync() override;
   void OnDeviceListReady(scoped_refptr<StorageDeviceList> device_list,
                          bool success);
 };
diff --git a/chrome/browser/extensions/api/image_writer_private/image_writer_private_apitest.cc b/chrome/browser/extensions/api/image_writer_private/image_writer_private_apitest.cc
index 9ba749a..a2efe15 100644
--- a/chrome/browser/extensions/api/image_writer_private/image_writer_private_apitest.cc
+++ b/chrome/browser/extensions/api/image_writer_private/image_writer_private_apitest.cc
@@ -18,7 +18,7 @@
 
 class ImageWriterPrivateApiTest : public ExtensionApiTest {
  public:
-  virtual void SetUpInProcessBrowserTestFixture() override {
+  void SetUpInProcessBrowserTestFixture() override {
     ExtensionApiTest::SetUpInProcessBrowserTestFixture();
     test_utils_.SetUp(true);
 
@@ -61,7 +61,7 @@
     RemovableStorageProvider::SetDeviceListForTesting(device_list);
   }
 
-  virtual void TearDownInProcessBrowserTestFixture() override {
+  void TearDownInProcessBrowserTestFixture() override {
     ExtensionApiTest::TearDownInProcessBrowserTestFixture();
     test_utils_.TearDown();
     RemovableStorageProvider::ClearDeviceListForTesting();
diff --git a/chrome/browser/extensions/api/image_writer_private/image_writer_utility_client.h b/chrome/browser/extensions/api/image_writer_private/image_writer_utility_client.h
index 215a77d..5e2d9b5 100644
--- a/chrome/browser/extensions/api/image_writer_private/image_writer_utility_client.h
+++ b/chrome/browser/extensions/api/image_writer_private/image_writer_utility_client.h
@@ -54,16 +54,16 @@
 
  protected:
   // It's a reference-counted object, so destructor is not public.
-  virtual ~ImageWriterUtilityClient();
+  ~ImageWriterUtilityClient() override;
 
  private:
   // Ensures the UtilityProcessHost has been created.
   void StartHost();
 
   // UtilityProcessHostClient implementation.
-  virtual void OnProcessCrashed(int exit_code) override;
-  virtual void OnProcessLaunchFailed() override;
-  virtual bool OnMessageReceived(const IPC::Message& message) override;
+  void OnProcessCrashed(int exit_code) override;
+  void OnProcessLaunchFailed() override;
+  bool OnMessageReceived(const IPC::Message& message) override;
   virtual bool Send(IPC::Message* msg);
 
   // IPC message handlers.
diff --git a/chrome/browser/extensions/api/image_writer_private/operation_manager.h b/chrome/browser/extensions/api/image_writer_private/operation_manager.h
index 95ebfeb0..cf2d92b 100644
--- a/chrome/browser/extensions/api/image_writer_private/operation_manager.h
+++ b/chrome/browser/extensions/api/image_writer_private/operation_manager.h
@@ -47,9 +47,9 @@
   typedef std::string ExtensionId;
 
   explicit OperationManager(content::BrowserContext* context);
-  virtual ~OperationManager();
+  ~OperationManager() override;
 
-  virtual void Shutdown() override;
+  void Shutdown() override;
 
   // Starts a WriteFromUrl operation.
   void StartWriteFromUrl(const ExtensionId& extension_id,
@@ -97,15 +97,14 @@
   }
 
   // NotificationObserver implementation.
-  virtual void Observe(int type,
-                       const content::NotificationSource& source,
-                       const content::NotificationDetails& details) override;
+  void Observe(int type,
+               const content::NotificationSource& source,
+               const content::NotificationDetails& details) override;
 
   // ExtensionRegistryObserver implementation.
-  virtual void OnExtensionUnloaded(
-      content::BrowserContext* browser_context,
-      const Extension* extension,
-      UnloadedExtensionInfo::Reason reason) override;
+  void OnExtensionUnloaded(content::BrowserContext* browser_context,
+                           const Extension* extension,
+                           UnloadedExtensionInfo::Reason reason) override;
 
   Operation* GetOperation(const ExtensionId& extension_id);
   void DeleteOperation(const ExtensionId& extension_id);
diff --git a/chrome/browser/extensions/api/image_writer_private/operation_manager_unittest.cc b/chrome/browser/extensions/api/image_writer_private/operation_manager_unittest.cc
index 243048f..dbb0aa5 100644
--- a/chrome/browser/extensions/api/image_writer_private/operation_manager_unittest.cc
+++ b/chrome/browser/extensions/api/image_writer_private/operation_manager_unittest.cc
@@ -27,9 +27,8 @@
  public:
   explicit FakeEventRouter(Profile* profile) : EventRouter(profile, NULL) {}
 
-  virtual void DispatchEventToExtension(
-      const std::string& extension_id,
-      scoped_ptr<extensions::Event> event) override {
+  void DispatchEventToExtension(const std::string& extension_id,
+                                scoped_ptr<extensions::Event> event) override {
     // Do nothing with the event as no tests currently care.
   }
 };
@@ -42,9 +41,7 @@
     fake_event_router_.reset(new FakeEventRouter(profile));
   }
 
-  virtual EventRouter* event_router() override {
-    return fake_event_router_.get();
-  }
+  EventRouter* event_router() override { return fake_event_router_.get(); }
 
  private:
   scoped_ptr<FakeEventRouter> fake_event_router_;
diff --git a/chrome/browser/extensions/api/image_writer_private/operation_unittest.cc b/chrome/browser/extensions/api/image_writer_private/operation_unittest.cc
index e293236..4ec4290 100644
--- a/chrome/browser/extensions/api/image_writer_private/operation_unittest.cc
+++ b/chrome/browser/extensions/api/image_writer_private/operation_unittest.cc
@@ -37,7 +37,7 @@
                    const std::string& device_path)
       : Operation(manager_, extension_id, device_path) {}
 
-  virtual void StartImpl() override {}
+  void StartImpl() override {}
 
   // Expose internal stages for testing.
   void Unzip(const base::Closure& continuation) {
@@ -60,7 +60,7 @@
   base::FilePath GetImagePath() { return image_path_; }
 
  private:
-  virtual ~OperationForTest() {};
+  ~OperationForTest() override{};
 };
 
 class ImageWriterOperationTest : public ImageWriterUnitTestBase {
diff --git a/chrome/browser/extensions/api/image_writer_private/test_utils.h b/chrome/browser/extensions/api/image_writer_private/test_utils.h
index b4b7e7c6..bca303c 100644
--- a/chrome/browser/extensions/api/image_writer_private/test_utils.h
+++ b/chrome/browser/extensions/api/image_writer_private/test_utils.h
@@ -75,21 +75,21 @@
  public:
   FakeImageWriterClient();
 
-  virtual void Write(const ProgressCallback& progress_callback,
-                     const SuccessCallback& success_callback,
-                     const ErrorCallback& error_callback,
-                     const base::FilePath& source,
-                     const base::FilePath& target) override;
+  void Write(const ProgressCallback& progress_callback,
+             const SuccessCallback& success_callback,
+             const ErrorCallback& error_callback,
+             const base::FilePath& source,
+             const base::FilePath& target) override;
 
-  virtual void Verify(const ProgressCallback& progress_callback,
-                      const SuccessCallback& success_callback,
-                      const ErrorCallback& error_callback,
-                      const base::FilePath& source,
-                      const base::FilePath& target) override;
+  void Verify(const ProgressCallback& progress_callback,
+              const SuccessCallback& success_callback,
+              const ErrorCallback& error_callback,
+              const base::FilePath& source,
+              const base::FilePath& target) override;
 
-  virtual void Cancel(const CancelCallback& cancel_callback) override;
+  void Cancel(const CancelCallback& cancel_callback) override;
 
-  virtual void Shutdown() override;
+  void Shutdown() override;
 
   // Sets a callback for when a Write call is made.
   void SetWriteCallback(const base::Closure& write_callback);
@@ -106,7 +106,7 @@
   void Cancel();
 
  private:
-  virtual ~FakeImageWriterClient();
+  ~FakeImageWriterClient() override;
 
   ProgressCallback progress_callback_;
   SuccessCallback success_callback_;
diff --git a/chrome/browser/extensions/api/image_writer_private/write_from_file_operation.h b/chrome/browser/extensions/api/image_writer_private/write_from_file_operation.h
index 49ea47a..3f567ae 100644
--- a/chrome/browser/extensions/api/image_writer_private/write_from_file_operation.h
+++ b/chrome/browser/extensions/api/image_writer_private/write_from_file_operation.h
@@ -17,10 +17,10 @@
                          const ExtensionId& extension_id,
                          const base::FilePath& user_file_path,
                          const std::string& storage_unit_id);
-  virtual void StartImpl() override;
+  void StartImpl() override;
 
  private:
-  virtual ~WriteFromFileOperation();
+  ~WriteFromFileOperation() override;
 };
 
 }  // namespace image_writer
diff --git a/chrome/browser/extensions/api/image_writer_private/write_from_url_operation.h b/chrome/browser/extensions/api/image_writer_private/write_from_url_operation.h
index 0b7ac73d..259af14f 100644
--- a/chrome/browser/extensions/api/image_writer_private/write_from_url_operation.h
+++ b/chrome/browser/extensions/api/image_writer_private/write_from_url_operation.h
@@ -28,10 +28,10 @@
                         GURL url,
                         const std::string& hash,
                         const std::string& storage_unit_id);
-  virtual void StartImpl() override;
+  void StartImpl() override;
 
  protected:
-  virtual ~WriteFromUrlOperation();
+  ~WriteFromUrlOperation() override;
 
   // Sets the image_path to the correct location to download to.
   void GetDownloadTarget(const base::Closure& continuation);
@@ -51,13 +51,13 @@
   void DestroyUrlFetcher();
 
   // URLFetcherDelegate implementation.
-  virtual void OnURLFetchComplete(const net::URLFetcher* source) override;
-  virtual void OnURLFetchDownloadProgress(const net::URLFetcher* source,
-                                          int64 current,
-                                          int64 total) override;
-  virtual void OnURLFetchUploadProgress(const net::URLFetcher* source,
-                                        int64 current,
-                                        int64 total) override;
+  void OnURLFetchComplete(const net::URLFetcher* source) override;
+  void OnURLFetchDownloadProgress(const net::URLFetcher* source,
+                                  int64 current,
+                                  int64 total) override;
+  void OnURLFetchUploadProgress(const net::URLFetcher* source,
+                                int64 current,
+                                int64 total) override;
 
   void VerifyDownloadCompare(const base::Closure& continuation,
                              const std::string& download_hash);
diff --git a/chrome/browser/extensions/api/image_writer_private/write_from_url_operation_unittest.cc b/chrome/browser/extensions/api/image_writer_private/write_from_url_operation_unittest.cc
index 815be78..67a6da22 100644
--- a/chrome/browser/extensions/api/image_writer_private/write_from_url_operation_unittest.cc
+++ b/chrome/browser/extensions/api/image_writer_private/write_from_url_operation_unittest.cc
@@ -43,7 +43,7 @@
                               hash,
                               storage_unit_id) {}
 
-  virtual void StartImpl() override {}
+  void StartImpl() override {}
 
   // Expose stages for testing.
   void GetDownloadTarget(const base::Closure& continuation) {
@@ -66,7 +66,7 @@
   base::FilePath GetImagePath() { return image_path_; }
 
  private:
-  virtual ~OperationForTest() {};
+  ~OperationForTest() override{};
 };
 
 class ImageWriterWriteFromUrlOperationTest : public ImageWriterUnitTestBase {
diff --git a/chrome/browser/extensions/api/input/input.h b/chrome/browser/extensions/api/input/input.h
index 9cf8888f..f9836f5 100644
--- a/chrome/browser/extensions/api/input/input.h
+++ b/chrome/browser/extensions/api/input/input.h
@@ -21,10 +21,10 @@
                              VIRTUALKEYBOARDPRIVATE_INSERTTEXT);
 
  protected:
-  virtual ~VirtualKeyboardPrivateInsertTextFunction() {}
+  ~VirtualKeyboardPrivateInsertTextFunction() override {}
 
   // ExtensionFunction:
-  virtual bool RunSync() override;
+  bool RunSync() override;
 };
 
 class VirtualKeyboardPrivateMoveCursorFunction : public SyncExtensionFunction {
@@ -33,10 +33,10 @@
                              VIRTUALKEYBOARDPRIVATE_MOVECURSOR);
 
  protected:
-  virtual ~VirtualKeyboardPrivateMoveCursorFunction() {}
+  ~VirtualKeyboardPrivateMoveCursorFunction() override {}
 
   // ExtensionFunction.
-  virtual bool RunSync() override;
+  bool RunSync() override;
 };
 
 class VirtualKeyboardPrivateSendKeyEventFunction
@@ -47,10 +47,10 @@
       VIRTUALKEYBOARDPRIVATE_SENDKEYEVENT);
 
  protected:
-  virtual ~VirtualKeyboardPrivateSendKeyEventFunction() {}
+  ~VirtualKeyboardPrivateSendKeyEventFunction() override {}
 
   // ExtensionFunction:
-  virtual bool RunSync() override;
+  bool RunSync() override;
 };
 
 class VirtualKeyboardPrivateHideKeyboardFunction
@@ -61,10 +61,10 @@
       VIRTUALKEYBOARDPRIVATE_HIDEKEYBOARD);
 
  protected:
-  virtual ~VirtualKeyboardPrivateHideKeyboardFunction() {}
+  ~VirtualKeyboardPrivateHideKeyboardFunction() override {}
 
   // ExtensionFunction:
-  virtual bool RunSync() override;
+  bool RunSync() override;
 };
 
 class VirtualKeyboardPrivateLockKeyboardFunction
@@ -75,10 +75,10 @@
       VIRTUALKEYBOARDPRIVATE_LOCKKEYBOARD);
 
  protected:
-  virtual ~VirtualKeyboardPrivateLockKeyboardFunction() {}
+  ~VirtualKeyboardPrivateLockKeyboardFunction() override {}
 
   // ExtensionFunction:
-  virtual bool RunSync() override;
+  bool RunSync() override;
 };
 
 class VirtualKeyboardPrivateKeyboardLoadedFunction
@@ -89,10 +89,10 @@
       VIRTUALKEYBOARDPRIVATE_KEYBOARDLOADED);
 
  protected:
-  virtual ~VirtualKeyboardPrivateKeyboardLoadedFunction() {}
+  ~VirtualKeyboardPrivateKeyboardLoadedFunction() override {}
 
   // ExtensionFunction:
-  virtual bool RunSync() override;
+  bool RunSync() override;
 };
 
 class VirtualKeyboardPrivateGetKeyboardConfigFunction
@@ -103,10 +103,10 @@
       VIRTUALKEYBOARDPRIVATE_GETKEYBOARDCONFIG);
 
  protected:
-  virtual ~VirtualKeyboardPrivateGetKeyboardConfigFunction() {}
+  ~VirtualKeyboardPrivateGetKeyboardConfigFunction() override {}
 
   // ExtensionFunction:
-  virtual bool RunSync() override;
+  bool RunSync() override;
 };
 
 class VirtualKeyboardPrivateOpenSettingsFunction
@@ -116,17 +116,17 @@
                              VIRTUALKEYBOARDPRIVATE_OPENSETTINGS);
 
  protected:
-  virtual ~VirtualKeyboardPrivateOpenSettingsFunction() {}
+  ~VirtualKeyboardPrivateOpenSettingsFunction() override {}
 
   // ExtensionFunction:
-  virtual bool RunSync() override;
+  bool RunSync() override;
 };
 
 
 class InputAPI : public BrowserContextKeyedAPI {
  public:
   explicit InputAPI(content::BrowserContext* context);
-  virtual ~InputAPI();
+  ~InputAPI() override;
 
   // BrowserContextKeyedAPI implementation.
   static BrowserContextKeyedAPIFactory<InputAPI>* GetFactoryInstance();
diff --git a/chrome/browser/extensions/api/location/location_api.h b/chrome/browser/extensions/api/location/location_api.h
index bfdbcc4d11..300b0035 100644
--- a/chrome/browser/extensions/api/location/location_api.h
+++ b/chrome/browser/extensions/api/location/location_api.h
@@ -15,10 +15,10 @@
                              LOCATION_WATCHLOCATION)
 
  protected:
-  virtual ~LocationWatchLocationFunction() {}
+  ~LocationWatchLocationFunction() override {}
 
   // SyncExtensionFunction:
-  virtual bool RunSync() override;
+  bool RunSync() override;
 };
 
 class LocationClearWatchFunction : public ChromeSyncExtensionFunction {
@@ -27,10 +27,10 @@
                              LOCATION_CLEARWATCH)
 
  protected:
-  virtual ~LocationClearWatchFunction() {}
+  ~LocationClearWatchFunction() override {}
 
   // SyncExtensionFunction:
-  virtual bool RunSync() override;
+  bool RunSync() override;
 };
 
 }  // namespace extensions
diff --git a/chrome/browser/extensions/api/location/location_manager.cc b/chrome/browser/extensions/api/location/location_manager.cc
index 3b5b9854..1424701 100644
--- a/chrome/browser/extensions/api/location/location_manager.cc
+++ b/chrome/browser/extensions/api/location/location_manager.cc
@@ -57,8 +57,7 @@
   {}
 
   // UpdatePolicy Implementation
-  virtual bool ShouldSendUpdate(const content::Geoposition& position) const
-      override {
+  bool ShouldSendUpdate(const content::Geoposition& position) const override {
     return !last_updated_position_.Validate() ||
         Distance(position.latitude,
                  position.longitude,
@@ -67,13 +66,12 @@
             distance_update_threshold_meters_;
   }
 
-  virtual void OnPositionReported(const content::Geoposition& position)
-      override {
+  void OnPositionReported(const content::Geoposition& position) override {
     last_updated_position_ = position;
   }
 
  private:
-  virtual ~DistanceBasedUpdatePolicy() {}
+  ~DistanceBasedUpdatePolicy() override {}
 
   // Calculates the distance between two latitude and longitude points.
   static double Distance(const double latitude1,
@@ -117,17 +115,17 @@
   {}
 
   // UpdatePolicy Implementation
-  virtual bool ShouldSendUpdate(const content::Geoposition&) const override {
+  bool ShouldSendUpdate(const content::Geoposition&) const override {
     return (base::Time::Now() - last_update_time_).InMilliseconds() >
         time_between_updates_ms_;
   }
 
-  virtual void OnPositionReported(const content::Geoposition&) override {
+  void OnPositionReported(const content::Geoposition&) override {
     last_update_time_ = base::Time::Now();
   }
 
  private:
-  virtual ~TimeBasedUpdatePolicy() {}
+  ~TimeBasedUpdatePolicy() override {}
 
   base::Time last_update_time_;
   const double time_between_updates_ms_;
diff --git a/chrome/browser/extensions/api/location/location_manager.h b/chrome/browser/extensions/api/location/location_manager.h
index 24bb38b..f56c5c6 100644
--- a/chrome/browser/extensions/api/location/location_manager.h
+++ b/chrome/browser/extensions/api/location/location_manager.h
@@ -35,7 +35,7 @@
                         public ExtensionRegistryObserver {
  public:
   explicit LocationManager(content::BrowserContext* context);
-  virtual ~LocationManager();
+  ~LocationManager() override;
 
   // Adds location request for the given extension, and starts the location
   // tracking.
@@ -77,12 +77,11 @@
                           const content::Geoposition& position);
 
   // ExtensionRegistryObserver implementation.
-  virtual void OnExtensionLoaded(content::BrowserContext* browser_context,
-                                 const Extension* extension) override;
-  virtual void OnExtensionUnloaded(
-      content::BrowserContext* browser_context,
-      const Extension* extension,
-      UnloadedExtensionInfo::Reason reason) override;
+  void OnExtensionLoaded(content::BrowserContext* browser_context,
+                         const Extension* extension) override;
+  void OnExtensionUnloaded(content::BrowserContext* browser_context,
+                           const Extension* extension,
+                           UnloadedExtensionInfo::Reason reason) override;
 
   // BrowserContextKeyedAPI implementation.
   static const char* service_name() { return "LocationManager"; }
diff --git a/chrome/browser/extensions/api/management/management_api.cc b/chrome/browser/extensions/api/management/management_api.cc
index abd6d4dd..f13f883 100644
--- a/chrome/browser/extensions/api/management/management_api.cc
+++ b/chrome/browser/extensions/api/management/management_api.cc
@@ -380,7 +380,7 @@
     host->Send(new ChromeUtilityMsg_ParseJSON(manifest_));
   }
 
-  virtual bool OnMessageReceived(const IPC::Message& message) override {
+  bool OnMessageReceived(const IPC::Message& message) override {
     bool handled = true;
     IPC_BEGIN_MESSAGE_MAP(SafeManifestJSONParser, message)
       IPC_MESSAGE_HANDLER(ChromeUtilityHostMsg_ParseJSON_Succeeded,
@@ -426,7 +426,7 @@
   }
 
  private:
-  virtual ~SafeManifestJSONParser() {}
+  ~SafeManifestJSONParser() override {}
 
   // The client who we'll report results back to.
   ManagementGetPermissionWarningsByManifestFunction* client_;
diff --git a/chrome/browser/extensions/api/management/management_api.h b/chrome/browser/extensions/api/management/management_api.h
index ff8ea11e..93133f9 100644
--- a/chrome/browser/extensions/api/management/management_api.h
+++ b/chrome/browser/extensions/api/management/management_api.h
@@ -27,14 +27,14 @@
 
 class ManagementFunction : public ChromeSyncExtensionFunction {
  protected:
-  virtual ~ManagementFunction() {}
+  ~ManagementFunction() override {}
 
   ExtensionService* service();
 };
 
 class AsyncManagementFunction : public ChromeAsyncExtensionFunction {
  protected:
-  virtual ~AsyncManagementFunction() {}
+  ~AsyncManagementFunction() override {}
 
   ExtensionService* service();
 };
@@ -44,10 +44,10 @@
   DECLARE_EXTENSION_FUNCTION("management.getAll", MANAGEMENT_GETALL)
 
  protected:
-  virtual ~ManagementGetAllFunction() {}
+  ~ManagementGetAllFunction() override {}
 
   // ExtensionFunction:
-  virtual bool RunSync() override;
+  bool RunSync() override;
 };
 
 class ManagementGetFunction : public ManagementFunction {
@@ -55,10 +55,10 @@
   DECLARE_EXTENSION_FUNCTION("management.get", MANAGEMENT_GET)
 
  protected:
-  virtual ~ManagementGetFunction() {}
+  ~ManagementGetFunction() override {}
 
   // ExtensionFunction:
-  virtual bool RunSync() override;
+  bool RunSync() override;
 };
 
 class ManagementGetSelfFunction : public ManagementFunction {
@@ -66,10 +66,10 @@
   DECLARE_EXTENSION_FUNCTION("management.getSelf", MANAGEMENT_GETSELF)
 
  protected:
-  virtual ~ManagementGetSelfFunction() {}
+  ~ManagementGetSelfFunction() override {}
 
   // ExtensionFunction:
-  virtual bool RunSync() override;
+  bool RunSync() override;
 };
 
 class ManagementGetPermissionWarningsByIdFunction : public ManagementFunction {
@@ -78,10 +78,10 @@
                              MANAGEMENT_GETPERMISSIONWARNINGSBYID)
 
  protected:
-  virtual ~ManagementGetPermissionWarningsByIdFunction() {}
+  ~ManagementGetPermissionWarningsByIdFunction() override {}
 
   // ExtensionFunction:
-  virtual bool RunSync() override;
+  bool RunSync() override;
 };
 
 class ManagementGetPermissionWarningsByManifestFunction
@@ -96,10 +96,10 @@
   void OnParseFailure(const std::string& error);
 
  protected:
-  virtual ~ManagementGetPermissionWarningsByManifestFunction() {}
+  ~ManagementGetPermissionWarningsByManifestFunction() override {}
 
   // ExtensionFunction:
-  virtual bool RunAsync() override;
+  bool RunAsync() override;
 };
 
 class ManagementLaunchAppFunction : public ManagementFunction {
@@ -107,10 +107,10 @@
   DECLARE_EXTENSION_FUNCTION("management.launchApp", MANAGEMENT_LAUNCHAPP)
 
  protected:
-  virtual ~ManagementLaunchAppFunction() {}
+  ~ManagementLaunchAppFunction() override {}
 
   // ExtensionFunction:
-  virtual bool RunSync() override;
+  bool RunSync() override;
 };
 
 class ManagementSetEnabledFunction : public AsyncManagementFunction,
@@ -121,14 +121,14 @@
   ManagementSetEnabledFunction();
 
  protected:
-  virtual ~ManagementSetEnabledFunction();
+  ~ManagementSetEnabledFunction() override;
 
   // ExtensionFunction:
-  virtual bool RunAsync() override;
+  bool RunAsync() override;
 
   // ExtensionInstallPrompt::Delegate.
-  virtual void InstallUIProceed() override;
-  virtual void InstallUIAbort(bool user_initiated) override;
+  void InstallUIProceed() override;
+  void InstallUIAbort(bool user_initiated) override;
 
  private:
   std::string extension_id_;
@@ -145,11 +145,11 @@
   static void SetAutoConfirmForTest(bool should_proceed);
 
   // ExtensionUninstallDialog::Delegate implementation.
-  virtual void ExtensionUninstallAccepted() override;
-  virtual void ExtensionUninstallCanceled() override;
+  void ExtensionUninstallAccepted() override;
+  void ExtensionUninstallCanceled() override;
 
  protected:
-  virtual ~ManagementUninstallFunctionBase();
+  ~ManagementUninstallFunctionBase() override;
 
   bool Uninstall(const std::string& extension_id, bool show_confirm_dialog);
  private:
@@ -170,9 +170,9 @@
   ManagementUninstallFunction();
 
  private:
-  virtual ~ManagementUninstallFunction();
+  ~ManagementUninstallFunction() override;
 
-  virtual bool RunAsync() override;
+  bool RunAsync() override;
 };
 
 class ManagementUninstallSelfFunction : public ManagementUninstallFunctionBase {
@@ -183,9 +183,9 @@
   ManagementUninstallSelfFunction();
 
  private:
-  virtual ~ManagementUninstallSelfFunction();
+  ~ManagementUninstallSelfFunction() override;
 
-  virtual bool RunAsync() override;
+  bool RunAsync() override;
 };
 
 class ManagementCreateAppShortcutFunction : public AsyncManagementFunction {
@@ -200,9 +200,9 @@
   static void SetAutoConfirmForTest(bool should_proceed);
 
  protected:
-  virtual ~ManagementCreateAppShortcutFunction();
+  ~ManagementCreateAppShortcutFunction() override;
 
-  virtual bool RunAsync() override;
+  bool RunAsync() override;
 };
 
 class ManagementSetLaunchTypeFunction : public ManagementFunction {
@@ -211,9 +211,9 @@
       MANAGEMENT_SETLAUNCHTYPE);
 
  protected:
-  virtual ~ManagementSetLaunchTypeFunction() {}
+  ~ManagementSetLaunchTypeFunction() override {}
 
-  virtual bool RunSync() override;
+  bool RunSync() override;
 };
 
 class ManagementGenerateAppForLinkFunction : public AsyncManagementFunction {
@@ -224,9 +224,9 @@
   ManagementGenerateAppForLinkFunction();
 
  protected:
-  virtual ~ManagementGenerateAppForLinkFunction();
+  ~ManagementGenerateAppForLinkFunction() override;
 
-  virtual bool RunAsync() override;
+  bool RunAsync() override;
 
  private:
   void OnFaviconForApp(const favicon_base::FaviconImageResult& image_result);
@@ -245,23 +245,21 @@
 class ManagementEventRouter : public ExtensionRegistryObserver {
  public:
   explicit ManagementEventRouter(content::BrowserContext* context);
-  virtual ~ManagementEventRouter();
+  ~ManagementEventRouter() override;
 
  private:
   // ExtensionRegistryObserver implementation.
-  virtual void OnExtensionLoaded(content::BrowserContext* browser_context,
-                                 const Extension* extension) override;
-  virtual void OnExtensionUnloaded(
-      content::BrowserContext* browser_context,
-      const Extension* extension,
-      UnloadedExtensionInfo::Reason reason) override;
-  virtual void OnExtensionInstalled(content::BrowserContext* browser_context,
-                                    const Extension* extension,
-                                    bool is_update) override;
-  virtual void OnExtensionUninstalled(
-      content::BrowserContext* browser_context,
-      const Extension* extension,
-      extensions::UninstallReason reason) override;
+  void OnExtensionLoaded(content::BrowserContext* browser_context,
+                         const Extension* extension) override;
+  void OnExtensionUnloaded(content::BrowserContext* browser_context,
+                           const Extension* extension,
+                           UnloadedExtensionInfo::Reason reason) override;
+  void OnExtensionInstalled(content::BrowserContext* browser_context,
+                            const Extension* extension,
+                            bool is_update) override;
+  void OnExtensionUninstalled(content::BrowserContext* browser_context,
+                              const Extension* extension,
+                              extensions::UninstallReason reason) override;
 
   // Dispatches management api events to listening extensions.
   void BroadcastEvent(const Extension* extension, const char* event_name);
@@ -278,16 +276,16 @@
                       public EventRouter::Observer {
  public:
   explicit ManagementAPI(content::BrowserContext* context);
-  virtual ~ManagementAPI();
+  ~ManagementAPI() override;
 
   // KeyedService implementation.
-  virtual void Shutdown() override;
+  void Shutdown() override;
 
   // BrowserContextKeyedAPI implementation.
   static BrowserContextKeyedAPIFactory<ManagementAPI>* GetFactoryInstance();
 
   // EventRouter::Observer implementation.
-  virtual void OnListenerAdded(const EventListenerInfo& details) override;
+  void OnListenerAdded(const EventListenerInfo& details) override;
 
  private:
   friend class BrowserContextKeyedAPIFactory<ManagementAPI>;
diff --git a/chrome/browser/extensions/api/management/management_api_browsertest.cc b/chrome/browser/extensions/api/management/management_api_browsertest.cc
index 4b31cef..98fe3aa1 100644
--- a/chrome/browser/extensions/api/management/management_api_browsertest.cc
+++ b/chrome/browser/extensions/api/management/management_api_browsertest.cc
@@ -215,7 +215,7 @@
   // The id of the permissions escalation test extension we use.
   static const char kId[];
 
-  virtual void SetUpOnMainThread() override {
+  void SetUpOnMainThread() override {
     EXPECT_TRUE(scoped_temp_dir_.CreateUniqueTempDir());
     base::FilePath pem_path = test_data_dir_.
         AppendASCII("permissions_increase").AppendASCII("permissions.pem");
diff --git a/chrome/browser/extensions/api/management/management_apitest.cc b/chrome/browser/extensions/api/management/management_apitest.cc
index 6b8623f1..8bcab7c 100644
--- a/chrome/browser/extensions/api/management/management_apitest.cc
+++ b/chrome/browser/extensions/api/management/management_apitest.cc
@@ -43,7 +43,7 @@
 
 class ExtensionManagementApiTest : public ExtensionApiTest {
  public:
-  virtual void SetUpCommandLine(CommandLine* command_line) override {
+  void SetUpCommandLine(CommandLine* command_line) override {
     ExtensionApiTest::SetUpCommandLine(command_line);
     command_line->AppendSwitch(switches::kEnablePanels);
   }
@@ -335,7 +335,7 @@
 class ExtensionManagementApiStreamlinedAppsTest
     : public ExtensionManagementApiTest {
  public:
-  virtual void SetUpCommandLine(CommandLine* command_line) override {
+  void SetUpCommandLine(CommandLine* command_line) override {
     ExtensionManagementApiTest::SetUpCommandLine(command_line);
     command_line->AppendSwitch(switches::kEnableStreamlinedHostedApps);
   }
diff --git a/chrome/browser/extensions/api/management/management_browsertest.cc b/chrome/browser/extensions/api/management/management_browsertest.cc
index 11d591f..30f7a13 100644
--- a/chrome/browser/extensions/api/management/management_browsertest.cc
+++ b/chrome/browser/extensions/api/management/management_browsertest.cc
@@ -56,7 +56,7 @@
 
 class ExtensionManagementTest : public ExtensionBrowserTest {
  public:
-  virtual void SetUpInProcessBrowserTestFixture() override {
+  void SetUpInProcessBrowserTestFixture() override {
     EXPECT_CALL(policy_provider_, IsInitializationComplete(_))
         .WillRepeatedly(Return(true));
     policy::BrowserPolicyConnector::SetPolicyProviderForTesting(
@@ -216,7 +216,7 @@
           this, types[i], content::NotificationService::AllSources());
     }
   }
-  virtual ~NotificationListener() {}
+  ~NotificationListener() override {}
 
   bool started() { return started_; }
 
@@ -231,9 +231,9 @@
   }
 
   // Implements content::NotificationObserver interface.
-  virtual void Observe(int type,
-                       const content::NotificationSource& source,
-                       const content::NotificationDetails& details) override {
+  void Observe(int type,
+               const content::NotificationSource& source,
+               const content::NotificationDetails& details) override {
     switch (type) {
       case extensions::NOTIFICATION_EXTENSION_UPDATING_STARTED: {
         EXPECT_FALSE(started_);
diff --git a/chrome/browser/extensions/api/mdns/dns_sd_device_lister.h b/chrome/browser/extensions/api/mdns/dns_sd_device_lister.h
index 6e0053c98..2a98082 100644
--- a/chrome/browser/extensions/api/mdns/dns_sd_device_lister.h
+++ b/chrome/browser/extensions/api/mdns/dns_sd_device_lister.h
@@ -30,11 +30,11 @@
   virtual void Discover(bool force_update);
 
  protected:
-  virtual void OnDeviceChanged(
+  void OnDeviceChanged(
       bool added,
       const local_discovery::ServiceDescription& service_description) override;
-  virtual void OnDeviceRemoved(const std::string& service_name) override;
-  virtual void OnDeviceCacheFlushed() override;
+  void OnDeviceRemoved(const std::string& service_name) override;
+  void OnDeviceCacheFlushed() override;
 
  private:
   // The delegate to notify of changes to services.
diff --git a/chrome/browser/extensions/api/mdns/dns_sd_registry.h b/chrome/browser/extensions/api/mdns/dns_sd_registry.h
index e6dc9227..c85b1fc 100644
--- a/chrome/browser/extensions/api/mdns/dns_sd_registry.h
+++ b/chrome/browser/extensions/api/mdns/dns_sd_registry.h
@@ -89,12 +89,12 @@
       local_discovery::ServiceDiscoverySharedClient* discovery_client);
 
   // DnsSdDelegate implementation:
-  virtual void ServiceChanged(const std::string& service_type,
-                              bool added,
-                              const DnsSdService& service) override;
-  virtual void ServiceRemoved(const std::string& service_type,
-                              const std::string& service_name) override;
-  virtual void ServicesFlushed(const std::string& service_type) override;
+  void ServiceChanged(const std::string& service_type,
+                      bool added,
+                      const DnsSdService& service) override;
+  void ServiceRemoved(const std::string& service_type,
+                      const std::string& service_name) override;
+  void ServicesFlushed(const std::string& service_type) override;
 
   DnsSdServiceTypeDataMap service_data_map_;
 
diff --git a/chrome/browser/extensions/api/mdns/dns_sd_registry_unittest.cc b/chrome/browser/extensions/api/mdns/dns_sd_registry_unittest.cc
index a40f85a9..ba49ca9 100644
--- a/chrome/browser/extensions/api/mdns/dns_sd_registry_unittest.cc
+++ b/chrome/browser/extensions/api/mdns/dns_sd_registry_unittest.cc
@@ -13,15 +13,15 @@
 class MockDnsSdDeviceLister : public DnsSdDeviceLister {
  public:
   MockDnsSdDeviceLister() : DnsSdDeviceLister(NULL, NULL, "") {}
-  virtual ~MockDnsSdDeviceLister() {}
+  ~MockDnsSdDeviceLister() override {}
 
-  virtual void Discover(bool force_update) override {}
+  void Discover(bool force_update) override {}
 };
 
 class TestDnsSdRegistry : public DnsSdRegistry {
  public:
   TestDnsSdRegistry() : DnsSdRegistry(NULL), delegate_(NULL) {}
-  virtual ~TestDnsSdRegistry() {}
+  ~TestDnsSdRegistry() override {}
 
   MockDnsSdDeviceLister* GetListerForService(const std::string& service_type) {
     return listers_[service_type];
@@ -39,11 +39,11 @@
   }
 
  protected:
-  virtual DnsSdDeviceLister* CreateDnsSdDeviceLister(
+  DnsSdDeviceLister* CreateDnsSdDeviceLister(
       DnsSdDelegate* delegate,
       const std::string& service_type,
       local_discovery::ServiceDiscoverySharedClient* discovery_client)
-          override {
+      override {
     delegate_ = delegate;
     MockDnsSdDeviceLister* lister = new MockDnsSdDeviceLister();
     listers_[service_type] = lister;
diff --git a/chrome/browser/extensions/api/mdns/mdns_api.h b/chrome/browser/extensions/api/mdns/mdns_api.h
index e659b0a..f232d3b0 100644
--- a/chrome/browser/extensions/api/mdns/mdns_api.h
+++ b/chrome/browser/extensions/api/mdns/mdns_api.h
@@ -31,7 +31,7 @@
                 public DnsSdRegistry::DnsSdObserver {
  public:
   explicit MDnsAPI(content::BrowserContext* context);
-  virtual ~MDnsAPI();
+  ~MDnsAPI() override;
 
   static MDnsAPI* Get(content::BrowserContext* context);
 
@@ -49,13 +49,12 @@
   friend class BrowserContextKeyedAPIFactory<MDnsAPI>;
 
   // EventRouter::Observer:
-  virtual void OnListenerAdded(const EventListenerInfo& details) override;
-  virtual void OnListenerRemoved(const EventListenerInfo& details) override;
+  void OnListenerAdded(const EventListenerInfo& details) override;
+  void OnListenerRemoved(const EventListenerInfo& details) override;
 
   // DnsSdRegistry::Observer
-  virtual void OnDnsSdEvent(
-      const std::string& service_type,
-      const DnsSdRegistry::DnsSdServiceList& services) override;
+  void OnDnsSdEvent(const std::string& service_type,
+                    const DnsSdRegistry::DnsSdServiceList& services) override;
 
   // BrowserContextKeyedAPI implementation.
   static const char* service_name() {
diff --git a/chrome/browser/extensions/api/mdns/mdns_apitest.cc b/chrome/browser/extensions/api/mdns/mdns_apitest.cc
index 5e4657a..00d3d8dc6 100644
--- a/chrome/browser/extensions/api/mdns/mdns_apitest.cc
+++ b/chrome/browser/extensions/api/mdns/mdns_apitest.cc
@@ -42,7 +42,7 @@
  public:
   MDnsAPITest() {}
 
-  virtual void SetUpCommandLine(CommandLine* command_line) override {
+  void SetUpCommandLine(CommandLine* command_line) override {
     ExtensionApiTest::SetUpCommandLine(command_line);
     command_line->AppendSwitchASCII(
         extensions::switches::kWhitelistedExtensionID,
diff --git a/chrome/browser/extensions/api/media_galleries/media_galleries_api.cc b/chrome/browser/extensions/api/media_galleries/media_galleries_api.cc
index 71ce7d6c..d5f033d 100644
--- a/chrome/browser/extensions/api/media_galleries/media_galleries_api.cc
+++ b/chrome/browser/extensions/api/media_galleries/media_galleries_api.cc
@@ -274,26 +274,26 @@
   }
 
   // ui::SelectFileDialog::Listener implementation.
-  virtual void FileSelected(const base::FilePath& path,
-                            int index,
-                            void* params) override {
+  void FileSelected(const base::FilePath& path,
+                    int index,
+                    void* params) override {
     callback_.Run(path);
     Release();  // Balanced in Show().
   }
 
-  virtual void MultiFilesSelected(const std::vector<base::FilePath>& files,
-                                  void* params) override {
+  void MultiFilesSelected(const std::vector<base::FilePath>& files,
+                          void* params) override {
     NOTREACHED() << "Should not be able to select multiple files";
   }
 
-  virtual void FileSelectionCanceled(void* params) override {
+  void FileSelectionCanceled(void* params) override {
     callback_.Run(base::FilePath());
     Release();  // Balanced in Show().
   }
 
  private:
   friend class base::RefCounted<SelectDirectoryDialog>;
-  virtual ~SelectDirectoryDialog() {}
+  ~SelectDirectoryDialog() override {}
 
   scoped_refptr<ui::SelectFileDialog> select_file_dialog_;
   WebContents* web_contents_;
diff --git a/chrome/browser/extensions/api/media_galleries/media_galleries_api.h b/chrome/browser/extensions/api/media_galleries/media_galleries_api.h
index f900ca7a..95ab476 100644
--- a/chrome/browser/extensions/api/media_galleries/media_galleries_api.h
+++ b/chrome/browser/extensions/api/media_galleries/media_galleries_api.h
@@ -49,7 +49,7 @@
                                   public extensions::EventRouter::Observer {
  public:
   // KeyedService implementation.
-  virtual void Shutdown() override;
+  void Shutdown() override;
 
   // BrowserContextKeyedAPI implementation.
   static BrowserContextKeyedAPIFactory<MediaGalleriesEventRouter>*
@@ -62,13 +62,12 @@
   bool ExtensionHasScanProgressListener(const std::string& extension_id) const;
 
   // MediaScanManagerObserver implementation.
-  virtual void OnScanStarted(const std::string& extension_id) override;
-  virtual void OnScanCancelled(const std::string& extension_id) override;
-  virtual void OnScanFinished(
-      const std::string& extension_id,
-      int gallery_count,
-      const MediaGalleryScanResult& file_counts) override;
-  virtual void OnScanError(const std::string& extension_id) override;
+  void OnScanStarted(const std::string& extension_id) override;
+  void OnScanCancelled(const std::string& extension_id) override;
+  void OnScanFinished(const std::string& extension_id,
+                      int gallery_count,
+                      const MediaGalleryScanResult& file_counts) override;
+  void OnScanError(const std::string& extension_id) override;
 
  private:
   friend class BrowserContextKeyedAPIFactory<MediaGalleriesEventRouter>;
@@ -78,7 +77,7 @@
                                 scoped_ptr<base::ListValue> event_args);
 
   explicit MediaGalleriesEventRouter(content::BrowserContext* context);
-  virtual ~MediaGalleriesEventRouter();
+  ~MediaGalleriesEventRouter() override;
 
   // BrowserContextKeyedAPI implementation.
   static const char* service_name() {
@@ -87,13 +86,13 @@
   static const bool kServiceIsNULLWhileTesting = true;
 
   // GalleryWatchManagerObserver
-  virtual void OnGalleryChanged(const std::string& extension_id,
-                                MediaGalleryPrefId gallery_id) override;
-  virtual void OnGalleryWatchDropped(const std::string& extension_id,
-                                     MediaGalleryPrefId gallery_id) override;
+  void OnGalleryChanged(const std::string& extension_id,
+                        MediaGalleryPrefId gallery_id) override;
+  void OnGalleryWatchDropped(const std::string& extension_id,
+                             MediaGalleryPrefId gallery_id) override;
 
   // extensions::EventRouter::Observer implementation.
-  virtual void OnListenerRemoved(const EventListenerInfo& details) override;
+  void OnListenerRemoved(const EventListenerInfo& details) override;
 
   // Current profile.
   Profile* profile_;
@@ -110,8 +109,8 @@
                              MEDIAGALLERIES_GETMEDIAFILESYSTEMS)
 
  protected:
-  virtual ~MediaGalleriesGetMediaFileSystemsFunction();
-  virtual bool RunAsync() override;
+  ~MediaGalleriesGetMediaFileSystemsFunction() override;
+  bool RunAsync() override;
 
  private:
   // Bottom half for RunAsync, invoked after the preferences is initialized.
@@ -147,8 +146,8 @@
                              MEDIAGALLERIES_GETALLMEDIAFILESYSTEMMETADATA)
 
  protected:
-  virtual ~MediaGalleriesGetAllMediaFileSystemMetadataFunction();
-  virtual bool RunAsync() override;
+  ~MediaGalleriesGetAllMediaFileSystemMetadataFunction() override;
+  bool RunAsync() override;
 
  private:
   // Bottom half for RunAsync, invoked after the preferences is initialized.
@@ -169,8 +168,8 @@
                              MEDIAGALLERIES_ADDUSERSELECTEDFOLDER)
 
  protected:
-  virtual ~MediaGalleriesAddUserSelectedFolderFunction();
-  virtual bool RunAsync() override;
+  ~MediaGalleriesAddUserSelectedFolderFunction() override;
+  bool RunAsync() override;
 
  private:
   // Bottom half for RunAsync, invoked after the preferences is initialized.
@@ -202,8 +201,8 @@
                              MEDIAGALLERIES_DROPPERMISSIONFORMEDIAFILESYSTEM)
 
  protected:
-  virtual ~MediaGalleriesDropPermissionForMediaFileSystemFunction();
-  virtual bool RunAsync() override;
+  ~MediaGalleriesDropPermissionForMediaFileSystemFunction() override;
+  bool RunAsync() override;
 
  private:
   // Bottom half for RunAsync, invoked after the preferences is initialized.
@@ -217,8 +216,8 @@
                              MEDIAGALLERIES_STARTMEDIASCAN)
 
  protected:
-  virtual ~MediaGalleriesStartMediaScanFunction();
-  virtual bool RunAsync() override;
+  ~MediaGalleriesStartMediaScanFunction() override;
+  bool RunAsync() override;
 
  private:
   // Bottom half for RunAsync, invoked after the preferences is initialized.
@@ -232,8 +231,8 @@
                              MEDIAGALLERIES_CANCELMEDIASCAN)
 
  protected:
-  virtual ~MediaGalleriesCancelMediaScanFunction();
-  virtual bool RunAsync() override;
+  ~MediaGalleriesCancelMediaScanFunction() override;
+  bool RunAsync() override;
 
  private:
   // Bottom half for RunAsync, invoked after the preferences is initialized.
@@ -247,8 +246,8 @@
                              MEDIAGALLERIES_ADDSCANRESULTS)
 
  protected:
-  virtual ~MediaGalleriesAddScanResultsFunction();
-  virtual bool RunAsync() override;
+  ~MediaGalleriesAddScanResultsFunction() override;
+  bool RunAsync() override;
 
   // Pulled out for testing.
   virtual MediaGalleriesScanResultController* MakeDialog(
@@ -274,8 +273,8 @@
                              MEDIAGALLERIES_GETMETADATA)
 
  protected:
-  virtual ~MediaGalleriesGetMetadataFunction();
-  virtual bool RunAsync() override;
+  ~MediaGalleriesGetMetadataFunction() override;
+  bool RunAsync() override;
 
  private:
   // Bottom half for RunAsync, invoked after the preferences is initialized.
@@ -305,8 +304,8 @@
                              MEDIAGALLERIES_ADDGALLERYWATCH);
 
  protected:
-  virtual ~MediaGalleriesAddGalleryWatchFunction();
-  virtual bool RunAsync() override;
+  ~MediaGalleriesAddGalleryWatchFunction() override;
+  bool RunAsync() override;
 
  private:
   void OnPreferencesInit(const std::string& pref_id);
@@ -322,8 +321,8 @@
                              MEDIAGALLERIES_REMOVEGALLERYWATCH);
 
  protected:
-  virtual ~MediaGalleriesRemoveGalleryWatchFunction();
-  virtual bool RunAsync() override;
+  ~MediaGalleriesRemoveGalleryWatchFunction() override;
+  bool RunAsync() override;
 
  private:
   void OnPreferencesInit(const std::string& pref_id);
@@ -336,8 +335,8 @@
                              MEDIAGALLERIES_GETALLGALLERYWATCH);
 
  protected:
-  virtual ~MediaGalleriesGetAllGalleryWatchFunction();
-  virtual bool RunAsync() override;
+  ~MediaGalleriesGetAllGalleryWatchFunction() override;
+  bool RunAsync() override;
 
  private:
   void OnPreferencesInit();
@@ -350,8 +349,8 @@
                              MEDIAGALLERIES_REMOVEALLGALLERYWATCH);
 
  protected:
-  virtual ~MediaGalleriesRemoveAllGalleryWatchFunction();
-  virtual bool RunAsync() override;
+  ~MediaGalleriesRemoveAllGalleryWatchFunction() override;
+  bool RunAsync() override;
 
  private:
   void OnPreferencesInit();
diff --git a/chrome/browser/extensions/api/media_galleries/media_galleries_apitest.cc b/chrome/browser/extensions/api/media_galleries/media_galleries_apitest.cc
index 0ad28cf..326c8384 100644
--- a/chrome/browser/extensions/api/media_galleries/media_galleries_apitest.cc
+++ b/chrome/browser/extensions/api/media_galleries/media_galleries_apitest.cc
@@ -71,14 +71,14 @@
       const MediaFolderFinderResultsCallback& callback)
       : MediaFolderFinder(callback) {
   }
-  virtual ~DoNothingMediaFolderFinder() {}
+  ~DoNothingMediaFolderFinder() override {}
 
   static MediaFolderFinder* CreateDoNothingMediaFolderFinder(
       const MediaFolderFinderResultsCallback& callback) {
     return new DoNothingMediaFolderFinder(callback);
   }
 
-  virtual void StartScan() override {}
+  void StartScan() override {}
 
  private:
 };
@@ -93,10 +93,10 @@
   }
 
  protected:
-  virtual ~TestMediaGalleriesAddScanResultsFunction() {}
+  ~TestMediaGalleriesAddScanResultsFunction() override {}
 
   // Accepts the dialog as soon as it is created.
-  virtual MediaGalleriesScanResultController* MakeDialog(
+  MediaGalleriesScanResultController* MakeDialog(
       content::WebContents* web_contents,
       const extensions::Extension& extension,
       const base::Closure& on_finish) override {
@@ -114,7 +114,7 @@
   MediaGalleriesPlatformAppBrowserTest() : test_jpg_size_(0) {}
   virtual ~MediaGalleriesPlatformAppBrowserTest() {}
 
-  virtual void SetUpOnMainThread() override {
+  void SetUpOnMainThread() override {
     PlatformAppBrowserTest::SetUpOnMainThread();
     ensure_media_directories_exists_.reset(new EnsureMediaDirectoriesExists);
 
@@ -124,7 +124,7 @@
     test_jpg_size_ = base::checked_cast<int>(file_size);
   }
 
-  virtual void TearDownOnMainThread() override {
+  void TearDownOnMainThread() override {
     ensure_media_directories_exists_.reset();
     PlatformAppBrowserTest::TearDownOnMainThread();
   }
@@ -438,12 +438,12 @@
 class MediaGalleriesPlatformAppPpapiTest
     : public MediaGalleriesPlatformAppBrowserTest {
  protected:
-  virtual void SetUpCommandLine(CommandLine* command_line) override {
+  void SetUpCommandLine(CommandLine* command_line) override {
     MediaGalleriesPlatformAppBrowserTest::SetUpCommandLine(command_line);
     command_line->AppendSwitch(switches::kEnablePepperTesting);
   }
 
-  virtual void SetUpOnMainThread() override {
+  void SetUpOnMainThread() override {
     MediaGalleriesPlatformAppBrowserTest::SetUpOnMainThread();
 
     ASSERT_TRUE(PathService::Get(chrome::DIR_GEN_TEST_DATA, &app_dir_));
diff --git a/chrome/browser/extensions/api/media_galleries/media_galleries_watch_apitest.cc b/chrome/browser/extensions/api/media_galleries/media_galleries_watch_apitest.cc
index 7b7c987..89be45e 100644
--- a/chrome/browser/extensions/api/media_galleries/media_galleries_watch_apitest.cc
+++ b/chrome/browser/extensions/api/media_galleries/media_galleries_watch_apitest.cc
@@ -83,12 +83,12 @@
 
  protected:
   // ExtensionApiTest overrides.
-  virtual void SetUpCommandLine(CommandLine* command_line) override {
+  void SetUpCommandLine(CommandLine* command_line) override {
     ExtensionApiTest::SetUpCommandLine(command_line);
     command_line->AppendSwitchASCII(
         extensions::switches::kWhitelistedExtensionID, kTestExtensionId);
   }
-  virtual void SetUpOnMainThread() override {
+  void SetUpOnMainThread() override {
     ExtensionApiTest::SetUpOnMainThread();
     ensure_media_directories_exists_.reset(new EnsureMediaDirectoriesExists);
     extension_ = LoadExtension(test_data_dir_.AppendASCII(kTestExtensionPath));
@@ -96,7 +96,7 @@
     CreateTestGallery();
     FetchMediaGalleriesList();
   }
-  virtual void TearDownOnMainThread() override {
+  void TearDownOnMainThread() override {
     extension_ = NULL;
     background_host_ = NULL;
     ensure_media_directories_exists_.reset();
diff --git a/chrome/browser/extensions/api/media_galleries_private/gallery_watch_state_tracker.h b/chrome/browser/extensions/api/media_galleries_private/gallery_watch_state_tracker.h
index 4cfb70f..b968870 100644
--- a/chrome/browser/extensions/api/media_galleries_private/gallery_watch_state_tracker.h
+++ b/chrome/browser/extensions/api/media_galleries_private/gallery_watch_state_tracker.h
@@ -37,7 +37,7 @@
       public MediaGalleriesPreferences::GalleryChangeObserver {
  public:
   explicit GalleryWatchStateTracker(Profile* profile);
-  virtual ~GalleryWatchStateTracker();
+  ~GalleryWatchStateTracker() override;
 
   // Returns the GalleryWatchStateTracker associated with the |profile|.
   // Returns NULL if GalleryWatchStateTracker does not exists.
@@ -56,16 +56,16 @@
   // Updates the state of the gallery watchers on the receipt of access
   // permission changed event for the extension specified by the
   // |extension_id|.
-  virtual void OnPermissionAdded(MediaGalleriesPreferences* pref,
-                                 const std::string& extension_id,
-                                 MediaGalleryPrefId gallery_id) override;
+  void OnPermissionAdded(MediaGalleriesPreferences* pref,
+                         const std::string& extension_id,
+                         MediaGalleryPrefId gallery_id) override;
 
-  virtual void OnPermissionRemoved(MediaGalleriesPreferences* pref,
-                                   const std::string& extension_id,
-                                   MediaGalleryPrefId gallery_id) override;
+  void OnPermissionRemoved(MediaGalleriesPreferences* pref,
+                           const std::string& extension_id,
+                           MediaGalleryPrefId gallery_id) override;
 
-  virtual void OnGalleryRemoved(MediaGalleriesPreferences* pref,
-                                MediaGalleryPrefId gallery_id) override;
+  void OnGalleryRemoved(MediaGalleriesPreferences* pref,
+                        MediaGalleryPrefId gallery_id) override;
 
   // Returns a set of watched gallery identifiers for the extension specified
   // by the |extension_id|.
@@ -90,12 +90,11 @@
   typedef std::map<std::string, WatchedGalleriesMap> WatchedExtensionsMap;
 
   // extensions::ExtensionRegistryObserver implementation.
-  virtual void OnExtensionLoaded(content::BrowserContext* browser_context,
-                                 const Extension* extension) override;
-  virtual void OnExtensionUnloaded(content::BrowserContext* browser_context,
-                                   const Extension* extension,
-                                   UnloadedExtensionInfo::Reason reason)
-      override;
+  void OnExtensionLoaded(content::BrowserContext* browser_context,
+                         const Extension* extension) override;
+  void OnExtensionUnloaded(content::BrowserContext* browser_context,
+                           const Extension* extension,
+                           UnloadedExtensionInfo::Reason reason) override;
 
   // Syncs media gallery watch data for the given extension to/from the state
   // storage.
diff --git a/chrome/browser/extensions/api/media_galleries_private/media_galleries_private_api.h b/chrome/browser/extensions/api/media_galleries_private/media_galleries_private_api.h
index 71363dc..c4784c2 100644
--- a/chrome/browser/extensions/api/media_galleries_private/media_galleries_private_api.h
+++ b/chrome/browser/extensions/api/media_galleries_private/media_galleries_private_api.h
@@ -33,10 +33,10 @@
                                  public EventRouter::Observer {
  public:
   explicit MediaGalleriesPrivateAPI(content::BrowserContext* context);
-  virtual ~MediaGalleriesPrivateAPI();
+  ~MediaGalleriesPrivateAPI() override;
 
   // KeyedService implementation.
-  virtual void Shutdown() override;
+  void Shutdown() override;
 
   // BrowserContextKeyedAPI implementation.
   static BrowserContextKeyedAPIFactory<MediaGalleriesPrivateAPI>*
@@ -46,7 +46,7 @@
   static MediaGalleriesPrivateAPI* Get(content::BrowserContext* context);
 
   // EventRouter::Observer implementation.
-  virtual void OnListenerAdded(const EventListenerInfo& details) override;
+  void OnListenerAdded(const EventListenerInfo& details) override;
 
   MediaGalleriesPrivateEventRouter* GetEventRouter();
   GalleryWatchStateTracker* GetGalleryWatchStateTracker();
@@ -85,10 +85,10 @@
                              MEDIAGALLERIESPRIVATE_ADDGALLERYWATCH);
 
  protected:
-  virtual ~MediaGalleriesPrivateAddGalleryWatchFunction();
+  ~MediaGalleriesPrivateAddGalleryWatchFunction() override;
 
   // AsyncExtensionFunction overrides.
-  virtual bool RunAsync() override;
+  bool RunAsync() override;
 
  private:
   void OnPreferencesInit(const std::string& pref_id);
@@ -105,10 +105,10 @@
                              MEDIAGALLERIESPRIVATE_REMOVEGALLERYWATCH);
 
  protected:
-  virtual ~MediaGalleriesPrivateRemoveGalleryWatchFunction();
+  ~MediaGalleriesPrivateRemoveGalleryWatchFunction() override;
 
   // SyncExtensionFunction overrides.
-  virtual bool RunAsync() override;
+  bool RunAsync() override;
 
  private:
   void OnPreferencesInit(const std::string& pref_id);
@@ -121,10 +121,10 @@
   DECLARE_EXTENSION_FUNCTION("mediaGalleriesPrivate.getAllGalleryWatch",
                              MEDIAGALLERIESPRIVATE_GETALLGALLERYWATCH);
  protected:
-  virtual ~MediaGalleriesPrivateGetAllGalleryWatchFunction();
+  ~MediaGalleriesPrivateGetAllGalleryWatchFunction() override;
 
   // SyncExtensionFunction overrides.
-  virtual bool RunAsync() override;
+  bool RunAsync() override;
 
  private:
   void OnPreferencesInit();
@@ -137,10 +137,10 @@
   DECLARE_EXTENSION_FUNCTION("mediaGalleriesPrivate.removeAllGalleryWatch",
                              MEDIAGALLERIESPRIVATE_REMOVEALLGALLERYWATCH);
  protected:
-  virtual ~MediaGalleriesPrivateRemoveAllGalleryWatchFunction();
+  ~MediaGalleriesPrivateRemoveAllGalleryWatchFunction() override;
 
   // SyncExtensionFunction overrides.
-  virtual bool RunAsync() override;
+  bool RunAsync() override;
 
  private:
   void OnPreferencesInit();
diff --git a/chrome/browser/extensions/api/media_galleries_private/media_galleries_watch_apitest.cc b/chrome/browser/extensions/api/media_galleries_private/media_galleries_watch_apitest.cc
index 554a5b4..e5817e8 100644
--- a/chrome/browser/extensions/api/media_galleries_private/media_galleries_watch_apitest.cc
+++ b/chrome/browser/extensions/api/media_galleries_private/media_galleries_watch_apitest.cc
@@ -79,13 +79,13 @@
 
  protected:
   // ExtensionApiTest overrides.
-  virtual void SetUpCommandLine(CommandLine* command_line) override {
+  void SetUpCommandLine(CommandLine* command_line) override {
     ExtensionApiTest::SetUpCommandLine(command_line);
     command_line->AppendSwitchASCII(
         extensions::switches::kWhitelistedExtensionID,
         kTestExtensionId);
   }
-  virtual void SetUpOnMainThread() override {
+  void SetUpOnMainThread() override {
     ExtensionApiTest::SetUpOnMainThread();
     ensure_media_directories_exists_.reset(new EnsureMediaDirectoriesExists);
     extension_ = LoadExtension(test_data_dir_.AppendASCII(kTestExtensionPath));
@@ -93,7 +93,7 @@
     CreateTestGallery();
     FetchMediaGalleriesList();
   }
-  virtual void TearDownOnMainThread() override {
+  void TearDownOnMainThread() override {
     extension_ = NULL;
     background_host_ = NULL;
     ensure_media_directories_exists_.reset();
diff --git a/chrome/browser/extensions/api/messaging/extension_message_port.h b/chrome/browser/extensions/api/messaging/extension_message_port.h
index a10c031..f427e23d 100644
--- a/chrome/browser/extensions/api/messaging/extension_message_port.h
+++ b/chrome/browser/extensions/api/messaging/extension_message_port.h
@@ -21,21 +21,19 @@
   ExtensionMessagePort(content::RenderProcessHost* process,
                        int routing_id,
                        const std::string& extension_id);
-  virtual void DispatchOnConnect(
-      int dest_port_id,
-      const std::string& channel_name,
-      const base::DictionaryValue& source_tab,
-      const std::string& source_extension_id,
-      const std::string& target_extension_id,
-      const GURL& source_url,
-      const std::string& tls_channel_id) override;
-  virtual void DispatchOnDisconnect(int source_port_id,
-                                    const std::string& error_message) override;
-  virtual void DispatchOnMessage(const Message& message,
-                                 int target_port_id) override;
-  virtual void IncrementLazyKeepaliveCount() override;
-  virtual void DecrementLazyKeepaliveCount() override;
-  virtual content::RenderProcessHost* GetRenderProcessHost() override;
+  void DispatchOnConnect(int dest_port_id,
+                         const std::string& channel_name,
+                         const base::DictionaryValue& source_tab,
+                         const std::string& source_extension_id,
+                         const std::string& target_extension_id,
+                         const GURL& source_url,
+                         const std::string& tls_channel_id) override;
+  void DispatchOnDisconnect(int source_port_id,
+                            const std::string& error_message) override;
+  void DispatchOnMessage(const Message& message, int target_port_id) override;
+  void IncrementLazyKeepaliveCount() override;
+  void DecrementLazyKeepaliveCount() override;
+  content::RenderProcessHost* GetRenderProcessHost() override;
 
  private:
   content::RenderProcessHost* process_;
diff --git a/chrome/browser/extensions/api/messaging/incognito_connectability.h b/chrome/browser/extensions/api/messaging/incognito_connectability.h
index 02e8e251..28d9bcb7 100644
--- a/chrome/browser/extensions/api/messaging/incognito_connectability.h
+++ b/chrome/browser/extensions/api/messaging/incognito_connectability.h
@@ -64,7 +64,7 @@
   friend class BrowserContextKeyedAPIFactory<IncognitoConnectability>;
 
   explicit IncognitoConnectability(content::BrowserContext* context);
-  virtual ~IncognitoConnectability();
+  ~IncognitoConnectability() override;
 
   typedef std::map<std::string, std::set<GURL> > ExtensionToOriginsMap;
 
diff --git a/chrome/browser/extensions/api/messaging/message_service.h b/chrome/browser/extensions/api/messaging/message_service.h
index 23bf7e87c..6dcde00 100644
--- a/chrome/browser/extensions/api/messaging/message_service.h
+++ b/chrome/browser/extensions/api/messaging/message_service.h
@@ -119,7 +119,7 @@
   static void AllocatePortIdPair(int* port1, int* port2);
 
   explicit MessageService(content::BrowserContext* context);
-  virtual ~MessageService();
+  ~MessageService() override;
 
   // BrowserContextKeyedAPI implementation.
   static BrowserContextKeyedAPIFactory<MessageService>* GetFactoryInstance();
@@ -196,9 +196,9 @@
   void AddChannel(MessageChannel* channel, int receiver_port_id);
 
   // content::NotificationObserver interface.
-  virtual void Observe(int type,
-                       const content::NotificationSource& source,
-                       const content::NotificationDetails& details) override;
+  void Observe(int type,
+               const content::NotificationSource& source,
+               const content::NotificationDetails& details) override;
 
   // A process that might be in our list of channels has closed.
   void OnProcessClosed(content::RenderProcessHost* process);
diff --git a/chrome/browser/extensions/api/messaging/native_message_port.cc b/chrome/browser/extensions/api/messaging/native_message_port.cc
index 3bd403a9..31c5502 100644
--- a/chrome/browser/extensions/api/messaging/native_message_port.cc
+++ b/chrome/browser/extensions/api/messaging/native_message_port.cc
@@ -22,13 +22,13 @@
       scoped_ptr<NativeMessageHost> host,
       base::WeakPtr<NativeMessagePort> port,
       scoped_refptr<base::SingleThreadTaskRunner> message_service_task_runner_);
-  virtual ~Core();
+  ~Core() override;
 
   void OnMessageFromChrome(const std::string& message);
 
   // NativeMessageHost::Client implementation.
-  virtual void PostMessageFromNativeHost(const std::string& message) override;
-  virtual void CloseChannel(const std::string& error_message) override;
+  void PostMessageFromNativeHost(const std::string& message) override;
+  void CloseChannel(const std::string& error_message) override;
 
  private:
   scoped_ptr<NativeMessageHost> host_;
diff --git a/chrome/browser/extensions/api/messaging/native_message_port.h b/chrome/browser/extensions/api/messaging/native_message_port.h
index 65711ae..438b3176 100644
--- a/chrome/browser/extensions/api/messaging/native_message_port.h
+++ b/chrome/browser/extensions/api/messaging/native_message_port.h
@@ -18,11 +18,11 @@
   NativeMessagePort(base::WeakPtr<MessageService> message_service,
                     int port_id,
                     scoped_ptr<NativeMessageHost> native_message_host);
-  virtual ~NativeMessagePort();
+  ~NativeMessagePort() override;
 
   // MessageService::MessagePort implementation.
-  virtual void DispatchOnMessage(const Message& message,
-                                 int target_port_id) override;
+  void DispatchOnMessage(const Message& message, int target_port_id) override;
+
  private:
   class Core;
   void PostMessageFromNativeHost(const std::string& message);
diff --git a/chrome/browser/extensions/api/messaging/native_message_process_host.h b/chrome/browser/extensions/api/messaging/native_message_process_host.h
index b730277a1..fb00a5c 100644
--- a/chrome/browser/extensions/api/messaging/native_message_process_host.h
+++ b/chrome/browser/extensions/api/messaging/native_message_process_host.h
@@ -39,7 +39,7 @@
 #endif  // !defined(OS_POSIX)
     public NativeMessageHost {
  public:
-  virtual ~NativeMessageProcessHost();
+  ~NativeMessageProcessHost() override;
 
   // Create using specified |launcher|. Used in tests.
   static scoped_ptr<NativeMessageHost> CreateWithLauncher(
@@ -48,15 +48,14 @@
       scoped_ptr<NativeProcessLauncher> launcher);
 
   // extensions::NativeMessageHost implementation.
-  virtual void OnMessage(const std::string& message) override;
-  virtual void Start(Client* client) override;
-  virtual scoped_refptr<base::SingleThreadTaskRunner> task_runner()
-      const override;
+  void OnMessage(const std::string& message) override;
+  void Start(Client* client) override;
+  scoped_refptr<base::SingleThreadTaskRunner> task_runner() const override;
 
 #if defined(OS_POSIX)
   // MessageLoopForIO::Watcher interface
-  virtual void OnFileCanReadWithoutBlocking(int fd) override;
-  virtual void OnFileCanWriteWithoutBlocking(int fd) override;
+  void OnFileCanReadWithoutBlocking(int fd) override;
+  void OnFileCanWriteWithoutBlocking(int fd) override;
 #endif  // !defined(OS_POSIX)
 
   // Try and read a single message from |read_file_|. This should only be called
diff --git a/chrome/browser/extensions/api/messaging/native_message_process_host_unittest.cc b/chrome/browser/extensions/api/messaging/native_message_process_host_unittest.cc
index 958c9c5e..39ab93e 100644
--- a/chrome/browser/extensions/api/messaging/native_message_process_host_unittest.cc
+++ b/chrome/browser/extensions/api/messaging/native_message_process_host_unittest.cc
@@ -78,9 +78,9 @@
         base::File(write_file, write_flags)));
   }
 
-  virtual void Launch(const GURL& origin,
-                      const std::string& native_host_name,
-                      LaunchedCallback callback) const override {
+  void Launch(const GURL& origin,
+              const std::string& native_host_name,
+              LaunchedCallback callback) const override {
     callback.Run(NativeProcessLauncher::RESULT_SUCCESS,
                  base::kNullProcessHandle,
                  read_file_.Pass(), write_file_.Pass());
@@ -112,7 +112,7 @@
     base::RunLoop().RunUntilIdle();
   }
 
-  virtual void PostMessageFromNativeHost(const std::string& message) override {
+  void PostMessageFromNativeHost(const std::string& message) override {
     last_message_ = message;
 
     // Parse the message.
@@ -130,7 +130,7 @@
       run_loop_->Quit();
   }
 
-  virtual void CloseChannel(const std::string& error_message) override {
+  void CloseChannel(const std::string& error_message) override {
     channel_closed_ = true;
     if (run_loop_)
       run_loop_->Quit();
diff --git a/chrome/browser/extensions/api/messaging/native_messaging_policy_handler.h b/chrome/browser/extensions/api/messaging/native_messaging_policy_handler.h
index fc099e43..220c7c45 100644
--- a/chrome/browser/extensions/api/messaging/native_messaging_policy_handler.h
+++ b/chrome/browser/extensions/api/messaging/native_messaging_policy_handler.h
@@ -24,13 +24,13 @@
   NativeMessagingHostListPolicyHandler(const char* policy_name,
                                        const char* pref_path,
                                        bool allow_wildcards);
-  virtual ~NativeMessagingHostListPolicyHandler();
+  ~NativeMessagingHostListPolicyHandler() override;
 
   // ConfigurationPolicyHandler methods:
-  virtual bool CheckPolicySettings(const policy::PolicyMap& policies,
-                                   policy::PolicyErrorMap* errors) override;
-  virtual void ApplyPolicySettings(const policy::PolicyMap& policies,
-                                   PrefValueMap* prefs) override;
+  bool CheckPolicySettings(const policy::PolicyMap& policies,
+                           policy::PolicyErrorMap* errors) override;
+  void ApplyPolicySettings(const policy::PolicyMap& policies,
+                           PrefValueMap* prefs) override;
 
  protected:
   const char* pref_path() const;
diff --git a/chrome/browser/extensions/api/messaging/native_process_launcher.cc b/chrome/browser/extensions/api/messaging/native_process_launcher.cc
index 8073b79..dabcbb3 100644
--- a/chrome/browser/extensions/api/messaging/native_process_launcher.cc
+++ b/chrome/browser/extensions/api/messaging/native_process_launcher.cc
@@ -39,11 +39,11 @@
  public:
   NativeProcessLauncherImpl(bool allow_user_level_hosts,
                             intptr_t native_window);
-  virtual ~NativeProcessLauncherImpl();
+  ~NativeProcessLauncherImpl() override;
 
-  virtual void Launch(const GURL& origin,
-                      const std::string& native_host_name,
-                      LaunchedCallback callback) const override;
+  void Launch(const GURL& origin,
+              const std::string& native_host_name,
+              LaunchedCallback callback) const override;
 
  private:
   class Core : public base::RefCountedThreadSafe<Core> {
diff --git a/chrome/browser/extensions/api/metrics_private/metrics_private_api.h b/chrome/browser/extensions/api/metrics_private/metrics_private_api.h
index 1eb5eb0..631132ec 100644
--- a/chrome/browser/extensions/api/metrics_private/metrics_private_api.h
+++ b/chrome/browser/extensions/api/metrics_private/metrics_private_api.h
@@ -19,10 +19,10 @@
                              METRICSPRIVATE_GETISCRASHRECORDINGENABLED)
 
  protected:
-  virtual ~MetricsPrivateGetIsCrashReportingEnabledFunction() {}
+  ~MetricsPrivateGetIsCrashReportingEnabledFunction() override {}
 
   // ExtensionFunction:
-  virtual bool RunSync() override;
+  bool RunSync() override;
 };
 
 class MetricsPrivateGetFieldTrialFunction : public SyncExtensionFunction {
@@ -31,10 +31,10 @@
                              METRICSPRIVATE_GETFIELDTRIAL)
 
  protected:
-  virtual ~MetricsPrivateGetFieldTrialFunction() {}
+  ~MetricsPrivateGetFieldTrialFunction() override {}
 
   // ExtensionFunction:
-  virtual bool RunSync() override;
+  bool RunSync() override;
 };
 
 class MetricsPrivateGetVariationParamsFunction : public SyncExtensionFunction {
@@ -43,10 +43,10 @@
                              METRICSPRIVATE_GETVARIATIONPARAMS)
 
  protected:
-  virtual ~MetricsPrivateGetVariationParamsFunction() {}
+  ~MetricsPrivateGetVariationParamsFunction() override {}
 
   // ExtensionFunction:
-  virtual bool RunSync() override;
+  bool RunSync() override;
 };
 
 class MetricsPrivateRecordUserActionFunction : public SyncExtensionFunction {
@@ -55,15 +55,15 @@
                              METRICSPRIVATE_RECORDUSERACTION)
 
  protected:
-  virtual ~MetricsPrivateRecordUserActionFunction() {}
+  ~MetricsPrivateRecordUserActionFunction() override {}
 
   // ExtensionFunction:
-  virtual bool RunSync() override;
+  bool RunSync() override;
 };
 
 class MetricsHistogramHelperFunction : public SyncExtensionFunction {
  protected:
-  virtual ~MetricsHistogramHelperFunction() {}
+  ~MetricsHistogramHelperFunction() override {}
   virtual bool RecordValue(const std::string& name,
                            base::HistogramType type,
                            int min, int max, size_t buckets,
@@ -77,10 +77,10 @@
                              METRICSPRIVATE_RECORDVALUE)
 
  protected:
-  virtual ~MetricsPrivateRecordValueFunction() {}
+  ~MetricsPrivateRecordValueFunction() override {}
 
   // ExtensionFunction:
-  virtual bool RunSync() override;
+  bool RunSync() override;
 };
 
 class MetricsPrivateRecordSparseValueFunction
@@ -90,10 +90,10 @@
                              METRICSPRIVATE_RECORDSPARSEVALUE)
 
  protected:
-  virtual ~MetricsPrivateRecordSparseValueFunction() {}
+  ~MetricsPrivateRecordSparseValueFunction() override {}
 
   // ExtensionFunction:
-  virtual bool RunSync() override;
+  bool RunSync() override;
 };
 
 class MetricsPrivateRecordPercentageFunction
@@ -103,10 +103,10 @@
                              METRICSPRIVATE_RECORDPERCENTAGE)
 
  protected:
-  virtual ~MetricsPrivateRecordPercentageFunction() {}
+  ~MetricsPrivateRecordPercentageFunction() override {}
 
   // ExtensionFunction:
-  virtual bool RunSync() override;
+  bool RunSync() override;
 };
 
 class MetricsPrivateRecordCountFunction
@@ -116,10 +116,10 @@
                              METRICSPRIVATE_RECORDCOUNT)
 
  protected:
-  virtual ~MetricsPrivateRecordCountFunction() {}
+  ~MetricsPrivateRecordCountFunction() override {}
 
   // ExtensionFunction:
-  virtual bool RunSync() override;
+  bool RunSync() override;
 };
 
 class MetricsPrivateRecordSmallCountFunction
@@ -129,10 +129,10 @@
                              METRICSPRIVATE_RECORDSMALLCOUNT)
 
  protected:
-  virtual ~MetricsPrivateRecordSmallCountFunction() {}
+  ~MetricsPrivateRecordSmallCountFunction() override {}
 
   // ExtensionFunction:
-  virtual bool RunSync() override;
+  bool RunSync() override;
 };
 
 class MetricsPrivateRecordMediumCountFunction
@@ -142,10 +142,10 @@
                              METRICSPRIVATE_RECORDMEDIUMCOUNT)
 
  protected:
-  virtual ~MetricsPrivateRecordMediumCountFunction() {}
+  ~MetricsPrivateRecordMediumCountFunction() override {}
 
   // ExtensionFunction:
-  virtual bool RunSync() override;
+  bool RunSync() override;
 };
 
 class MetricsPrivateRecordTimeFunction : public MetricsHistogramHelperFunction {
@@ -154,10 +154,10 @@
                              METRICSPRIVATE_RECORDTIME)
 
  protected:
-  virtual ~MetricsPrivateRecordTimeFunction() {}
+  ~MetricsPrivateRecordTimeFunction() override {}
 
   // ExtensionFunction:
-  virtual bool RunSync() override;
+  bool RunSync() override;
 };
 
 class MetricsPrivateRecordMediumTimeFunction
@@ -167,10 +167,10 @@
                              METRICSPRIVATE_RECORDMEDIUMTIME)
 
  protected:
-  virtual ~MetricsPrivateRecordMediumTimeFunction() {}
+  ~MetricsPrivateRecordMediumTimeFunction() override {}
 
   // ExtensionFunction:
-  virtual bool RunSync() override;
+  bool RunSync() override;
 };
 
 class MetricsPrivateRecordLongTimeFunction
@@ -180,10 +180,10 @@
                              METRICSPRIVATE_RECORDLONGTIME)
 
  protected:
-  virtual ~MetricsPrivateRecordLongTimeFunction() {}
+  ~MetricsPrivateRecordLongTimeFunction() override {}
 
   // ExtensionFunction:
-  virtual bool RunSync() override;
+  bool RunSync() override;
 };
 
 } // namespace extensions
diff --git a/chrome/browser/extensions/api/module/module.h b/chrome/browser/extensions/api/module/module.h
index 76b096a2..c352499 100644
--- a/chrome/browser/extensions/api/module/module.h
+++ b/chrome/browser/extensions/api/module/module.h
@@ -22,10 +22,10 @@
                              EXTENSION_SETUPDATEURLDATA)
 
  protected:
-  virtual ~ExtensionSetUpdateUrlDataFunction() {}
+  ~ExtensionSetUpdateUrlDataFunction() override {}
 
   // ExtensionFunction:
-  virtual bool RunSync() override;
+  bool RunSync() override;
 };
 
 class ExtensionIsAllowedIncognitoAccessFunction
@@ -35,10 +35,10 @@
                              EXTENSION_ISALLOWEDINCOGNITOACCESS)
 
  protected:
-  virtual ~ExtensionIsAllowedIncognitoAccessFunction() {}
+  ~ExtensionIsAllowedIncognitoAccessFunction() override {}
 
   // ExtensionFunction:
-  virtual bool RunSync() override;
+  bool RunSync() override;
 };
 
 class ExtensionIsAllowedFileSchemeAccessFunction
@@ -48,10 +48,10 @@
                              EXTENSION_ISALLOWEDFILESCHEMEACCESS)
 
  protected:
-  virtual ~ExtensionIsAllowedFileSchemeAccessFunction() {}
+  ~ExtensionIsAllowedFileSchemeAccessFunction() override {}
 
   // ExtensionFunction:
-  virtual bool RunSync() override;
+  bool RunSync() override;
 };
 
 }  // namespace extensions
diff --git a/chrome/browser/extensions/api/music_manager_private/music_manager_private_api.h b/chrome/browser/extensions/api/music_manager_private/music_manager_private_api.h
index d1e9d990..88af6a8 100644
--- a/chrome/browser/extensions/api/music_manager_private/music_manager_private_api.h
+++ b/chrome/browser/extensions/api/music_manager_private/music_manager_private_api.h
@@ -18,10 +18,10 @@
   MusicManagerPrivateGetDeviceIdFunction();
 
  protected:
-  virtual ~MusicManagerPrivateGetDeviceIdFunction();
+  ~MusicManagerPrivateGetDeviceIdFunction() override;
 
   // ExtensionFunction:
-  virtual bool RunAsync() override;
+  bool RunAsync() override;
 
   void DeviceIdCallback(const std::string& device_id);
 };
diff --git a/chrome/browser/extensions/api/networking_private/crypto_verify_impl.h b/chrome/browser/extensions/api/networking_private/crypto_verify_impl.h
index 1f3d8d6..3e687e64 100644
--- a/chrome/browser/extensions/api/networking_private/crypto_verify_impl.h
+++ b/chrome/browser/extensions/api/networking_private/crypto_verify_impl.h
@@ -15,20 +15,20 @@
     : public extensions::NetworkingPrivateServiceClient::CryptoVerify {
  public:
   CryptoVerifyImpl();
-  virtual ~CryptoVerifyImpl();
+  ~CryptoVerifyImpl() override;
 
   // NetworkingPrivateServiceClient::CryptoVerify
-  virtual void VerifyDestination(const Credentials& credentials,
-                                 bool* verified,
-                                 std::string* error) override;
-  virtual void VerifyAndEncryptCredentials(
+  void VerifyDestination(const Credentials& credentials,
+                         bool* verified,
+                         std::string* error) override;
+  void VerifyAndEncryptCredentials(
       const std::string& network_guid,
       const Credentials& credentials,
       const VerifyAndEncryptCredentialsCallback& callback) override;
-  virtual void VerifyAndEncryptData(const Credentials& credentials,
-                                    const std::string& data,
-                                    std::string* base64_encoded_ciphertext,
-                                    std::string* error) override;
+  void VerifyAndEncryptData(const Credentials& credentials,
+                            const std::string& data,
+                            std::string* base64_encoded_ciphertext,
+                            std::string* error) override;
 
  private:
   DISALLOW_COPY_AND_ASSIGN(CryptoVerifyImpl);
diff --git a/chrome/browser/extensions/api/networking_private/networking_private_api.h b/chrome/browser/extensions/api/networking_private/networking_private_api.h
index b82eb92..a78c7671 100644
--- a/chrome/browser/extensions/api/networking_private/networking_private_api.h
+++ b/chrome/browser/extensions/api/networking_private/networking_private_api.h
@@ -32,10 +32,10 @@
                              NETWORKINGPRIVATE_GETPROPERTIES);
 
  protected:
-  virtual ~NetworkingPrivateGetPropertiesFunction();
+  ~NetworkingPrivateGetPropertiesFunction() override;
 
   // AsyncExtensionFunction overrides.
-  virtual bool RunAsync() override;
+  bool RunAsync() override;
 
  private:
   void Success(scoped_ptr<base::DictionaryValue> result);
@@ -53,10 +53,10 @@
                              NETWORKINGPRIVATE_GETMANAGEDPROPERTIES);
 
  protected:
-  virtual ~NetworkingPrivateGetManagedPropertiesFunction();
+  ~NetworkingPrivateGetManagedPropertiesFunction() override;
 
   // AsyncExtensionFunction overrides.
-  virtual bool RunAsync() override;
+  bool RunAsync() override;
 
  private:
   void Success(scoped_ptr<base::DictionaryValue> result);
@@ -73,10 +73,10 @@
                              NETWORKINGPRIVATE_GETSTATE);
 
  protected:
-  virtual ~NetworkingPrivateGetStateFunction();
+  ~NetworkingPrivateGetStateFunction() override;
 
   // AsyncExtensionFunction overrides.
-  virtual bool RunAsync() override;
+  bool RunAsync() override;
 
  private:
   void Success(scoped_ptr<base::DictionaryValue> result);
@@ -93,10 +93,10 @@
                              NETWORKINGPRIVATE_SETPROPERTIES);
 
  protected:
-  virtual ~NetworkingPrivateSetPropertiesFunction();
+  ~NetworkingPrivateSetPropertiesFunction() override;
 
   // AsyncExtensionFunction overrides.
-  virtual bool RunAsync() override;
+  bool RunAsync() override;
 
  private:
   void Success();
@@ -113,10 +113,10 @@
                              NETWORKINGPRIVATE_CREATENETWORK);
 
  protected:
-  virtual ~NetworkingPrivateCreateNetworkFunction();
+  ~NetworkingPrivateCreateNetworkFunction() override;
 
   // AsyncExtensionFunction overrides.
-  virtual bool RunAsync() override;
+  bool RunAsync() override;
 
  private:
   void Success(const std::string& guid);
@@ -133,10 +133,10 @@
                              NETWORKINGPRIVATE_GETNETWORKS);
 
  protected:
-  virtual ~NetworkingPrivateGetNetworksFunction();
+  ~NetworkingPrivateGetNetworksFunction() override;
 
   // AsyncExtensionFunction overrides.
-  virtual bool RunAsync() override;
+  bool RunAsync() override;
 
  private:
   void Success(scoped_ptr<base::ListValue> network_list);
@@ -154,10 +154,10 @@
                              NETWORKINGPRIVATE_GETVISIBLENETWORKS);
 
  protected:
-  virtual ~NetworkingPrivateGetVisibleNetworksFunction();
+  ~NetworkingPrivateGetVisibleNetworksFunction() override;
 
   // AsyncExtensionFunction overrides.
-  virtual bool RunAsync() override;
+  bool RunAsync() override;
 
  private:
   void Success(scoped_ptr<base::ListValue> network_list);
@@ -175,10 +175,10 @@
                              NETWORKINGPRIVATE_GETENABLEDNETWORKTYPES);
 
  protected:
-  virtual ~NetworkingPrivateGetEnabledNetworkTypesFunction();
+  ~NetworkingPrivateGetEnabledNetworkTypesFunction() override;
 
   // SyncExtensionFunction overrides.
-  virtual bool RunSync() override;
+  bool RunSync() override;
 
  private:
   DISALLOW_COPY_AND_ASSIGN(NetworkingPrivateGetEnabledNetworkTypesFunction);
@@ -193,10 +193,10 @@
                              NETWORKINGPRIVATE_ENABLENETWORKTYPE);
 
  protected:
-  virtual ~NetworkingPrivateEnableNetworkTypeFunction();
+  ~NetworkingPrivateEnableNetworkTypeFunction() override;
 
   // SyncExtensionFunction overrides.
-  virtual bool RunSync() override;
+  bool RunSync() override;
 
  private:
   DISALLOW_COPY_AND_ASSIGN(NetworkingPrivateEnableNetworkTypeFunction);
@@ -211,10 +211,10 @@
                              NETWORKINGPRIVATE_DISABLENETWORKTYPE);
 
  protected:
-  virtual ~NetworkingPrivateDisableNetworkTypeFunction();
+  ~NetworkingPrivateDisableNetworkTypeFunction() override;
 
   // SyncExtensionFunction overrides.
-  virtual bool RunSync() override;
+  bool RunSync() override;
 
  private:
   DISALLOW_COPY_AND_ASSIGN(NetworkingPrivateDisableNetworkTypeFunction);
@@ -229,10 +229,10 @@
                              NETWORKINGPRIVATE_REQUESTNETWORKSCAN);
 
  protected:
-  virtual ~NetworkingPrivateRequestNetworkScanFunction();
+  ~NetworkingPrivateRequestNetworkScanFunction() override;
 
   // SyncExtensionFunction overrides.
-  virtual bool RunSync() override;
+  bool RunSync() override;
 
  private:
   DISALLOW_COPY_AND_ASSIGN(NetworkingPrivateRequestNetworkScanFunction);
@@ -247,10 +247,10 @@
                              NETWORKINGPRIVATE_STARTCONNECT);
 
  protected:
-  virtual ~NetworkingPrivateStartConnectFunction();
+  ~NetworkingPrivateStartConnectFunction() override;
 
   // AsyncExtensionFunction overrides.
-  virtual bool RunAsync() override;
+  bool RunAsync() override;
 
  private:
   void Success();
@@ -267,10 +267,10 @@
                              NETWORKINGPRIVATE_STARTDISCONNECT);
 
  protected:
-  virtual ~NetworkingPrivateStartDisconnectFunction();
+  ~NetworkingPrivateStartDisconnectFunction() override;
 
   // AsyncExtensionFunction overrides.
-  virtual bool RunAsync() override;
+  bool RunAsync() override;
 
  private:
   void Success();
@@ -288,10 +288,10 @@
                              NETWORKINGPRIVATE_VERIFYDESTINATION);
 
  protected:
-  virtual ~NetworkingPrivateVerifyDestinationFunction();
+  ~NetworkingPrivateVerifyDestinationFunction() override;
 
   // AsyncExtensionFunction overrides.
-  virtual bool RunAsync() override;
+  bool RunAsync() override;
 
   void Success(bool result);
   void Failure(const std::string& error);
@@ -309,10 +309,10 @@
                              NETWORKINGPRIVATE_VERIFYANDENCRYPTCREDENTIALS);
 
  protected:
-  virtual ~NetworkingPrivateVerifyAndEncryptCredentialsFunction();
+  ~NetworkingPrivateVerifyAndEncryptCredentialsFunction() override;
 
   // AsyncExtensionFunction overrides.
-  virtual bool RunAsync() override;
+  bool RunAsync() override;
 
   void Success(const std::string& result);
   void Failure(const std::string& error);
@@ -331,10 +331,10 @@
                              NETWORKINGPRIVATE_VERIFYANDENCRYPTDATA);
 
  protected:
-  virtual ~NetworkingPrivateVerifyAndEncryptDataFunction();
+  ~NetworkingPrivateVerifyAndEncryptDataFunction() override;
 
   // AsyncExtensionFunction overrides.
-  virtual bool RunAsync() override;
+  bool RunAsync() override;
 
   void Success(const std::string& result);
   void Failure(const std::string& error);
@@ -352,10 +352,10 @@
                              NETWORKINGPRIVATE_SETWIFITDLSENABLEDSTATE);
 
  protected:
-  virtual ~NetworkingPrivateSetWifiTDLSEnabledStateFunction();
+  ~NetworkingPrivateSetWifiTDLSEnabledStateFunction() override;
 
   // AsyncExtensionFunction overrides.
-  virtual bool RunAsync() override;
+  bool RunAsync() override;
 
   void Success(const std::string& result);
   void Failure(const std::string& error);
@@ -373,10 +373,10 @@
                              NETWORKINGPRIVATE_GETWIFITDLSSTATUS);
 
  protected:
-  virtual ~NetworkingPrivateGetWifiTDLSStatusFunction();
+  ~NetworkingPrivateGetWifiTDLSStatusFunction() override;
 
   // AsyncExtensionFunction overrides.
-  virtual bool RunAsync() override;
+  bool RunAsync() override;
 
   void Success(const std::string& result);
   void Failure(const std::string& error);
@@ -393,10 +393,10 @@
                              NETWORKINGPRIVATE_GETCAPTIVEPORTALSTATUS);
 
   // AsyncExtensionFunction overrides.
-  virtual bool RunAsync() override;
+  bool RunAsync() override;
 
  protected:
-  virtual ~NetworkingPrivateGetCaptivePortalStatusFunction();
+  ~NetworkingPrivateGetCaptivePortalStatusFunction() override;
 
  private:
   void Success(const std::string& result);
diff --git a/chrome/browser/extensions/api/networking_private/networking_private_apitest.cc b/chrome/browser/extensions/api/networking_private/networking_private_apitest.cc
index 07498452..8de32a5 100644
--- a/chrome/browser/extensions/api/networking_private/networking_private_apitest.cc
+++ b/chrome/browser/extensions/api/networking_private/networking_private_apitest.cc
@@ -38,46 +38,44 @@
   }
 
   // Asynchronous methods
-  virtual void GetProperties(const std::string& guid,
-                             const DictionaryCallback& success_callback,
-                             const FailureCallback& failure_callback) override {
+  void GetProperties(const std::string& guid,
+                     const DictionaryCallback& success_callback,
+                     const FailureCallback& failure_callback) override {
     DictionaryResult(guid, success_callback, failure_callback);
   }
 
-  virtual void GetManagedProperties(
-      const std::string& guid,
-      const DictionaryCallback& success_callback,
-      const FailureCallback& failure_callback) override {
+  void GetManagedProperties(const std::string& guid,
+                            const DictionaryCallback& success_callback,
+                            const FailureCallback& failure_callback) override {
     DictionaryResult(guid, success_callback, failure_callback);
   }
 
-  virtual void GetState(const std::string& guid,
-                        const DictionaryCallback& success_callback,
-                        const FailureCallback& failure_callback) override {
+  void GetState(const std::string& guid,
+                const DictionaryCallback& success_callback,
+                const FailureCallback& failure_callback) override {
     DictionaryResult(guid, success_callback, failure_callback);
   }
 
-
-  virtual void SetProperties(const std::string& guid,
-                             scoped_ptr<base::DictionaryValue> properties,
-                             const VoidCallback& success_callback,
-                             const FailureCallback& failure_callback) override {
+  void SetProperties(const std::string& guid,
+                     scoped_ptr<base::DictionaryValue> properties,
+                     const VoidCallback& success_callback,
+                     const FailureCallback& failure_callback) override {
     VoidResult(success_callback, failure_callback);
   }
 
-  virtual void CreateNetwork(bool shared,
-                             scoped_ptr<base::DictionaryValue> properties,
-                             const StringCallback& success_callback,
-                             const FailureCallback& failure_callback) override {
+  void CreateNetwork(bool shared,
+                     scoped_ptr<base::DictionaryValue> properties,
+                     const StringCallback& success_callback,
+                     const FailureCallback& failure_callback) override {
     StringResult(success_callback, failure_callback);
   }
 
-  virtual void GetNetworks(const std::string& network_type,
-                           bool configured_only,
-                           bool visible_only,
-                           int limit,
-                           const NetworkListCallback& success_callback,
-                           const FailureCallback& failure_callback) override {
+  void GetNetworks(const std::string& network_type,
+                   bool configured_only,
+                   bool visible_only,
+                   int limit,
+                   const NetworkListCallback& success_callback,
+                   const FailureCallback& failure_callback) override {
     if (fail_) {
       failure_callback.Run(kFailure);
     } else {
@@ -91,27 +89,25 @@
     }
   }
 
-  virtual void StartConnect(const std::string& guid,
-                            const VoidCallback& success_callback,
-                            const FailureCallback& failure_callback) override {
+  void StartConnect(const std::string& guid,
+                    const VoidCallback& success_callback,
+                    const FailureCallback& failure_callback) override {
     VoidResult(success_callback, failure_callback);
   }
 
-  virtual void StartDisconnect(
-      const std::string& guid,
-      const VoidCallback& success_callback,
-      const FailureCallback& failure_callback) override {
+  void StartDisconnect(const std::string& guid,
+                       const VoidCallback& success_callback,
+                       const FailureCallback& failure_callback) override {
     VoidResult(success_callback, failure_callback);
   }
 
-  virtual void VerifyDestination(
-      const VerificationProperties& verification_properties,
-      const BoolCallback& success_callback,
-      const FailureCallback& failure_callback) override {
+  void VerifyDestination(const VerificationProperties& verification_properties,
+                         const BoolCallback& success_callback,
+                         const FailureCallback& failure_callback) override {
     BoolResult(success_callback, failure_callback);
   }
 
-  virtual void VerifyAndEncryptCredentials(
+  void VerifyAndEncryptCredentials(
       const std::string& guid,
       const VerificationProperties& verification_properties,
       const StringCallback& success_callback,
@@ -119,7 +115,7 @@
     StringResult(success_callback, failure_callback);
   }
 
-  virtual void VerifyAndEncryptData(
+  void VerifyAndEncryptData(
       const VerificationProperties& verification_properties,
       const std::string& data,
       const StringCallback& success_callback,
@@ -127,7 +123,7 @@
     StringResult(success_callback, failure_callback);
   }
 
-  virtual void SetWifiTDLSEnabledState(
+  void SetWifiTDLSEnabledState(
       const std::string& ip_or_mac_address,
       bool enabled,
       const StringCallback& success_callback,
@@ -135,14 +131,13 @@
     StringResult(success_callback, failure_callback);
   }
 
-  virtual void GetWifiTDLSStatus(
-      const std::string& ip_or_mac_address,
-      const StringCallback& success_callback,
-      const FailureCallback& failure_callback) override {
+  void GetWifiTDLSStatus(const std::string& ip_or_mac_address,
+                         const StringCallback& success_callback,
+                         const FailureCallback& failure_callback) override {
     StringResult(success_callback, failure_callback);
   }
 
-  virtual void GetCaptivePortalStatus(
+  void GetCaptivePortalStatus(
       const std::string& guid,
       const StringCallback& success_callback,
       const FailureCallback& failure_callback) override {
@@ -150,7 +145,7 @@
   }
 
   // Synchronous methods
-  virtual scoped_ptr<base::ListValue> GetEnabledNetworkTypes() override {
+  scoped_ptr<base::ListValue> GetEnabledNetworkTypes() override {
     scoped_ptr<base::ListValue> result;
     if (!fail_) {
       result.reset(new base::ListValue);
@@ -159,17 +154,17 @@
     return result.Pass();
   }
 
-  virtual bool EnableNetworkType(const std::string& type) override{
+  bool EnableNetworkType(const std::string& type) override {
     enabled_[type] = true;
     return !fail_;
   }
 
-  virtual bool DisableNetworkType(const std::string& type) override {
+  bool DisableNetworkType(const std::string& type) override {
     disabled_[type] = true;
     return !fail_;
   }
 
-  virtual bool RequestScan() override {
+  bool RequestScan() override {
     scan_requested_.push_back(true);
     return !fail_;
   }
@@ -240,7 +235,7 @@
     return s_test_delegate_;
   }
 
-  virtual void SetUpCommandLine(CommandLine* command_line) override {
+  void SetUpCommandLine(CommandLine* command_line) override {
     ExtensionApiTest::SetUpCommandLine(command_line);
     // Whitelist the extension ID of the test extension.
     command_line->AppendSwitchASCII(
@@ -248,7 +243,7 @@
         "epcifkihnkjgphfkloaaleeakhpmgdmn");
   }
 
-  virtual void SetUpOnMainThread() override {
+  void SetUpOnMainThread() override {
     ExtensionApiTest::SetUpOnMainThread();
 #if defined(OS_CHROMEOS)
     NetworkingPrivateChromeOSFactory::GetInstance()->SetTestingFactory(
diff --git a/chrome/browser/extensions/api/networking_private/networking_private_credentials_getter_mac.cc b/chrome/browser/extensions/api/networking_private/networking_private_credentials_getter_mac.cc
index 9d5643f6..8d9c850 100644
--- a/chrome/browser/extensions/api/networking_private/networking_private_credentials_getter_mac.cc
+++ b/chrome/browser/extensions/api/networking_private/networking_private_credentials_getter_mac.cc
@@ -22,14 +22,13 @@
  public:
   explicit NetworkingPrivateCredentialsGetterMac();
 
-  virtual void Start(
-      const std::string& network_guid,
-      const std::string& public_key,
-      const extensions::NetworkingPrivateServiceClient::CryptoVerify::
-          VerifyAndEncryptCredentialsCallback& callback) override;
+  void Start(const std::string& network_guid,
+             const std::string& public_key,
+             const extensions::NetworkingPrivateServiceClient::CryptoVerify::
+                 VerifyAndEncryptCredentialsCallback& callback) override;
 
  private:
-  virtual ~NetworkingPrivateCredentialsGetterMac();
+  ~NetworkingPrivateCredentialsGetterMac() override;
 
   DISALLOW_COPY_AND_ASSIGN(NetworkingPrivateCredentialsGetterMac);
 };
diff --git a/chrome/browser/extensions/api/networking_private/networking_private_event_router_factory.h b/chrome/browser/extensions/api/networking_private/networking_private_event_router_factory.h
index 463b9df5..801fd69 100644
--- a/chrome/browser/extensions/api/networking_private/networking_private_event_router_factory.h
+++ b/chrome/browser/extensions/api/networking_private/networking_private_event_router_factory.h
@@ -28,19 +28,19 @@
 
  protected:
   // BrowserContextKeyedBaseFactory overrides:
-  virtual content::BrowserContext* GetBrowserContextToUse(
+  content::BrowserContext* GetBrowserContextToUse(
       content::BrowserContext* context) const override;
-  virtual bool ServiceIsCreatedWithBrowserContext() const override;
-  virtual bool ServiceIsNULLWhileTesting() const override;
+  bool ServiceIsCreatedWithBrowserContext() const override;
+  bool ServiceIsNULLWhileTesting() const override;
 
  private:
   friend struct DefaultSingletonTraits<NetworkingPrivateEventRouterFactory>;
 
   NetworkingPrivateEventRouterFactory();
-  virtual ~NetworkingPrivateEventRouterFactory();
+  ~NetworkingPrivateEventRouterFactory() override;
 
   // BrowserContextKeyedServiceFactory:
-  virtual KeyedService* BuildServiceInstanceFor(
+  KeyedService* BuildServiceInstanceFor(
       content::BrowserContext* profile) const override;
 
   DISALLOW_COPY_AND_ASSIGN(NetworkingPrivateEventRouterFactory);
diff --git a/chrome/browser/extensions/api/networking_private/networking_private_event_router_nonchromeos.cc b/chrome/browser/extensions/api/networking_private/networking_private_event_router_nonchromeos.cc
index 11cdd708..b774546 100644
--- a/chrome/browser/extensions/api/networking_private/networking_private_event_router_nonchromeos.cc
+++ b/chrome/browser/extensions/api/networking_private/networking_private_event_router_nonchromeos.cc
@@ -20,20 +20,20 @@
       NetworkingPrivateServiceClient::Observer {
  public:
   explicit NetworkingPrivateEventRouterImpl(Profile* profile);
-  virtual ~NetworkingPrivateEventRouterImpl();
+  ~NetworkingPrivateEventRouterImpl() override;
 
  protected:
   // KeyedService overrides:
-  virtual void Shutdown() override;
+  void Shutdown() override;
 
   // EventRouter::Observer overrides:
-  virtual void OnListenerAdded(const EventListenerInfo& details) override;
-  virtual void OnListenerRemoved(const EventListenerInfo& details) override;
+  void OnListenerAdded(const EventListenerInfo& details) override;
+  void OnListenerRemoved(const EventListenerInfo& details) override;
 
   // NetworkingPrivateServiceClient::Observer overrides:
-  virtual void OnNetworksChangedEvent(
+  void OnNetworksChangedEvent(
       const std::vector<std::string>& network_guids) override;
-  virtual void OnNetworkListChangedEvent(
+  void OnNetworkListChangedEvent(
       const std::vector<std::string>& network_guids) override;
 
  private:
diff --git a/chrome/browser/extensions/api/networking_private/networking_private_service_client.h b/chrome/browser/extensions/api/networking_private/networking_private_service_client.h
index f266c65..4253b141 100644
--- a/chrome/browser/extensions/api/networking_private/networking_private_service_client.h
+++ b/chrome/browser/extensions/api/networking_private/networking_private_service_client.h
@@ -112,71 +112,66 @@
                                  CryptoVerify* crypto_verify);
 
   // KeyedService
-  virtual void Shutdown() override;
+  void Shutdown() override;
 
   // NetworkingPrivateDelegate
-  virtual void GetProperties(const std::string& guid,
-                             const DictionaryCallback& success_callback,
-                             const FailureCallback& failure_callback) override;
-  virtual void GetManagedProperties(
-      const std::string& guid,
-      const DictionaryCallback& success_callback,
-      const FailureCallback& failure_callback) override;
-  virtual void GetState(const std::string& guid,
-                        const DictionaryCallback& success_callback,
-                        const FailureCallback& failure_callback) override;
-  virtual void SetProperties(const std::string& guid,
-                             scoped_ptr<base::DictionaryValue> properties_dict,
-                             const VoidCallback& success_callback,
-                             const FailureCallback& failure_callback) override;
-  virtual void CreateNetwork(bool shared,
-                             scoped_ptr<base::DictionaryValue> properties_dict,
-                             const StringCallback& success_callback,
-                             const FailureCallback& failure_callback) override;
-  virtual void GetNetworks(const std::string& network_type,
-                           bool configured_only,
-                           bool visible_only,
-                           int limit,
-                           const NetworkListCallback& success_callback,
-                           const FailureCallback& failure_callback) override;
-  virtual void StartConnect(const std::string& guid,
-                            const VoidCallback& success_callback,
+  void GetProperties(const std::string& guid,
+                     const DictionaryCallback& success_callback,
+                     const FailureCallback& failure_callback) override;
+  void GetManagedProperties(const std::string& guid,
+                            const DictionaryCallback& success_callback,
                             const FailureCallback& failure_callback) override;
-  virtual void StartDisconnect(
-      const std::string& guid,
-      const VoidCallback& success_callback,
-      const FailureCallback& failure_callback) override;
-  virtual void VerifyDestination(
-      const VerificationProperties& verification_properties,
-      const BoolCallback& success_callback,
-      const FailureCallback& failure_callback) override;
-  virtual void VerifyAndEncryptCredentials(
+  void GetState(const std::string& guid,
+                const DictionaryCallback& success_callback,
+                const FailureCallback& failure_callback) override;
+  void SetProperties(const std::string& guid,
+                     scoped_ptr<base::DictionaryValue> properties_dict,
+                     const VoidCallback& success_callback,
+                     const FailureCallback& failure_callback) override;
+  void CreateNetwork(bool shared,
+                     scoped_ptr<base::DictionaryValue> properties_dict,
+                     const StringCallback& success_callback,
+                     const FailureCallback& failure_callback) override;
+  void GetNetworks(const std::string& network_type,
+                   bool configured_only,
+                   bool visible_only,
+                   int limit,
+                   const NetworkListCallback& success_callback,
+                   const FailureCallback& failure_callback) override;
+  void StartConnect(const std::string& guid,
+                    const VoidCallback& success_callback,
+                    const FailureCallback& failure_callback) override;
+  void StartDisconnect(const std::string& guid,
+                       const VoidCallback& success_callback,
+                       const FailureCallback& failure_callback) override;
+  void VerifyDestination(const VerificationProperties& verification_properties,
+                         const BoolCallback& success_callback,
+                         const FailureCallback& failure_callback) override;
+  void VerifyAndEncryptCredentials(
       const std::string& guid,
       const VerificationProperties& verification_properties,
       const StringCallback& success_callback,
       const FailureCallback& failure_callback) override;
-  virtual void VerifyAndEncryptData(
+  void VerifyAndEncryptData(
       const VerificationProperties& verification_properties,
       const std::string& data,
       const StringCallback& success_callback,
       const FailureCallback& failure_callback) override;
-  virtual void SetWifiTDLSEnabledState(
+  void SetWifiTDLSEnabledState(
       const std::string& ip_or_mac_address,
       bool enabled,
       const StringCallback& success_callback,
       const FailureCallback& failure_callback) override;
-  virtual void GetWifiTDLSStatus(
-      const std::string& ip_or_mac_address,
-      const StringCallback& success_callback,
-      const FailureCallback& failure_callback) override;
-  virtual void GetCaptivePortalStatus(
-      const std::string& guid,
-      const StringCallback& success_callback,
-      const FailureCallback& failure_callback) override;
-  virtual scoped_ptr<base::ListValue> GetEnabledNetworkTypes() override;
-  virtual bool EnableNetworkType(const std::string& type) override;
-  virtual bool DisableNetworkType(const std::string& type) override;
-  virtual bool RequestScan() override;
+  void GetWifiTDLSStatus(const std::string& ip_or_mac_address,
+                         const StringCallback& success_callback,
+                         const FailureCallback& failure_callback) override;
+  void GetCaptivePortalStatus(const std::string& guid,
+                              const StringCallback& success_callback,
+                              const FailureCallback& failure_callback) override;
+  scoped_ptr<base::ListValue> GetEnabledNetworkTypes() override;
+  bool EnableNetworkType(const std::string& type) override;
+  bool DisableNetworkType(const std::string& type) override;
+  bool RequestScan() override;
 
   // Adds observer to network events.
   void AddObserver(Observer* network_events_observer);
@@ -186,7 +181,7 @@
   void RemoveObserver(Observer* network_events_observer);
 
   // NetworkChangeNotifier::NetworkChangeObserver implementation.
-  virtual void OnNetworkChanged(
+  void OnNetworkChanged(
       net::NetworkChangeNotifier::ConnectionType type) override;
 
  private:
@@ -214,7 +209,7 @@
   };
   typedef IDMap<ServiceCallbacks, IDMapOwnPointer> ServiceCallbacksMap;
 
-  virtual ~NetworkingPrivateServiceClient();
+  ~NetworkingPrivateServiceClient() override;
 
   // Callback wrappers.
   void AfterGetProperties(ServiceCallbacksID callback_id,
diff --git a/chrome/browser/extensions/api/networking_private/networking_private_service_client_apitest.cc b/chrome/browser/extensions/api/networking_private/networking_private_service_client_apitest.cc
index 7310d49..60773433 100644
--- a/chrome/browser/extensions/api/networking_private/networking_private_service_client_apitest.cc
+++ b/chrome/browser/extensions/api/networking_private/networking_private_service_client_apitest.cc
@@ -36,23 +36,23 @@
 // networking_private_apitest.
 class CryptoVerifyStub
     : public extensions::NetworkingPrivateServiceClient::CryptoVerify {
-  virtual void VerifyDestination(const Credentials& verification_properties,
-                                 bool* verified,
-                                 std::string* error) override {
+  void VerifyDestination(const Credentials& verification_properties,
+                         bool* verified,
+                         std::string* error) override {
     *verified = true;
   }
 
-  virtual void VerifyAndEncryptCredentials(
+  void VerifyAndEncryptCredentials(
       const std::string& network_guid,
       const Credentials& credentials,
       const VerifyAndEncryptCredentialsCallback& callback) override {
     callback.Run("encrypted_credentials", "");
   }
 
-  virtual void VerifyAndEncryptData(const Credentials& verification_properties,
-                                    const std::string& data,
-                                    std::string* base64_encoded_ciphertext,
-                                    std::string* error) override {
+  void VerifyAndEncryptData(const Credentials& verification_properties,
+                            const std::string& data,
+                            std::string* base64_encoded_ciphertext,
+                            std::string* error) override {
     *base64_encoded_ciphertext = "encrypted_data";
   }
 };
@@ -67,11 +67,11 @@
                                kFlagEnableFileAccess | kFlagLoadAsComponent);
   }
 
-  virtual void SetUpInProcessBrowserTestFixture() override {
+  void SetUpInProcessBrowserTestFixture() override {
     ExtensionApiTest::SetUpInProcessBrowserTestFixture();
   }
 
-  virtual void SetUpCommandLine(CommandLine* command_line) override {
+  void SetUpCommandLine(CommandLine* command_line) override {
     ExtensionApiTest::SetUpCommandLine(command_line);
     // Whitelist the extension ID of the test extension.
     command_line->AppendSwitchASCII(
@@ -85,7 +85,7 @@
                                               new CryptoVerifyStub());
   }
 
-  virtual void SetUpOnMainThread() override {
+  void SetUpOnMainThread() override {
     ExtensionApiTest::SetUpOnMainThread();
     content::RunAllPendingInMessageLoop();
     NetworkingPrivateServiceClientFactory::GetInstance()->SetTestingFactory(
diff --git a/chrome/browser/extensions/api/networking_private/networking_private_service_client_factory.h b/chrome/browser/extensions/api/networking_private/networking_private_service_client_factory.h
index 2a7cb93..7ae4ad8 100644
--- a/chrome/browser/extensions/api/networking_private/networking_private_service_client_factory.h
+++ b/chrome/browser/extensions/api/networking_private/networking_private_service_client_factory.h
@@ -28,13 +28,13 @@
   friend struct DefaultSingletonTraits<NetworkingPrivateServiceClientFactory>;
 
   NetworkingPrivateServiceClientFactory();
-  virtual ~NetworkingPrivateServiceClientFactory();
+  ~NetworkingPrivateServiceClientFactory() override;
 
   // BrowserContextKeyedServiceFactory:
-  virtual KeyedService* BuildServiceInstanceFor(
+  KeyedService* BuildServiceInstanceFor(
       content::BrowserContext* browser_context) const override;
-  virtual bool ServiceIsCreatedWithBrowserContext() const override;
-  virtual bool ServiceIsNULLWhileTesting() const override;
+  bool ServiceIsCreatedWithBrowserContext() const override;
+  bool ServiceIsNULLWhileTesting() const override;
 
   DISALLOW_COPY_AND_ASSIGN(NetworkingPrivateServiceClientFactory);
 };
diff --git a/chrome/browser/extensions/api/notification_provider/notification_provider_api.h b/chrome/browser/extensions/api/notification_provider/notification_provider_api.h
index 46c6537..012e068 100644
--- a/chrome/browser/extensions/api/notification_provider/notification_provider_api.h
+++ b/chrome/browser/extensions/api/notification_provider/notification_provider_api.h
@@ -63,14 +63,14 @@
   NotificationProviderNotifyOnClearedFunction();
 
  protected:
-  virtual ~NotificationProviderNotifyOnClearedFunction();
+  ~NotificationProviderNotifyOnClearedFunction() override;
 
  private:
   DECLARE_EXTENSION_FUNCTION("notificationProvider.notifyOnCleared",
                              NOTIFICATIONPROVIDER_NOTIFYONCLEARED);
 
   // UIThreadExtensionFunction implementation.
-  virtual ExtensionFunction::ResponseAction Run() override;
+  ExtensionFunction::ResponseAction Run() override;
 };
 
 // Implememtation of NotifyOnClicked function of the API. It will inform the
@@ -82,14 +82,14 @@
   NotificationProviderNotifyOnClickedFunction();
 
  protected:
-  virtual ~NotificationProviderNotifyOnClickedFunction();
+  ~NotificationProviderNotifyOnClickedFunction() override;
 
  private:
   DECLARE_EXTENSION_FUNCTION("notificationProvider.notifyOnClicked",
                              NOTIFICATIONPROVIDER_NOTIFYONCLICKED);
 
   // UIThreadExtensionFunction implementation.
-  virtual ExtensionFunction::ResponseAction Run() override;
+  ExtensionFunction::ResponseAction Run() override;
 };
 
 // Implememtation of NotifyOnButtonClicked function of the API. It will inform
@@ -102,14 +102,14 @@
   NotificationProviderNotifyOnButtonClickedFunction();
 
  protected:
-  virtual ~NotificationProviderNotifyOnButtonClickedFunction();
+  ~NotificationProviderNotifyOnButtonClickedFunction() override;
 
  private:
   DECLARE_EXTENSION_FUNCTION("notificationProvider.notifyOnButtonClicked",
                              NOTIFICATIONPROVIDER_NOTIFYONBUTTONCLICKED);
 
   // UIThreadExtensionFunction implementation.
-  virtual ExtensionFunction::ResponseAction Run() override;
+  ExtensionFunction::ResponseAction Run() override;
 };
 
 // Implememtation of NotifyOnPermissionLevelChanged function of the API. It will
@@ -121,7 +121,7 @@
   NotificationProviderNotifyOnPermissionLevelChangedFunction();
 
  protected:
-  virtual ~NotificationProviderNotifyOnPermissionLevelChangedFunction();
+  ~NotificationProviderNotifyOnPermissionLevelChangedFunction() override;
 
  private:
   DECLARE_EXTENSION_FUNCTION(
@@ -129,7 +129,7 @@
       NOTIFICATIONPROVIDER_NOTIFYONPERMISSIONLEVELCHANGED);
 
   // UIThreadExtensionFunction implementation.
-  virtual ExtensionFunction::ResponseAction Run() override;
+  ExtensionFunction::ResponseAction Run() override;
 };
 
 // Implememtation of NotifyOnShowSettings function of the API. It will inform
@@ -140,14 +140,14 @@
   NotificationProviderNotifyOnShowSettingsFunction();
 
  protected:
-  virtual ~NotificationProviderNotifyOnShowSettingsFunction();
+  ~NotificationProviderNotifyOnShowSettingsFunction() override;
 
  private:
   DECLARE_EXTENSION_FUNCTION("notificationProvider.notifyOnShowSettings",
                              NOTIFICATIONPROVIDER_NOTIFYONSHOWSETTINGS);
 
   // UIThreadExtensionFunction implementation.
-  virtual ExtensionFunction::ResponseAction Run() override;
+  ExtensionFunction::ResponseAction Run() override;
 };
 
 // Implememtation of GetNotifier function of the API. It will get the notifier
@@ -158,14 +158,14 @@
   NotificationProviderGetNotifierFunction();
 
  protected:
-  virtual ~NotificationProviderGetNotifierFunction();
+  ~NotificationProviderGetNotifierFunction() override;
 
  private:
   DECLARE_EXTENSION_FUNCTION("notificationProvider.getNotifier",
                              NOTIFICATIONPROVIDER_GETNOTIFIER);
 
   // UIThreadExtensionFunction implementation.
-  virtual ExtensionFunction::ResponseAction Run() override;
+  ExtensionFunction::ResponseAction Run() override;
 };
 
 // Implememtation of GetAllNotifiers function of the API. It will get all the
@@ -176,14 +176,14 @@
   NotificationProviderGetAllNotifiersFunction();
 
  protected:
-  virtual ~NotificationProviderGetAllNotifiersFunction();
+  ~NotificationProviderGetAllNotifiersFunction() override;
 
  private:
   DECLARE_EXTENSION_FUNCTION("notificationProvider.getAllNotifiers",
                              NOTIFICATIONPROVIDER_GETALLNOTIFIERS);
 
   // UIThreadExtensionFunction implementation.
-  virtual ExtensionFunction::ResponseAction Run() override;
+  ExtensionFunction::ResponseAction Run() override;
 };
 
 }  // namespace extensions
diff --git a/chrome/browser/extensions/api/notifications/notifications_api.cc b/chrome/browser/extensions/api/notifications/notifications_api.cc
index 1a2391d..5350ba4 100644
--- a/chrome/browser/extensions/api/notifications/notifications_api.cc
+++ b/chrome/browser/extensions/api/notifications/notifications_api.cc
@@ -85,11 +85,11 @@
     DCHECK(api_function_.get());
   }
 
-  virtual void Display() override { }
+  void Display() override {}
 
-  virtual void Error() override {}
+  void Error() override {}
 
-  virtual void Close(bool by_user) override {
+  void Close(bool by_user) override {
     EventRouter::UserGestureState gesture =
         by_user ? EventRouter::USER_GESTURE_ENABLED
                 : EventRouter::USER_GESTURE_NOT_ENABLED;
@@ -98,19 +98,19 @@
     SendEvent(notifications::OnClosed::kEventName, gesture, args.Pass());
   }
 
-  virtual void Click() override {
+  void Click() override {
     scoped_ptr<base::ListValue> args(CreateBaseEventArgs());
     SendEvent(notifications::OnClicked::kEventName,
               EventRouter::USER_GESTURE_ENABLED,
               args.Pass());
   }
 
-  virtual bool HasClickedListener() override {
+  bool HasClickedListener() override {
     return EventRouter::Get(profile_)->HasEventListener(
         notifications::OnClicked::kEventName);
   }
 
-  virtual void ButtonClick(int index) override {
+  void ButtonClick(int index) override {
     scoped_ptr<base::ListValue> args(CreateBaseEventArgs());
     args->Append(new base::FundamentalValue(index));
     SendEvent(notifications::OnButtonClicked::kEventName,
@@ -118,12 +118,10 @@
               args.Pass());
   }
 
-  virtual std::string id() const override {
-    return scoped_id_;
-  }
+  std::string id() const override { return scoped_id_; }
 
  private:
-  virtual ~NotificationsApiDelegate() {}
+  ~NotificationsApiDelegate() override {}
 
   void SendEvent(const std::string& name,
                  EventRouter::UserGestureState user_gesture,
diff --git a/chrome/browser/extensions/api/notifications/notifications_api.h b/chrome/browser/extensions/api/notifications/notifications_api.h
index 2f130b5d..b3ef00b 100644
--- a/chrome/browser/extensions/api/notifications/notifications_api.h
+++ b/chrome/browser/extensions/api/notifications/notifications_api.h
@@ -25,7 +25,7 @@
 
  protected:
   NotificationsApiFunction();
-  virtual ~NotificationsApiFunction();
+  ~NotificationsApiFunction() override;
 
   bool CreateNotification(const std::string& id,
                           api::notifications::NotificationOptions* options);
@@ -45,7 +45,7 @@
   virtual bool RunNotificationsApi() = 0;
 
   // UITHreadExtensionFunction:
-  virtual bool RunAsync() override;
+  bool RunAsync() override;
 
   message_center::NotificationType MapApiTemplateTypeToType(
       api::notifications::TemplateType type);
@@ -56,10 +56,10 @@
   NotificationsCreateFunction();
 
   // NotificationsApiFunction:
-  virtual bool RunNotificationsApi() override;
+  bool RunNotificationsApi() override;
 
  protected:
-  virtual ~NotificationsCreateFunction();
+  ~NotificationsCreateFunction() override;
 
  private:
   scoped_ptr<api::notifications::Create::Params> params_;
@@ -72,10 +72,10 @@
   NotificationsUpdateFunction();
 
   // NotificationsApiFunction:
-  virtual bool RunNotificationsApi() override;
+  bool RunNotificationsApi() override;
 
  protected:
-  virtual ~NotificationsUpdateFunction();
+  ~NotificationsUpdateFunction() override;
 
  private:
   scoped_ptr<api::notifications::Update::Params> params_;
@@ -88,10 +88,10 @@
   NotificationsClearFunction();
 
   // NotificationsApiFunction:
-  virtual bool RunNotificationsApi() override;
+  bool RunNotificationsApi() override;
 
  protected:
-  virtual ~NotificationsClearFunction();
+  ~NotificationsClearFunction() override;
 
  private:
   scoped_ptr<api::notifications::Clear::Params> params_;
@@ -104,10 +104,10 @@
   NotificationsGetAllFunction();
 
   // NotificationsApiFunction:
-  virtual bool RunNotificationsApi() override;
+  bool RunNotificationsApi() override;
 
  protected:
-  virtual ~NotificationsGetAllFunction();
+  ~NotificationsGetAllFunction() override;
 
  private:
   DECLARE_EXTENSION_FUNCTION("notifications.getAll", NOTIFICATIONS_GET_ALL)
@@ -119,11 +119,11 @@
   NotificationsGetPermissionLevelFunction();
 
   // NotificationsApiFunction:
-  virtual bool CanRunWhileDisabled() const override;
-  virtual bool RunNotificationsApi() override;
+  bool CanRunWhileDisabled() const override;
+  bool RunNotificationsApi() override;
 
  protected:
-  virtual ~NotificationsGetPermissionLevelFunction();
+  ~NotificationsGetPermissionLevelFunction() override;
 
  private:
   DECLARE_EXTENSION_FUNCTION("notifications.getPermissionLevel",
diff --git a/chrome/browser/extensions/api/notifications/notifications_apitest.cc b/chrome/browser/extensions/api/notifications/notifications_apitest.cc
index 885f9002..014f19d 100644
--- a/chrome/browser/extensions/api/notifications/notifications_apitest.cc
+++ b/chrome/browser/extensions/api/notifications/notifications_apitest.cc
@@ -40,7 +40,7 @@
                    content::NotificationService::AllSources());
   }
 
-  virtual ~UserGestureCatcher() {}
+  ~UserGestureCatcher() override {}
 
   bool GetNextResult() {
     if (results_.empty()) {
@@ -59,9 +59,9 @@
   }
 
  private:
-  virtual void Observe(int type,
-                       const content::NotificationSource& source,
-                       const content::NotificationDetails& details) override {
+  void Observe(int type,
+               const content::NotificationSource& source,
+               const content::NotificationDetails& details) override {
     results_.push_back(
         static_cast<content::Source<extensions::TestSendMessageFunction> >(
             source)
diff --git a/chrome/browser/extensions/api/omnibox/omnibox_api.h b/chrome/browser/extensions/api/omnibox/omnibox_api.h
index 036cd63a8..6db50e1f 100644
--- a/chrome/browser/extensions/api/omnibox/omnibox_api.h
+++ b/chrome/browser/extensions/api/omnibox/omnibox_api.h
@@ -77,17 +77,17 @@
   DECLARE_EXTENSION_FUNCTION("omnibox.sendSuggestions", OMNIBOX_SENDSUGGESTIONS)
 
  protected:
-  virtual ~OmniboxSendSuggestionsFunction() {}
+  ~OmniboxSendSuggestionsFunction() override {}
 
   // ExtensionFunction:
-  virtual bool RunSync() override;
+  bool RunSync() override;
 };
 
 class OmniboxAPI : public BrowserContextKeyedAPI,
                    public ExtensionRegistryObserver {
  public:
   explicit OmniboxAPI(content::BrowserContext* context);
-  virtual ~OmniboxAPI();
+  ~OmniboxAPI() override;
 
   // BrowserContextKeyedAPI implementation.
   static BrowserContextKeyedAPIFactory<OmniboxAPI>* GetFactoryInstance();
@@ -96,7 +96,7 @@
   static OmniboxAPI* Get(content::BrowserContext* context);
 
   // KeyedService implementation.
-  virtual void Shutdown() override;
+  void Shutdown() override;
 
   // Returns the icon to display in the omnibox for the given extension.
   gfx::Image GetOmniboxIcon(const std::string& extension_id);
@@ -113,12 +113,11 @@
   void OnTemplateURLsLoaded();
 
   // ExtensionRegistryObserver implementation.
-  virtual void OnExtensionLoaded(content::BrowserContext* browser_context,
-                                 const Extension* extension) override;
-  virtual void OnExtensionUnloaded(
-      content::BrowserContext* browser_context,
-      const Extension* extension,
-      UnloadedExtensionInfo::Reason reason) override;
+  void OnExtensionLoaded(content::BrowserContext* browser_context,
+                         const Extension* extension) override;
+  void OnExtensionUnloaded(content::BrowserContext* browser_context,
+                           const Extension* extension,
+                           UnloadedExtensionInfo::Reason reason) override;
 
   // BrowserContextKeyedAPI implementation.
   static const char* service_name() {
@@ -156,10 +155,10 @@
                              OMNIBOX_SETDEFAULTSUGGESTION)
 
  protected:
-  virtual ~OmniboxSetDefaultSuggestionFunction() {}
+  ~OmniboxSetDefaultSuggestionFunction() override {}
 
   // ExtensionFunction:
-  virtual bool RunSync() override;
+  bool RunSync() override;
 };
 
 // If the extension has set a custom default suggestion via
diff --git a/chrome/browser/extensions/api/page_capture/page_capture_api.h b/chrome/browser/extensions/api/page_capture/page_capture_api.h
index 2a773a3..0c1aa1c 100644
--- a/chrome/browser/extensions/api/page_capture/page_capture_api.h
+++ b/chrome/browser/extensions/api/page_capture/page_capture_api.h
@@ -36,9 +36,9 @@
   static void SetTestDelegate(TestDelegate* delegate);
 
  private:
-  virtual ~PageCaptureSaveAsMHTMLFunction();
-  virtual bool RunAsync() override;
-  virtual bool OnMessageReceived(const IPC::Message& message) override;
+  ~PageCaptureSaveAsMHTMLFunction() override;
+  bool RunAsync() override;
+  bool OnMessageReceived(const IPC::Message& message) override;
 
   // Called on the file thread.
   void CreateTemporaryFile();
diff --git a/chrome/browser/extensions/api/page_capture/page_capture_apitest.cc b/chrome/browser/extensions/api/page_capture/page_capture_apitest.cc
index 68054660..d5cdeb5 100644
--- a/chrome/browser/extensions/api/page_capture/page_capture_apitest.cc
+++ b/chrome/browser/extensions/api/page_capture/page_capture_apitest.cc
@@ -14,7 +14,7 @@
 
 class ExtensionPageCaptureApiTest : public ExtensionApiTest {
  public:
-  virtual void SetUpCommandLine(CommandLine* command_line) override {
+  void SetUpCommandLine(CommandLine* command_line) override {
     ExtensionApiTest::SetUpCommandLine(command_line);
     command_line->AppendSwitchASCII(switches::kJavaScriptFlags, "--expose-gc");
   }
@@ -31,8 +31,7 @@
     PageCaptureSaveAsMHTMLFunction::SetTestDelegate(NULL);
   }
 
-  virtual void OnTemporaryFileCreated(
-      const base::FilePath& temp_file) override {
+  void OnTemporaryFileCreated(const base::FilePath& temp_file) override {
     temp_file_ = temp_file;
   }
 
diff --git a/chrome/browser/extensions/api/permissions/permissions_api.h b/chrome/browser/extensions/api/permissions/permissions_api.h
index d0eaa52..fa6431f 100644
--- a/chrome/browser/extensions/api/permissions/permissions_api.h
+++ b/chrome/browser/extensions/api/permissions/permissions_api.h
@@ -20,10 +20,10 @@
   DECLARE_EXTENSION_FUNCTION("permissions.contains", PERMISSIONS_CONTAINS)
 
  protected:
-  virtual ~PermissionsContainsFunction() {}
+  ~PermissionsContainsFunction() override {}
 
   // ExtensionFunction:
-  virtual bool RunSync() override;
+  bool RunSync() override;
 };
 
 // chrome.permissions.getAll
@@ -32,10 +32,10 @@
   DECLARE_EXTENSION_FUNCTION("permissions.getAll", PERMISSIONS_GETALL)
 
  protected:
-  virtual ~PermissionsGetAllFunction() {}
+  ~PermissionsGetAllFunction() override {}
 
   // ExtensionFunction:
-  virtual bool RunSync() override;
+  bool RunSync() override;
 };
 
 // chrome.permissions.remove
@@ -44,10 +44,10 @@
   DECLARE_EXTENSION_FUNCTION("permissions.remove", PERMISSIONS_REMOVE)
 
  protected:
-  virtual ~PermissionsRemoveFunction() {}
+  ~PermissionsRemoveFunction() override {}
 
   // ExtensionFunction:
-  virtual bool RunSync() override;
+  bool RunSync() override;
 };
 
 // chrome.permissions.request
@@ -63,14 +63,14 @@
   static void SetIgnoreUserGestureForTests(bool ignore);
 
   // ExtensionInstallPrompt::Delegate:
-  virtual void InstallUIProceed() override;
-  virtual void InstallUIAbort(bool user_initiated) override;
+  void InstallUIProceed() override;
+  void InstallUIAbort(bool user_initiated) override;
 
  protected:
-  virtual ~PermissionsRequestFunction();
+  ~PermissionsRequestFunction() override;
 
   // ExtensionFunction:
-  virtual bool RunAsync() override;
+  bool RunAsync() override;
 
  private:
   scoped_ptr<ExtensionInstallPrompt> install_ui_;
diff --git a/chrome/browser/extensions/api/permissions/permissions_apitest.cc b/chrome/browser/extensions/api/permissions/permissions_apitest.cc
index cbb885e..798b2b5 100644
--- a/chrome/browser/extensions/api/permissions/permissions_apitest.cc
+++ b/chrome/browser/extensions/api/permissions/permissions_apitest.cc
@@ -24,7 +24,7 @@
 
 class ExperimentalApiTest : public ExtensionApiTest {
 public:
-  virtual void SetUpCommandLine(CommandLine* command_line) override {
+ void SetUpCommandLine(CommandLine* command_line) override {
     ExtensionApiTest::SetUpCommandLine(command_line);
     command_line->AppendSwitch(switches::kEnableExperimentalExtensionApis);
   }
diff --git a/chrome/browser/extensions/api/preference/chrome_direct_setting.h b/chrome/browser/extensions/api/preference/chrome_direct_setting.h
index aacbe1d..f1ae691 100644
--- a/chrome/browser/extensions/api/preference/chrome_direct_setting.h
+++ b/chrome/browser/extensions/api/preference/chrome_direct_setting.h
@@ -17,7 +17,7 @@
 class DirectSettingFunctionBase : public ChromeSyncExtensionFunction {
  protected:
   DirectSettingFunctionBase();
-  virtual ~DirectSettingFunctionBase();
+  ~DirectSettingFunctionBase() override;
 
   // Returns the user pref service.
   PrefService* GetPrefService();
@@ -38,10 +38,10 @@
 
  protected:
   // ExtensionFunction:
-  virtual bool RunSync() override;
+  bool RunSync() override;
 
  private:
-  virtual ~GetDirectSettingFunction();
+  ~GetDirectSettingFunction() override;
   DISALLOW_COPY_AND_ASSIGN(GetDirectSettingFunction);
 };
 
@@ -54,10 +54,10 @@
 
  protected:
   // ExtensionFunction:
-  virtual bool RunSync() override;
+  bool RunSync() override;
 
  private:
-  virtual ~SetDirectSettingFunction();
+  ~SetDirectSettingFunction() override;
   DISALLOW_COPY_AND_ASSIGN(SetDirectSettingFunction);
 };
 
@@ -70,10 +70,10 @@
 
  protected:
   // ExtensionFunction:
-  virtual bool RunSync() override;
+  bool RunSync() override;
 
  private:
-  virtual ~ClearDirectSettingFunction();
+  ~ClearDirectSettingFunction() override;
   DISALLOW_COPY_AND_ASSIGN(ClearDirectSettingFunction);
 };
 
diff --git a/chrome/browser/extensions/api/preference/chrome_direct_setting_api.h b/chrome/browser/extensions/api/preference/chrome_direct_setting_api.h
index d10c03b..5fe1486 100644
--- a/chrome/browser/extensions/api/preference/chrome_direct_setting_api.h
+++ b/chrome/browser/extensions/api/preference/chrome_direct_setting_api.h
@@ -23,17 +23,17 @@
  public:
   explicit ChromeDirectSettingAPI(content::BrowserContext* context);
 
-  virtual ~ChromeDirectSettingAPI();
+  ~ChromeDirectSettingAPI() override;
 
   // KeyedService implementation.
-  virtual void Shutdown() override;
+  void Shutdown() override;
 
   // BrowserContextKeyedAPI implementation.
   static BrowserContextKeyedAPIFactory<ChromeDirectSettingAPI>*
       GetFactoryInstance();
 
   // EventRouter::Observer implementation.
-  virtual void OnListenerAdded(const EventListenerInfo& details) override;
+  void OnListenerAdded(const EventListenerInfo& details) override;
 
   // Returns true if the preference is on the whitelist.
   bool IsPreferenceOnWhitelist(const std::string& pref_key);
diff --git a/chrome/browser/extensions/api/preference/preference_api.cc b/chrome/browser/extensions/api/preference/preference_api.cc
index c4cf8a62..b5e6716 100644
--- a/chrome/browser/extensions/api/preference/preference_api.cc
+++ b/chrome/browser/extensions/api/preference/preference_api.cc
@@ -124,13 +124,13 @@
 
 class IdentityPrefTransformer : public PrefTransformerInterface {
  public:
-  virtual base::Value* ExtensionToBrowserPref(const base::Value* extension_pref,
-                                              std::string* error,
-                                              bool* bad_message) override {
+  base::Value* ExtensionToBrowserPref(const base::Value* extension_pref,
+                                      std::string* error,
+                                      bool* bad_message) override {
     return extension_pref->DeepCopy();
   }
 
-  virtual base::Value* BrowserToExtensionPref(
+  base::Value* BrowserToExtensionPref(
       const base::Value* browser_pref) override {
     return browser_pref->DeepCopy();
   }
@@ -138,13 +138,13 @@
 
 class InvertBooleanTransformer : public PrefTransformerInterface {
  public:
-  virtual base::Value* ExtensionToBrowserPref(const base::Value* extension_pref,
-                                              std::string* error,
-                                              bool* bad_message) override {
+  base::Value* ExtensionToBrowserPref(const base::Value* extension_pref,
+                                      std::string* error,
+                                      bool* bad_message) override {
     return InvertBooleanValue(extension_pref);
   }
 
-  virtual base::Value* BrowserToExtensionPref(
+  base::Value* BrowserToExtensionPref(
       const base::Value* browser_pref) override {
     return InvertBooleanValue(browser_pref);
   }
diff --git a/chrome/browser/extensions/api/preference/preference_api.h b/chrome/browser/extensions/api/preference/preference_api.h
index 761febc..0f95a9b 100644
--- a/chrome/browser/extensions/api/preference/preference_api.h
+++ b/chrome/browser/extensions/api/preference/preference_api.h
@@ -96,10 +96,10 @@
                       public ContentSettingsStore::Observer {
  public:
   explicit PreferenceAPI(content::BrowserContext* context);
-  virtual ~PreferenceAPI();
+  ~PreferenceAPI() override;
 
   // KeyedService implementation.
-  virtual void Shutdown() override;
+  void Shutdown() override;
 
   // BrowserContextKeyedAPI implementation.
   static BrowserContextKeyedAPIFactory<PreferenceAPI>* GetFactoryInstance();
@@ -108,22 +108,22 @@
   static PreferenceAPI* Get(content::BrowserContext* context);
 
   // EventRouter::Observer implementation.
-  virtual void OnListenerAdded(const EventListenerInfo& details) override;
+  void OnListenerAdded(const EventListenerInfo& details) override;
 
  private:
   friend class BrowserContextKeyedAPIFactory<PreferenceAPI>;
 
   // ContentSettingsStore::Observer implementation.
-  virtual void OnContentSettingChanged(const std::string& extension_id,
-                                       bool incognito) override;
+  void OnContentSettingChanged(const std::string& extension_id,
+                               bool incognito) override;
 
   // Clears incognito session-only content settings for all extensions.
   void ClearIncognitoSessionOnlyContentSettings();
 
   // PreferenceAPIBase implementation.
-  virtual ExtensionPrefs* extension_prefs() override;
-  virtual ExtensionPrefValueMap* extension_pref_value_map() override;
-  virtual scoped_refptr<ContentSettingsStore> content_settings_store() override;
+  ExtensionPrefs* extension_prefs() override;
+  ExtensionPrefValueMap* extension_pref_value_map() override;
+  scoped_refptr<ContentSettingsStore> content_settings_store() override;
 
   Profile* profile_;
 
@@ -169,7 +169,7 @@
  protected:
   enum PermissionType { PERMISSION_TYPE_READ, PERMISSION_TYPE_WRITE };
 
-  virtual ~PreferenceFunction();
+  ~PreferenceFunction() override;
 
   // Given an |extension_pref_key|, provides its |browser_pref_key| from the
   // static map in preference_api.cc. Returns true if the corresponding
@@ -186,10 +186,10 @@
   DECLARE_EXTENSION_FUNCTION("types.ChromeSetting.get", TYPES_CHROMESETTING_GET)
 
  protected:
-  virtual ~GetPreferenceFunction();
+  ~GetPreferenceFunction() override;
 
   // ExtensionFunction:
-  virtual bool RunSync() override;
+  bool RunSync() override;
 };
 
 class SetPreferenceFunction : public PreferenceFunction {
@@ -197,10 +197,10 @@
   DECLARE_EXTENSION_FUNCTION("types.ChromeSetting.set", TYPES_CHROMESETTING_SET)
 
  protected:
-  virtual ~SetPreferenceFunction();
+  ~SetPreferenceFunction() override;
 
   // ExtensionFunction:
-  virtual bool RunSync() override;
+  bool RunSync() override;
 };
 
 class ClearPreferenceFunction : public PreferenceFunction {
@@ -209,10 +209,10 @@
                              TYPES_CHROMESETTING_CLEAR)
 
  protected:
-  virtual ~ClearPreferenceFunction();
+  ~ClearPreferenceFunction() override;
 
   // ExtensionFunction:
-  virtual bool RunSync() override;
+  bool RunSync() override;
 };
 
 }  // namespace extensions
diff --git a/chrome/browser/extensions/api/preference/preference_api_prefs_unittest.cc b/chrome/browser/extensions/api/preference/preference_api_prefs_unittest.cc
index 058fb8f..b29474b 100644
--- a/chrome/browser/extensions/api/preference/preference_api_prefs_unittest.cc
+++ b/chrome/browser/extensions/api/preference/preference_api_prefs_unittest.cc
@@ -49,14 +49,13 @@
 
  private:
   // PreferenceAPIBase implementation.
-  virtual ExtensionPrefs* extension_prefs() override {
+  ExtensionPrefs* extension_prefs() override {
     return test_extension_prefs_->prefs();
   }
-  virtual ExtensionPrefValueMap* extension_pref_value_map() override {
+  ExtensionPrefValueMap* extension_pref_value_map() override {
     return test_extension_prefs_->extension_pref_value_map();
   }
-  virtual scoped_refptr<ContentSettingsStore> content_settings_store()
-      override {
+  scoped_refptr<ContentSettingsStore> content_settings_store() override {
     return content_settings_->content_settings_store();
   }
 
@@ -71,8 +70,7 @@
   ExtensionControlledPrefsTest();
   virtual ~ExtensionControlledPrefsTest();
 
-  virtual void RegisterPreferences(user_prefs::PrefRegistrySyncable* registry)
-      override;
+  void RegisterPreferences(user_prefs::PrefRegistrySyncable* registry) override;
   void InstallExtensionControlledPref(Extension* extension,
                                       const std::string& key,
                                       base::Value* value);
@@ -194,12 +192,12 @@
 
 class ControlledPrefsInstallOneExtension
     : public ExtensionControlledPrefsTest {
-  virtual void Initialize() override {
+  void Initialize() override {
     InstallExtensionControlledPref(extension1(),
                                    kPref1,
                                    new base::StringValue("val1"));
   }
-  virtual void Verify() override {
+  void Verify() override {
     std::string actual = prefs()->pref_service()->GetString(kPref1);
     EXPECT_EQ("val1", actual);
   }
@@ -211,7 +209,7 @@
 class ControlledPrefsInstallIncognitoPersistent
     : public ExtensionControlledPrefsTest {
  public:
-  virtual void Initialize() override {
+  void Initialize() override {
     InstallExtensionControlledPref(
         extension1(), kPref1, new base::StringValue("val1"));
     InstallExtensionControlledPrefIncognito(
@@ -221,7 +219,7 @@
     EXPECT_EQ("val2", actual);
   }
 
-  virtual void Verify() override {
+  void Verify() override {
     // Main pref service shall see only non-incognito settings.
     std::string actual = prefs()->pref_service()->GetString(kPref1);
     EXPECT_EQ("val1", actual);
@@ -240,7 +238,7 @@
  public:
   ControlledPrefsInstallIncognitoSessionOnly() : iteration_(0) {}
 
-  virtual void Initialize() override {
+  void Initialize() override {
     InstallExtensionControlledPref(
         extension1(), kPref1, new base::StringValue("val1"));
     InstallExtensionControlledPrefIncognitoSessionOnly(
@@ -249,7 +247,7 @@
     std::string actual = incog_prefs->GetString(kPref1);
     EXPECT_EQ("val2", actual);
   }
-  virtual void Verify() override {
+  void Verify() override {
     // Main pref service shall see only non-incognito settings.
     std::string actual = prefs()->pref_service()->GetString(kPref1);
     EXPECT_EQ("val1", actual);
@@ -271,7 +269,7 @@
        ControlledPrefsInstallIncognitoSessionOnly) { }
 
 class ControlledPrefsUninstallExtension : public ExtensionControlledPrefsTest {
-  virtual void Initialize() override {
+  void Initialize() override {
     InstallExtensionControlledPref(
         extension1(), kPref1, new base::StringValue("val1"));
     InstallExtensionControlledPref(
@@ -288,7 +286,7 @@
 
     UninstallExtension(extension1()->id());
   }
-  virtual void Verify() override {
+  void Verify() override {
     EXPECT_FALSE(prefs()->HasPrefForExtension(extension1()->id()));
 
     std::string actual;
@@ -303,7 +301,7 @@
 
 // Tests triggering of notifications to registered observers.
 class ControlledPrefsNotifyWhenNeeded : public ExtensionControlledPrefsTest {
-  virtual void Initialize() override {
+  void Initialize() override {
     using testing::_;
     using testing::Mock;
     using testing::StrEq;
@@ -368,7 +366,7 @@
     registrar.Remove(kPref1);
     incognito_registrar.Remove(kPref1);
   }
-  virtual void Verify() override {
+  void Verify() override {
     std::string actual = prefs()->pref_service()->GetString(kPref1);
     EXPECT_EQ(kDefaultPref1, actual);
   }
@@ -378,14 +376,14 @@
 
 // Tests disabling an extension.
 class ControlledPrefsDisableExtension : public ExtensionControlledPrefsTest {
-  virtual void Initialize() override {
+  void Initialize() override {
     InstallExtensionControlledPref(
         extension1(), kPref1, new base::StringValue("val1"));
     std::string actual = prefs()->pref_service()->GetString(kPref1);
     EXPECT_EQ("val1", actual);
     prefs()->SetExtensionState(extension1()->id(), Extension::DISABLED);
   }
-  virtual void Verify() override {
+  void Verify() override {
     std::string actual = prefs()->pref_service()->GetString(kPref1);
     EXPECT_EQ(kDefaultPref1, actual);
   }
@@ -394,13 +392,13 @@
 
 // Tests disabling and reenabling an extension.
 class ControlledPrefsReenableExtension : public ExtensionControlledPrefsTest {
-  virtual void Initialize() override {
+  void Initialize() override {
     InstallExtensionControlledPref(
         extension1(), kPref1, new base::StringValue("val1"));
     prefs()->SetExtensionState(extension1()->id(), Extension::DISABLED);
     prefs()->SetExtensionState(extension1()->id(), Extension::ENABLED);
   }
-  virtual void Verify() override {
+  void Verify() override {
     std::string actual = prefs()->pref_service()->GetString(kPref1);
     EXPECT_EQ("val1", actual);
   }
@@ -422,7 +420,7 @@
 class ControlledPrefsSetExtensionControlledPref
     : public ExtensionControlledPrefsTest {
  public:
-  virtual void Initialize() override {
+  void Initialize() override {
     MockStringValue* v1 = new MockStringValue("https://www.chromium.org");
     MockStringValue* v2 = new MockStringValue("https://www.chromium.org");
     MockStringValue* v1i = new MockStringValue("https://www.chromium.org");
@@ -448,8 +446,7 @@
     testing::Mock::VerifyAndClearExpectations(v2i);
   }
 
-  virtual void Verify() override {
-  }
+  void Verify() override {}
 };
 TEST_F(ControlledPrefsSetExtensionControlledPref,
        ControlledPrefsSetExtensionControlledPref) { }
@@ -461,13 +458,13 @@
   ControlledPrefsDisableExtensions()
       : iteration_(0) {}
   virtual ~ControlledPrefsDisableExtensions() {}
-  virtual void Initialize() override {
+  void Initialize() override {
     InstallExtensionControlledPref(
         extension1(), kPref1, new base::StringValue("val1"));
     // This becomes only active in the second verification phase.
     prefs_.set_extensions_disabled(true);
   }
-  virtual void Verify() override {
+  void Verify() override {
     std::string actual = prefs()->pref_service()->GetString(kPref1);
     if (iteration_ == 0) {
       EXPECT_EQ("val1", actual);
diff --git a/chrome/browser/extensions/api/preference/preference_apitest.cc b/chrome/browser/extensions/api/preference/preference_apitest.cc
index 4f58d936..aefb854 100644
--- a/chrome/browser/extensions/api/preference/preference_apitest.cc
+++ b/chrome/browser/extensions/api/preference/preference_apitest.cc
@@ -69,7 +69,7 @@
     EXPECT_FALSE(prefs->GetBoolean(prefs::kSearchSuggestEnabled));
   }
 
-  virtual void SetUpOnMainThread() override {
+  void SetUpOnMainThread() override {
     ExtensionApiTest::SetUpOnMainThread();
 
     // The browser might get closed later (and therefore be destroyed), so we
@@ -82,7 +82,7 @@
     g_browser_process->AddRefModule();
   }
 
-  virtual void TearDownOnMainThread() override {
+  void TearDownOnMainThread() override {
     // ReleaseBrowserProcessModule() needs to be called in a message loop, so we
     // post a task to do it, then run the message loop.
     base::MessageLoop::current()->PostTask(
diff --git a/chrome/browser/extensions/api/preferences_private/preferences_private_api.h b/chrome/browser/extensions/api/preferences_private/preferences_private_api.h
index 1189f45..f1f2ffa 100644
--- a/chrome/browser/extensions/api/preferences_private/preferences_private_api.h
+++ b/chrome/browser/extensions/api/preferences_private/preferences_private_api.h
@@ -22,14 +22,14 @@
   PreferencesPrivateGetSyncCategoriesWithoutPassphraseFunction();
 
  protected:
-  virtual ~PreferencesPrivateGetSyncCategoriesWithoutPassphraseFunction();
+  ~PreferencesPrivateGetSyncCategoriesWithoutPassphraseFunction() override;
 
  private:
   // ProfileSyncServiceObserver:
-  virtual void OnStateChanged() override;
+  void OnStateChanged() override;
 
   // ExtensionFunction:
-  virtual bool RunAsync() override;
+  bool RunAsync() override;
 
   DISALLOW_COPY_AND_ASSIGN(
       PreferencesPrivateGetSyncCategoriesWithoutPassphraseFunction);
diff --git a/chrome/browser/extensions/api/preferences_private/preferences_private_apitest.cc b/chrome/browser/extensions/api/preferences_private/preferences_private_apitest.cc
index f7d73821..95908d8 100644
--- a/chrome/browser/extensions/api/preferences_private/preferences_private_apitest.cc
+++ b/chrome/browser/extensions/api/preferences_private/preferences_private_apitest.cc
@@ -52,7 +52,7 @@
         sync_initialized_(true),
         initialized_state_violation_(false) {}
 
-  virtual ~FakeProfileSyncService() {}
+  ~FakeProfileSyncService() override {}
 
   static KeyedService* BuildFakeProfileSyncService(
       content::BrowserContext* context) {
@@ -66,12 +66,9 @@
   bool initialized_state_violation() { return initialized_state_violation_; }
 
   // ProfileSyncService:
-  virtual bool SyncActive() const override {
-    return sync_initialized_;
-  }
+  bool SyncActive() const override { return sync_initialized_; }
 
-  virtual void AddObserver(
-      ProfileSyncServiceBase::Observer* observer) override {
+  void AddObserver(ProfileSyncServiceBase::Observer* observer) override {
     if (sync_initialized_)
       initialized_state_violation_ = true;
     // Set sync initialized state to true so the function will run after
@@ -83,7 +80,7 @@
                    base::Unretained(observer)));
   }
 
-  virtual syncer::ModelTypeSet GetEncryptedDataTypes() const override {
+  syncer::ModelTypeSet GetEncryptedDataTypes() const override {
     if (!sync_initialized_)
       initialized_state_violation_ = true;
     syncer::ModelTypeSet type_set;
@@ -91,7 +88,7 @@
     return type_set;
   }
 
-  virtual syncer::ModelTypeSet GetPreferredDataTypes() const override {
+  syncer::ModelTypeSet GetPreferredDataTypes() const override {
     if (!sync_initialized_)
       initialized_state_violation_ = true;
     syncer::ModelTypeSet preferred_types =
@@ -114,14 +111,14 @@
   PreferencesPrivateApiTest() : browser_(NULL), service_(NULL) {}
   virtual ~PreferencesPrivateApiTest() {}
 
-  virtual void SetUpCommandLine(CommandLine* command_line) override {
+  void SetUpCommandLine(CommandLine* command_line) override {
 #if defined(OS_CHROMEOS)
     command_line->AppendSwitch(
         chromeos::switches::kIgnoreUserProfileMappingForTests);
 #endif
   }
 
-  virtual void SetUpOnMainThread() override {
+  void SetUpOnMainThread() override {
     ExtensionApiTest::SetUpOnMainThread();
 
     base::FilePath path;
diff --git a/chrome/browser/extensions/api/principals_private/principals_private_api.h b/chrome/browser/extensions/api/principals_private/principals_private_api.h
index 16f0ef0..5f5d96e 100644
--- a/chrome/browser/extensions/api/principals_private/principals_private_api.h
+++ b/chrome/browser/extensions/api/principals_private/principals_private_api.h
@@ -19,12 +19,12 @@
   PrincipalsPrivateExtensionFunction() {}
 
  protected:
-  virtual ~PrincipalsPrivateExtensionFunction() {}
+  ~PrincipalsPrivateExtensionFunction() override {}
 
   // ExtensionFunction:
   // Checks for the flag "new-profile-management", if set calls
   // RunSyncSafe which must be overriden by subclasses.
-  virtual bool RunSync() override final;
+  bool RunSync() final;
 
  private:
   virtual bool RunSyncSafe() = 0;
@@ -38,11 +38,11 @@
   PrincipalsPrivateSignOutFunction() {}
 
  protected:
-  virtual ~PrincipalsPrivateSignOutFunction() {}
+  ~PrincipalsPrivateSignOutFunction() override {}
 
  private:
   // PrincipalsPrivateExtensionFunction
-  virtual bool RunSyncSafe() override;
+  bool RunSyncSafe() override;
 
   DISALLOW_COPY_AND_ASSIGN(PrincipalsPrivateSignOutFunction);
 };
@@ -55,11 +55,11 @@
   PrincipalsPrivateShowAvatarBubbleFunction() {}
 
  protected:
-  virtual ~PrincipalsPrivateShowAvatarBubbleFunction() {}
+  ~PrincipalsPrivateShowAvatarBubbleFunction() override {}
 
  private:
   // PrincipalsPrivateExtensionFunction
-  virtual bool RunSyncSafe() override;
+  bool RunSyncSafe() override;
 
   DISALLOW_COPY_AND_ASSIGN(PrincipalsPrivateShowAvatarBubbleFunction);
 };
diff --git a/chrome/browser/extensions/api/processes/processes_api.h b/chrome/browser/extensions/api/processes/processes_api.h
index 2963d3f..522354a 100644
--- a/chrome/browser/extensions/api/processes/processes_api.h
+++ b/chrome/browser/extensions/api/processes/processes_api.h
@@ -34,7 +34,7 @@
                              public content::NotificationObserver {
  public:
   explicit ProcessesEventRouter(content::BrowserContext* context);
-  virtual ~ProcessesEventRouter();
+  ~ProcessesEventRouter() override;
 
   // Called when an extension process wants to listen to process events.
   void ListenerAdded();
@@ -51,16 +51,16 @@
 
  private:
   // content::NotificationObserver implementation.
-  virtual void Observe(int type,
-                       const content::NotificationSource& source,
-                       const content::NotificationDetails& details) override;
+  void Observe(int type,
+               const content::NotificationSource& source,
+               const content::NotificationDetails& details) override;
 
   // TaskManagerModelObserver methods.
-  virtual void OnItemsAdded(int start, int length) override;
-  virtual void OnModelChanged() override {}
-  virtual void OnItemsChanged(int start, int length) override;
-  virtual void OnItemsRemoved(int start, int length) override {}
-  virtual void OnItemsToBeRemoved(int start, int length) override;
+  void OnItemsAdded(int start, int length) override;
+  void OnModelChanged() override {}
+  void OnItemsChanged(int start, int length) override;
+  void OnItemsRemoved(int start, int length) override {}
+  void OnItemsToBeRemoved(int start, int length) override;
 
   // Internal helpers for processing notifications.
   void ProcessHangEvent(content::RenderWidgetHost* widget);
@@ -98,10 +98,10 @@
                      public EventRouter::Observer {
  public:
   explicit ProcessesAPI(content::BrowserContext* context);
-  virtual ~ProcessesAPI();
+  ~ProcessesAPI() override;
 
   // KeyedService implementation.
-  virtual void Shutdown() override;
+  void Shutdown() override;
 
   // BrowserContextKeyedAPI implementation.
   static BrowserContextKeyedAPIFactory<ProcessesAPI>* GetFactoryInstance();
@@ -112,8 +112,8 @@
   ProcessesEventRouter* processes_event_router();
 
   // EventRouter::Observer implementation.
-  virtual void OnListenerAdded(const EventListenerInfo& details) override;
-  virtual void OnListenerRemoved(const EventListenerInfo& details) override;
+  void OnListenerAdded(const EventListenerInfo& details) override;
+  void OnListenerRemoved(const EventListenerInfo& details) override;
 
  private:
   friend class BrowserContextKeyedAPIFactory<ProcessesAPI>;
@@ -138,8 +138,8 @@
   GetProcessIdForTabFunction();
 
  private:
-  virtual ~GetProcessIdForTabFunction() {}
-  virtual bool RunAsync() override;
+  ~GetProcessIdForTabFunction() override {}
+  bool RunAsync() override;
 
   void GetProcessIdForTab();
 
@@ -160,8 +160,8 @@
   TerminateFunction();
 
  private:
-  virtual ~TerminateFunction() {}
-  virtual bool RunAsync() override;
+  ~TerminateFunction() override {}
+  bool RunAsync() override;
 
   void TerminateProcess();
 
@@ -179,8 +179,8 @@
   GetProcessInfoFunction();
 
  private:
-  virtual ~GetProcessInfoFunction();
-  virtual bool RunAsync() override;
+  ~GetProcessInfoFunction() override;
+  bool RunAsync() override;
 
   void GatherProcessInfo();
 
diff --git a/chrome/browser/extensions/api/proxy/proxy_api.h b/chrome/browser/extensions/api/proxy/proxy_api.h
index aea100f..62cbe73 100644
--- a/chrome/browser/extensions/api/proxy/proxy_api.h
+++ b/chrome/browser/extensions/api/proxy/proxy_api.h
@@ -28,14 +28,13 @@
 class ProxyPrefTransformer : public PrefTransformerInterface {
  public:
   ProxyPrefTransformer();
-  virtual ~ProxyPrefTransformer();
+  ~ProxyPrefTransformer() override;
 
   // Implementation of PrefTransformerInterface.
-  virtual base::Value* ExtensionToBrowserPref(const base::Value* extension_pref,
-                                              std::string* error,
-                                              bool* bad_message) override;
-  virtual base::Value* BrowserToExtensionPref(
-      const base::Value* browser_pref) override;
+  base::Value* ExtensionToBrowserPref(const base::Value* extension_pref,
+                                      std::string* error,
+                                      bool* bad_message) override;
+  base::Value* BrowserToExtensionPref(const base::Value* browser_pref) override;
 
  private:
   DISALLOW_COPY_AND_ASSIGN(ProxyPrefTransformer);
diff --git a/chrome/browser/extensions/api/push_messaging/obfuscated_gaia_id_fetcher.h b/chrome/browser/extensions/api/push_messaging/obfuscated_gaia_id_fetcher.h
index f74404a3..39eb7e1 100644
--- a/chrome/browser/extensions/api/push_messaging/obfuscated_gaia_id_fetcher.h
+++ b/chrome/browser/extensions/api/push_messaging/obfuscated_gaia_id_fetcher.h
@@ -41,18 +41,16 @@
   // TODO(petewil): Someday let's make a profile keyed service to cache
   // the Gaia ID.
   explicit ObfuscatedGaiaIdFetcher(Delegate* delegate);
-  virtual ~ObfuscatedGaiaIdFetcher();
+  ~ObfuscatedGaiaIdFetcher() override;
 
   static OAuth2TokenService::ScopeSet GetScopes();
 
  protected:
   // OAuth2ApiCallFlow implementation
-  virtual GURL CreateApiCallUrl() override;
-  virtual std::string CreateApiCallBody() override;
-  virtual void ProcessApiCallSuccess(
-      const net::URLFetcher* source) override;
-  virtual void ProcessApiCallFailure(
-      const net::URLFetcher* source) override;
+  GURL CreateApiCallUrl() override;
+  std::string CreateApiCallBody() override;
+  void ProcessApiCallSuccess(const net::URLFetcher* source) override;
+  void ProcessApiCallFailure(const net::URLFetcher* source) override;
 
  private:
   FRIEND_TEST_ALL_PREFIXES(ObfuscatedGaiaIdFetcherTest, SetUp);
diff --git a/chrome/browser/extensions/api/push_messaging/obfuscated_gaia_id_fetcher_unittest.cc b/chrome/browser/extensions/api/push_messaging/obfuscated_gaia_id_fetcher_unittest.cc
index 01c2314f..d26165ca 100644
--- a/chrome/browser/extensions/api/push_messaging/obfuscated_gaia_id_fetcher_unittest.cc
+++ b/chrome/browser/extensions/api/push_messaging/obfuscated_gaia_id_fetcher_unittest.cc
@@ -20,16 +20,16 @@
 // Delegate class for catching notifications from the ObfuscatedGaiaIdFetcher.
 class TestDelegate : public extensions::ObfuscatedGaiaIdFetcher::Delegate {
  public:
-  virtual void OnObfuscatedGaiaIdFetchSuccess(
+  void OnObfuscatedGaiaIdFetchSuccess(
       const std::string& obfuscated_id) override {
     succeeded_ = true;
   }
-  virtual void OnObfuscatedGaiaIdFetchFailure(
+  void OnObfuscatedGaiaIdFetchFailure(
       const GoogleServiceAuthError& error) override {
     failed_ = true;
   }
   TestDelegate() : succeeded_(false), failed_(false) {}
-  virtual ~TestDelegate() {}
+  ~TestDelegate() override {}
   bool succeeded() const { return succeeded_; }
   bool failed() const { return failed_; }
 
diff --git a/chrome/browser/extensions/api/push_messaging/push_messaging_api.h b/chrome/browser/extensions/api/push_messaging/push_messaging_api.h
index 4da36f753..854475c 100644
--- a/chrome/browser/extensions/api/push_messaging/push_messaging_api.h
+++ b/chrome/browser/extensions/api/push_messaging/push_messaging_api.h
@@ -34,7 +34,7 @@
     : public PushMessagingInvalidationHandlerDelegate {
  public:
   explicit PushMessagingEventRouter(content::BrowserContext* context);
-  virtual ~PushMessagingEventRouter();
+  ~PushMessagingEventRouter() override;
 
   // For testing purposes.
   void TriggerMessageForTest(const std::string& extension_id,
@@ -43,9 +43,9 @@
 
  private:
   // InvalidationHandlerDelegate implementation.
-  virtual void OnMessage(const std::string& extension_id,
-                         int subchannel,
-                         const std::string& payload) override;
+  void OnMessage(const std::string& extension_id,
+                 int subchannel,
+                 const std::string& payload) override;
 
   content::BrowserContext* const browser_context_;
 
@@ -61,10 +61,10 @@
   PushMessagingGetChannelIdFunction();
 
  protected:
-  virtual ~PushMessagingGetChannelIdFunction();
+  ~PushMessagingGetChannelIdFunction() override;
 
   // ExtensionFunction:
-  virtual bool RunAsync() override;
+  bool RunAsync() override;
   DECLARE_EXTENSION_FUNCTION("pushMessaging.getChannelId",
                              PUSHMESSAGING_GETCHANNELID)
 
@@ -82,21 +82,18 @@
   void StartAccessTokenFetch();
 
   // OAuth2TokenService::Observer implementation.
-  virtual void OnRefreshTokenAvailable(const std::string& account_id) override;
+  void OnRefreshTokenAvailable(const std::string& account_id) override;
 
   // OAuth2TokenService::Consumer implementation.
-  virtual void OnGetTokenSuccess(
-      const OAuth2TokenService::Request* request,
-      const std::string& access_token,
-      const base::Time& expiration_time) override;
-  virtual void OnGetTokenFailure(
-      const OAuth2TokenService::Request* request,
-      const GoogleServiceAuthError& error) override;
+  void OnGetTokenSuccess(const OAuth2TokenService::Request* request,
+                         const std::string& access_token,
+                         const base::Time& expiration_time) override;
+  void OnGetTokenFailure(const OAuth2TokenService::Request* request,
+                         const GoogleServiceAuthError& error) override;
 
   // ObfuscatedGiaiaIdFetcher::Delegate implementation.
-  virtual void OnObfuscatedGaiaIdFetchSuccess(const std::string& gaia_id)
-      override;
-  virtual void OnObfuscatedGaiaIdFetchFailure(
+  void OnObfuscatedGaiaIdFetchSuccess(const std::string& gaia_id) override;
+  void OnObfuscatedGaiaIdFetchFailure(
       const GoogleServiceAuthError& error) override;
 
   scoped_ptr<ObfuscatedGaiaIdFetcher> fetcher_;
@@ -110,13 +107,13 @@
                          public ExtensionRegistryObserver {
  public:
   explicit PushMessagingAPI(content::BrowserContext* context);
-  virtual ~PushMessagingAPI();
+  ~PushMessagingAPI() override;
 
   // Convenience method to get the PushMessagingAPI for a BrowserContext.
   static PushMessagingAPI* Get(content::BrowserContext* context);
 
   // KeyedService implementation.
-  virtual void Shutdown() override;
+  void Shutdown() override;
 
   // BrowserContextKeyedAPI implementation.
   static BrowserContextKeyedAPIFactory<PushMessagingAPI>* GetFactoryInstance();
@@ -140,18 +137,16 @@
   static const bool kServiceIsNULLWhileTesting = true;
 
   // Overridden from ExtensionRegistryObserver.
-  virtual void OnExtensionLoaded(content::BrowserContext* browser_context,
-                                 const Extension* extension) override;
-  virtual void OnExtensionUnloaded(
-      content::BrowserContext* browser_context,
-      const Extension* extension,
-      UnloadedExtensionInfo::Reason reason) override;
-  virtual void OnExtensionWillBeInstalled(
-      content::BrowserContext* browser_context,
-      const Extension* extension,
-      bool is_update,
-      bool from_ephemeral,
-      const std::string& old_name) override;
+  void OnExtensionLoaded(content::BrowserContext* browser_context,
+                         const Extension* extension) override;
+  void OnExtensionUnloaded(content::BrowserContext* browser_context,
+                           const Extension* extension,
+                           UnloadedExtensionInfo::Reason reason) override;
+  void OnExtensionWillBeInstalled(content::BrowserContext* browser_context,
+                                  const Extension* extension,
+                                  bool is_update,
+                                  bool from_ephemeral,
+                                  const std::string& old_name) override;
 
   // Initialize |event_router_| and |handler_|.
   bool InitEventRouterAndHandler();
diff --git a/chrome/browser/extensions/api/push_messaging/push_messaging_apitest.cc b/chrome/browser/extensions/api/push_messaging/push_messaging_apitest.cc
index 191f60e5..65c13d9 100644
--- a/chrome/browser/extensions/api/push_messaging/push_messaging_apitest.cc
+++ b/chrome/browser/extensions/api/push_messaging/push_messaging_apitest.cc
@@ -73,7 +73,7 @@
       : fake_invalidation_service_(NULL) {
   }
 
-  virtual void SetUpCommandLine(CommandLine* command_line) override {
+  void SetUpCommandLine(CommandLine* command_line) override {
     ExtensionApiTest::SetUpCommandLine(command_line);
   }
 
@@ -83,7 +83,7 @@
     ExtensionApiTest::SetUp();
   }
 
-  virtual void SetUpOnMainThread() override {
+  void SetUpOnMainThread() override {
     ExtensionApiTest::SetUpOnMainThread();
     fake_invalidation_service_ =
         static_cast<invalidation::FakeInvalidationService*>(
diff --git a/chrome/browser/extensions/api/push_messaging/push_messaging_canary_test.cc b/chrome/browser/extensions/api/push_messaging/push_messaging_canary_test.cc
index 07bd685..9777a4d 100644
--- a/chrome/browser/extensions/api/push_messaging/push_messaging_canary_test.cc
+++ b/chrome/browser/extensions/api/push_messaging/push_messaging_canary_test.cc
@@ -74,9 +74,7 @@
   // InProcessBrowserTest override. Destroys the sync client and sync
   // profile created by the test.  We must clean up ProfileSyncServiceHarness
   // now before the profile is cleaned up.
-  virtual void TearDownOnMainThread() override {
-    sync_setup_helper_.reset();
-  }
+  void TearDownOnMainThread() override { sync_setup_helper_.reset(); }
 
   const SyncSetupHelper* sync_setup_helper() const {
     return sync_setup_helper_.get();
@@ -85,13 +83,13 @@
  protected:
   // Override InProcessBrowserTest. Change behavior of the default host
   // resolver to avoid DNS lookup errors, so we can make network calls.
-  virtual void SetUpInProcessBrowserTestFixture() override {
+  void SetUpInProcessBrowserTestFixture() override {
     // The resolver object lifetime is managed by sync_test_setup, not here.
     EnableDNSLookupForThisTest(
         new net::RuleBasedHostResolverProc(host_resolver()));
   }
 
-  virtual void TearDownInProcessBrowserTestFixture() override {
+  void TearDownInProcessBrowserTestFixture() override {
     DisableDNSLookupForThisTest();
   }
 
diff --git a/chrome/browser/extensions/api/push_messaging/push_messaging_invalidation_handler.h b/chrome/browser/extensions/api/push_messaging/push_messaging_invalidation_handler.h
index 0f3ca9eb..cdfb7df 100644
--- a/chrome/browser/extensions/api/push_messaging/push_messaging_invalidation_handler.h
+++ b/chrome/browser/extensions/api/push_messaging/push_messaging_invalidation_handler.h
@@ -36,20 +36,19 @@
   PushMessagingInvalidationHandler(
       invalidation::InvalidationService* service,
       PushMessagingInvalidationHandlerDelegate* delegate);
-  virtual ~PushMessagingInvalidationHandler();
+  ~PushMessagingInvalidationHandler() override;
 
   // PushMessagingInvalidationMapper implementation.
-  virtual void SuppressInitialInvalidationsForExtension(
+  void SuppressInitialInvalidationsForExtension(
       const std::string& extension_id) override;
-  virtual void RegisterExtension(const std::string& extension_id) override;
-  virtual void UnregisterExtension(const std::string& extension_id) override;
+  void RegisterExtension(const std::string& extension_id) override;
+  void UnregisterExtension(const std::string& extension_id) override;
 
   // InvalidationHandler implementation.
-  virtual void OnInvalidatorStateChange(
-      syncer::InvalidatorState state) override;
-  virtual void OnIncomingInvalidation(
+  void OnInvalidatorStateChange(syncer::InvalidatorState state) override;
+  void OnIncomingInvalidation(
       const syncer::ObjectIdInvalidationMap& invalidation_map) override;
-  virtual std::string GetOwnerName() const override;
+  std::string GetOwnerName() const override;
 
   const std::set<std::string>& GetRegisteredExtensionsForTest() const {
     return registered_extensions_;
diff --git a/chrome/browser/extensions/api/reading_list_private/reading_list_private_api.h b/chrome/browser/extensions/api/reading_list_private/reading_list_private_api.h
index feed7b5..938ad6b7 100644
--- a/chrome/browser/extensions/api/reading_list_private/reading_list_private_api.h
+++ b/chrome/browser/extensions/api/reading_list_private/reading_list_private_api.h
@@ -21,10 +21,10 @@
                              READINGLISTPRIVATE_ADDENTRY)
 
  protected:
-  virtual ~ReadingListPrivateAddEntryFunction() {}
+  ~ReadingListPrivateAddEntryFunction() override {}
 
   // ExtensionFunction:
-  virtual bool RunAsync() override;
+  bool RunAsync() override;
 };
 
 class ReadingListPrivateRemoveEntryFunction
@@ -34,10 +34,10 @@
                              READINGLISTPRIVATE_REMOVEENTRY)
 
  protected:
-  virtual ~ReadingListPrivateRemoveEntryFunction() {}
+  ~ReadingListPrivateRemoveEntryFunction() override {}
 
   // ExtensionFunction:
-  virtual bool RunSync() override;
+  bool RunSync() override;
 };
 
 class ReadingListPrivateGetEntriesFunction
@@ -47,10 +47,10 @@
                              READINGLISTPRIVATE_GETENTRIES)
 
  protected:
-  virtual ~ReadingListPrivateGetEntriesFunction() {}
+  ~ReadingListPrivateGetEntriesFunction() override {}
 
   // ExtensionFunction:
-  virtual bool RunSync() override;
+  bool RunSync() override;
 };
 
 }  // namespace extensions
diff --git a/chrome/browser/extensions/api/runtime/chrome_runtime_api_delegate.h b/chrome/browser/extensions/api/runtime/chrome_runtime_api_delegate.h
index 909b741..4684904f 100644
--- a/chrome/browser/extensions/api/runtime/chrome_runtime_api_delegate.h
+++ b/chrome/browser/extensions/api/runtime/chrome_runtime_api_delegate.h
@@ -33,29 +33,28 @@
                                  public content::NotificationObserver {
  public:
   explicit ChromeRuntimeAPIDelegate(content::BrowserContext* context);
-  virtual ~ChromeRuntimeAPIDelegate();
+  ~ChromeRuntimeAPIDelegate() override;
 
  private:
   friend class extensions::RuntimeAPI;
 
   // extensions::RuntimeAPIDelegate implementation.
-  virtual void AddUpdateObserver(extensions::UpdateObserver* observer) override;
-  virtual void RemoveUpdateObserver(
-      extensions::UpdateObserver* observer) override;
-  virtual base::Version GetPreviousExtensionVersion(
+  void AddUpdateObserver(extensions::UpdateObserver* observer) override;
+  void RemoveUpdateObserver(extensions::UpdateObserver* observer) override;
+  base::Version GetPreviousExtensionVersion(
       const extensions::Extension* extension) override;
-  virtual void ReloadExtension(const std::string& extension_id) override;
-  virtual bool CheckForUpdates(const std::string& extension_id,
-                               const UpdateCheckCallback& callback) override;
-  virtual void OpenURL(const GURL& uninstall_url) override;
-  virtual bool GetPlatformInfo(
+  void ReloadExtension(const std::string& extension_id) override;
+  bool CheckForUpdates(const std::string& extension_id,
+                       const UpdateCheckCallback& callback) override;
+  void OpenURL(const GURL& uninstall_url) override;
+  bool GetPlatformInfo(
       extensions::core_api::runtime::PlatformInfo* info) override;
-  virtual bool RestartDevice(std::string* error_message) override;
+  bool RestartDevice(std::string* error_message) override;
 
   // content::NotificationObserver implementation.
-  virtual void Observe(int type,
-                       const content::NotificationSource& source,
-                       const content::NotificationDetails& details) override;
+  void Observe(int type,
+               const content::NotificationSource& source,
+               const content::NotificationDetails& details) override;
 
   void UpdateCheckComplete(const std::string& extension_id);
   void CallUpdateCallbacks(const std::string& extension_id,
diff --git a/chrome/browser/extensions/api/screenlock_private/screenlock_private_api.h b/chrome/browser/extensions/api/screenlock_private/screenlock_private_api.h
index 1875eb7..75fc81de 100644
--- a/chrome/browser/extensions/api/screenlock_private/screenlock_private_api.h
+++ b/chrome/browser/extensions/api/screenlock_private/screenlock_private_api.h
@@ -18,10 +18,10 @@
   DECLARE_EXTENSION_FUNCTION("screenlockPrivate.getLocked",
                              SCREENLOCKPRIVATE_GETLOCKED)
   ScreenlockPrivateGetLockedFunction();
-  virtual bool RunAsync() override;
+  bool RunAsync() override;
 
  private:
-  virtual ~ScreenlockPrivateGetLockedFunction();
+  ~ScreenlockPrivateGetLockedFunction() override;
   DISALLOW_COPY_AND_ASSIGN(ScreenlockPrivateGetLockedFunction);
 };
 
@@ -30,10 +30,10 @@
   DECLARE_EXTENSION_FUNCTION("screenlockPrivate.setLocked",
                              SCREENLOCKPRIVATE_SETLOCKED)
   ScreenlockPrivateSetLockedFunction();
-  virtual bool RunAsync() override;
+  bool RunAsync() override;
 
  private:
-  virtual ~ScreenlockPrivateSetLockedFunction();
+  ~ScreenlockPrivateSetLockedFunction() override;
   DISALLOW_COPY_AND_ASSIGN(ScreenlockPrivateSetLockedFunction);
 };
 
@@ -43,10 +43,10 @@
   DECLARE_EXTENSION_FUNCTION("screenlockPrivate.acceptAuthAttempt",
                              SCREENLOCKPRIVATE_ACCEPTAUTHATTEMPT)
   ScreenlockPrivateAcceptAuthAttemptFunction();
-  virtual bool RunSync() override;
+  bool RunSync() override;
 
  private:
-  virtual ~ScreenlockPrivateAcceptAuthAttemptFunction();
+  ~ScreenlockPrivateAcceptAuthAttemptFunction() override;
   DISALLOW_COPY_AND_ASSIGN(ScreenlockPrivateAcceptAuthAttemptFunction);
 };
 
@@ -54,7 +54,7 @@
                                      public ScreenlockBridge::Observer {
  public:
   explicit ScreenlockPrivateEventRouter(content::BrowserContext* context);
-  virtual ~ScreenlockPrivateEventRouter();
+  ~ScreenlockPrivateEventRouter() override;
 
   bool OnAuthAttempted(ScreenlockBridge::LockHandler::AuthType auth_type,
                        const std::string& value);
@@ -63,12 +63,12 @@
   static extensions::BrowserContextKeyedAPIFactory<
       ScreenlockPrivateEventRouter>*
       GetFactoryInstance();
-  virtual void Shutdown() override;
+  void Shutdown() override;
 
   // ScreenlockBridge::Observer
-  virtual void OnScreenDidLock() override;
-  virtual void OnScreenDidUnlock() override;
-  virtual void OnFocusedUserChanged(const std::string& user_id) override;
+  void OnScreenDidLock() override;
+  void OnScreenDidUnlock() override;
+  void OnFocusedUserChanged(const std::string& user_id) override;
 
  private:
   friend class extensions::BrowserContextKeyedAPIFactory<
diff --git a/chrome/browser/extensions/api/screenlock_private/screenlock_private_apitest.cc b/chrome/browser/extensions/api/screenlock_private/screenlock_private_apitest.cc
index 535742b..93d99ae 100644
--- a/chrome/browser/extensions/api/screenlock_private/screenlock_private_apitest.cc
+++ b/chrome/browser/extensions/api/screenlock_private/screenlock_private_apitest.cc
@@ -32,7 +32,7 @@
   virtual ~ScreenlockPrivateApiTest() {}
 
   // ExtensionApiTest
-  virtual void SetUpCommandLine(CommandLine* command_line) override {
+  void SetUpCommandLine(CommandLine* command_line) override {
     ExtensionApiTest::SetUpCommandLine(command_line);
     command_line->AppendSwitchASCII(
         extensions::switches::kWhitelistedExtensionID, kTestExtensionId);
@@ -43,7 +43,7 @@
 #endif
   }
 
-  virtual void SetUpOnMainThread() override {
+  void SetUpOnMainThread() override {
     SigninManagerFactory::GetForProfile(profile())
         ->SetAuthenticatedUsername(kTestUser);
     ExtensionApiTest::SetUpOnMainThread();
@@ -51,7 +51,7 @@
 
  protected:
   // ExtensionApiTest override:
-  virtual void RunTestOnMainThreadLoop() override {
+  void RunTestOnMainThreadLoop() override {
     registrar_.Add(this,
                    extensions::NOTIFICATION_EXTENSION_TEST_MESSAGE,
                    content::NotificationService::AllSources());
@@ -60,9 +60,9 @@
   }
 
   // content::NotificationObserver override:
-  virtual void Observe(int type,
-                       const content::NotificationSource& source,
-                       const content::NotificationDetails& details) override {
+  void Observe(int type,
+               const content::NotificationSource& source,
+               const content::NotificationDetails& details) override {
     const std::string& content = *content::Details<std::string>(details).ptr();
     if (content == kAttemptClickAuthMessage) {
       ScreenlockBridge::Get()->lock_handler()->SetAuthType(
diff --git a/chrome/browser/extensions/api/sessions/sessions_api.h b/chrome/browser/extensions/api/sessions/sessions_api.h
index 86c4c8b6..8f572c00 100644
--- a/chrome/browser/extensions/api/sessions/sessions_api.h
+++ b/chrome/browser/extensions/api/sessions/sessions_api.h
@@ -28,8 +28,8 @@
 
 class SessionsGetRecentlyClosedFunction : public ChromeSyncExtensionFunction {
  protected:
-  virtual ~SessionsGetRecentlyClosedFunction() {}
-  virtual bool RunSync() override;
+  ~SessionsGetRecentlyClosedFunction() override {}
+  bool RunSync() override;
   DECLARE_EXTENSION_FUNCTION("sessions.getRecentlyClosed",
                              SESSIONS_GETRECENTLYCLOSED)
 
@@ -46,8 +46,8 @@
 
 class SessionsGetDevicesFunction : public ChromeSyncExtensionFunction {
  protected:
-  virtual ~SessionsGetDevicesFunction() {}
-  virtual bool RunSync() override;
+  ~SessionsGetDevicesFunction() override {}
+  bool RunSync() override;
   DECLARE_EXTENSION_FUNCTION("sessions.getDevices", SESSIONS_GETDEVICES)
 
  private:
@@ -67,8 +67,8 @@
 
 class SessionsRestoreFunction : public ChromeSyncExtensionFunction {
  protected:
-  virtual ~SessionsRestoreFunction() {}
-  virtual bool RunSync() override;
+  ~SessionsRestoreFunction() override {}
+  bool RunSync() override;
   DECLARE_EXTENSION_FUNCTION("sessions.restore", SESSIONS_RESTORE)
 
  private:
@@ -84,16 +84,16 @@
 class SessionsEventRouter : public TabRestoreServiceObserver {
  public:
   explicit SessionsEventRouter(Profile* profile);
-  virtual ~SessionsEventRouter();
+  ~SessionsEventRouter() override;
 
   // Observer callback for TabRestoreServiceObserver. Sends data on
   // recently closed tabs to the javascript side of this page to
   // display to the user.
-  virtual void TabRestoreServiceChanged(TabRestoreService* service) override;
+  void TabRestoreServiceChanged(TabRestoreService* service) override;
 
   // Observer callback to notice when our associated TabRestoreService
   // is destroyed.
-  virtual void TabRestoreServiceDestroyed(TabRestoreService* service) override;
+  void TabRestoreServiceDestroyed(TabRestoreService* service) override;
 
  private:
   Profile* profile_;
@@ -108,17 +108,16 @@
                     public extensions::EventRouter::Observer {
  public:
   explicit SessionsAPI(content::BrowserContext* context);
-  virtual ~SessionsAPI();
+  ~SessionsAPI() override;
 
   // BrowserContextKeyedService implementation.
-  virtual void Shutdown() override;
+  void Shutdown() override;
 
   // BrowserContextKeyedAPI implementation.
   static BrowserContextKeyedAPIFactory<SessionsAPI>* GetFactoryInstance();
 
   // EventRouter::Observer implementation.
-  virtual void OnListenerAdded(const extensions::EventListenerInfo& details)
-      override;
+  void OnListenerAdded(const extensions::EventListenerInfo& details) override;
 
  private:
   friend class BrowserContextKeyedAPIFactory<SessionsAPI>;
diff --git a/chrome/browser/extensions/api/sessions/sessions_apitest.cc b/chrome/browser/extensions/api/sessions/sessions_apitest.cc
index db36a7d..b505229 100644
--- a/chrome/browser/extensions/api/sessions/sessions_apitest.cc
+++ b/chrome/browser/extensions/api/sessions/sessions_apitest.cc
@@ -84,8 +84,9 @@
 
 class ExtensionSessionsTest : public InProcessBrowserTest {
  public:
-  virtual void SetUpCommandLine(CommandLine* command_line) override;
-  virtual void SetUpOnMainThread() override;
+  void SetUpCommandLine(CommandLine* command_line) override;
+  void SetUpOnMainThread() override;
+
  protected:
   static KeyedService* BuildProfileSyncService(
       content::BrowserContext* profile);
diff --git a/chrome/browser/extensions/api/settings_overrides/settings_overrides_api.h b/chrome/browser/extensions/api/settings_overrides/settings_overrides_api.h
index 4c5db03..e0dad1ca 100644
--- a/chrome/browser/extensions/api/settings_overrides/settings_overrides_api.h
+++ b/chrome/browser/extensions/api/settings_overrides/settings_overrides_api.h
@@ -23,7 +23,7 @@
                              public ExtensionRegistryObserver {
  public:
   explicit SettingsOverridesAPI(content::BrowserContext* context);
-  virtual ~SettingsOverridesAPI();
+  ~SettingsOverridesAPI() override;
 
   // BrowserContextKeyedAPI implementation.
   static BrowserContextKeyedAPIFactory<SettingsOverridesAPI>*
@@ -42,15 +42,14 @@
                  const std::string& pref_key);
 
   // ExtensionRegistryObserver implementation.
-  virtual void OnExtensionLoaded(content::BrowserContext* browser_context,
-                                 const Extension* extension) override;
-  virtual void OnExtensionUnloaded(
-      content::BrowserContext* browser_context,
-      const Extension* extension,
-      UnloadedExtensionInfo::Reason reason) override;
+  void OnExtensionLoaded(content::BrowserContext* browser_context,
+                         const Extension* extension) override;
+  void OnExtensionUnloaded(content::BrowserContext* browser_context,
+                           const Extension* extension,
+                           UnloadedExtensionInfo::Reason reason) override;
 
   // KeyedService implementation.
-  virtual void Shutdown() override;
+  void Shutdown() override;
 
   void OnTemplateURLsLoaded();
 
diff --git a/chrome/browser/extensions/api/signed_in_devices/signed_in_devices_api.h b/chrome/browser/extensions/api/signed_in_devices/signed_in_devices_api.h
index c7c73bcb..1d1c09223 100644
--- a/chrome/browser/extensions/api/signed_in_devices/signed_in_devices_api.h
+++ b/chrome/browser/extensions/api/signed_in_devices/signed_in_devices_api.h
@@ -39,10 +39,10 @@
 
 class SignedInDevicesGetFunction : public ChromeSyncExtensionFunction {
  protected:
-  virtual ~SignedInDevicesGetFunction() {}
+  ~SignedInDevicesGetFunction() override {}
 
   // ExtensionFunction:
-  virtual bool RunSync() override;
+  bool RunSync() override;
   DECLARE_EXTENSION_FUNCTION("signedInDevices.get", SIGNED_IN_DEVICES_GET)
 };
 
diff --git a/chrome/browser/extensions/api/signed_in_devices/signed_in_devices_api_unittest.cc b/chrome/browser/extensions/api/signed_in_devices/signed_in_devices_api_unittest.cc
index 6a1e8d14..c0c24ad2 100644
--- a/chrome/browser/extensions/api/signed_in_devices/signed_in_devices_api_unittest.cc
+++ b/chrome/browser/extensions/api/signed_in_devices/signed_in_devices_api_unittest.cc
@@ -30,9 +30,9 @@
 
 class MockDeviceInfoTracker : public DeviceInfoTracker {
  public:
-  virtual ~MockDeviceInfoTracker() {}
+  ~MockDeviceInfoTracker() override {}
 
-  virtual scoped_ptr<DeviceInfo> GetDeviceInfo(
+  scoped_ptr<DeviceInfo> GetDeviceInfo(
       const std::string& client_id) const override {
     NOTREACHED();
     return scoped_ptr<DeviceInfo>();
@@ -47,7 +47,7 @@
                           device_info->signin_scoped_device_id());
   }
 
-  virtual ScopedVector<DeviceInfo> GetAllDeviceInfo() const override {
+  ScopedVector<DeviceInfo> GetAllDeviceInfo() const override {
     ScopedVector<DeviceInfo> list;
 
     for (std::vector<const DeviceInfo*>::const_iterator iter = devices_.begin();
@@ -59,9 +59,9 @@
     return list.Pass();
   }
 
-  virtual void AddObserver(Observer* observer) override { NOTREACHED(); }
+  void AddObserver(Observer* observer) override { NOTREACHED(); }
 
-  virtual void RemoveObserver(Observer* observer) override { NOTREACHED(); }
+  void RemoveObserver(Observer* observer) override { NOTREACHED(); }
 
   void Add(const DeviceInfo* device) { devices_.push_back(device); }
 
diff --git a/chrome/browser/extensions/api/signed_in_devices/signed_in_devices_manager.h b/chrome/browser/extensions/api/signed_in_devices/signed_in_devices_manager.h
index 2131670..b94f8f3b 100644
--- a/chrome/browser/extensions/api/signed_in_devices/signed_in_devices_manager.h
+++ b/chrome/browser/extensions/api/signed_in_devices/signed_in_devices_manager.h
@@ -44,7 +44,7 @@
                                 Profile* profile);
   virtual ~SignedInDevicesChangeObserver();
 
-  virtual void OnDeviceInfoChange() override;
+  void OnDeviceInfoChange() override;
 
   const std::string& extension_id() {
     return extension_id_;
@@ -63,21 +63,20 @@
   // Default constructor used for testing.
   SignedInDevicesManager();
   explicit SignedInDevicesManager(content::BrowserContext* context);
-  virtual ~SignedInDevicesManager();
+  ~SignedInDevicesManager() override;
 
   // BrowserContextKeyedAPI implementation.
   static BrowserContextKeyedAPIFactory<SignedInDevicesManager>*
       GetFactoryInstance();
 
   // ExtensionRegistryObserver implementation.
-  virtual void OnExtensionUnloaded(
-      content::BrowserContext* browser_context,
-      const Extension* extension,
-      UnloadedExtensionInfo::Reason reason) override;
+  void OnExtensionUnloaded(content::BrowserContext* browser_context,
+                           const Extension* extension,
+                           UnloadedExtensionInfo::Reason reason) override;
 
   // EventRouter::Observer:
-  virtual void OnListenerAdded(const EventListenerInfo& details) override;
-  virtual void OnListenerRemoved(const EventListenerInfo& details) override;
+  void OnListenerAdded(const EventListenerInfo& details) override;
+  void OnListenerRemoved(const EventListenerInfo& details) override;
 
  private:
   friend class BrowserContextKeyedAPIFactory<SignedInDevicesManager>;
diff --git a/chrome/browser/extensions/api/socket/socket_apitest.cc b/chrome/browser/extensions/api/socket/socket_apitest.cc
index 60f50b26..9ffb231 100644
--- a/chrome/browser/extensions/api/socket/socket_apitest.cc
+++ b/chrome/browser/extensions/api/socket/socket_apitest.cc
@@ -33,12 +33,12 @@
                         new extensions::MockHostResolverCreator()) {
   }
 
-  virtual void SetUpOnMainThread() override {
+  void SetUpOnMainThread() override {
     extensions::HostResolverWrapper::GetInstance()->SetHostResolverForTesting(
         resolver_creator_->CreateMockHostResolver());
   }
 
-  virtual void TearDownOnMainThread() override {
+  void TearDownOnMainThread() override {
     extensions::HostResolverWrapper::GetInstance()->
         SetHostResolverForTesting(NULL);
     resolver_creator_->DeleteMockHostResolver();
diff --git a/chrome/browser/extensions/api/sockets_tcp/sockets_tcp_apitest.cc b/chrome/browser/extensions/api/sockets_tcp/sockets_tcp_apitest.cc
index 85af659..02157e3 100644
--- a/chrome/browser/extensions/api/sockets_tcp/sockets_tcp_apitest.cc
+++ b/chrome/browser/extensions/api/sockets_tcp/sockets_tcp_apitest.cc
@@ -38,12 +38,12 @@
                             new extensions::MockHostResolverCreator()) {
   }
 
-  virtual void SetUpOnMainThread() override {
+  void SetUpOnMainThread() override {
     extensions::HostResolverWrapper::GetInstance()->SetHostResolverForTesting(
         resolver_creator_->CreateMockHostResolver());
   }
 
-  virtual void TearDownOnMainThread() override {
+  void TearDownOnMainThread() override {
     extensions::HostResolverWrapper::GetInstance()->
         SetHostResolverForTesting(NULL);
     resolver_creator_->DeleteMockHostResolver();
diff --git a/chrome/browser/extensions/api/sockets_tcp_server/sockets_tcp_server_apitest.cc b/chrome/browser/extensions/api/sockets_tcp_server/sockets_tcp_server_apitest.cc
index ee939aa..ef03398 100644
--- a/chrome/browser/extensions/api/sockets_tcp_server/sockets_tcp_server_apitest.cc
+++ b/chrome/browser/extensions/api/sockets_tcp_server/sockets_tcp_server_apitest.cc
@@ -46,12 +46,12 @@
                                   new extensions::MockHostResolverCreator()) {
   }
 
-  virtual void SetUpOnMainThread() override {
+  void SetUpOnMainThread() override {
     extensions::HostResolverWrapper::GetInstance()->SetHostResolverForTesting(
         resolver_creator_->CreateMockHostResolver());
   }
 
-  virtual void TearDownOnMainThread() override {
+  void TearDownOnMainThread() override {
     extensions::HostResolverWrapper::GetInstance()->
         SetHostResolverForTesting(NULL);
     resolver_creator_->DeleteMockHostResolver();
diff --git a/chrome/browser/extensions/api/sockets_udp/sockets_udp_apitest.cc b/chrome/browser/extensions/api/sockets_udp/sockets_udp_apitest.cc
index 332f136..c2b85f8 100644
--- a/chrome/browser/extensions/api/sockets_udp/sockets_udp_apitest.cc
+++ b/chrome/browser/extensions/api/sockets_udp/sockets_udp_apitest.cc
@@ -42,12 +42,12 @@
                             new extensions::MockHostResolverCreator()) {
   }
 
-  virtual void SetUpOnMainThread() override {
+  void SetUpOnMainThread() override {
     extensions::HostResolverWrapper::GetInstance()->SetHostResolverForTesting(
         resolver_creator_->CreateMockHostResolver());
   }
 
-  virtual void TearDownOnMainThread() override {
+  void TearDownOnMainThread() override {
     extensions::HostResolverWrapper::GetInstance()->
         SetHostResolverForTesting(NULL);
     resolver_creator_->DeleteMockHostResolver();
diff --git a/chrome/browser/extensions/api/spellcheck/spellcheck_api.h b/chrome/browser/extensions/api/spellcheck/spellcheck_api.h
index 382f074..9c976af0 100644
--- a/chrome/browser/extensions/api/spellcheck/spellcheck_api.h
+++ b/chrome/browser/extensions/api/spellcheck/spellcheck_api.h
@@ -16,7 +16,7 @@
                       public ExtensionRegistryObserver {
  public:
   explicit SpellcheckAPI(content::BrowserContext* context);
-  virtual ~SpellcheckAPI();
+  ~SpellcheckAPI() override;
 
   // BrowserContextKeyedAPI implementation.
   static BrowserContextKeyedAPIFactory<SpellcheckAPI>* GetFactoryInstance();
@@ -25,12 +25,11 @@
   friend class BrowserContextKeyedAPIFactory<SpellcheckAPI>;
 
   // ExtensionRegistryObserver implementation.
-  virtual void OnExtensionLoaded(content::BrowserContext* browser_context,
-                                 const Extension* extension) override;
-  virtual void OnExtensionUnloaded(
-      content::BrowserContext* browser_context,
-      const Extension* extension,
-      UnloadedExtensionInfo::Reason reason) override;
+  void OnExtensionLoaded(content::BrowserContext* browser_context,
+                         const Extension* extension) override;
+  void OnExtensionUnloaded(content::BrowserContext* browser_context,
+                           const Extension* extension,
+                           UnloadedExtensionInfo::Reason reason) override;
 
   // BrowserContextKeyedAPI implementation.
   static const char* service_name() {
diff --git a/chrome/browser/extensions/api/storage/managed_value_store_cache.cc b/chrome/browser/extensions/api/storage/managed_value_store_cache.cc
index 2454126..2d3b0cc 100644
--- a/chrome/browser/extensions/api/storage/managed_value_store_cache.cc
+++ b/chrome/browser/extensions/api/storage/managed_value_store_cache.cc
@@ -68,20 +68,18 @@
     : public ExtensionRegistryObserver {
  public:
   explicit ExtensionTracker(Profile* profile);
-  virtual ~ExtensionTracker() {}
+  ~ExtensionTracker() override {}
 
  private:
   // ExtensionRegistryObserver implementation.
-  virtual void OnExtensionWillBeInstalled(
-      content::BrowserContext* browser_context,
-      const Extension* extension,
-      bool is_update,
-      bool from_ephemeral,
-      const std::string& old_name) override;
-  virtual void OnExtensionUninstalled(
-      content::BrowserContext* browser_context,
-      const Extension* extension,
-      extensions::UninstallReason reason) override;
+  void OnExtensionWillBeInstalled(content::BrowserContext* browser_context,
+                                  const Extension* extension,
+                                  bool is_update,
+                                  bool from_ephemeral,
+                                  const std::string& old_name) override;
+  void OnExtensionUninstalled(content::BrowserContext* browser_context,
+                              const Extension* extension,
+                              extensions::UninstallReason reason) override;
 
   // Handler for the signal from ExtensionSystem::ready().
   void OnExtensionsReady();
diff --git a/chrome/browser/extensions/api/storage/managed_value_store_cache.h b/chrome/browser/extensions/api/storage/managed_value_store_cache.h
index b33407cb..a4202be 100644
--- a/chrome/browser/extensions/api/storage/managed_value_store_cache.h
+++ b/chrome/browser/extensions/api/storage/managed_value_store_cache.h
@@ -46,7 +46,7 @@
   ManagedValueStoreCache(content::BrowserContext* context,
                          const scoped_refptr<SettingsStorageFactory>& factory,
                          const scoped_refptr<SettingsObserverList>& observers);
-  virtual ~ManagedValueStoreCache();
+  ~ManagedValueStoreCache() override;
 
  private:
   class ExtensionTracker;
@@ -56,17 +56,17 @@
       PolicyValueStoreMap;
 
   // ValueStoreCache implementation:
-  virtual void ShutdownOnUI() override;
-  virtual void RunWithValueStoreForExtension(
+  void ShutdownOnUI() override;
+  void RunWithValueStoreForExtension(
       const StorageCallback& callback,
       scoped_refptr<const Extension> extension) override;
-  virtual void DeleteStorageSoon(const std::string& extension_id) override;
+  void DeleteStorageSoon(const std::string& extension_id) override;
 
   // PolicyService::Observer implementation:
-  virtual void OnPolicyServiceInitialized(policy::PolicyDomain domain) override;
-  virtual void OnPolicyUpdated(const policy::PolicyNamespace& ns,
-                               const policy::PolicyMap& previous,
-                               const policy::PolicyMap& current) override;
+  void OnPolicyServiceInitialized(policy::PolicyDomain domain) override;
+  void OnPolicyUpdated(const policy::PolicyNamespace& ns,
+                       const policy::PolicyMap& previous,
+                       const policy::PolicyMap& current) override;
 
   // Posted by OnPolicyUpdated() to update a PolicyValueStore on the FILE
   // thread.
diff --git a/chrome/browser/extensions/api/storage/policy_value_store.h b/chrome/browser/extensions/api/storage/policy_value_store.h
index ee2c55a..5a43de83a 100644
--- a/chrome/browser/extensions/api/storage/policy_value_store.h
+++ b/chrome/browser/extensions/api/storage/policy_value_store.h
@@ -30,7 +30,7 @@
   PolicyValueStore(const std::string& extension_id,
                    const scoped_refptr<SettingsObserverList>& observers,
                    scoped_ptr<ValueStore> delegate);
-  virtual ~PolicyValueStore();
+  ~PolicyValueStore() override;
 
   // Stores |policy| in the persistent database represented by the |delegate_|
   // and notifies observers with the changes from the previous policy.
@@ -40,24 +40,23 @@
   void DeleteStorage();
 
   // ValueStore implementation:
-  virtual size_t GetBytesInUse(const std::string& key) override;
-  virtual size_t GetBytesInUse(const std::vector<std::string>& keys) override;
-  virtual size_t GetBytesInUse() override;
-  virtual ReadResult Get(const std::string& key) override;
-  virtual ReadResult Get(const std::vector<std::string>& keys) override;
-  virtual ReadResult Get() override;
-  virtual WriteResult Set(
-      WriteOptions options,
-      const std::string& key,
-      const base::Value& value) override;
-  virtual WriteResult Set(
-      WriteOptions options, const base::DictionaryValue& values) override;
-  virtual WriteResult Remove(const std::string& key) override;
-  virtual WriteResult Remove(const std::vector<std::string>& keys) override;
-  virtual WriteResult Clear() override;
+  size_t GetBytesInUse(const std::string& key) override;
+  size_t GetBytesInUse(const std::vector<std::string>& keys) override;
+  size_t GetBytesInUse() override;
+  ReadResult Get(const std::string& key) override;
+  ReadResult Get(const std::vector<std::string>& keys) override;
+  ReadResult Get() override;
+  WriteResult Set(WriteOptions options,
+                  const std::string& key,
+                  const base::Value& value) override;
+  WriteResult Set(WriteOptions options,
+                  const base::DictionaryValue& values) override;
+  WriteResult Remove(const std::string& key) override;
+  WriteResult Remove(const std::vector<std::string>& keys) override;
+  WriteResult Clear() override;
   // Hopefully, as a Read-Only database, there is no reason to use these.
-  virtual bool Restore() override;
-  virtual bool RestoreKey(const std::string& key) override;
+  bool Restore() override;
+  bool RestoreKey(const std::string& key) override;
 
   // For unit tests.
   ValueStore* delegate() { return delegate_.get(); }
diff --git a/chrome/browser/extensions/api/storage/policy_value_store_unittest.cc b/chrome/browser/extensions/api/storage/policy_value_store_unittest.cc
index 1af72db..72c283a1 100644
--- a/chrome/browser/extensions/api/storage/policy_value_store_unittest.cc
+++ b/chrome/browser/extensions/api/storage/policy_value_store_unittest.cc
@@ -45,31 +45,28 @@
       : PolicyValueStore(kTestExtensionId,
                          make_scoped_refptr(new SettingsObserverList()),
                          scoped_ptr<ValueStore>(new LeveldbValueStore(path))) {}
-  virtual ~MutablePolicyValueStore() {}
+  ~MutablePolicyValueStore() override {}
 
-  virtual WriteResult Set(
-      WriteOptions options,
-      const std::string& key,
-      const base::Value& value) override {
+  WriteResult Set(WriteOptions options,
+                  const std::string& key,
+                  const base::Value& value) override {
     return delegate()->Set(options, key, value);
   }
 
-  virtual WriteResult Set(
-      WriteOptions options, const base::DictionaryValue& values) override {
+  WriteResult Set(WriteOptions options,
+                  const base::DictionaryValue& values) override {
     return delegate()->Set(options, values);
   }
 
-  virtual WriteResult Remove(const std::string& key) override {
+  WriteResult Remove(const std::string& key) override {
     return delegate()->Remove(key);
   }
 
-  virtual WriteResult Remove(const std::vector<std::string>& keys) override {
+  WriteResult Remove(const std::vector<std::string>& keys) override {
     return delegate()->Remove(keys);
   }
 
-  virtual WriteResult Clear() override {
-    return delegate()->Clear();
-  }
+  WriteResult Clear() override { return delegate()->Clear(); }
 
  private:
   DISALLOW_COPY_AND_ASSIGN(MutablePolicyValueStore);
diff --git a/chrome/browser/extensions/api/storage/settings_apitest.cc b/chrome/browser/extensions/api/storage/settings_apitest.cc
index a1dc479..661af54 100644
--- a/chrome/browser/extensions/api/storage/settings_apitest.cc
+++ b/chrome/browser/extensions/api/storage/settings_apitest.cc
@@ -74,7 +74,7 @@
 
 class ExtensionSettingsApiTest : public ExtensionApiTest {
  protected:
-  virtual void SetUpInProcessBrowserTestFixture() override {
+  void SetUpInProcessBrowserTestFixture() override {
     ExtensionApiTest::SetUpInProcessBrowserTestFixture();
 
 #if defined(ENABLE_CONFIGURATION_POLICY)
diff --git a/chrome/browser/extensions/api/storage/settings_sync_unittest.cc b/chrome/browser/extensions/api/storage/settings_sync_unittest.cc
index b099fc0..752b899e 100644
--- a/chrome/browser/extensions/api/storage/settings_sync_unittest.cc
+++ b/chrome/browser/extensions/api/storage/settings_sync_unittest.cc
@@ -95,7 +95,7 @@
   MockSyncChangeProcessor() : fail_all_requests_(false) {}
 
   // syncer::SyncChangeProcessor implementation.
-  virtual syncer::SyncError ProcessSyncChanges(
+  syncer::SyncError ProcessSyncChanges(
       const tracked_objects::Location& from_here,
       const syncer::SyncChangeList& change_list) override {
     if (fail_all_requests_) {
@@ -112,8 +112,7 @@
     return syncer::SyncError();
   }
 
-  virtual syncer::SyncDataList GetAllSyncData(syncer::ModelType type) const
-      override {
+  syncer::SyncDataList GetAllSyncData(syncer::ModelType type) const override {
     return syncer::SyncDataList();
   }
 
@@ -171,8 +170,8 @@
   }
 
   // SettingsStorageFactory implementation.
-  virtual ValueStore* Create(const base::FilePath& base_path,
-                             const std::string& extension_id) override {
+  ValueStore* Create(const base::FilePath& base_path,
+                     const std::string& extension_id) override {
     TestingValueStore* new_storage = new TestingValueStore();
     DCHECK(!created_.count(extension_id));
     created_[extension_id] = new_storage;
@@ -181,13 +180,12 @@
 
   // Testing value stores don't actually create a real database. Don't delete
   // any files.
-  virtual void DeleteDatabaseIfExists(
-      const base::FilePath& base_path,
-      const std::string& extension_id) override {}
+  void DeleteDatabaseIfExists(const base::FilePath& base_path,
+                              const std::string& extension_id) override {}
 
  private:
   // SettingsStorageFactory is refcounted.
-  virtual ~TestingValueStoreFactory() {}
+  ~TestingValueStoreFactory() override {}
 
   // None of these storage areas are owned by this factory, so care must be
   // taken when calling GetExisting.
diff --git a/chrome/browser/extensions/api/storage/sync_storage_backend.h b/chrome/browser/extensions/api/storage/sync_storage_backend.h
index ad81677..080fa8e7 100644
--- a/chrome/browser/extensions/api/storage/sync_storage_backend.h
+++ b/chrome/browser/extensions/api/storage/sync_storage_backend.h
@@ -45,23 +45,22 @@
       syncer::ModelType sync_type,
       const syncer::SyncableService::StartSyncFlare& flare);
 
-  virtual ~SyncStorageBackend();
+  ~SyncStorageBackend() override;
 
   virtual ValueStore* GetStorage(const std::string& extension_id);
   virtual void DeleteStorage(const std::string& extension_id);
 
   // syncer::SyncableService implementation.
-  virtual syncer::SyncDataList GetAllSyncData(syncer::ModelType type)
-      const override;
-  virtual syncer::SyncMergeResult MergeDataAndStartSyncing(
+  syncer::SyncDataList GetAllSyncData(syncer::ModelType type) const override;
+  syncer::SyncMergeResult MergeDataAndStartSyncing(
       syncer::ModelType type,
       const syncer::SyncDataList& initial_sync_data,
       scoped_ptr<syncer::SyncChangeProcessor> sync_processor,
       scoped_ptr<syncer::SyncErrorFactory> sync_error_factory) override;
-  virtual syncer::SyncError ProcessSyncChanges(
+  syncer::SyncError ProcessSyncChanges(
       const tracked_objects::Location& from_here,
       const syncer::SyncChangeList& change_list) override;
-  virtual void StopSyncing(syncer::ModelType type) override;
+  void StopSyncing(syncer::ModelType type) override;
 
  private:
   // Gets a weak reference to the storage area for a given extension,
diff --git a/chrome/browser/extensions/api/storage/sync_value_store_cache.h b/chrome/browser/extensions/api/storage/sync_value_store_cache.h
index a66300c..5f1a1f5 100644
--- a/chrome/browser/extensions/api/storage/sync_value_store_cache.h
+++ b/chrome/browser/extensions/api/storage/sync_value_store_cache.h
@@ -34,15 +34,15 @@
       const scoped_refptr<SettingsStorageFactory>& factory,
       const scoped_refptr<SettingsObserverList>& observers,
       const base::FilePath& profile_path);
-  virtual ~SyncValueStoreCache();
+  ~SyncValueStoreCache() override;
 
   syncer::SyncableService* GetSyncableService(syncer::ModelType type) const;
 
   // ValueStoreCache implementation:
-  virtual void RunWithValueStoreForExtension(
+  void RunWithValueStoreForExtension(
       const StorageCallback& callback,
       scoped_refptr<const Extension> extension) override;
-  virtual void DeleteStorageSoon(const std::string& extension_id) override;
+  void DeleteStorageSoon(const std::string& extension_id) override;
 
  private:
   void InitOnFileThread(const scoped_refptr<SettingsStorageFactory>& factory,
diff --git a/chrome/browser/extensions/api/storage/syncable_settings_storage.h b/chrome/browser/extensions/api/storage/syncable_settings_storage.h
index b278aca..a5fb150 100644
--- a/chrome/browser/extensions/api/storage/syncable_settings_storage.h
+++ b/chrome/browser/extensions/api/storage/syncable_settings_storage.h
@@ -31,26 +31,25 @@
       syncer::ModelType sync_type,
       const syncer::SyncableService::StartSyncFlare& flare);
 
-  virtual ~SyncableSettingsStorage();
+  ~SyncableSettingsStorage() override;
 
   // ValueStore implementation.
-  virtual size_t GetBytesInUse(const std::string& key) override;
-  virtual size_t GetBytesInUse(const std::vector<std::string>& keys) override;
-  virtual size_t GetBytesInUse() override;
-  virtual ReadResult Get(const std::string& key) override;
-  virtual ReadResult Get(const std::vector<std::string>& keys) override;
-  virtual ReadResult Get() override;
-  virtual WriteResult Set(
-      WriteOptions options,
-      const std::string& key,
-      const base::Value& value) override;
-  virtual WriteResult Set(
-      WriteOptions options, const base::DictionaryValue& values) override;
-  virtual WriteResult Remove(const std::string& key) override;
-  virtual WriteResult Remove(const std::vector<std::string>& keys) override;
-  virtual WriteResult Clear() override;
-  virtual bool Restore() override;
-  virtual bool RestoreKey(const std::string& key) override;
+  size_t GetBytesInUse(const std::string& key) override;
+  size_t GetBytesInUse(const std::vector<std::string>& keys) override;
+  size_t GetBytesInUse() override;
+  ReadResult Get(const std::string& key) override;
+  ReadResult Get(const std::vector<std::string>& keys) override;
+  ReadResult Get() override;
+  WriteResult Set(WriteOptions options,
+                  const std::string& key,
+                  const base::Value& value) override;
+  WriteResult Set(WriteOptions options,
+                  const base::DictionaryValue& values) override;
+  WriteResult Remove(const std::string& key) override;
+  WriteResult Remove(const std::vector<std::string>& keys) override;
+  WriteResult Clear() override;
+  bool Restore() override;
+  bool RestoreKey(const std::string& key) override;
 
   // Sync-related methods, analogous to those on SyncableService (handled by
   // ExtensionSettings), but with looser guarantees about when the methods
diff --git a/chrome/browser/extensions/api/streams_private/streams_private_api.h b/chrome/browser/extensions/api/streams_private/streams_private_api.h
index f416ac1..32f9cdf 100644
--- a/chrome/browser/extensions/api/streams_private/streams_private_api.h
+++ b/chrome/browser/extensions/api/streams_private/streams_private_api.h
@@ -29,7 +29,7 @@
   static StreamsPrivateAPI* Get(content::BrowserContext* context);
 
   explicit StreamsPrivateAPI(content::BrowserContext* context);
-  virtual ~StreamsPrivateAPI();
+  ~StreamsPrivateAPI() override;
 
   // Send the onExecuteMimeTypeHandler event to |extension_id|.
   // |web_contents| is used to determine the tabId where the document is being
@@ -56,10 +56,9 @@
                             linked_ptr<content::StreamHandle> > > StreamMap;
 
   // ExtensionRegistryObserver implementation.
-  virtual void OnExtensionUnloaded(
-      content::BrowserContext* browser_context,
-      const Extension* extension,
-      UnloadedExtensionInfo::Reason reason) override;
+  void OnExtensionUnloaded(content::BrowserContext* browser_context,
+                           const Extension* extension,
+                           UnloadedExtensionInfo::Reason reason) override;
 
   // BrowserContextKeyedAPI implementation.
   static const char* service_name() {
@@ -85,10 +84,10 @@
   DECLARE_EXTENSION_FUNCTION("streamsPrivate.abort", STREAMSPRIVATE_ABORT)
 
  protected:
-  virtual ~StreamsPrivateAbortFunction() {}
+  ~StreamsPrivateAbortFunction() override {}
 
   // ExtensionFunction:
-  virtual ExtensionFunction::ResponseAction Run() override;
+  ExtensionFunction::ResponseAction Run() override;
 
  private:
   void OnClose();
diff --git a/chrome/browser/extensions/api/streams_private/streams_private_apitest.cc b/chrome/browser/extensions/api/streams_private/streams_private_apitest.cc
index 39c87bc..a0667722 100644
--- a/chrome/browser/extensions/api/streams_private/streams_private_apitest.cc
+++ b/chrome/browser/extensions/api/streams_private/streams_private_apitest.cc
@@ -134,7 +134,7 @@
 
   virtual ~StreamsPrivateApiTest() {}
 
-  virtual void SetUpOnMainThread() override {
+  void SetUpOnMainThread() override {
     // Init test server.
     test_server_.reset(new EmbeddedTestServer);
     ASSERT_TRUE(test_server_->InitializeAndWaitUntilReady());
@@ -143,7 +143,7 @@
     ExtensionApiTest::SetUpOnMainThread();
   }
 
-  virtual void TearDownOnMainThread() override {
+  void TearDownOnMainThread() override {
     // Tear down the test server.
     EXPECT_TRUE(test_server_->ShutdownAndWaitUntilComplete());
     test_server_.reset();
diff --git a/chrome/browser/extensions/api/sync_file_system/extension_sync_event_observer.h b/chrome/browser/extensions/api/sync_file_system/extension_sync_event_observer.h
index e50c9c65..413f6992 100644
--- a/chrome/browser/extensions/api/sync_file_system/extension_sync_event_observer.h
+++ b/chrome/browser/extensions/api/sync_file_system/extension_sync_event_observer.h
@@ -30,25 +30,24 @@
       GetFactoryInstance();
 
   explicit ExtensionSyncEventObserver(content::BrowserContext* context);
-  virtual ~ExtensionSyncEventObserver();
+  ~ExtensionSyncEventObserver() override;
 
   void InitializeForService(
       sync_file_system::SyncFileSystemService* sync_service);
 
   // KeyedService override.
-  virtual void Shutdown() override;
+  void Shutdown() override;
 
   // sync_file_system::SyncEventObserver interface implementation.
-  virtual void OnSyncStateUpdated(
-      const GURL& app_origin,
-      sync_file_system::SyncServiceState state,
-      const std::string& description) override;
+  void OnSyncStateUpdated(const GURL& app_origin,
+                          sync_file_system::SyncServiceState state,
+                          const std::string& description) override;
 
-  virtual void OnFileSynced(const storage::FileSystemURL& url,
-                            sync_file_system::SyncFileType file_type,
-                            sync_file_system::SyncFileStatus status,
-                            sync_file_system::SyncAction action,
-                            sync_file_system::SyncDirection direction) override;
+  void OnFileSynced(const storage::FileSystemURL& url,
+                    sync_file_system::SyncFileType file_type,
+                    sync_file_system::SyncFileStatus status,
+                    sync_file_system::SyncAction action,
+                    sync_file_system::SyncDirection direction) override;
 
  private:
   friend class BrowserContextKeyedAPIFactory<ExtensionSyncEventObserver>;
diff --git a/chrome/browser/extensions/api/sync_file_system/sync_file_system_api.h b/chrome/browser/extensions/api/sync_file_system/sync_file_system_api.h
index a8f90f7d1..2d6ffd0 100644
--- a/chrome/browser/extensions/api/sync_file_system/sync_file_system_api.h
+++ b/chrome/browser/extensions/api/sync_file_system/sync_file_system_api.h
@@ -30,8 +30,8 @@
   //                            SYNCFILESYSTEM_DELETEFILESYSTEM)
 
  protected:
-  virtual ~SyncFileSystemDeleteFileSystemFunction() {}
-  virtual bool RunAsync() override;
+  ~SyncFileSystemDeleteFileSystemFunction() override {}
+  bool RunAsync() override;
 
  private:
   void DidDeleteFileSystem(base::File::Error error);
@@ -44,8 +44,8 @@
                              SYNCFILESYSTEM_GETFILESYNCSTATUS)
 
  protected:
-  virtual ~SyncFileSystemGetFileStatusFunction() {}
-  virtual bool RunAsync() override;
+  ~SyncFileSystemGetFileStatusFunction() override {}
+  bool RunAsync() override;
 
  private:
   void DidGetFileStatus(
@@ -61,8 +61,8 @@
   SyncFileSystemGetFileStatusesFunction();
 
  protected:
-  virtual ~SyncFileSystemGetFileStatusesFunction();
-  virtual bool RunAsync() override;
+  ~SyncFileSystemGetFileStatusesFunction() override;
+  bool RunAsync() override;
 
  private:
   typedef std::pair<sync_file_system::SyncStatusCode,
@@ -87,8 +87,8 @@
                              SYNCFILESYSTEM_GETUSAGEANDQUOTA)
 
  protected:
-  virtual ~SyncFileSystemGetUsageAndQuotaFunction() {}
-  virtual bool RunAsync() override;
+  ~SyncFileSystemGetUsageAndQuotaFunction() override {}
+  bool RunAsync() override;
 
  private:
   void DidGetUsageAndQuota(storage::QuotaStatusCode status,
@@ -103,8 +103,8 @@
                              SYNCFILESYSTEM_REQUESTFILESYSTEM)
 
  protected:
-  virtual ~SyncFileSystemRequestFileSystemFunction() {}
-  virtual bool RunAsync() override;
+  ~SyncFileSystemRequestFileSystemFunction() override {}
+  bool RunAsync() override;
 
  private:
   typedef SyncFileSystemRequestFileSystemFunction self;
@@ -124,8 +124,8 @@
                              SYNCFILESYSTEM_SETCONFLICTRESOLUTIONPOLICY)
 
  protected:
-  virtual ~SyncFileSystemSetConflictResolutionPolicyFunction() {}
-  virtual bool RunSync() override;
+  ~SyncFileSystemSetConflictResolutionPolicyFunction() override {}
+  bool RunSync() override;
 };
 
 class SyncFileSystemGetConflictResolutionPolicyFunction
@@ -135,8 +135,8 @@
                              SYNCFILESYSTEM_GETCONFLICTRESOLUTIONPOLICY)
 
  protected:
-  virtual ~SyncFileSystemGetConflictResolutionPolicyFunction() {}
-  virtual bool RunSync() override;
+  ~SyncFileSystemGetConflictResolutionPolicyFunction() override {}
+  bool RunSync() override;
 };
 
 class SyncFileSystemGetServiceStatusFunction
@@ -146,8 +146,8 @@
                              SYNCFILESYSTEM_GETSERVICESTATUS)
 
  protected:
-  virtual ~SyncFileSystemGetServiceStatusFunction() {}
-  virtual bool RunSync() override;
+  ~SyncFileSystemGetServiceStatusFunction() override {}
+  bool RunSync() override;
 };
 
 }  // namespace extensions
diff --git a/chrome/browser/extensions/api/sync_file_system/sync_file_system_apitest.cc b/chrome/browser/extensions/api/sync_file_system/sync_file_system_apitest.cc
index 37b5a84..bb94821 100644
--- a/chrome/browser/extensions/api/sync_file_system/sync_file_system_apitest.cc
+++ b/chrome/browser/extensions/api/sync_file_system/sync_file_system_apitest.cc
@@ -40,7 +40,7 @@
         real_minimum_preserved_space_(0),
         real_default_quota_(0) {}
 
-  virtual void SetUpInProcessBrowserTestFixture() override {
+  void SetUpInProcessBrowserTestFixture() override {
     ExtensionApiTest::SetUpInProcessBrowserTestFixture();
 
     real_minimum_preserved_space_ =
@@ -54,7 +54,7 @@
     storage::QuotaManager::kSyncableStorageDefaultHostQuota = 123456;
   }
 
-  virtual void TearDownInProcessBrowserTestFixture() override {
+  void TearDownInProcessBrowserTestFixture() override {
     storage::QuotaManager::kMinimumPreserveForSystem =
         real_minimum_preserved_space_;
     storage::QuotaManager::kSyncableStorageDefaultHostQuota =
@@ -62,7 +62,7 @@
     ExtensionApiTest::TearDownInProcessBrowserTestFixture();
   }
 
-  virtual void SetUpOnMainThread() override {
+  void SetUpOnMainThread() override {
     // Must happen after the browser process is created because instantiating
     // the factory will instantiate ExtensionSystemFactory which depends on
     // ExtensionsBrowserClient setup in BrowserProcessImpl.
diff --git a/chrome/browser/extensions/api/sync_file_system/sync_file_system_browsertest.cc b/chrome/browser/extensions/api/sync_file_system/sync_file_system_browsertest.cc
index b51f6bd..b9a2e1e 100644
--- a/chrome/browser/extensions/api/sync_file_system/sync_file_system_browsertest.cc
+++ b/chrome/browser/extensions/api/sync_file_system/sync_file_system_browsertest.cc
@@ -30,9 +30,9 @@
   explicit FakeDriveServiceFactory(
       drive::FakeDriveService::ChangeObserver* change_observer)
       : change_observer_(change_observer) {}
-  virtual ~FakeDriveServiceFactory() {}
+  ~FakeDriveServiceFactory() override {}
 
-  virtual scoped_ptr<drive::DriveServiceInterface> CreateDriveService(
+  scoped_ptr<drive::DriveServiceInterface> CreateDriveService(
       OAuth2TokenService* oauth2_token_service,
       net::URLRequestContextGetter* url_request_context_getter,
       base::SequencedTaskRunner* blocking_task_runner) override {
@@ -59,14 +59,14 @@
         remote_service_(NULL) {
   }
 
-  virtual void SetUpInProcessBrowserTestFixture() override {
+  void SetUpInProcessBrowserTestFixture() override {
     ExtensionApiTest::SetUpInProcessBrowserTestFixture();
     real_minimum_preserved_space_ =
         storage::QuotaManager::kMinimumPreserveForSystem;
     storage::QuotaManager::kMinimumPreserveForSystem = 0;
   }
 
-  virtual void TearDownInProcessBrowserTestFixture() override {
+  void TearDownInProcessBrowserTestFixture() override {
     storage::QuotaManager::kMinimumPreserveForSystem =
         real_minimum_preserved_space_;
     ExtensionApiTest::TearDownInProcessBrowserTestFixture();
@@ -81,7 +81,7 @@
         base::SequencedWorkerPool::SKIP_ON_SHUTDOWN);
   }
 
-  virtual void SetUpOnMainThread() override {
+  void SetUpOnMainThread() override {
     ASSERT_TRUE(base_dir_.CreateUniqueTempDir());
 
     SyncFileSystemServiceFactory* factory =
@@ -116,7 +116,7 @@
   }
 
   // drive::FakeDriveService::ChangeObserver override.
-  virtual void OnNewChangeAvailable() override {
+  void OnNewChangeAvailable() override {
     sync_engine()->OnNotificationReceived();
   }
 
diff --git a/chrome/browser/extensions/api/synced_notifications_private/synced_notifications_private_api.h b/chrome/browser/extensions/api/synced_notifications_private/synced_notifications_private_api.h
index da92847..0e3323d 100644
--- a/chrome/browser/extensions/api/synced_notifications_private/synced_notifications_private_api.h
+++ b/chrome/browser/extensions/api/synced_notifications_private/synced_notifications_private_api.h
@@ -19,8 +19,8 @@
                              SYNCEDNOTIFICATIONSPRIVATE_GETINITIALDATA);
 
  protected:
-  virtual ~SyncedNotificationsPrivateGetInitialDataFunction();
-  virtual ResponseAction Run() override;
+  ~SyncedNotificationsPrivateGetInitialDataFunction() override;
+  ResponseAction Run() override;
 
  private:
   DISALLOW_COPY_AND_ASSIGN(SyncedNotificationsPrivateGetInitialDataFunction);
@@ -34,8 +34,8 @@
                              SYNCEDNOTIFICATIONSPRIVATE_UPDATENOTIFICATION);
 
  protected:
-  virtual ~SyncedNotificationsPrivateUpdateNotificationFunction();
-  virtual ResponseAction Run() override;
+  ~SyncedNotificationsPrivateUpdateNotificationFunction() override;
+  ResponseAction Run() override;
 
  private:
   DISALLOW_COPY_AND_ASSIGN(
@@ -50,8 +50,8 @@
                              SYNCEDNOTIFICATIONSPRIVATE_SETRENDERCONTEXT);
 
  protected:
-  virtual ~SyncedNotificationsPrivateSetRenderContextFunction();
-  virtual ResponseAction Run() override;
+  ~SyncedNotificationsPrivateSetRenderContextFunction() override;
+  ResponseAction Run() override;
 
  private:
   DISALLOW_COPY_AND_ASSIGN(SyncedNotificationsPrivateSetRenderContextFunction);
diff --git a/chrome/browser/extensions/api/synced_notifications_private/synced_notifications_shim.h b/chrome/browser/extensions/api/synced_notifications_private/synced_notifications_shim.h
index addbaa74..7878c793 100644
--- a/chrome/browser/extensions/api/synced_notifications_private/synced_notifications_shim.h
+++ b/chrome/browser/extensions/api/synced_notifications_private/synced_notifications_shim.h
@@ -25,20 +25,19 @@
 
   explicit SyncedNotificationsShim(const EventLauncher& event_launcher,
                                    const base::Closure& refresh_request);
-  virtual ~SyncedNotificationsShim();
+  ~SyncedNotificationsShim() override;
 
   // SyncableService interface.
-  virtual syncer::SyncMergeResult MergeDataAndStartSyncing(
+  syncer::SyncMergeResult MergeDataAndStartSyncing(
       syncer::ModelType type,
       const syncer::SyncDataList& initial_sync_data,
       scoped_ptr<syncer::SyncChangeProcessor> sync_processor,
       scoped_ptr<syncer::SyncErrorFactory> error_handler) override;
-  virtual void StopSyncing(syncer::ModelType type) override;
-  virtual syncer::SyncError ProcessSyncChanges(
+  void StopSyncing(syncer::ModelType type) override;
+  syncer::SyncError ProcessSyncChanges(
       const tracked_objects::Location& from_here,
       const syncer::SyncChangeList& change_list) override;
-  virtual syncer::SyncDataList GetAllSyncData(
-      syncer::ModelType type) const override;
+  syncer::SyncDataList GetAllSyncData(syncer::ModelType type) const override;
 
   // JS interface methods (see synced_notifications_private.h).
   bool GetInitialData(
diff --git a/chrome/browser/extensions/api/system_cpu/system_cpu_apitest.cc b/chrome/browser/extensions/api/system_cpu/system_cpu_apitest.cc
index 2db11d4..dade8f7 100644
--- a/chrome/browser/extensions/api/system_cpu/system_cpu_apitest.cc
+++ b/chrome/browser/extensions/api/system_cpu/system_cpu_apitest.cc
@@ -13,7 +13,7 @@
  public:
   MockCpuInfoProviderImpl() {}
 
-  virtual bool QueryInfo() override {
+  bool QueryInfo() override {
     info_.num_of_processors = 4;
     info_.arch_name = "x86";
     info_.model_name = "unknown";
@@ -33,7 +33,7 @@
   }
 
  private:
-  virtual ~MockCpuInfoProviderImpl() {}
+  ~MockCpuInfoProviderImpl() override {}
 };
 
 class SystemCpuApiTest: public ExtensionApiTest {
@@ -41,7 +41,7 @@
   SystemCpuApiTest() {}
   virtual ~SystemCpuApiTest() {}
 
-  virtual void SetUpInProcessBrowserTestFixture() override {
+  void SetUpInProcessBrowserTestFixture() override {
     ExtensionApiTest::SetUpInProcessBrowserTestFixture();
   }
 };
diff --git a/chrome/browser/extensions/api/system_display/system_display_apitest.cc b/chrome/browser/extensions/api/system_display/system_display_apitest.cc
index 70c85c5..b91648d 100644
--- a/chrome/browser/extensions/api/system_display/system_display_apitest.cc
+++ b/chrome/browser/extensions/api/system_display/system_display_apitest.cc
@@ -69,42 +69,34 @@
       displays_.push_back(display);
     }
   }
-  virtual ~MockScreen() {}
+  ~MockScreen() override {}
 
  protected:
   // Overridden from gfx::Screen:
-  virtual bool IsDIPEnabled() override { return true; }
-  virtual gfx::Point GetCursorScreenPoint() override  { return gfx::Point(); }
-  virtual gfx::NativeWindow GetWindowUnderCursor() override {
+  bool IsDIPEnabled() override { return true; }
+  gfx::Point GetCursorScreenPoint() override { return gfx::Point(); }
+  gfx::NativeWindow GetWindowUnderCursor() override {
     return gfx::NativeWindow();
   }
-  virtual gfx::NativeWindow GetWindowAtScreenPoint(
-      const gfx::Point& point) override {
+  gfx::NativeWindow GetWindowAtScreenPoint(const gfx::Point& point) override {
     return gfx::NativeWindow();
   }
-  virtual int GetNumDisplays() const override {
-    return displays_.size();
-  }
-  virtual std::vector<gfx::Display> GetAllDisplays() const override {
+  int GetNumDisplays() const override { return displays_.size(); }
+  std::vector<gfx::Display> GetAllDisplays() const override {
     return displays_;
   }
-  virtual gfx::Display GetDisplayNearestWindow(
-      gfx::NativeView window) const override {
+  gfx::Display GetDisplayNearestWindow(gfx::NativeView window) const override {
     return gfx::Display(0);
   }
-  virtual gfx::Display GetDisplayNearestPoint(
-      const gfx::Point& point) const override {
+  gfx::Display GetDisplayNearestPoint(const gfx::Point& point) const override {
     return gfx::Display(0);
   }
-  virtual gfx::Display GetDisplayMatching(
-      const gfx::Rect& match_rect) const override {
+  gfx::Display GetDisplayMatching(const gfx::Rect& match_rect) const override {
     return gfx::Display(0);
   }
-  virtual gfx::Display GetPrimaryDisplay() const override {
-    return displays_[0];
-  }
-  virtual void AddObserver(gfx::DisplayObserver* observer) override {}
-  virtual void RemoveObserver(gfx::DisplayObserver* observer) override {}
+  gfx::Display GetPrimaryDisplay() const override { return displays_[0]; }
+  void AddObserver(gfx::DisplayObserver* observer) override {}
+  void RemoveObserver(gfx::DisplayObserver* observer) override {}
 
  private:
   std::vector<gfx::Display> displays_;
@@ -117,12 +109,11 @@
  public:
   MockDisplayInfoProvider() {}
 
-  virtual ~MockDisplayInfoProvider() {}
+  ~MockDisplayInfoProvider() override {}
 
-  virtual bool SetInfo(
-      const std::string& display_id,
-      const core_api::system_display::DisplayProperties& params,
-      std::string* error) override {
+  bool SetInfo(const std::string& display_id,
+               const core_api::system_display::DisplayProperties& params,
+               std::string* error) override {
     // Should get called only once per test case.
     EXPECT_FALSE(set_info_value_);
     set_info_value_ = params.ToValue();
@@ -130,7 +121,7 @@
     return true;
   }
 
-  virtual gfx::Screen* GetActiveScreen() override { return NULL; }
+  gfx::Screen* GetActiveScreen() override { return NULL; }
 
   scoped_ptr<base::DictionaryValue> GetSetInfoValue() {
     return set_info_value_.Pass();
@@ -143,7 +134,7 @@
  private:
   // Update the content of the |unit| obtained for |display| using
   // platform specific method.
-  virtual void UpdateDisplayUnitInfoForPlatform(
+  void UpdateDisplayUnitInfoForPlatform(
       const gfx::Display& display,
       extensions::core_api::system_display::DisplayUnitInfo* unit) override {
     int64 id = display.id();
@@ -177,7 +168,7 @@
 
   virtual ~SystemDisplayApiTest() {}
 
-  virtual void SetUpOnMainThread() override {
+  void SetUpOnMainThread() override {
     ExtensionApiTest::SetUpOnMainThread();
     ANNOTATE_LEAKING_OBJECT_PTR(
         gfx::Screen::GetScreenByType(gfx::SCREEN_TYPE_NATIVE));
@@ -185,7 +176,7 @@
     DisplayInfoProvider::InitializeForTesting(provider_.get());
   }
 
-  virtual void TearDownOnMainThread() override {
+  void TearDownOnMainThread() override {
 #if defined(OS_CHROMEOS)
     gfx::Screen::SetScreenInstance(gfx::SCREEN_TYPE_NATIVE,
                                    ash::Shell::GetScreen());
diff --git a/chrome/browser/extensions/api/system_indicator/system_indicator_api.h b/chrome/browser/extensions/api/system_indicator/system_indicator_api.h
index 5e50790c..1fe28267 100644
--- a/chrome/browser/extensions/api/system_indicator/system_indicator_api.h
+++ b/chrome/browser/extensions/api/system_indicator/system_indicator_api.h
@@ -17,7 +17,7 @@
   DECLARE_EXTENSION_FUNCTION("systemIndicator.setIcon", SYSTEMINDICATOR_SETICON)
 
  protected:
-  virtual ~SystemIndicatorSetIconFunction() {}
+  ~SystemIndicatorSetIconFunction() override {}
 };
 
 class SystemIndicatorEnableFunction : public ExtensionActionShowFunction {
@@ -25,7 +25,7 @@
   DECLARE_EXTENSION_FUNCTION("systemIndicator.enable", SYSTEMINDICATOR_ENABLE)
 
  protected:
-  virtual ~SystemIndicatorEnableFunction() {}
+  ~SystemIndicatorEnableFunction() override {}
 };
 
 class SystemIndicatorDisableFunction : public ExtensionActionHideFunction {
@@ -33,7 +33,7 @@
   DECLARE_EXTENSION_FUNCTION("systemIndicator.disable", SYSTEMINDICATOR_DISABLE)
 
  protected:
-  virtual ~SystemIndicatorDisableFunction() {}
+  ~SystemIndicatorDisableFunction() override {}
 };
 
 }  // namespace extensions
diff --git a/chrome/browser/extensions/api/system_indicator/system_indicator_apitest.cc b/chrome/browser/extensions/api/system_indicator/system_indicator_apitest.cc
index a1d7e1c..38d7c39 100644
--- a/chrome/browser/extensions/api/system_indicator/system_indicator_apitest.cc
+++ b/chrome/browser/extensions/api/system_indicator/system_indicator_apitest.cc
@@ -16,7 +16,7 @@
 
 class SystemIndicatorApiTest : public ExtensionApiTest {
  public:
-  virtual void SetUpOnMainThread() override {
+  void SetUpOnMainThread() override {
     ExtensionApiTest::SetUpOnMainThread();
     // Set shorter delays to prevent test timeouts in tests that need to wait
     // for the event page to unload.
diff --git a/chrome/browser/extensions/api/system_indicator/system_indicator_manager.cc b/chrome/browser/extensions/api/system_indicator/system_indicator_manager.cc
index ac56518..f358a95 100644
--- a/chrome/browser/extensions/api/system_indicator/system_indicator_manager.cc
+++ b/chrome/browser/extensions/api/system_indicator/system_indicator_manager.cc
@@ -33,13 +33,13 @@
                                         const ExtensionAction* action,
                                         Profile* profile,
                                         StatusTray* status_tray);
-  virtual ~ExtensionIndicatorIcon();
+  ~ExtensionIndicatorIcon() override;
 
   // StatusIconObserver implementation.
-  virtual void OnStatusIconClicked() override;
+  void OnStatusIconClicked() override;
 
   // ExtensionActionIconFactory::Observer implementation.
-  virtual void OnIconUpdated() override;
+  void OnIconUpdated() override;
 
  private:
   ExtensionIndicatorIcon(const Extension* extension,
diff --git a/chrome/browser/extensions/api/system_indicator/system_indicator_manager.h b/chrome/browser/extensions/api/system_indicator/system_indicator_manager.h
index a542bdc..cae6f7e 100644
--- a/chrome/browser/extensions/api/system_indicator/system_indicator_manager.h
+++ b/chrome/browser/extensions/api/system_indicator/system_indicator_manager.h
@@ -34,22 +34,21 @@
                                public KeyedService {
  public:
   SystemIndicatorManager(Profile* profile, StatusTray* status_tray);
-  virtual ~SystemIndicatorManager();
+  ~SystemIndicatorManager() override;
 
   // KeyedService implementation.
-  virtual void Shutdown() override;
+  void Shutdown() override;
 
  private:
   FRIEND_TEST_ALL_PREFIXES(::SystemIndicatorApiTest, SystemIndicator);
 
   // ExtensionRegistryObserver implementation.
-  virtual void OnExtensionUnloaded(
-      content::BrowserContext* browser_context,
-      const Extension* extension,
-      UnloadedExtensionInfo::Reason reason) override;
+  void OnExtensionUnloaded(content::BrowserContext* browser_context,
+                           const Extension* extension,
+                           UnloadedExtensionInfo::Reason reason) override;
 
   // ExtensionActionAPI::Observer implementation.
-  virtual void OnExtensionActionUpdated(
+  void OnExtensionActionUpdated(
       ExtensionAction* extension_action,
       content::WebContents* web_contents,
       content::BrowserContext* browser_context) override;
diff --git a/chrome/browser/extensions/api/system_indicator/system_indicator_manager_factory.h b/chrome/browser/extensions/api/system_indicator/system_indicator_manager_factory.h
index 365e5d95..12d6ac0c 100644
--- a/chrome/browser/extensions/api/system_indicator/system_indicator_manager_factory.h
+++ b/chrome/browser/extensions/api/system_indicator/system_indicator_manager_factory.h
@@ -24,10 +24,10 @@
   friend struct DefaultSingletonTraits<SystemIndicatorManagerFactory>;
 
   SystemIndicatorManagerFactory();
-  virtual ~SystemIndicatorManagerFactory();
+  ~SystemIndicatorManagerFactory() override;
 
   // BrowserContextKeyedBaseFactory implementation.
-  virtual KeyedService* BuildServiceInstanceFor(
+  KeyedService* BuildServiceInstanceFor(
       content::BrowserContext* profile) const override;
 };
 
diff --git a/chrome/browser/extensions/api/system_memory/system_memory_apitest.cc b/chrome/browser/extensions/api/system_memory/system_memory_apitest.cc
index 5d0af3a..ee9b5b9b 100644
--- a/chrome/browser/extensions/api/system_memory/system_memory_apitest.cc
+++ b/chrome/browser/extensions/api/system_memory/system_memory_apitest.cc
@@ -14,13 +14,13 @@
  public:
   MockMemoryInfoProviderImpl() {}
 
-  virtual bool QueryInfo() override {
+  bool QueryInfo() override {
     info_.capacity = 4096;
     info_.available_capacity = 1024;
     return true;
   }
  private:
-  virtual ~MockMemoryInfoProviderImpl() {}
+  ~MockMemoryInfoProviderImpl() override {}
 };
 
 class SystemMemoryApiTest: public ExtensionApiTest {
@@ -28,7 +28,7 @@
   SystemMemoryApiTest() {}
   virtual ~SystemMemoryApiTest() {}
 
-  virtual void SetUpInProcessBrowserTestFixture() override {
+  void SetUpInProcessBrowserTestFixture() override {
     ExtensionApiTest::SetUpInProcessBrowserTestFixture();
     message_loop_.reset(new base::MessageLoopForUI);
   }
diff --git a/chrome/browser/extensions/api/system_private/system_private_api.h b/chrome/browser/extensions/api/system_private/system_private_api.h
index bebd362f..30d2306 100644
--- a/chrome/browser/extensions/api/system_private/system_private_api.h
+++ b/chrome/browser/extensions/api/system_private/system_private_api.h
@@ -19,10 +19,10 @@
                              SYSTEMPRIVATE_GETINCOGNITOMODEAVAILABILITY)
 
  protected:
-  virtual ~SystemPrivateGetIncognitoModeAvailabilityFunction() {}
+  ~SystemPrivateGetIncognitoModeAvailabilityFunction() override {}
 
   // ExtensionFunction:
-  virtual bool RunSync() override;
+  bool RunSync() override;
 };
 
 // API function which returns the status of system update.
@@ -33,10 +33,10 @@
                              SYSTEMPRIVATE_GETUPDATESTATUS)
 
  protected:
-  virtual ~SystemPrivateGetUpdateStatusFunction() {}
+  ~SystemPrivateGetUpdateStatusFunction() override {}
 
   // ExtensionFunction:
-  virtual bool RunSync() override;
+  bool RunSync() override;
 };
 
 // API function which returns the Google API key.
@@ -45,10 +45,10 @@
   DECLARE_EXTENSION_FUNCTION("systemPrivate.getApiKey", SYSTEMPRIVATE_GETAPIKEY)
 
  protected:
-  virtual ~SystemPrivateGetApiKeyFunction() {}
+  ~SystemPrivateGetApiKeyFunction() override {}
 
   // ExtensionFunction:
-  virtual bool RunSync() override;
+  bool RunSync() override;
 };
 
 // Dispatches systemPrivate.onBrightnessChanged event for extensions.
diff --git a/chrome/browser/extensions/api/system_storage/system_storage_apitest.cc b/chrome/browser/extensions/api/system_storage/system_storage_apitest.cc
index f5a4985a..c5353741 100644
--- a/chrome/browser/extensions/api/system_storage/system_storage_apitest.cc
+++ b/chrome/browser/extensions/api/system_storage/system_storage_apitest.cc
@@ -36,10 +36,10 @@
                           size_t n);
 
  private:
-  virtual ~TestStorageInfoProvider();
+  ~TestStorageInfoProvider() override;
 
   // StorageInfoProvider implementations.
-  virtual double GetStorageFreeSpaceFromTransientIdOnFileThread(
+  double GetStorageFreeSpaceFromTransientIdOnFileThread(
       const std::string& transient_id) override;
 
   std::vector<struct TestStorageUnitInfo> testing_data_;
@@ -71,11 +71,11 @@
   SystemStorageApiTest() {}
   virtual ~SystemStorageApiTest() {}
 
-  virtual void SetUpOnMainThread() override {
+  void SetUpOnMainThread() override {
     TestStorageMonitor::CreateForBrowserTests();
   }
 
-  virtual void SetUpInProcessBrowserTestFixture() override {
+  void SetUpInProcessBrowserTestFixture() override {
     ExtensionApiTest::SetUpInProcessBrowserTestFixture();
     message_loop_.reset(new base::MessageLoopForUI);
   }
diff --git a/chrome/browser/extensions/api/system_storage/system_storage_eject_apitest.cc b/chrome/browser/extensions/api/system_storage/system_storage_eject_apitest.cc
index c2bad34..ff051f5 100644
--- a/chrome/browser/extensions/api/system_storage/system_storage_eject_apitest.cc
+++ b/chrome/browser/extensions/api/system_storage/system_storage_eject_apitest.cc
@@ -36,7 +36,7 @@
   virtual ~SystemStorageEjectApiTest() {}
 
  protected:
-  virtual void SetUpOnMainThread() override {
+  void SetUpOnMainThread() override {
     monitor_ = TestStorageMonitor::CreateForBrowserTests();
     ExtensionApiTest::SetUpOnMainThread();
   }
diff --git a/chrome/browser/extensions/api/tab_capture/tab_capture_api.h b/chrome/browser/extensions/api/tab_capture/tab_capture_api.h
index a13f1bb..2b0aea1 100644
--- a/chrome/browser/extensions/api/tab_capture/tab_capture_api.h
+++ b/chrome/browser/extensions/api/tab_capture/tab_capture_api.h
@@ -19,10 +19,10 @@
   DECLARE_EXTENSION_FUNCTION("tabCapture.capture", TABCAPTURE_CAPTURE)
 
  protected:
-  virtual ~TabCaptureCaptureFunction() {}
+  ~TabCaptureCaptureFunction() override {}
 
   // ExtensionFunction:
-  virtual bool RunSync() override;
+  bool RunSync() override;
 };
 
 class TabCaptureGetCapturedTabsFunction : public ChromeSyncExtensionFunction {
@@ -31,10 +31,10 @@
                              TABCAPTURE_GETCAPTUREDTABS)
 
  protected:
-  virtual ~TabCaptureGetCapturedTabsFunction() {}
+  ~TabCaptureGetCapturedTabsFunction() override {}
 
   // ExtensionFunction:
-  virtual bool RunSync() override;
+  bool RunSync() override;
 };
 
 }  // namespace extensions
diff --git a/chrome/browser/extensions/api/tab_capture/tab_capture_performancetest.cc b/chrome/browser/extensions/api/tab_capture/tab_capture_performancetest.cc
index 8efa51a8..74d8a53 100644
--- a/chrome/browser/extensions/api/tab_capture/tab_capture_performancetest.cc
+++ b/chrome/browser/extensions/api/tab_capture/tab_capture_performancetest.cc
@@ -103,7 +103,7 @@
     ExtensionApiTest::SetUp();
   }
 
-  virtual void SetUpCommandLine(CommandLine* command_line) override {
+  void SetUpCommandLine(CommandLine* command_line) override {
     if (!ScalingMethod().empty()) {
       command_line->AppendSwitchASCII(switches::kTabCaptureUpscaleQuality,
                                       ScalingMethod());
diff --git a/chrome/browser/extensions/api/tab_capture/tab_capture_registry.cc b/chrome/browser/extensions/api/tab_capture/tab_capture_registry.cc
index 0ea0233f..f83858a 100644
--- a/chrome/browser/extensions/api/tab_capture/tab_capture_registry.cc
+++ b/chrome/browser/extensions/api/tab_capture/tab_capture_registry.cc
@@ -45,7 +45,7 @@
     DCHECK(registry_);
   }
 
-  virtual ~LiveRequest() {}
+  ~LiveRequest() override {}
 
   // Accessors.
   const std::string& extension_id() const {
@@ -96,25 +96,25 @@
   }
 
  protected:
-  virtual void DidShowFullscreenWidget(int routing_id) override {
+  void DidShowFullscreenWidget(int routing_id) override {
     is_fullscreened_ = true;
     if (capture_state_ == tab_capture::TAB_CAPTURE_STATE_ACTIVE)
       registry_->DispatchStatusChangeEvent(this);
   }
 
-  virtual void DidDestroyFullscreenWidget(int routing_id) override {
+  void DidDestroyFullscreenWidget(int routing_id) override {
     is_fullscreened_ = false;
     if (capture_state_ == tab_capture::TAB_CAPTURE_STATE_ACTIVE)
       registry_->DispatchStatusChangeEvent(this);
   }
 
-  virtual void DidToggleFullscreenModeForTab(bool entered_fullscreen) override {
+  void DidToggleFullscreenModeForTab(bool entered_fullscreen) override {
     is_fullscreened_ = entered_fullscreen;
     if (capture_state_ == tab_capture::TAB_CAPTURE_STATE_ACTIVE)
       registry_->DispatchStatusChangeEvent(this);
   }
 
-  virtual void WebContentsDestroyed() override {
+  void WebContentsDestroyed() override {
     registry_->KillRequest(this);  // Deletes |this|.
   }
 
diff --git a/chrome/browser/extensions/api/tab_capture/tab_capture_registry.h b/chrome/browser/extensions/api/tab_capture/tab_capture_registry.h
index 6ff320f1..60d5f2b 100644
--- a/chrome/browser/extensions/api/tab_capture/tab_capture_registry.h
+++ b/chrome/browser/extensions/api/tab_capture/tab_capture_registry.h
@@ -68,7 +68,7 @@
   class LiveRequest;
 
   explicit TabCaptureRegistry(content::BrowserContext* context);
-  virtual ~TabCaptureRegistry();
+  ~TabCaptureRegistry() override;
 
   // Used by BrowserContextKeyedAPI.
   static const char* service_name() {
@@ -79,17 +79,15 @@
   static const bool kServiceRedirectedInIncognito = true;
 
   // ExtensionRegistryObserver implementation.
-  virtual void OnExtensionUnloaded(
-      content::BrowserContext* browser_context,
-      const Extension* extension,
-      UnloadedExtensionInfo::Reason reason) override;
+  void OnExtensionUnloaded(content::BrowserContext* browser_context,
+                           const Extension* extension,
+                           UnloadedExtensionInfo::Reason reason) override;
 
   // MediaCaptureDevicesDispatcher::Observer implementation.
-  virtual void OnRequestUpdate(
-      int original_target_render_process_id,
-      int original_target_render_frame_id,
-      content::MediaStreamType stream_type,
-      const content::MediaRequestState state) override;
+  void OnRequestUpdate(int original_target_render_process_id,
+                       int original_target_render_frame_id,
+                       content::MediaStreamType stream_type,
+                       const content::MediaRequestState state) override;
 
   // Send a StatusChanged event containing the current state of |request|.
   void DispatchStatusChangeEvent(const LiveRequest* request) const;
diff --git a/chrome/browser/extensions/api/tabs/tabs_api.h b/chrome/browser/extensions/api/tabs/tabs_api.h
index 099ec201..cc4216df 100644
--- a/chrome/browser/extensions/api/tabs/tabs_api.h
+++ b/chrome/browser/extensions/api/tabs/tabs_api.h
@@ -49,28 +49,28 @@
 
 // Windows
 class WindowsGetFunction : public ChromeSyncExtensionFunction {
-  virtual ~WindowsGetFunction() {}
-  virtual bool RunSync() override;
+  ~WindowsGetFunction() override {}
+  bool RunSync() override;
   DECLARE_EXTENSION_FUNCTION("windows.get", WINDOWS_GET)
 };
 class WindowsGetCurrentFunction : public ChromeSyncExtensionFunction {
-  virtual ~WindowsGetCurrentFunction() {}
-  virtual bool RunSync() override;
+  ~WindowsGetCurrentFunction() override {}
+  bool RunSync() override;
   DECLARE_EXTENSION_FUNCTION("windows.getCurrent", WINDOWS_GETCURRENT)
 };
 class WindowsGetLastFocusedFunction : public ChromeSyncExtensionFunction {
-  virtual ~WindowsGetLastFocusedFunction() {}
-  virtual bool RunSync() override;
+  ~WindowsGetLastFocusedFunction() override {}
+  bool RunSync() override;
   DECLARE_EXTENSION_FUNCTION("windows.getLastFocused", WINDOWS_GETLASTFOCUSED)
 };
 class WindowsGetAllFunction : public ChromeSyncExtensionFunction {
-  virtual ~WindowsGetAllFunction() {}
-  virtual bool RunSync() override;
+  ~WindowsGetAllFunction() override {}
+  bool RunSync() override;
   DECLARE_EXTENSION_FUNCTION("windows.getAll", WINDOWS_GETALL)
 };
 class WindowsCreateFunction : public ChromeSyncExtensionFunction {
-  virtual ~WindowsCreateFunction() {}
-  virtual bool RunSync() override;
+  ~WindowsCreateFunction() override {}
+  bool RunSync() override;
   // Returns whether the window should be created in incognito mode.
   // |create_data| are the options passed by the extension. It may be NULL.
   // |urls| is the list of urls to open. If we are creating an incognito window,
@@ -85,55 +85,55 @@
   DECLARE_EXTENSION_FUNCTION("windows.create", WINDOWS_CREATE)
 };
 class WindowsUpdateFunction : public ChromeSyncExtensionFunction {
-  virtual ~WindowsUpdateFunction() {}
-  virtual bool RunSync() override;
+  ~WindowsUpdateFunction() override {}
+  bool RunSync() override;
   DECLARE_EXTENSION_FUNCTION("windows.update", WINDOWS_UPDATE)
 };
 class WindowsRemoveFunction : public ChromeSyncExtensionFunction {
-  virtual ~WindowsRemoveFunction() {}
-  virtual bool RunSync() override;
+  ~WindowsRemoveFunction() override {}
+  bool RunSync() override;
   DECLARE_EXTENSION_FUNCTION("windows.remove", WINDOWS_REMOVE)
 };
 
 // Tabs
 class TabsGetFunction : public ChromeSyncExtensionFunction {
-  virtual ~TabsGetFunction() {}
-  virtual bool RunSync() override;
+  ~TabsGetFunction() override {}
+  bool RunSync() override;
   DECLARE_EXTENSION_FUNCTION("tabs.get", TABS_GET)
 };
 class TabsGetCurrentFunction : public ChromeSyncExtensionFunction {
-  virtual ~TabsGetCurrentFunction() {}
-  virtual bool RunSync() override;
+  ~TabsGetCurrentFunction() override {}
+  bool RunSync() override;
   DECLARE_EXTENSION_FUNCTION("tabs.getCurrent", TABS_GETCURRENT)
 };
 class TabsGetSelectedFunction : public ChromeSyncExtensionFunction {
-  virtual ~TabsGetSelectedFunction() {}
-  virtual bool RunSync() override;
+  ~TabsGetSelectedFunction() override {}
+  bool RunSync() override;
   DECLARE_EXTENSION_FUNCTION("tabs.getSelected", TABS_GETSELECTED)
 };
 class TabsGetAllInWindowFunction : public ChromeSyncExtensionFunction {
-  virtual ~TabsGetAllInWindowFunction() {}
-  virtual bool RunSync() override;
+  ~TabsGetAllInWindowFunction() override {}
+  bool RunSync() override;
   DECLARE_EXTENSION_FUNCTION("tabs.getAllInWindow", TABS_GETALLINWINDOW)
 };
 class TabsQueryFunction : public ChromeSyncExtensionFunction {
-  virtual ~TabsQueryFunction() {}
-  virtual bool RunSync() override;
+  ~TabsQueryFunction() override {}
+  bool RunSync() override;
   DECLARE_EXTENSION_FUNCTION("tabs.query", TABS_QUERY)
 };
 class TabsCreateFunction : public ChromeSyncExtensionFunction {
-  virtual ~TabsCreateFunction() {}
-  virtual bool RunSync() override;
+  ~TabsCreateFunction() override {}
+  bool RunSync() override;
   DECLARE_EXTENSION_FUNCTION("tabs.create", TABS_CREATE)
 };
 class TabsDuplicateFunction : public ChromeSyncExtensionFunction {
-  virtual ~TabsDuplicateFunction() {}
-  virtual bool RunSync() override;
+  ~TabsDuplicateFunction() override {}
+  bool RunSync() override;
   DECLARE_EXTENSION_FUNCTION("tabs.duplicate", TABS_DUPLICATE)
 };
 class TabsHighlightFunction : public ChromeSyncExtensionFunction {
-  virtual ~TabsHighlightFunction() {}
-  virtual bool RunSync() override;
+  ~TabsHighlightFunction() override {}
+  bool RunSync() override;
   bool HighlightTab(TabStripModel* tabstrip,
                     ui::ListSelectionModel* selection,
                     int *active_index,
@@ -145,7 +145,7 @@
   TabsUpdateFunction();
 
  protected:
-  virtual ~TabsUpdateFunction() {}
+  ~TabsUpdateFunction() override {}
   virtual bool UpdateURL(const std::string& url,
                          int tab_id,
                          bool* is_async);
@@ -154,7 +154,7 @@
   content::WebContents* web_contents_;
 
  private:
-  virtual bool RunAsync() override;
+  bool RunAsync() override;
   void OnExecuteCodeFinished(const std::string& error,
                              const GURL& on_url,
                              const base::ListValue& script_result);
@@ -162,8 +162,8 @@
   DECLARE_EXTENSION_FUNCTION("tabs.update", TABS_UPDATE)
 };
 class TabsMoveFunction : public ChromeSyncExtensionFunction {
-  virtual ~TabsMoveFunction() {}
-  virtual bool RunSync() override;
+  ~TabsMoveFunction() override {}
+  bool RunSync() override;
   bool MoveTab(int tab_id,
                int* new_index,
                int iteration,
@@ -172,25 +172,25 @@
   DECLARE_EXTENSION_FUNCTION("tabs.move", TABS_MOVE)
 };
 class TabsReloadFunction : public ChromeSyncExtensionFunction {
-  virtual ~TabsReloadFunction() {}
-  virtual bool RunSync() override;
+  ~TabsReloadFunction() override {}
+  bool RunSync() override;
   DECLARE_EXTENSION_FUNCTION("tabs.reload", TABS_RELOAD)
 };
 class TabsRemoveFunction : public ChromeSyncExtensionFunction {
-  virtual ~TabsRemoveFunction() {}
-  virtual bool RunSync() override;
+  ~TabsRemoveFunction() override {}
+  bool RunSync() override;
   bool RemoveTab(int tab_id);
   DECLARE_EXTENSION_FUNCTION("tabs.remove", TABS_REMOVE)
 };
 class TabsDetectLanguageFunction : public ChromeAsyncExtensionFunction,
                                    public content::NotificationObserver {
  private:
-  virtual ~TabsDetectLanguageFunction() {}
-  virtual bool RunAsync() override;
+  ~TabsDetectLanguageFunction() override {}
+  bool RunAsync() override;
 
-  virtual void Observe(int type,
-                       const content::NotificationSource& source,
-                       const content::NotificationDetails& details) override;
+  void Observe(int type,
+               const content::NotificationSource& source,
+               const content::NotificationDetails& details) override;
   void GotLanguage(const std::string& language);
   content::NotificationRegistrar registrar_;
   DECLARE_EXTENSION_FUNCTION("tabs.detectLanguage", TABS_DETECTLANGUAGE)
@@ -202,15 +202,15 @@
   static void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry);
 
  protected:
-  virtual ~TabsCaptureVisibleTabFunction() {}
+  ~TabsCaptureVisibleTabFunction() override {}
 
  private:
   ChromeExtensionFunctionDetails chrome_details_;
 
   // extensions::CaptureWebContentsFunction:
-  virtual bool IsScreenshotEnabled() override;
-  virtual content::WebContents* GetWebContentsForID(int id) override;
-  virtual void OnCaptureFailure(FailureReason reason) override;
+  bool IsScreenshotEnabled() override;
+  content::WebContents* GetWebContentsForID(int id) override;
+  void OnCaptureFailure(FailureReason reason) override;
 
   DECLARE_EXTENSION_FUNCTION("tabs.captureVisibleTab", TABS_CAPTUREVISIBLETAB)
 };
@@ -221,18 +221,18 @@
   ExecuteCodeInTabFunction();
 
  protected:
-  virtual ~ExecuteCodeInTabFunction();
+  ~ExecuteCodeInTabFunction() override;
 
   // ExtensionFunction:
-  virtual bool HasPermission() override;
+  bool HasPermission() override;
 
   // Initialize the |execute_tab_id_| and |details_| if they haven't already
   // been. Returns whether initialization was successful.
-  virtual bool Init() override;
-  virtual bool CanExecuteScriptOnPage() override;
-  virtual ScriptExecutor* GetScriptExecutor() override;
-  virtual bool IsWebView() const override;
-  virtual const GURL& GetWebViewSrc() const override;
+  bool Init() override;
+  bool CanExecuteScriptOnPage() override;
+  ScriptExecutor* GetScriptExecutor() override;
+  bool IsWebView() const override;
+  const GURL& GetWebViewSrc() const override;
 
  private:
   const ChromeExtensionFunctionDetails chrome_details_;
@@ -243,31 +243,30 @@
 
 class TabsExecuteScriptFunction : public ExecuteCodeInTabFunction {
  protected:
-  virtual bool ShouldInsertCSS() const override;
+  bool ShouldInsertCSS() const override;
 
  private:
-  virtual ~TabsExecuteScriptFunction() {}
+  ~TabsExecuteScriptFunction() override {}
 
-  virtual void OnExecuteCodeFinished(
-      const std::string& error,
-      const GURL& on_url,
-      const base::ListValue& script_result) override;
+  void OnExecuteCodeFinished(const std::string& error,
+                             const GURL& on_url,
+                             const base::ListValue& script_result) override;
 
   DECLARE_EXTENSION_FUNCTION("tabs.executeScript", TABS_EXECUTESCRIPT)
 };
 
 class TabsInsertCSSFunction : public ExecuteCodeInTabFunction {
  private:
-  virtual ~TabsInsertCSSFunction() {}
+  ~TabsInsertCSSFunction() override {}
 
-  virtual bool ShouldInsertCSS() const override;
+  bool ShouldInsertCSS() const override;
 
   DECLARE_EXTENSION_FUNCTION("tabs.insertCSS", TABS_INSERTCSS)
 };
 
 class ZoomAPIFunction : public ChromeAsyncExtensionFunction {
  protected:
-  virtual ~ZoomAPIFunction() {}
+  ~ZoomAPIFunction() override {}
 
   // Gets the WebContents for |tab_id| if it is specified. Otherwise get the
   // WebContents for the active tab in the current window. Calling this function
@@ -280,36 +279,36 @@
 
 class TabsSetZoomFunction : public ZoomAPIFunction {
  private:
-  virtual ~TabsSetZoomFunction() {}
+  ~TabsSetZoomFunction() override {}
 
-  virtual bool RunAsync() override;
+  bool RunAsync() override;
 
   DECLARE_EXTENSION_FUNCTION("tabs.setZoom", TABS_SETZOOM)
 };
 
 class TabsGetZoomFunction : public ZoomAPIFunction {
  private:
-  virtual ~TabsGetZoomFunction() {}
+  ~TabsGetZoomFunction() override {}
 
-  virtual bool RunAsync() override;
+  bool RunAsync() override;
 
   DECLARE_EXTENSION_FUNCTION("tabs.getZoom", TABS_GETZOOM)
 };
 
 class TabsSetZoomSettingsFunction : public ZoomAPIFunction {
  private:
-  virtual ~TabsSetZoomSettingsFunction() {}
+  ~TabsSetZoomSettingsFunction() override {}
 
-  virtual bool RunAsync() override;
+  bool RunAsync() override;
 
   DECLARE_EXTENSION_FUNCTION("tabs.setZoomSettings", TABS_SETZOOMSETTINGS)
 };
 
 class TabsGetZoomSettingsFunction : public ZoomAPIFunction {
  private:
-  virtual ~TabsGetZoomSettingsFunction() {}
+  ~TabsGetZoomSettingsFunction() override {}
 
-  virtual bool RunAsync() override;
+  bool RunAsync() override;
 
   DECLARE_EXTENSION_FUNCTION("tabs.getZoomSettings", TABS_GETZOOMSETTINGS)
 };
diff --git a/chrome/browser/extensions/api/tabs/tabs_event_router.h b/chrome/browser/extensions/api/tabs/tabs_event_router.h
index eaa25c04..49260785 100644
--- a/chrome/browser/extensions/api/tabs/tabs_event_router.h
+++ b/chrome/browser/extensions/api/tabs/tabs_event_router.h
@@ -33,49 +33,47 @@
                         public ZoomObserver {
  public:
   explicit TabsEventRouter(Profile* profile);
-  virtual ~TabsEventRouter();
+  ~TabsEventRouter() override;
 
   // chrome::BrowserListObserver
-  virtual void OnBrowserAdded(Browser* browser) override;
-  virtual void OnBrowserRemoved(Browser* browser) override;
-  virtual void OnBrowserSetLastActive(Browser* browser) override;
+  void OnBrowserAdded(Browser* browser) override;
+  void OnBrowserRemoved(Browser* browser) override;
+  void OnBrowserSetLastActive(Browser* browser) override;
 
   // TabStripModelObserver
-  virtual void TabInsertedAt(content::WebContents* contents, int index,
-                             bool active) override;
-  virtual void TabClosingAt(TabStripModel* tab_strip_model,
-                            content::WebContents* contents,
-                            int index) override;
-  virtual void TabDetachedAt(content::WebContents* contents,
+  void TabInsertedAt(content::WebContents* contents,
+                     int index,
+                     bool active) override;
+  void TabClosingAt(TabStripModel* tab_strip_model,
+                    content::WebContents* contents,
+                    int index) override;
+  void TabDetachedAt(content::WebContents* contents, int index) override;
+  void ActiveTabChanged(content::WebContents* old_contents,
+                        content::WebContents* new_contents,
+                        int index,
+                        int reason) override;
+  void TabSelectionChanged(TabStripModel* tab_strip_model,
+                           const ui::ListSelectionModel& old_model) override;
+  void TabMoved(content::WebContents* contents,
+                int from_index,
+                int to_index) override;
+  void TabChangedAt(content::WebContents* contents,
+                    int index,
+                    TabChangeType change_type) override;
+  void TabReplacedAt(TabStripModel* tab_strip_model,
+                     content::WebContents* old_contents,
+                     content::WebContents* new_contents,
+                     int index) override;
+  void TabPinnedStateChanged(content::WebContents* contents,
                              int index) override;
-  virtual void ActiveTabChanged(content::WebContents* old_contents,
-                                content::WebContents* new_contents,
-                                int index,
-                                int reason) override;
-  virtual void TabSelectionChanged(
-      TabStripModel* tab_strip_model,
-      const ui::ListSelectionModel& old_model) override;
-  virtual void TabMoved(content::WebContents* contents,
-                        int from_index,
-                        int to_index) override;
-  virtual void TabChangedAt(content::WebContents* contents,
-                            int index,
-                            TabChangeType change_type) override;
-  virtual void TabReplacedAt(TabStripModel* tab_strip_model,
-                             content::WebContents* old_contents,
-                             content::WebContents* new_contents,
-                             int index) override;
-  virtual void TabPinnedStateChanged(content::WebContents* contents,
-                                     int index) override;
 
   // content::NotificationObserver.
-  virtual void Observe(int type,
-                       const content::NotificationSource& source,
-                       const content::NotificationDetails& details) override;
+  void Observe(int type,
+               const content::NotificationSource& source,
+               const content::NotificationDetails& details) override;
 
   // ZoomObserver.
-  virtual void OnZoomChanged(
-      const ZoomController::ZoomChangedEventData& data) override;
+  void OnZoomChanged(const ZoomController::ZoomChangedEventData& data) override;
 
  private:
   // "Synthetic" event. Called from TabInsertedAt if new tab is detected.
diff --git a/chrome/browser/extensions/api/tabs/tabs_test.cc b/chrome/browser/extensions/api/tabs/tabs_test.cc
index 5c80e0ca..286a906 100644
--- a/chrome/browser/extensions/api/tabs/tabs_test.cc
+++ b/chrome/browser/extensions/api/tabs/tabs_test.cc
@@ -599,7 +599,7 @@
 // Tester class for the tabs.zoom* api functions.
 class ExtensionTabsZoomTest : public ExtensionTabsTest {
  public:
-  virtual void SetUpOnMainThread() override;
+  void SetUpOnMainThread() override;
 
   // Runs chrome.tabs.setZoom().
   bool RunSetZoom(int tab_id, double zoom_factor);
diff --git a/chrome/browser/extensions/api/tabs/tabs_windows_api.h b/chrome/browser/extensions/api/tabs/tabs_windows_api.h
index 72a53a1..4fe76e8c 100644
--- a/chrome/browser/extensions/api/tabs/tabs_windows_api.h
+++ b/chrome/browser/extensions/api/tabs/tabs_windows_api.h
@@ -18,7 +18,7 @@
                        public EventRouter::Observer {
  public:
   explicit TabsWindowsAPI(content::BrowserContext* context);
-  virtual ~TabsWindowsAPI();
+  ~TabsWindowsAPI() override;
 
   // Convenience method to get the TabsWindowsAPI for a profile.
   static TabsWindowsAPI* Get(content::BrowserContext* context);
@@ -27,14 +27,13 @@
   WindowsEventRouter* windows_event_router();
 
   // KeyedService implementation.
-  virtual void Shutdown() override;
+  void Shutdown() override;
 
   // BrowserContextKeyedAPI implementation.
   static BrowserContextKeyedAPIFactory<TabsWindowsAPI>* GetFactoryInstance();
 
   // EventRouter::Observer implementation.
-  virtual void OnListenerAdded(const extensions::EventListenerInfo& details)
-      override;
+  void OnListenerAdded(const extensions::EventListenerInfo& details) override;
 
  private:
   friend class BrowserContextKeyedAPIFactory<TabsWindowsAPI>;
diff --git a/chrome/browser/extensions/api/tabs/windows_event_router.h b/chrome/browser/extensions/api/tabs/windows_event_router.h
index 5bb2a1d..ce07000 100644
--- a/chrome/browser/extensions/api/tabs/windows_event_router.h
+++ b/chrome/browser/extensions/api/tabs/windows_event_router.h
@@ -35,13 +35,11 @@
                           public content::NotificationObserver {
  public:
   explicit WindowsEventRouter(Profile* profile);
-  virtual ~WindowsEventRouter();
+  ~WindowsEventRouter() override;
 
   // WindowControllerListObserver methods:
-  virtual void OnWindowControllerAdded(
-      WindowController* window_controller) override;
-  virtual void OnWindowControllerRemoved(
-      WindowController* window) override;
+  void OnWindowControllerAdded(WindowController* window_controller) override;
+  void OnWindowControllerRemoved(WindowController* window) override;
 
 #if defined(TOOLKIT_VIEWS)
   virtual void OnNativeFocusChange(gfx::NativeView focused_before,
@@ -49,9 +47,9 @@
 #endif
 
   // content::NotificationObserver.
-  virtual void Observe(int type,
-                       const content::NotificationSource& source,
-                       const content::NotificationDetails& details) override;
+  void Observe(int type,
+               const content::NotificationSource& source,
+               const content::NotificationDetails& details) override;
 
   // |window_controller| is NULL to indicate a focused window has lost focus.
   void OnActiveWindowChanged(WindowController* window_controller);
diff --git a/chrome/browser/extensions/api/top_sites/top_sites_api.h b/chrome/browser/extensions/api/top_sites/top_sites_api.h
index 395cc68..41b93ef 100644
--- a/chrome/browser/extensions/api/top_sites/top_sites_api.h
+++ b/chrome/browser/extensions/api/top_sites/top_sites_api.h
@@ -18,10 +18,10 @@
   TopSitesGetFunction();
 
  protected:
-  virtual ~TopSitesGetFunction();
+  ~TopSitesGetFunction() override;
 
   // ExtensionFunction:
-  virtual bool RunAsync() override;
+  bool RunAsync() override;
 
  private:
   void OnMostVisitedURLsAvailable(const history::MostVisitedURLList& data);
diff --git a/chrome/browser/extensions/api/top_sites/top_sites_apitest.cc b/chrome/browser/extensions/api/top_sites/top_sites_apitest.cc
index 9984623..0cb6427 100644
--- a/chrome/browser/extensions/api/top_sites/top_sites_apitest.cc
+++ b/chrome/browser/extensions/api/top_sites/top_sites_apitest.cc
@@ -22,7 +22,7 @@
   TopSitesExtensionTest() : top_sites_inited_(false), waiting_(false) {
   }
 
-  virtual void SetUpOnMainThread() override {
+  void SetUpOnMainThread() override {
     history::TopSites* top_sites = browser()->profile()->GetTopSites();
 
     // This may return async or sync. If sync, top_sites_inited_ will be true
diff --git a/chrome/browser/extensions/api/web_navigation/web_navigation_api.h b/chrome/browser/extensions/api/web_navigation/web_navigation_api.h
index 8f1d6a7..2680a082 100644
--- a/chrome/browser/extensions/api/web_navigation/web_navigation_api.h
+++ b/chrome/browser/extensions/api/web_navigation/web_navigation_api.h
@@ -35,7 +35,7 @@
       public content::WebContentsObserver,
       public content::WebContentsUserData<WebNavigationTabObserver> {
  public:
-  virtual ~WebNavigationTabObserver();
+  ~WebNavigationTabObserver() override;
 
   // Returns the object for the given |web_contents|.
   static WebNavigationTabObserver* Get(content::WebContents* web_contents);
@@ -47,49 +47,46 @@
   content::RenderViewHost* GetRenderViewHostInProcess(int process_id) const;
 
   // content::NotificationObserver implementation.
-  virtual void Observe(int type,
-                       const content::NotificationSource& source,
-                       const content::NotificationDetails& details) override;
+  void Observe(int type,
+               const content::NotificationSource& source,
+               const content::NotificationDetails& details) override;
 
   // content::WebContentsObserver implementation.
-  virtual void RenderFrameDeleted(
-      content::RenderFrameHost* render_frame_host) override;
-  virtual void RenderViewDeleted(
+  void RenderFrameDeleted(content::RenderFrameHost* render_frame_host) override;
+  void RenderViewDeleted(content::RenderViewHost* render_view_host) override;
+  void AboutToNavigateRenderView(
       content::RenderViewHost* render_view_host) override;
-  virtual void AboutToNavigateRenderView(
-      content::RenderViewHost* render_view_host) override;
-  virtual void DidStartProvisionalLoadForFrame(
+  void DidStartProvisionalLoadForFrame(
       content::RenderFrameHost* render_frame_host,
       const GURL& validated_url,
       bool is_error_page,
       bool is_iframe_srcdoc) override;
-  virtual void DidCommitProvisionalLoadForFrame(
+  void DidCommitProvisionalLoadForFrame(
       content::RenderFrameHost* render_frame_host,
       const GURL& url,
       ui::PageTransition transition_type) override;
-  virtual void DidFailProvisionalLoad(
-      content::RenderFrameHost* render_frame_host,
-      const GURL& validated_url,
-      int error_code,
-      const base::string16& error_description) override;
-  virtual void DocumentLoadedInFrame(
+  void DidFailProvisionalLoad(content::RenderFrameHost* render_frame_host,
+                              const GURL& validated_url,
+                              int error_code,
+                              const base::string16& error_description) override;
+  void DocumentLoadedInFrame(
       content::RenderFrameHost* render_frame_host) override;
-  virtual void DidFinishLoad(content::RenderFrameHost* render_frame_host,
-                             const GURL& validated_url) override;
-  virtual void DidFailLoad(content::RenderFrameHost* render_frame_host,
-                           const GURL& validated_url,
-                           int error_code,
-                           const base::string16& error_description) override;
-  virtual void DidGetRedirectForResourceRequest(
+  void DidFinishLoad(content::RenderFrameHost* render_frame_host,
+                     const GURL& validated_url) override;
+  void DidFailLoad(content::RenderFrameHost* render_frame_host,
+                   const GURL& validated_url,
+                   int error_code,
+                   const base::string16& error_description) override;
+  void DidGetRedirectForResourceRequest(
       content::RenderViewHost* render_view_host,
       const content::ResourceRedirectDetails& details) override;
-  virtual void DidOpenRequestedURL(content::WebContents* new_contents,
-                                   const GURL& url,
-                                   const content::Referrer& referrer,
-                                   WindowOpenDisposition disposition,
-                                   ui::PageTransition transition,
-                                   int64 source_frame_num) override;
-  virtual void WebContentsDestroyed() override;
+  void DidOpenRequestedURL(content::WebContents* new_contents,
+                           const GURL& url,
+                           const content::Referrer& referrer,
+                           WindowOpenDisposition disposition,
+                           ui::PageTransition transition,
+                           int64 source_frame_num) override;
+  void WebContentsDestroyed() override;
 
  private:
   explicit WebNavigationTabObserver(content::WebContents* web_contents);
@@ -132,7 +129,7 @@
                                  public content::NotificationObserver {
  public:
   explicit WebNavigationEventRouter(Profile* profile);
-  virtual ~WebNavigationEventRouter();
+  ~WebNavigationEventRouter() override;
 
  private:
   // Used to cache the information about newly created WebContents objects.
@@ -151,19 +148,19 @@
   };
 
   // TabStripModelObserver implementation.
-  virtual void TabReplacedAt(TabStripModel* tab_strip_model,
-                             content::WebContents* old_contents,
-                             content::WebContents* new_contents,
-                             int index) override;
+  void TabReplacedAt(TabStripModel* tab_strip_model,
+                     content::WebContents* old_contents,
+                     content::WebContents* new_contents,
+                     int index) override;
 
   // chrome::BrowserListObserver implementation.
-  virtual void OnBrowserAdded(Browser* browser) override;
-  virtual void OnBrowserRemoved(Browser* browser) override;
+  void OnBrowserAdded(Browser* browser) override;
+  void OnBrowserRemoved(Browser* browser) override;
 
   // content::NotificationObserver implementation.
-  virtual void Observe(int type,
-                       const content::NotificationSource& source,
-                       const content::NotificationDetails& details) override;
+  void Observe(int type,
+               const content::NotificationSource& source,
+               const content::NotificationDetails& details) override;
 
   // Handler for the NOTIFICATION_RETARGETING event. The method takes the
   // details of such an event and stores them for the later
@@ -193,15 +190,15 @@
 
 // API function that returns the state of a given frame.
 class WebNavigationGetFrameFunction : public ChromeSyncExtensionFunction {
-  virtual ~WebNavigationGetFrameFunction() {}
-  virtual bool RunSync() override;
+  ~WebNavigationGetFrameFunction() override {}
+  bool RunSync() override;
   DECLARE_EXTENSION_FUNCTION("webNavigation.getFrame", WEBNAVIGATION_GETFRAME)
 };
 
 // API function that returns the states of all frames in a given tab.
 class WebNavigationGetAllFramesFunction : public ChromeSyncExtensionFunction {
-  virtual ~WebNavigationGetAllFramesFunction() {}
-  virtual bool RunSync() override;
+  ~WebNavigationGetAllFramesFunction() override {}
+  bool RunSync() override;
   DECLARE_EXTENSION_FUNCTION("webNavigation.getAllFrames",
                              WEBNAVIGATION_GETALLFRAMES)
 };
@@ -210,17 +207,16 @@
                          public extensions::EventRouter::Observer {
  public:
   explicit WebNavigationAPI(content::BrowserContext* context);
-  virtual ~WebNavigationAPI();
+  ~WebNavigationAPI() override;
 
   // KeyedService implementation.
-  virtual void Shutdown() override;
+  void Shutdown() override;
 
   // BrowserContextKeyedAPI implementation.
   static BrowserContextKeyedAPIFactory<WebNavigationAPI>* GetFactoryInstance();
 
   // EventRouter::Observer implementation.
-  virtual void OnListenerAdded(const extensions::EventListenerInfo& details)
-      override;
+  void OnListenerAdded(const extensions::EventListenerInfo& details) override;
 
  private:
   friend class BrowserContextKeyedAPIFactory<WebNavigationAPI>;
diff --git a/chrome/browser/extensions/api/web_navigation/web_navigation_apitest.cc b/chrome/browser/extensions/api/web_navigation/web_navigation_apitest.cc
index 3fa8bd3..937e058d 100644
--- a/chrome/browser/extensions/api/web_navigation/web_navigation_apitest.cc
+++ b/chrome/browser/extensions/api/web_navigation/web_navigation_apitest.cc
@@ -119,11 +119,9 @@
     }
 
     // content::ResourceThrottle implementation.
-    virtual void WillStartRequest(bool* defer) override {
-      *defer = true;
-    }
+    void WillStartRequest(bool* defer) override { *defer = true; }
 
-    virtual const char* GetNameForLogging() const override {
+    const char* GetNameForLogging() const override {
       return "TestNavigationListener::Throttle";
     }
   };
@@ -163,11 +161,11 @@
                    content::NotificationService::AllSources());
     test_navigation_listener_->DelayRequestsForURL(delay_url_);
   }
-  virtual ~DelayLoadStartAndExecuteJavascript() {}
+  ~DelayLoadStartAndExecuteJavascript() override {}
 
-  virtual void Observe(int type,
-                       const content::NotificationSource& source,
-                       const content::NotificationDetails& details) override {
+  void Observe(int type,
+               const content::NotificationSource& source,
+               const content::NotificationDetails& details) override {
     if (type != chrome::NOTIFICATION_TAB_ADDED) {
       NOTREACHED();
       return;
@@ -177,7 +175,7 @@
     registrar_.RemoveAll();
   }
 
-  virtual void DidStartProvisionalLoadForFrame(
+  void DidStartProvisionalLoadForFrame(
       content::RenderFrameHost* render_frame_host,
       const GURL& validated_url,
       bool is_error_page,
@@ -189,7 +187,7 @@
     script_was_executed_ = true;
   }
 
-  virtual void DidCommitProvisionalLoadForFrame(
+  void DidCommitProvisionalLoadForFrame(
       content::RenderFrameHost* render_frame_host,
       const GURL& url,
       ui::PageTransition transition_type) override {
@@ -224,9 +222,9 @@
       : ChromeResourceDispatcherHostDelegate(prerender_tracker),
         test_navigation_listener_(test_navigation_listener) {
   }
-  virtual ~TestResourceDispatcherHostDelegate() {}
+  ~TestResourceDispatcherHostDelegate() override {}
 
-  virtual void RequestBeginning(
+  void RequestBeginning(
       net::URLRequest* request,
       content::ResourceContext* resource_context,
       content::AppCacheService* appcache_service,
@@ -258,7 +256,7 @@
   WebNavigationApiTest() {}
   virtual ~WebNavigationApiTest() {}
 
-  virtual void SetUpInProcessBrowserTestFixture() override {
+  void SetUpInProcessBrowserTestFixture() override {
     ExtensionApiTest::SetUpInProcessBrowserTestFixture();
 
     FrameNavigationState::set_allow_extension_scheme(true);
@@ -269,7 +267,7 @@
     host_resolver()->AddRule("*", "127.0.0.1");
   }
 
-  virtual void SetUpOnMainThread() override {
+  void SetUpOnMainThread() override {
     ExtensionApiTest::SetUpOnMainThread();
     test_navigation_listener_ = new TestNavigationListener();
     resource_dispatcher_host_delegate_.reset(
diff --git a/chrome/browser/extensions/api/web_request/chrome_extension_web_request_event_router_delegate.h b/chrome/browser/extensions/api/web_request/chrome_extension_web_request_event_router_delegate.h
index dfe80532..2233c59 100644
--- a/chrome/browser/extensions/api/web_request/chrome_extension_web_request_event_router_delegate.h
+++ b/chrome/browser/extensions/api/web_request/chrome_extension_web_request_event_router_delegate.h
@@ -13,20 +13,20 @@
   public extensions::WebRequestEventRouterDelegate {
  public:
   ChromeExtensionWebRequestEventRouterDelegate();
-  virtual ~ChromeExtensionWebRequestEventRouterDelegate();
+  ~ChromeExtensionWebRequestEventRouterDelegate() override;
 
   // WebRequestEventRouterDelegate implementation.
-  virtual void ExtractExtraRequestDetails(
-    net::URLRequest* request, base::DictionaryValue* out) override;
-  virtual bool OnGetMatchingListenersImplCheck(
-    int tab_id, int window_id, net::URLRequest* request) override;
-  virtual void LogExtensionActivity(
-    content::BrowserContext* browser_context,
-    bool is_incognito,
-    const std::string& extension_id,
-    const GURL& url,
-    const std::string& api_call,
-    scoped_ptr<base::DictionaryValue> details) override;
+  void ExtractExtraRequestDetails(net::URLRequest* request,
+                                  base::DictionaryValue* out) override;
+  bool OnGetMatchingListenersImplCheck(int tab_id,
+                                       int window_id,
+                                       net::URLRequest* request) override;
+  void LogExtensionActivity(content::BrowserContext* browser_context,
+                            bool is_incognito,
+                            const std::string& extension_id,
+                            const GURL& url,
+                            const std::string& api_call,
+                            scoped_ptr<base::DictionaryValue> details) override;
 };
 
 #endif  // CHROME_BROWSER_EXTENSIONS_API_WEB_REQUEST_CHROME_EXTENSION_WEB_REQUEST_EVENT_ROUTER_DELEGATE_H_
diff --git a/chrome/browser/extensions/api/web_request/web_request_api_unittest.cc b/chrome/browser/extensions/api/web_request/web_request_api_unittest.cc
index 867743c..07147515 100644
--- a/chrome/browser/extensions/api/web_request/web_request_api_unittest.cc
+++ b/chrome/browser/extensions/api/web_request/web_request_api_unittest.cc
@@ -157,7 +157,7 @@
 
  private:
   // IPC::Sender
-  virtual bool Send(IPC::Message* message) override {
+  bool Send(IPC::Message* message) override {
     EXPECT_EQ(ExtensionMsg_MessageInvoke::ID, message->type());
 
     EXPECT_FALSE(task_queue_.empty());
diff --git a/chrome/browser/extensions/api/web_request/web_request_apitest.cc b/chrome/browser/extensions/api/web_request/web_request_apitest.cc
index fdc8697..3201f0bd 100644
--- a/chrome/browser/extensions/api/web_request/web_request_apitest.cc
+++ b/chrome/browser/extensions/api/web_request/web_request_apitest.cc
@@ -39,11 +39,11 @@
                    content::NotificationService::AllSources());
   }
 
-  virtual ~CancelLoginDialog() {}
+  ~CancelLoginDialog() override {}
 
-  virtual void Observe(int type,
-                       const content::NotificationSource& source,
-                       const content::NotificationDetails& details) override {
+  void Observe(int type,
+               const content::NotificationSource& source,
+               const content::NotificationDetails& details) override {
     LoginHandler* handler =
         content::Details<LoginNotificationDetails>(details).ptr()->handler();
     handler->CancelAuth();
@@ -59,7 +59,7 @@
 
 class ExtensionWebRequestApiTest : public ExtensionApiTest {
  public:
-  virtual void SetUpInProcessBrowserTestFixture() override {
+  void SetUpInProcessBrowserTestFixture() override {
     ExtensionApiTest::SetUpInProcessBrowserTestFixture();
     host_resolver()->AddRule("*", "127.0.0.1");
   }
diff --git a/chrome/browser/extensions/api/web_view/chrome_web_view_internal_api.h b/chrome/browser/extensions/api/web_view/chrome_web_view_internal_api.h
index 70dfad0..823ea61 100644
--- a/chrome/browser/extensions/api/web_view/chrome_web_view_internal_api.h
+++ b/chrome/browser/extensions/api/web_view/chrome_web_view_internal_api.h
@@ -23,10 +23,10 @@
   ChromeWebViewInternalContextMenusCreateFunction() {}
 
  protected:
-  virtual ~ChromeWebViewInternalContextMenusCreateFunction() {}
+  ~ChromeWebViewInternalContextMenusCreateFunction() override {}
 
   // ExtensionFunction implementation.
-  virtual bool RunAsync() override;
+  bool RunAsync() override;
 
  private:
   DISALLOW_COPY_AND_ASSIGN(ChromeWebViewInternalContextMenusCreateFunction);
@@ -40,10 +40,10 @@
   ChromeWebViewInternalContextMenusUpdateFunction() {}
 
  protected:
-  virtual ~ChromeWebViewInternalContextMenusUpdateFunction() {}
+  ~ChromeWebViewInternalContextMenusUpdateFunction() override {}
 
   // ExtensionFunction implementation.
-  virtual bool RunAsync() override;
+  bool RunAsync() override;
 
  private:
   DISALLOW_COPY_AND_ASSIGN(ChromeWebViewInternalContextMenusUpdateFunction);
@@ -57,10 +57,10 @@
   ChromeWebViewInternalContextMenusRemoveFunction() {}
 
  protected:
-  virtual ~ChromeWebViewInternalContextMenusRemoveFunction() {}
+  ~ChromeWebViewInternalContextMenusRemoveFunction() override {}
 
   // ExtensionFunction implementation.
-  virtual bool RunAsync() override;
+  bool RunAsync() override;
 
  private:
   DISALLOW_COPY_AND_ASSIGN(ChromeWebViewInternalContextMenusRemoveFunction);
@@ -74,10 +74,10 @@
   ChromeWebViewInternalContextMenusRemoveAllFunction() {}
 
  protected:
-  virtual ~ChromeWebViewInternalContextMenusRemoveAllFunction() {}
+  ~ChromeWebViewInternalContextMenusRemoveAllFunction() override {}
 
   // ExtensionFunction implementation.
-  virtual bool RunAsync() override;
+  bool RunAsync() override;
 
  private:
   DISALLOW_COPY_AND_ASSIGN(ChromeWebViewInternalContextMenusRemoveAllFunction);
@@ -92,11 +92,11 @@
   ChromeWebViewInternalShowContextMenuFunction();
 
  protected:
-  virtual ~ChromeWebViewInternalShowContextMenuFunction();
+  ~ChromeWebViewInternalShowContextMenuFunction() override;
 
  private:
   // WebViewInternalExtensionFunction implementation.
-  virtual bool RunAsyncSafe(WebViewGuest* guest) override;
+  bool RunAsyncSafe(WebViewGuest* guest) override;
 
   DISALLOW_COPY_AND_ASSIGN(ChromeWebViewInternalShowContextMenuFunction);
 };
diff --git a/chrome/browser/extensions/api/webrtc_audio_private/webrtc_audio_private_api.h b/chrome/browser/extensions/api/webrtc_audio_private/webrtc_audio_private_api.h
index b73cb516d..efc2d98 100644
--- a/chrome/browser/extensions/api/webrtc_audio_private/webrtc_audio_private_api.h
+++ b/chrome/browser/extensions/api/webrtc_audio_private/webrtc_audio_private_api.h
@@ -26,17 +26,16 @@
       public base::SystemMonitor::DevicesChangedObserver {
  public:
   explicit WebrtcAudioPrivateEventService(content::BrowserContext* context);
-  virtual ~WebrtcAudioPrivateEventService();
+  ~WebrtcAudioPrivateEventService() override;
 
   // BrowserContextKeyedAPI implementation.
-  virtual void Shutdown() override;
+  void Shutdown() override;
   static BrowserContextKeyedAPIFactory<WebrtcAudioPrivateEventService>*
       GetFactoryInstance();
   static const char* service_name();
 
   // base::SystemMonitor::DevicesChangedObserver implementation.
-  virtual void OnDevicesChanged(
-      base::SystemMonitor::DeviceType device_type) override;
+  void OnDevicesChanged(base::SystemMonitor::DeviceType device_type) override;
 
  private:
   friend class BrowserContextKeyedAPIFactory<WebrtcAudioPrivateEventService>;
@@ -51,7 +50,7 @@
 class WebrtcAudioPrivateFunction : public ChromeAsyncExtensionFunction {
  protected:
   WebrtcAudioPrivateFunction();
-  virtual ~WebrtcAudioPrivateFunction();
+  ~WebrtcAudioPrivateFunction() override;
 
  protected:
   // Retrieves the list of output device names on the appropriate
@@ -108,7 +107,7 @@
 
 class WebrtcAudioPrivateGetSinksFunction : public WebrtcAudioPrivateFunction {
  protected:
-  virtual ~WebrtcAudioPrivateGetSinksFunction() {}
+  ~WebrtcAudioPrivateGetSinksFunction() override {}
 
  private:
   DECLARE_EXTENSION_FUNCTION("webrtcAudioPrivate.getSinks",
@@ -117,9 +116,9 @@
   // Sequence of events is that we query the list of sinks on the
   // AudioManager's thread, then calculate HMACs on the IO thread,
   // then finish on the UI thread.
-  virtual bool RunAsync() override;
+  bool RunAsync() override;
   void DoQuery();
-  virtual void OnOutputDeviceNames(
+  void OnOutputDeviceNames(
       scoped_ptr<media::AudioDeviceNames> raw_ids) override;
   void DoneOnUIThread();
 };
@@ -127,17 +126,17 @@
 class WebrtcAudioPrivateGetActiveSinkFunction
     : public WebrtcAudioPrivateFunction {
  protected:
-  virtual ~WebrtcAudioPrivateGetActiveSinkFunction() {}
+  ~WebrtcAudioPrivateGetActiveSinkFunction() override {}
 
  private:
   DECLARE_EXTENSION_FUNCTION("webrtcAudioPrivate.getActiveSink",
                              WEBRTC_AUDIO_PRIVATE_GET_ACTIVE_SINK);
 
-  virtual bool RunAsync() override;
-  virtual void OnControllerList(
-      const content::RenderViewHost::AudioOutputControllerList&
-      controllers) override;
-  virtual void OnHMACCalculated(const std::string& hmac) override;
+  bool RunAsync() override;
+  void OnControllerList(
+      const content::RenderViewHost::AudioOutputControllerList& controllers)
+      override;
+  void OnHMACCalculated(const std::string& hmac) override;
 };
 
 class WebrtcAudioPrivateSetActiveSinkFunction
@@ -146,17 +145,17 @@
   WebrtcAudioPrivateSetActiveSinkFunction();
 
  protected:
-  virtual ~WebrtcAudioPrivateSetActiveSinkFunction();
+  ~WebrtcAudioPrivateSetActiveSinkFunction() override;
 
  private:
   DECLARE_EXTENSION_FUNCTION("webrtcAudioPrivate.setActiveSink",
                              WEBRTC_AUDIO_PRIVATE_SET_ACTIVE_SINK);
 
-  virtual bool RunAsync() override;
-  virtual void OnControllerList(
-      const content::RenderViewHost::AudioOutputControllerList&
-      controllers) override;
-  virtual void OnOutputDeviceNames(
+  bool RunAsync() override;
+  void OnControllerList(
+      const content::RenderViewHost::AudioOutputControllerList& controllers)
+      override;
+  void OnOutputDeviceNames(
       scoped_ptr<media::AudioDeviceNames> device_names) override;
   void SwitchDone();
   void DoneOnUIThread();
@@ -178,13 +177,13 @@
   WebrtcAudioPrivateGetAssociatedSinkFunction();
 
  protected:
-  virtual ~WebrtcAudioPrivateGetAssociatedSinkFunction();
+  ~WebrtcAudioPrivateGetAssociatedSinkFunction() override;
 
  private:
   DECLARE_EXTENSION_FUNCTION("webrtcAudioPrivate.getAssociatedSink",
                              WEBRTC_AUDIO_PRIVATE_GET_ASSOCIATED_SINK);
 
-  virtual bool RunAsync() override;
+  bool RunAsync() override;
 
   // This implementation is slightly complicated because of different
   // thread requirements for the various functions we need to invoke.
@@ -215,7 +214,7 @@
   void GetAssociatedSinkOnDeviceThread(const std::string& raw_source_id);
 
   // Receives the associated sink ID after its HMAC is calculated.
-  virtual void OnHMACCalculated(const std::string& hmac) override;
+  void OnHMACCalculated(const std::string& hmac) override;
 
   // Accessed from UI thread and device thread, but only on one at a
   // time, no locking needed.
diff --git a/chrome/browser/extensions/api/webrtc_audio_private/webrtc_audio_private_browsertest.cc b/chrome/browser/extensions/api/webrtc_audio_private/webrtc_audio_private_browsertest.cc
index a5b537d9..d486ac6 100644
--- a/chrome/browser/extensions/api/webrtc_audio_private/webrtc_audio_private_browsertest.cc
+++ b/chrome/browser/extensions/api/webrtc_audio_private/webrtc_audio_private_browsertest.cc
@@ -77,7 +77,7 @@
       : enumeration_event_(false, false) {
   }
 
-  virtual void SetUpOnMainThread() override {
+  void SetUpOnMainThread() override {
     AudioWaitingExtensionTest::SetUpOnMainThread();
     // Needs to happen after chrome's schemes are added.
     source_url_ = GURL("chrome-extension://fakeid012345678/fakepage.html");
diff --git a/chrome/browser/extensions/api/webrtc_logging_private/webrtc_logging_private_api.h b/chrome/browser/extensions/api/webrtc_logging_private/webrtc_logging_private_api.h
index d8e4870..747c7ef9 100644
--- a/chrome/browser/extensions/api/webrtc_logging_private/webrtc_logging_private_api.h
+++ b/chrome/browser/extensions/api/webrtc_logging_private/webrtc_logging_private_api.h
@@ -19,7 +19,7 @@
 // TODO(grunell). Merge this with WebrtcAudioPrivateTabIdFunction.
 class WebrtcLoggingPrivateTabIdFunction : public ChromeAsyncExtensionFunction {
  protected:
-  virtual ~WebrtcLoggingPrivateTabIdFunction() {}
+  ~WebrtcLoggingPrivateTabIdFunction() override {}
 
   content::RenderProcessHost* RphFromTabIdAndSecurityOrigin(
       int tab_id, const std::string& security_origin);
@@ -33,10 +33,10 @@
   WebrtcLoggingPrivateSetMetaDataFunction();
 
  private:
-  virtual ~WebrtcLoggingPrivateSetMetaDataFunction();
+  ~WebrtcLoggingPrivateSetMetaDataFunction() override;
 
   // ExtensionFunction overrides.
-  virtual bool RunAsync() override;
+  bool RunAsync() override;
 
   // Must be called on UI thread.
   void SetMetaDataCallback(bool success, const std::string& error_message);
@@ -50,10 +50,10 @@
   WebrtcLoggingPrivateStartFunction();
 
  private:
-  virtual ~WebrtcLoggingPrivateStartFunction();
+  ~WebrtcLoggingPrivateStartFunction() override;
 
   // ExtensionFunction overrides.
-  virtual bool RunAsync() override;
+  bool RunAsync() override;
 
   // Must be called on UI thread.
   void StartCallback(bool success, const std::string& error_message);
@@ -67,10 +67,10 @@
   WebrtcLoggingPrivateSetUploadOnRenderCloseFunction();
 
  private:
-  virtual ~WebrtcLoggingPrivateSetUploadOnRenderCloseFunction();
+  ~WebrtcLoggingPrivateSetUploadOnRenderCloseFunction() override;
 
   // ExtensionFunction overrides.
-  virtual bool RunAsync() override;
+  bool RunAsync() override;
 };
 
 class WebrtcLoggingPrivateStopFunction
@@ -81,10 +81,10 @@
   WebrtcLoggingPrivateStopFunction();
 
  private:
-  virtual ~WebrtcLoggingPrivateStopFunction();
+  ~WebrtcLoggingPrivateStopFunction() override;
 
   // ExtensionFunction overrides.
-  virtual bool RunAsync() override;
+  bool RunAsync() override;
 
   // Must be called on UI thread.
   void StopCallback(bool success, const std::string& error_message);
@@ -98,10 +98,10 @@
   WebrtcLoggingPrivateUploadFunction();
 
  private:
-  virtual ~WebrtcLoggingPrivateUploadFunction();
+  ~WebrtcLoggingPrivateUploadFunction() override;
 
   // ExtensionFunction overrides.
-  virtual bool RunAsync() override;
+  bool RunAsync() override;
 
   // Must be called on UI thread.
   void UploadCallback(bool success, const std::string& report_id,
@@ -116,10 +116,10 @@
   WebrtcLoggingPrivateDiscardFunction();
 
  private:
-  virtual ~WebrtcLoggingPrivateDiscardFunction();
+  ~WebrtcLoggingPrivateDiscardFunction() override;
 
   // ExtensionFunction overrides.
-  virtual bool RunAsync() override;
+  bool RunAsync() override;
 
   // Must be called on UI thread.
   void DiscardCallback(bool success, const std::string& error_message);
@@ -133,10 +133,10 @@
   WebrtcLoggingPrivateStartRtpDumpFunction();
 
  private:
-  virtual ~WebrtcLoggingPrivateStartRtpDumpFunction();
+  ~WebrtcLoggingPrivateStartRtpDumpFunction() override;
 
   // ExtensionFunction overrides.
-  virtual bool RunAsync() override;
+  bool RunAsync() override;
 
   // Must be called on UI thread.
   void StartRtpDumpCallback(bool success, const std::string& error_message);
@@ -150,10 +150,10 @@
   WebrtcLoggingPrivateStopRtpDumpFunction();
 
  private:
-  virtual ~WebrtcLoggingPrivateStopRtpDumpFunction();
+  ~WebrtcLoggingPrivateStopRtpDumpFunction() override;
 
   // ExtensionFunction overrides.
-  virtual bool RunAsync() override;
+  bool RunAsync() override;
 
   // Must be called on UI thread.
   void StopRtpDumpCallback(bool success, const std::string& error_message);
diff --git a/chrome/browser/extensions/api/webstore/webstore_api.h b/chrome/browser/extensions/api/webstore/webstore_api.h
index f5ecc50a..8581026 100644
--- a/chrome/browser/extensions/api/webstore/webstore_api.h
+++ b/chrome/browser/extensions/api/webstore/webstore_api.h
@@ -34,7 +34,7 @@
                     public InstallObserver {
  public:
   explicit WebstoreAPI(content::BrowserContext* browser_context);
-  virtual ~WebstoreAPI();
+  ~WebstoreAPI() override;
 
   static WebstoreAPI* Get(content::BrowserContext* browser_context);
 
@@ -76,15 +76,14 @@
                        ObservedInstallInfoList* listeners);
 
   // InstallObserver implementation.
-  virtual void OnBeginExtensionDownload(const std::string& extension_id)
-      override;
-  virtual void OnDownloadProgress(const std::string& extension_id,
-                                  int percent_downloaded) override;
-  virtual void OnBeginCrxInstall(const std::string& extension_id) override;
-  virtual void OnShutdown() override;
+  void OnBeginExtensionDownload(const std::string& extension_id) override;
+  void OnDownloadProgress(const std::string& extension_id,
+                          int percent_downloaded) override;
+  void OnBeginCrxInstall(const std::string& extension_id) override;
+  void OnShutdown() override;
 
   // BrowserContextKeyedService implementation.
-  virtual void Shutdown() override;
+  void Shutdown() override;
 
   // BrowserContextKeyedAPI implementation.
   static const char* service_name() { return "WebstoreAPI"; }
diff --git a/chrome/browser/extensions/api/webstore_private/webstore_private_api.h b/chrome/browser/extensions/api/webstore_private/webstore_private_api.h
index 437ad3dc..7bad7c7 100644
--- a/chrome/browser/extensions/api/webstore_private/webstore_private_api.h
+++ b/chrome/browser/extensions/api/webstore_private/webstore_private_api.h
@@ -54,15 +54,15 @@
   WebstorePrivateInstallBundleFunction();
 
   // BundleInstaller::Delegate:
-  virtual void OnBundleInstallApproved() override;
-  virtual void OnBundleInstallCanceled(bool user_initiated) override;
-  virtual void OnBundleInstallCompleted() override;
+  void OnBundleInstallApproved() override;
+  void OnBundleInstallCanceled(bool user_initiated) override;
+  void OnBundleInstallCompleted() override;
 
  protected:
-  virtual ~WebstorePrivateInstallBundleFunction();
+  ~WebstorePrivateInstallBundleFunction() override;
 
   // ExtensionFunction:
-  virtual bool RunAsync() override;
+  bool RunAsync() override;
 
   // Reads the extension |details| into |items|.
   bool ReadBundleInfo(
@@ -115,24 +115,22 @@
   WebstorePrivateBeginInstallWithManifest3Function();
 
   // WebstoreInstallHelper::Delegate:
-  virtual void OnWebstoreParseSuccess(
-      const std::string& id,
-      const SkBitmap& icon,
-      base::DictionaryValue* parsed_manifest) override;
-  virtual void OnWebstoreParseFailure(
-      const std::string& id,
-      InstallHelperResultCode result_code,
-      const std::string& error_message) override;
+  void OnWebstoreParseSuccess(const std::string& id,
+                              const SkBitmap& icon,
+                              base::DictionaryValue* parsed_manifest) override;
+  void OnWebstoreParseFailure(const std::string& id,
+                              InstallHelperResultCode result_code,
+                              const std::string& error_message) override;
 
   // ExtensionInstallPrompt::Delegate:
-  virtual void InstallUIProceed() override;
-  virtual void InstallUIAbort(bool user_initiated) override;
+  void InstallUIProceed() override;
+  void InstallUIAbort(bool user_initiated) override;
 
  protected:
-  virtual ~WebstorePrivateBeginInstallWithManifest3Function();
+  ~WebstorePrivateBeginInstallWithManifest3Function() override;
 
   // ExtensionFunction:
-  virtual bool RunAsync() override;
+  bool RunAsync() override;
 
   // Sets the result_ as a string based on |code|.
   void SetResultCode(ResultCode code);
@@ -171,17 +169,17 @@
   WebstorePrivateCompleteInstallFunction();
 
   // WebstoreInstaller::Delegate:
-  virtual void OnExtensionInstallSuccess(const std::string& id) override;
-  virtual void OnExtensionInstallFailure(
+  void OnExtensionInstallSuccess(const std::string& id) override;
+  void OnExtensionInstallFailure(
       const std::string& id,
       const std::string& error,
       WebstoreInstaller::FailureReason reason) override;
 
  protected:
-  virtual ~WebstorePrivateCompleteInstallFunction();
+  ~WebstorePrivateCompleteInstallFunction() override;
 
   // ExtensionFunction:
-  virtual bool RunAsync() override;
+  bool RunAsync() override;
 
  private:
   scoped_ptr<WebstoreInstaller::Approval> approval_;
@@ -199,10 +197,10 @@
   WebstorePrivateEnableAppLauncherFunction();
 
  protected:
-  virtual ~WebstorePrivateEnableAppLauncherFunction();
+  ~WebstorePrivateEnableAppLauncherFunction() override;
 
   // ExtensionFunction:
-  virtual bool RunSync() override;
+  bool RunSync() override;
 };
 
 class WebstorePrivateGetBrowserLoginFunction
@@ -212,10 +210,10 @@
                              WEBSTOREPRIVATE_GETBROWSERLOGIN)
 
  protected:
-  virtual ~WebstorePrivateGetBrowserLoginFunction() {}
+  ~WebstorePrivateGetBrowserLoginFunction() override {}
 
   // ExtensionFunction:
-  virtual bool RunSync() override;
+  bool RunSync() override;
 };
 
 class WebstorePrivateGetStoreLoginFunction
@@ -225,10 +223,10 @@
                              WEBSTOREPRIVATE_GETSTORELOGIN)
 
  protected:
-  virtual ~WebstorePrivateGetStoreLoginFunction() {}
+  ~WebstorePrivateGetStoreLoginFunction() override {}
 
   // ExtensionFunction:
-  virtual bool RunSync() override;
+  bool RunSync() override;
 };
 
 class WebstorePrivateSetStoreLoginFunction
@@ -238,10 +236,10 @@
                              WEBSTOREPRIVATE_SETSTORELOGIN)
 
  protected:
-  virtual ~WebstorePrivateSetStoreLoginFunction() {}
+  ~WebstorePrivateSetStoreLoginFunction() override {}
 
   // ExtensionFunction:
-  virtual bool RunSync() override;
+  bool RunSync() override;
 };
 
 class WebstorePrivateGetWebGLStatusFunction
@@ -253,12 +251,12 @@
   WebstorePrivateGetWebGLStatusFunction();
 
  protected:
-  virtual ~WebstorePrivateGetWebGLStatusFunction();
+  ~WebstorePrivateGetWebGLStatusFunction() override;
 
   void OnFeatureCheck(bool feature_allowed);
 
   // ExtensionFunction:
-  virtual bool RunAsync() override;
+  bool RunAsync() override;
 
  private:
   void CreateResult(bool webgl_allowed);
@@ -275,10 +273,10 @@
   WebstorePrivateGetIsLauncherEnabledFunction() {}
 
  protected:
-  virtual ~WebstorePrivateGetIsLauncherEnabledFunction() {}
+  ~WebstorePrivateGetIsLauncherEnabledFunction() override {}
 
   // ExtensionFunction:
-  virtual bool RunSync() override;
+  bool RunSync() override;
 
  private:
   void OnIsLauncherCheckCompleted(bool is_enabled);
@@ -293,10 +291,10 @@
   WebstorePrivateIsInIncognitoModeFunction() {}
 
  protected:
-  virtual ~WebstorePrivateIsInIncognitoModeFunction() {}
+  ~WebstorePrivateIsInIncognitoModeFunction() override {}
 
   // ExtensionFunction:
-  virtual bool RunSync() override;
+  bool RunSync() override;
 };
 
 class WebstorePrivateLaunchEphemeralAppFunction
@@ -308,10 +306,10 @@
   WebstorePrivateLaunchEphemeralAppFunction();
 
  protected:
-  virtual ~WebstorePrivateLaunchEphemeralAppFunction();
+  ~WebstorePrivateLaunchEphemeralAppFunction() override;
 
   // ExtensionFunction:
-  virtual bool RunAsync() override;
+  bool RunAsync() override;
 
  private:
   void OnLaunchComplete(webstore_install::Result result,
@@ -330,10 +328,10 @@
   WebstorePrivateGetEphemeralAppsEnabledFunction();
 
  protected:
-  virtual ~WebstorePrivateGetEphemeralAppsEnabledFunction();
+  ~WebstorePrivateGetEphemeralAppsEnabledFunction() override;
 
   // ExtensionFunction:
-  virtual bool RunSync() override;
+  bool RunSync() override;
 };
 
 }  // namespace extensions
diff --git a/chrome/browser/extensions/api/webstore_private/webstore_private_apitest.cc b/chrome/browser/extensions/api/webstore_private/webstore_private_apitest.cc
index 0074b70..a462e58 100644
--- a/chrome/browser/extensions/api/webstore_private/webstore_private_apitest.cc
+++ b/chrome/browser/extensions/api/webstore_private/webstore_private_apitest.cc
@@ -45,7 +45,7 @@
   WebstoreInstallListener()
       : received_failure_(false), received_success_(false), waiting_(false) {}
 
-  virtual void OnExtensionInstallSuccess(const std::string& id) override {
+  void OnExtensionInstallSuccess(const std::string& id) override {
     received_success_ = true;
     id_ = id;
 
@@ -55,7 +55,7 @@
     }
   }
 
-  virtual void OnExtensionInstallFailure(
+  void OnExtensionInstallFailure(
       const std::string& id,
       const std::string& error,
       WebstoreInstaller::FailureReason reason) override {
@@ -95,14 +95,14 @@
   ExtensionWebstorePrivateApiTest() {}
   virtual ~ExtensionWebstorePrivateApiTest() {}
 
-  virtual void SetUpCommandLine(CommandLine* command_line) override {
+  void SetUpCommandLine(CommandLine* command_line) override {
     ExtensionApiTest::SetUpCommandLine(command_line);
     command_line->AppendSwitchASCII(
         switches::kAppsGalleryURL,
         "http://www.example.com/files/extensions/api_test");
   }
 
-  virtual void SetUpInProcessBrowserTestFixture() override {
+  void SetUpInProcessBrowserTestFixture() override {
     ExtensionApiTest::SetUpInProcessBrowserTestFixture();
 
     // Start up the test server and get us ready for calling the install
@@ -112,7 +112,7 @@
     extensions::ExtensionInstallUI::set_disable_failure_ui_for_tests();
   }
 
-  virtual void SetUpOnMainThread() override {
+  void SetUpOnMainThread() override {
     ExtensionApiTest::SetUpOnMainThread();
 
     ExtensionInstallPrompt::g_auto_confirm_for_tests =
@@ -398,7 +398,7 @@
 class EphemeralAppWebstorePrivateApiTest
     : public ExtensionWebstorePrivateApiTest {
  public:
-  virtual void SetUpInProcessBrowserTestFixture() override {
+  void SetUpInProcessBrowserTestFixture() override {
     ExtensionWebstorePrivateApiTest::SetUpInProcessBrowserTestFixture();
 
     net::HostPortPair host_port = test_server()->host_port_pair();
@@ -410,7 +410,7 @@
         switches::kAppsGalleryURL, test_gallery_url);
   }
 
-  virtual GURL GetTestServerURL(const std::string& path) override {
+  GURL GetTestServerURL(const std::string& path) override {
     return DoGetTestServerURL(
         std::string("files/extensions/platform_apps/ephemeral_launcher/") +
         path);
diff --git a/chrome/browser/extensions/app_background_page_apitest.cc b/chrome/browser/extensions/app_background_page_apitest.cc
index 3362922..20beade 100644
--- a/chrome/browser/extensions/app_background_page_apitest.cc
+++ b/chrome/browser/extensions/app_background_page_apitest.cc
@@ -42,7 +42,7 @@
 
 class AppBackgroundPageApiTest : public ExtensionApiTest {
  public:
-  virtual void SetUpCommandLine(CommandLine* command_line) override {
+  void SetUpCommandLine(CommandLine* command_line) override {
     ExtensionApiTest::SetUpCommandLine(command_line);
     command_line->AppendSwitch(switches::kDisablePopupBlocking);
     command_line->AppendSwitch(extensions::switches::kAllowHTTPBackgroundPage);
@@ -129,7 +129,7 @@
   virtual ~AppBackgroundPageNaClTest() {
   }
 
-  virtual void SetUpOnMainThread() override {
+  void SetUpOnMainThread() override {
     AppBackgroundPageApiTest::SetUpOnMainThread();
 #if !defined(DISABLE_NACL)
     nacl::NaClProcessHost::SetPpapiKeepAliveThrottleForTesting(50);
diff --git a/chrome/browser/extensions/app_icon_loader_impl.h b/chrome/browser/extensions/app_icon_loader_impl.h
index 10504cc..4ed1635 100644
--- a/chrome/browser/extensions/app_icon_loader_impl.h
+++ b/chrome/browser/extensions/app_icon_loader_impl.h
@@ -23,16 +23,15 @@
  public:
   AppIconLoaderImpl(Profile* profile, int icon_size,
                     AppIconLoader::Delegate* delegate);
-  virtual ~AppIconLoaderImpl();
+  ~AppIconLoaderImpl() override;
 
   // AppIconLoader overrides:
-  virtual void FetchImage(const std::string& id) override;
-  virtual void ClearImage(const std::string& id) override;
-  virtual void UpdateImage(const std::string& id) override;
+  void FetchImage(const std::string& id) override;
+  void ClearImage(const std::string& id) override;
+  void UpdateImage(const std::string& id) override;
 
   // extensions::IconImage::Observer overrides:
-  virtual void OnExtensionIconImageChanged(
-      extensions::IconImage* image) override;
+  void OnExtensionIconImageChanged(extensions::IconImage* image) override;
 
  private:
   typedef std::map<extensions::IconImage*, std::string> ImageToExtensionIDMap;
diff --git a/chrome/browser/extensions/app_process_apitest.cc b/chrome/browser/extensions/app_process_apitest.cc
index f2bd7723..2ce3d90 100644
--- a/chrome/browser/extensions/app_process_apitest.cc
+++ b/chrome/browser/extensions/app_process_apitest.cc
@@ -57,7 +57,7 @@
   }
 
   // Pass flags to make testing apps easier.
-  virtual void SetUpCommandLine(CommandLine* command_line) override {
+  void SetUpCommandLine(CommandLine* command_line) override {
     ExtensionApiTest::SetUpCommandLine(command_line);
     CommandLine::ForCurrentProcess()->AppendSwitch(
         switches::kDisablePopupBlocking);
@@ -134,7 +134,7 @@
 // Omits the disable-popup-blocking flag so we can cover that case.
 class BlockedAppApiTest : public AppApiTest {
  protected:
-  virtual void SetUpCommandLine(CommandLine* command_line) override {
+  void SetUpCommandLine(CommandLine* command_line) override {
     ExtensionApiTest::SetUpCommandLine(command_line);
     CommandLine::ForCurrentProcess()->AppendSwitch(
         extensions::switches::kAllowHTTPBackgroundPage);
diff --git a/chrome/browser/extensions/app_sync_bundle.h b/chrome/browser/extensions/app_sync_bundle.h
index b13f84c..b79a1ed 100644
--- a/chrome/browser/extensions/app_sync_bundle.h
+++ b/chrome/browser/extensions/app_sync_bundle.h
@@ -32,7 +32,7 @@
 class AppSyncBundle : public SyncBundle {
  public:
   explicit AppSyncBundle(ExtensionSyncService* extension_sync_service);
-  virtual ~AppSyncBundle();
+  ~AppSyncBundle() override;
 
   // Setup this bundle to be sync application data.
   void SetupSync(syncer::SyncChangeProcessor* sync_proccessor,
@@ -80,10 +80,10 @@
 
   // Overrides for SyncBundle.
   // Returns true if SetupSync has been called, false otherwise.
-  virtual bool IsSyncing() const override;
+  bool IsSyncing() const override;
 
   // Sync a newly-installed application or change an existing one.
-  virtual void SyncChangeIfNeeded(const Extension& extension) override;
+  void SyncChangeIfNeeded(const Extension& extension) override;
 
  private:
   // Add a synced app.
diff --git a/chrome/browser/extensions/background_app_browsertest.cc b/chrome/browser/extensions/background_app_browsertest.cc
index 1b4bff2..aa151047 100644
--- a/chrome/browser/extensions/background_app_browsertest.cc
+++ b/chrome/browser/extensions/background_app_browsertest.cc
@@ -15,9 +15,9 @@
       : BackgroundModeManager(command_line, profile_cache),
         showed_background_app_installed_notification_for_test_(false) {}
 
-  virtual ~TestBackgroundModeManager() {}
+  ~TestBackgroundModeManager() override {}
 
-  virtual void DisplayAppInstalledNotification(
+  void DisplayAppInstalledNotification(
       const extensions::Extension* extension) override {
     showed_background_app_installed_notification_for_test_ = true;
   }
diff --git a/chrome/browser/extensions/blacklist.cc b/chrome/browser/extensions/blacklist.cc
index 98e29599..456a6d8 100644
--- a/chrome/browser/extensions/blacklist.cc
+++ b/chrome/browser/extensions/blacklist.cc
@@ -84,7 +84,7 @@
 
  private:
   friend class base::RefCountedThreadSafe<SafeBrowsingClientImpl>;
-  virtual ~SafeBrowsingClientImpl() {}
+  ~SafeBrowsingClientImpl() override {}
 
   // Pass |database_manager| as a parameter to avoid touching
   // SafeBrowsingService on the IO thread.
@@ -103,8 +103,7 @@
     AddRef();  // Balanced in OnCheckExtensionsResult
   }
 
-  virtual void OnCheckExtensionsResult(
-      const std::set<std::string>& hits) override {
+  void OnCheckExtensionsResult(const std::set<std::string>& hits) override {
     DCHECK_CURRENTLY_ON(BrowserThread::IO);
     callback_message_loop_->PostTask(FROM_HERE, base::Bind(callback_, hits));
     Release();  // Balanced in StartCheck.
diff --git a/chrome/browser/extensions/blacklist.h b/chrome/browser/extensions/blacklist.h
index 9d8f00e..4b9d0bf 100644
--- a/chrome/browser/extensions/blacklist.h
+++ b/chrome/browser/extensions/blacklist.h
@@ -69,7 +69,7 @@
 
   explicit Blacklist(ExtensionPrefs* prefs);
 
-  virtual ~Blacklist();
+  ~Blacklist() override;
 
   // From the set of extension IDs passed in via |ids|, asynchronously checks
   // which are blacklisted and includes them in the resulting map passed
@@ -112,9 +112,9 @@
   static scoped_refptr<SafeBrowsingDatabaseManager> GetDatabaseManager();
 
   // content::NotificationObserver
-  virtual void Observe(int type,
-                       const content::NotificationSource& source,
-                       const content::NotificationDetails& details) override;
+  void Observe(int type,
+               const content::NotificationSource& source,
+               const content::NotificationDetails& details) override;
 
   void GetBlacklistStateForIDs(const GetBlacklistedIDsCallback& callback,
                                const std::set<std::string>& blacklisted_ids);
diff --git a/chrome/browser/extensions/blacklist_state_fetcher.cc b/chrome/browser/extensions/blacklist_state_fetcher.cc
index df14b4a..3af0bc5 100644
--- a/chrome/browser/extensions/blacklist_state_fetcher.cc
+++ b/chrome/browser/extensions/blacklist_state_fetcher.cc
@@ -46,18 +46,18 @@
                             base::Bind(callback, context_getter));
   }
 
-  virtual net::URLRequestContext* GetURLRequestContext() override {
+  net::URLRequestContext* GetURLRequestContext() override {
     DCHECK_CURRENTLY_ON(BrowserThread::IO);
     return url_request_context_.get();
   }
 
-  virtual scoped_refptr<base::SingleThreadTaskRunner> GetNetworkTaskRunner()
+  scoped_refptr<base::SingleThreadTaskRunner> GetNetworkTaskRunner()
       const override {
     return network_task_runner_;
   }
 
  protected:
-  virtual ~BlacklistRequestContextGetter() {
+  ~BlacklistRequestContextGetter() override {
     url_request_context_->AssertNoURLRequests();
   }
 
diff --git a/chrome/browser/extensions/blacklist_state_fetcher.h b/chrome/browser/extensions/blacklist_state_fetcher.h
index 9fb4f8f..b95e322e 100644
--- a/chrome/browser/extensions/blacklist_state_fetcher.h
+++ b/chrome/browser/extensions/blacklist_state_fetcher.h
@@ -28,7 +28,7 @@
 
   BlacklistStateFetcher();
 
-  virtual ~BlacklistStateFetcher();
+  ~BlacklistStateFetcher() override;
 
   virtual void Request(const std::string& id, const RequestCallback& callback);
 
@@ -39,7 +39,7 @@
 
  protected:
   // net::URLFetcherDelegate interface.
-  virtual void OnURLFetchComplete(const net::URLFetcher* source) override;
+  void OnURLFetchComplete(const net::URLFetcher* source) override;
 
  private:
   typedef std::multimap<std::string, RequestCallback> CallbackMultiMap;
diff --git a/chrome/browser/extensions/blob_reader.h b/chrome/browser/extensions/blob_reader.h
index dddb416..bc500377 100644
--- a/chrome/browser/extensions/blob_reader.h
+++ b/chrome/browser/extensions/blob_reader.h
@@ -32,7 +32,7 @@
   BlobReader(Profile* profile,
              const std::string& blob_uuid,
              BlobReadCallback callback);
-  virtual ~BlobReader();
+  ~BlobReader() override;
 
   void SetByteRange(int64 offset, int64 length);
 
@@ -40,7 +40,7 @@
 
  private:
   // Overridden from net::URLFetcherDelegate.
-  virtual void OnURLFetchComplete(const net::URLFetcher* source) override;
+  void OnURLFetchComplete(const net::URLFetcher* source) override;
 
   BlobReadCallback callback_;
   scoped_ptr<net::URLFetcher> fetcher_;
diff --git a/chrome/browser/extensions/bookmark_app_helper.cc b/chrome/browser/extensions/bookmark_app_helper.cc
index cc1c384..b92920c 100644
--- a/chrome/browser/extensions/bookmark_app_helper.cc
+++ b/chrome/browser/extensions/bookmark_app_helper.cc
@@ -48,11 +48,11 @@
         letter_(letter),
         color_(color),
         output_size_(output_size) {}
-  virtual ~GeneratedIconImageSource() {}
+  ~GeneratedIconImageSource() override {}
 
  private:
   // gfx::CanvasImageSource overrides:
-  virtual void Draw(gfx::Canvas* canvas) override {
+  void Draw(gfx::Canvas* canvas) override {
     const unsigned char kLuminanceThreshold = 190;
     const int icon_size = output_size_ * 3 / 4;
     const int icon_inset = output_size_ / 8;
diff --git a/chrome/browser/extensions/bookmark_app_helper.h b/chrome/browser/extensions/bookmark_app_helper.h
index 0e5ad27..08b8536 100644
--- a/chrome/browser/extensions/bookmark_app_helper.h
+++ b/chrome/browser/extensions/bookmark_app_helper.h
@@ -42,7 +42,7 @@
   BookmarkAppHelper(ExtensionService* service,
                     WebApplicationInfo web_app_info,
                     content::WebContents* contents);
-  virtual ~BookmarkAppHelper();
+  ~BookmarkAppHelper() override;
 
   // This finds the closest not-smaller bitmap in |bitmaps| for each size in
   // |sizes| and resizes it to that size. This returns a map of sizes to bitmaps
@@ -71,9 +71,9 @@
                          const std::map<GURL, std::vector<SkBitmap> >& bitmaps);
 
   // Overridden from content::NotificationObserver:
-  virtual void Observe(int type,
-                       const content::NotificationSource& source,
-                       const content::NotificationDetails& details) override;
+  void Observe(int type,
+               const content::NotificationSource& source,
+               const content::NotificationDetails& details) override;
 
   // The WebApplicationInfo that the bookmark app is being created for.
   WebApplicationInfo web_app_info_;
diff --git a/chrome/browser/extensions/bookmark_app_helper_unittest.cc b/chrome/browser/extensions/bookmark_app_helper_unittest.cc
index c042129..f6ba05c 100644
--- a/chrome/browser/extensions/bookmark_app_helper_unittest.cc
+++ b/chrome/browser/extensions/bookmark_app_helper_unittest.cc
@@ -122,7 +122,7 @@
                         content::WebContents* contents)
       : BookmarkAppHelper(service, web_app_info, contents) {}
 
-  virtual ~TestBookmarkAppHelper() {}
+  ~TestBookmarkAppHelper() override {}
 
   void CreationComplete(const extensions::Extension* extension,
                         const WebApplicationInfo& web_app_info) {
diff --git a/chrome/browser/extensions/browser_extension_window_controller.h b/chrome/browser/extensions/browser_extension_window_controller.h
index 7899edcd..24384caf5 100644
--- a/chrome/browser/extensions/browser_extension_window_controller.h
+++ b/chrome/browser/extensions/browser_extension_window_controller.h
@@ -16,21 +16,21 @@
 class BrowserExtensionWindowController : public extensions::WindowController {
  public:
   explicit BrowserExtensionWindowController(Browser* browser);
-  virtual ~BrowserExtensionWindowController();
+  ~BrowserExtensionWindowController() override;
 
   // extensions::WindowController implementation.
-  virtual int GetWindowId() const override;
-  virtual std::string GetWindowTypeText() const override;
-  virtual base::DictionaryValue* CreateWindowValue() const override;
-  virtual base::DictionaryValue* CreateWindowValueWithTabs(
+  int GetWindowId() const override;
+  std::string GetWindowTypeText() const override;
+  base::DictionaryValue* CreateWindowValue() const override;
+  base::DictionaryValue* CreateWindowValueWithTabs(
       const extensions::Extension* extension) const override;
-  virtual base::DictionaryValue* CreateTabValue(
-      const extensions::Extension* extension, int tab_index) const override;
-  virtual bool CanClose(Reason* reason) const override;
-  virtual void SetFullscreenMode(bool is_fullscreen,
-                                 const GURL& extension_url) const override;
-  virtual Browser* GetBrowser() const override;
-  virtual bool IsVisibleToExtension(
+  base::DictionaryValue* CreateTabValue(const extensions::Extension* extension,
+                                        int tab_index) const override;
+  bool CanClose(Reason* reason) const override;
+  void SetFullscreenMode(bool is_fullscreen,
+                         const GURL& extension_url) const override;
+  Browser* GetBrowser() const override;
+  bool IsVisibleToExtension(
       const extensions::Extension* extension) const override;
 
  private:
diff --git a/chrome/browser/extensions/browser_permissions_policy_delegate.h b/chrome/browser/extensions/browser_permissions_policy_delegate.h
index f6c72cdc..f8c0c590 100644
--- a/chrome/browser/extensions/browser_permissions_policy_delegate.h
+++ b/chrome/browser/extensions/browser_permissions_policy_delegate.h
@@ -14,14 +14,14 @@
     : public PermissionsData::PolicyDelegate {
  public:
   BrowserPermissionsPolicyDelegate();
-  virtual ~BrowserPermissionsPolicyDelegate();
+  ~BrowserPermissionsPolicyDelegate() override;
 
-  virtual bool CanExecuteScriptOnPage(const Extension* extension,
-                                      const GURL& document_url,
-                                      const GURL& top_document_url,
-                                      int tab_id,
-                                      int process_id,
-                                      std::string* error) override;
+  bool CanExecuteScriptOnPage(const Extension* extension,
+                              const GURL& document_url,
+                              const GURL& top_document_url,
+                              int tab_id,
+                              int process_id,
+                              std::string* error) override;
 
   DISALLOW_COPY_AND_ASSIGN(BrowserPermissionsPolicyDelegate);
 };
diff --git a/chrome/browser/extensions/bundle_installer.h b/chrome/browser/extensions/bundle_installer.h
index a2c7fe76..d60984fa 100644
--- a/chrome/browser/extensions/bundle_installer.h
+++ b/chrome/browser/extensions/bundle_installer.h
@@ -116,7 +116,7 @@
   typedef std::map<std::string, Item> ItemMap;
   typedef std::map<std::string, linked_ptr<base::DictionaryValue> > ManifestMap;
 
-  virtual ~BundleInstaller();
+  ~BundleInstaller() override;
 
   // Displays the install bubble for |bundle| on |browser|.
   // Note: this is a platform specific implementation.
@@ -146,30 +146,28 @@
   void ShowInstalledBubbleIfDone();
 
   // WebstoreInstallHelper::Delegate implementation:
-  virtual void OnWebstoreParseSuccess(
-      const std::string& id,
-      const SkBitmap& icon,
-      base::DictionaryValue* parsed_manifest) override;
-  virtual void OnWebstoreParseFailure(
-      const std::string& id,
-      InstallHelperResultCode result_code,
-      const std::string& error_message) override;
+  void OnWebstoreParseSuccess(const std::string& id,
+                              const SkBitmap& icon,
+                              base::DictionaryValue* parsed_manifest) override;
+  void OnWebstoreParseFailure(const std::string& id,
+                              InstallHelperResultCode result_code,
+                              const std::string& error_message) override;
 
   // ExtensionInstallPrompt::Delegate implementation:
-  virtual void InstallUIProceed() override;
-  virtual void InstallUIAbort(bool user_initiated) override;
+  void InstallUIProceed() override;
+  void InstallUIAbort(bool user_initiated) override;
 
   // WebstoreInstaller::Delegate implementation:
-  virtual void OnExtensionInstallSuccess(const std::string& id) override;
-  virtual void OnExtensionInstallFailure(
+  void OnExtensionInstallSuccess(const std::string& id) override;
+  void OnExtensionInstallFailure(
       const std::string& id,
       const std::string& error,
       WebstoreInstaller::FailureReason reason) override;
 
   // chrome::BrowserListObserver implementation:
-  virtual void OnBrowserAdded(Browser* browser) override;
-  virtual void OnBrowserRemoved(Browser* browser) override;
-  virtual void OnBrowserSetLastActive(Browser* browser) override;
+  void OnBrowserAdded(Browser* browser) override;
+  void OnBrowserRemoved(Browser* browser) override;
+  void OnBrowserSetLastActive(Browser* browser) override;
 
   // Holds the Extensions used to generate the permission warnings.
   ExtensionList dummy_extensions_;
diff --git a/chrome/browser/extensions/chrome_app_api_browsertest.cc b/chrome/browser/extensions/chrome_app_api_browsertest.cc
index dbfd1479..92c02c9 100644
--- a/chrome/browser/extensions/chrome_app_api_browsertest.cc
+++ b/chrome/browser/extensions/chrome_app_api_browsertest.cc
@@ -87,7 +87,7 @@
         base::Bind(&content::FrameIsChildOfMainFrame));
   }
 
-  virtual void SetUpCommandLine(CommandLine* command_line) override {
+  void SetUpCommandLine(CommandLine* command_line) override {
     ExtensionBrowserTest::SetUpCommandLine(command_line);
     command_line->AppendSwitchASCII(switches::kAppsCheckoutURL,
                                     "http://checkout.com:");
diff --git a/chrome/browser/extensions/chrome_app_sorting.h b/chrome/browser/extensions/chrome_app_sorting.h
index b47086c..14b76f0 100644
--- a/chrome/browser/extensions/chrome_app_sorting.h
+++ b/chrome/browser/extensions/chrome_app_sorting.h
@@ -25,45 +25,41 @@
 class ChromeAppSorting : public AppSorting {
  public:
   ChromeAppSorting();
-  virtual ~ChromeAppSorting();
+  ~ChromeAppSorting() override;
 
   // AppSorting implementation:
-  virtual void SetExtensionScopedPrefs(ExtensionScopedPrefs* prefs) override;
-  virtual void SetExtensionSyncService(
+  void SetExtensionScopedPrefs(ExtensionScopedPrefs* prefs) override;
+  void SetExtensionSyncService(
       ExtensionSyncService* extension_sync_service) override;
-  virtual void Initialize(
-      const extensions::ExtensionIdList& extension_ids) override;
-  virtual void FixNTPOrdinalCollisions() override;
-  virtual void EnsureValidOrdinals(
+  void Initialize(const extensions::ExtensionIdList& extension_ids) override;
+  void FixNTPOrdinalCollisions() override;
+  void EnsureValidOrdinals(
       const std::string& extension_id,
       const syncer::StringOrdinal& suggested_page) override;
-  virtual void OnExtensionMoved(
-      const std::string& moved_extension_id,
-      const std::string& predecessor_extension_id,
-      const std::string& successor_extension_id) override;
-  virtual syncer::StringOrdinal GetAppLaunchOrdinal(
+  void OnExtensionMoved(const std::string& moved_extension_id,
+                        const std::string& predecessor_extension_id,
+                        const std::string& successor_extension_id) override;
+  syncer::StringOrdinal GetAppLaunchOrdinal(
       const std::string& extension_id) const override;
-  virtual void SetAppLaunchOrdinal(
+  void SetAppLaunchOrdinal(
       const std::string& extension_id,
       const syncer::StringOrdinal& new_app_launch_ordinal) override;
-  virtual syncer::StringOrdinal CreateFirstAppLaunchOrdinal(
+  syncer::StringOrdinal CreateFirstAppLaunchOrdinal(
       const syncer::StringOrdinal& page_ordinal) const override;
-  virtual syncer::StringOrdinal CreateNextAppLaunchOrdinal(
+  syncer::StringOrdinal CreateNextAppLaunchOrdinal(
       const syncer::StringOrdinal& page_ordinal) const override;
-  virtual syncer::StringOrdinal CreateFirstAppPageOrdinal() const override;
-  virtual syncer::StringOrdinal GetNaturalAppPageOrdinal() const override;
-  virtual syncer::StringOrdinal GetPageOrdinal(
+  syncer::StringOrdinal CreateFirstAppPageOrdinal() const override;
+  syncer::StringOrdinal GetNaturalAppPageOrdinal() const override;
+  syncer::StringOrdinal GetPageOrdinal(
       const std::string& extension_id) const override;
-  virtual void SetPageOrdinal(
-      const std::string& extension_id,
-      const syncer::StringOrdinal& new_page_ordinal) override;
-  virtual void ClearOrdinals(const std::string& extension_id) override;
-  virtual int PageStringOrdinalAsInteger(
+  void SetPageOrdinal(const std::string& extension_id,
+                      const syncer::StringOrdinal& new_page_ordinal) override;
+  void ClearOrdinals(const std::string& extension_id) override;
+  int PageStringOrdinalAsInteger(
       const syncer::StringOrdinal& page_ordinal) const override;
-  virtual syncer::StringOrdinal PageIntegerAsStringOrdinal(
-      size_t page_index) override;
-  virtual void SetExtensionVisible(const std::string& extension_id,
-                                   bool visible) override;
+  syncer::StringOrdinal PageIntegerAsStringOrdinal(size_t page_index) override;
+  void SetExtensionVisible(const std::string& extension_id,
+                           bool visible) override;
 
  private:
   // The StringOrdinal is the app launch ordinal and the string is the extension
diff --git a/chrome/browser/extensions/chrome_app_sorting_unittest.cc b/chrome/browser/extensions/chrome_app_sorting_unittest.cc
index 34e681d..34b80065a 100644
--- a/chrome/browser/extensions/chrome_app_sorting_unittest.cc
+++ b/chrome/browser/extensions/chrome_app_sorting_unittest.cc
@@ -26,7 +26,7 @@
 
 class ChromeAppSortingAppLocation : public ChromeAppSortingTest {
  public:
-  virtual void Initialize() override {
+  void Initialize() override {
     extension_ = prefs_.AddExtension("not_an_app");
     // Non-apps should not have any app launch ordinal or page ordinal.
     prefs()->OnExtensionInstalled(extension_.get(),
@@ -35,7 +35,7 @@
                                   std::string());
   }
 
-  virtual void Verify() override {
+  void Verify() override {
     EXPECT_FALSE(
         app_sorting()->GetAppLaunchOrdinal(extension_->id()).IsValid());
     EXPECT_FALSE(
@@ -49,7 +49,7 @@
 
 class ChromeAppSortingAppLaunchOrdinal : public ChromeAppSortingTest {
  public:
-  virtual void Initialize() override {
+  void Initialize() override {
     // No extensions yet.
     syncer::StringOrdinal page = syncer::StringOrdinal::CreateInitialOrdinal();
     EXPECT_TRUE(syncer::StringOrdinal::CreateInitialOrdinal().Equals(
@@ -63,7 +63,7 @@
                                   std::string());
   }
 
-  virtual void Verify() override {
+  void Verify() override {
     syncer::StringOrdinal launch_ordinal =
         app_sorting()->GetAppLaunchOrdinal(extension_->id());
     syncer::StringOrdinal page_ordinal =
@@ -105,7 +105,7 @@
 
 class ChromeAppSortingPageOrdinal : public ChromeAppSortingTest {
  public:
-  virtual void Initialize() override {
+  void Initialize() override {
     extension_ = prefs_.AddApp("page_ordinal");
     // Install with a page preference.
     first_page_ = syncer::StringOrdinal::CreateInitialOrdinal();
@@ -126,7 +126,7 @@
     EXPECT_TRUE(first_page_.Equals(
         app_sorting()->GetPageOrdinal(extension2->id())));
   }
-  virtual void Verify() override {
+  void Verify() override {
     // Set the page ordinal.
     syncer::StringOrdinal new_page = first_page_.CreateAfter();
     app_sorting()->SetPageOrdinal(extension_->id(), new_page);
@@ -153,7 +153,7 @@
   ChromeAppSortingInitialize() {}
   virtual ~ChromeAppSortingInitialize() {}
 
-  virtual void Initialize() override {
+  void Initialize() override {
     // A preference determining the order of which the apps appear on the NTP.
     const char kPrefAppLaunchIndexDeprecated[] = "app_launcher_index";
     // A preference determining the page on which an app appears in the NTP.
@@ -192,7 +192,7 @@
 
     prefs()->app_sorting()->Initialize(ids);
   }
-  virtual void Verify() override {
+  void Verify() override {
     syncer::StringOrdinal first_ordinal =
         syncer::StringOrdinal::CreateInitialOrdinal();
     AppSorting* app_sorting = prefs()->app_sorting();
@@ -221,7 +221,7 @@
   ChromeAppSortingInitializeWithNoApps() {}
   virtual ~ChromeAppSortingInitializeWithNoApps() {}
 
-  virtual void Initialize() override {
+  void Initialize() override {
     AppSorting* app_sorting = prefs()->app_sorting();
 
     // Make sure that the web store has valid ordinals.
@@ -235,7 +235,7 @@
     ExtensionIdList ids;
     app_sorting->Initialize(ids);
   }
-  virtual void Verify() override {
+  void Verify() override {
     ChromeAppSorting* app_sorting =
         static_cast<ChromeAppSorting*>(prefs()->app_sorting());
 
@@ -269,7 +269,7 @@
   ChromeAppSortingMigrateAppIndexInvalid() {}
   virtual ~ChromeAppSortingMigrateAppIndexInvalid() {}
 
-  virtual void Initialize() override {
+  void Initialize() override {
     // A preference determining the order of which the apps appear on the NTP.
     const char kPrefAppLaunchIndexDeprecated[] = "app_launcher_index";
     // A preference determining the page on which an app appears in the NTP.
@@ -290,7 +290,7 @@
 
     prefs()->app_sorting()->Initialize(ids);
   }
-  virtual void Verify() override {
+  void Verify() override {
     // Make sure that the invalid page_index wasn't converted over.
     EXPECT_FALSE(prefs()->app_sorting()->GetAppLaunchOrdinal(
         extension1()->id()).IsValid());
@@ -305,7 +305,7 @@
   ChromeAppSortingFixNTPCollisionsAllCollide() {}
   virtual ~ChromeAppSortingFixNTPCollisionsAllCollide() {}
 
-  virtual void Initialize() override {
+  void Initialize() override {
     repeated_ordinal_ = syncer::StringOrdinal::CreateInitialOrdinal();
 
     AppSorting* app_sorting = prefs()->app_sorting();
@@ -322,7 +322,7 @@
 
     app_sorting->FixNTPOrdinalCollisions();
   }
-  virtual void Verify() override {
+  void Verify() override {
     AppSorting* app_sorting = prefs()->app_sorting();
     syncer::StringOrdinal extension1_app_launch =
         app_sorting->GetAppLaunchOrdinal(extension1()->id());
@@ -361,7 +361,7 @@
   ChromeAppSortingFixNTPCollisionsSomeCollideAtStart() {}
   virtual ~ChromeAppSortingFixNTPCollisionsSomeCollideAtStart() {}
 
-  virtual void Initialize() override {
+  void Initialize() override {
     first_ordinal_ = syncer::StringOrdinal::CreateInitialOrdinal();
     syncer::StringOrdinal second_ordinal = first_ordinal_.CreateAfter();
 
@@ -381,7 +381,7 @@
 
     app_sorting->FixNTPOrdinalCollisions();
   }
-  virtual void Verify() override {
+  void Verify() override {
     AppSorting* app_sorting = prefs()->app_sorting();
     syncer::StringOrdinal extension1_app_launch =
         app_sorting->GetAppLaunchOrdinal(extension1()->id());
@@ -419,7 +419,7 @@
   ChromeAppSortingFixNTPCollisionsSomeCollideAtEnd() {}
   virtual ~ChromeAppSortingFixNTPCollisionsSomeCollideAtEnd() {}
 
-  virtual void Initialize() override {
+  void Initialize() override {
     first_ordinal_ = syncer::StringOrdinal::CreateInitialOrdinal();
     syncer::StringOrdinal second_ordinal = first_ordinal_.CreateAfter();
 
@@ -439,7 +439,7 @@
 
     app_sorting->FixNTPOrdinalCollisions();
   }
-  virtual void Verify() override {
+  void Verify() override {
     AppSorting* app_sorting = prefs()->app_sorting();
     syncer::StringOrdinal extension1_app_launch =
         app_sorting->GetAppLaunchOrdinal(extension1()->id());
@@ -477,7 +477,7 @@
   ChromeAppSortingFixNTPCollisionsTwoCollisions() {}
   virtual ~ChromeAppSortingFixNTPCollisionsTwoCollisions() {}
 
-  virtual void Initialize() override {
+  void Initialize() override {
     first_ordinal_ = syncer::StringOrdinal::CreateInitialOrdinal();
     syncer::StringOrdinal second_ordinal = first_ordinal_.CreateAfter();
 
@@ -498,7 +498,7 @@
 
     app_sorting->FixNTPOrdinalCollisions();
   }
-  virtual void Verify() override {
+  void Verify() override {
     AppSorting* app_sorting = prefs()->app_sorting();
     syncer::StringOrdinal extension1_app_launch =
         app_sorting->GetAppLaunchOrdinal(extension1()->id());
@@ -545,8 +545,8 @@
   ChromeAppSortingEnsureValidOrdinals() {}
   virtual ~ChromeAppSortingEnsureValidOrdinals() {}
 
-  virtual void Initialize() override {}
-  virtual void Verify() override {
+  void Initialize() override {}
+  void Verify() override {
     AppSorting* app_sorting = prefs()->app_sorting();
 
     // Give ext1 invalid ordinals and then check that EnsureValidOrdinals fixes
@@ -570,8 +570,8 @@
   ChromeAppSortingPageOrdinalMapping() {}
   virtual ~ChromeAppSortingPageOrdinalMapping() {}
 
-  virtual void Initialize() override {}
-  virtual void Verify() override {
+  void Initialize() override {}
+  void Verify() override {
     std::string ext_1 = "ext_1";
     std::string ext_2 = "ext_2";
 
@@ -668,8 +668,8 @@
   ChromeAppSortingGetMinOrMaxAppLaunchOrdinalsOnPage() {}
   virtual ~ChromeAppSortingGetMinOrMaxAppLaunchOrdinalsOnPage() {}
 
-  virtual void Initialize() override {}
-  virtual void Verify() override {
+  void Initialize() override {}
+  void Verify() override {
     syncer::StringOrdinal page = syncer::StringOrdinal::CreateInitialOrdinal();
     ChromeAppSorting* app_sorting =
         static_cast<ChromeAppSorting*>(prefs()->app_sorting());
@@ -713,7 +713,7 @@
   ChromeAppSortingKeepEmptyStringOrdinalPages() {}
   virtual ~ChromeAppSortingKeepEmptyStringOrdinalPages() {}
 
-  virtual void Initialize() override {
+  void Initialize() override {
     AppSorting* app_sorting = prefs()->app_sorting();
 
     syncer::StringOrdinal first_page =
@@ -729,7 +729,7 @@
     app_sorting->SetPageOrdinal(app2_->id(), first_page);
     EXPECT_EQ(0, app_sorting->PageStringOrdinalAsInteger(first_page));
   }
-  virtual void Verify() override {
+  void Verify() override {
     AppSorting* app_sorting = prefs()->app_sorting();
 
     // Move the second app to a new empty page at the end, skipping over
@@ -752,7 +752,7 @@
   ChromeAppSortingMakesFillerOrdinals() {}
   virtual ~ChromeAppSortingMakesFillerOrdinals() {}
 
-  virtual void Initialize() override {
+  void Initialize() override {
     AppSorting* app_sorting = prefs()->app_sorting();
 
     syncer::StringOrdinal first_page =
@@ -760,7 +760,7 @@
     app_sorting->SetPageOrdinal(app1_->id(), first_page);
     EXPECT_EQ(0, app_sorting->PageStringOrdinalAsInteger(first_page));
   }
-  virtual void Verify() override {
+  void Verify() override {
     AppSorting* app_sorting = prefs()->app_sorting();
 
     // Because the UI can add an unlimited number of empty pages without an app
@@ -785,7 +785,7 @@
   ChromeAppSortingDefaultOrdinalsBase() {}
   virtual ~ChromeAppSortingDefaultOrdinalsBase() {}
 
-  virtual void Initialize() override {
+  void Initialize() override {
     app_ = CreateApp("app");
 
     InitDefaultOrdinals();
@@ -846,7 +846,7 @@
   ChromeAppSortingDefaultOrdinals() {}
   virtual ~ChromeAppSortingDefaultOrdinals() {}
 
-  virtual void Verify() override {
+  void Verify() override {
     AppSorting* app_sorting = prefs()->app_sorting();
     EXPECT_TRUE(app_sorting->GetPageOrdinal(app_->id()).Equals(
         default_page_ordinal_));
@@ -864,7 +864,7 @@
   ChromeAppSortingDefaultOrdinalOverriddenByInstallPage() {}
   virtual ~ChromeAppSortingDefaultOrdinalOverriddenByInstallPage() {}
 
-  virtual void Verify() override {
+  void Verify() override {
     AppSorting* app_sorting = prefs()->app_sorting();
 
     EXPECT_FALSE(app_sorting->GetPageOrdinal(app_->id()).Equals(
@@ -873,7 +873,7 @@
   }
 
  protected:
-  virtual void InstallApps() override {
+  void InstallApps() override {
     install_page_ = default_page_ordinal_.CreateAfter();
     prefs()->OnExtensionInstalled(app_.get(),
                                   Extension::ENABLED,
@@ -894,7 +894,7 @@
   ChromeAppSortingDefaultOrdinalOverriddenByUserValue() {}
   virtual ~ChromeAppSortingDefaultOrdinalOverriddenByUserValue() {}
 
-  virtual void Verify() override {
+  void Verify() override {
     AppSorting* app_sorting = prefs()->app_sorting();
 
     EXPECT_TRUE(app_sorting->GetPageOrdinal(app_->id()).Equals(
@@ -904,7 +904,7 @@
   }
 
  protected:
-  virtual void SetupUserOrdinals() override {
+  void SetupUserOrdinals() override {
     user_page_ordinal_ = default_page_ordinal_.CreateAfter();
     user_app_launch_ordinal_ = default_app_launch_ordinal_.CreateBefore();
 
@@ -927,7 +927,7 @@
   ChromeAppSortingDefaultOrdinalNoCollision() {}
   virtual ~ChromeAppSortingDefaultOrdinalNoCollision() {}
 
-  virtual void Verify() override {
+  void Verify() override {
     AppSorting* app_sorting = prefs()->app_sorting();
 
     // Use the default page.
@@ -939,7 +939,7 @@
   }
 
  protected:
-  virtual void SetupUserOrdinals() override {
+  void SetupUserOrdinals() override {
     other_app_ = prefs_.AddApp("other_app");
     // Creates a collision.
     AppSorting* app_sorting = prefs()->app_sorting();
@@ -966,12 +966,12 @@
   ChromeAppSortingSetExtensionVisible() {}
   virtual ~ChromeAppSortingSetExtensionVisible() {}
 
-  virtual void Initialize() override {
+  void Initialize() override {
     first_app_ = prefs_.AddApp("first_app");
     second_app_ = prefs_.AddApp("second_app");
   }
 
-  virtual void Verify() override {
+  void Verify() override {
     ChromeAppSorting* sorting = app_sorting();
     syncer::StringOrdinal page1 = sorting->GetPageOrdinal(first_app_->id());
     syncer::StringOrdinal page2 = sorting->GetPageOrdinal(second_app_->id());
diff --git a/chrome/browser/extensions/chrome_component_extension_resource_manager.h b/chrome/browser/extensions/chrome_component_extension_resource_manager.h
index 1ddd6e4..be3571e5 100644
--- a/chrome/browser/extensions/chrome_component_extension_resource_manager.h
+++ b/chrome/browser/extensions/chrome_component_extension_resource_manager.h
@@ -19,13 +19,12 @@
     : public ComponentExtensionResourceManager {
  public:
   ChromeComponentExtensionResourceManager();
-  virtual ~ChromeComponentExtensionResourceManager();
+  ~ChromeComponentExtensionResourceManager() override;
 
   // Overridden from ComponentExtensionResourceManager:
-  virtual bool IsComponentExtensionResource(
-    const base::FilePath& extension_path,
-    const base::FilePath& resource_path,
-    int* resource_id) override;
+  bool IsComponentExtensionResource(const base::FilePath& extension_path,
+                                    const base::FilePath& resource_path,
+                                    int* resource_id) override;
 
  private:
   void AddComponentResourceEntries(const GritResourceMap* entries, size_t size);
diff --git a/chrome/browser/extensions/chrome_content_browser_client_extensions_part.h b/chrome/browser/extensions/chrome_content_browser_client_extensions_part.h
index eecb554..e53499d 100644
--- a/chrome/browser/extensions/chrome_content_browser_client_extensions_part.h
+++ b/chrome/browser/extensions/chrome_content_browser_client_extensions_part.h
@@ -22,7 +22,7 @@
     : public ChromeContentBrowserClientParts {
  public:
   ChromeContentBrowserClientExtensionsPart();
-  virtual ~ChromeContentBrowserClientExtensionsPart();
+  ~ChromeContentBrowserClientExtensionsPart() override;
 
   // Corresponds to the ChromeContentBrowserClient function of the same name.
   static GURL GetEffectiveURL(Profile* profile, const GURL& url);
@@ -56,26 +56,22 @@
 
  private:
   // ChromeContentBrowserClientParts:
-  virtual void RenderProcessWillLaunch(
-      content::RenderProcessHost* host) override;
-  virtual void SiteInstanceGotProcess(
-      content::SiteInstance* site_instance) override;
-  virtual void SiteInstanceDeleting(
-      content::SiteInstance* site_instance) override;
-  virtual void OverrideWebkitPrefs(content::RenderViewHost* rvh,
-                                   const GURL& url,
-                                   content::WebPreferences* web_prefs) override;
-  virtual void BrowserURLHandlerCreated(
-      content::BrowserURLHandler* handler) override;
-  virtual void GetAdditionalAllowedSchemesForFileSystem(
+  void RenderProcessWillLaunch(content::RenderProcessHost* host) override;
+  void SiteInstanceGotProcess(content::SiteInstance* site_instance) override;
+  void SiteInstanceDeleting(content::SiteInstance* site_instance) override;
+  void OverrideWebkitPrefs(content::RenderViewHost* rvh,
+                           const GURL& url,
+                           content::WebPreferences* web_prefs) override;
+  void BrowserURLHandlerCreated(content::BrowserURLHandler* handler) override;
+  void GetAdditionalAllowedSchemesForFileSystem(
       std::vector<std::string>* additional_allowed_schemes) override;
-  virtual void GetURLRequestAutoMountHandlers(
+  void GetURLRequestAutoMountHandlers(
       std::vector<storage::URLRequestAutoMountHandler>* handlers) override;
-  virtual void GetAdditionalFileSystemBackends(
+  void GetAdditionalFileSystemBackends(
       content::BrowserContext* browser_context,
       const base::FilePath& storage_partition_path,
       ScopedVector<storage::FileSystemBackend>* additional_backends) override;
-  virtual void AppendExtraRendererCommandLineSwitches(
+  void AppendExtraRendererCommandLineSwitches(
       base::CommandLine* command_line,
       content::RenderProcessHost* process,
       Profile* profile) override;
diff --git a/chrome/browser/extensions/chrome_extension_function.h b/chrome/browser/extensions/chrome_extension_function.h
index 013ff12..4051ba1 100644
--- a/chrome/browser/extensions/chrome_extension_function.h
+++ b/chrome/browser/extensions/chrome_extension_function.h
@@ -60,10 +60,10 @@
 
   // Gets the "current" web contents if any. If there is no associated web
   // contents then defaults to the foremost one.
-  virtual content::WebContents* GetAssociatedWebContents() override;
+  content::WebContents* GetAssociatedWebContents() override;
 
  protected:
-  virtual ~ChromeUIThreadExtensionFunction();
+  ~ChromeUIThreadExtensionFunction() override;
 };
 
 // A chrome specific analog to AsyncExtensionFunction. This has access to a
@@ -78,7 +78,7 @@
   ChromeAsyncExtensionFunction();
 
  protected:
-  virtual ~ChromeAsyncExtensionFunction();
+  ~ChromeAsyncExtensionFunction() override;
 
   // Deprecated, see AsyncExtensionFunction::RunAsync.
   virtual bool RunAsync() = 0;
@@ -87,7 +87,7 @@
   static bool ValidationFailure(ChromeAsyncExtensionFunction* function);
 
  private:
-  virtual ResponseAction Run() override;
+  ResponseAction Run() override;
 };
 
 // A chrome specific analog to SyncExtensionFunction. This has access to a
@@ -102,7 +102,7 @@
   ChromeSyncExtensionFunction();
 
  protected:
-  virtual ~ChromeSyncExtensionFunction();
+  ~ChromeSyncExtensionFunction() override;
 
   // Deprecated, see SyncExtensionFunction::RunSync.
   virtual bool RunSync() = 0;
@@ -111,7 +111,7 @@
   static bool ValidationFailure(ChromeSyncExtensionFunction* function);
 
  private:
-  virtual ResponseAction Run() override;
+  ResponseAction Run() override;
 };
 
 #endif  // CHROME_BROWSER_EXTENSIONS_CHROME_EXTENSION_FUNCTION_H_
diff --git a/chrome/browser/extensions/chrome_extension_host_delegate.h b/chrome/browser/extensions/chrome_extension_host_delegate.h
index 06e59b6..c4a481a 100644
--- a/chrome/browser/extensions/chrome_extension_host_delegate.h
+++ b/chrome/browser/extensions/chrome_extension_host_delegate.h
@@ -13,29 +13,25 @@
 class ChromeExtensionHostDelegate : public ExtensionHostDelegate {
  public:
   ChromeExtensionHostDelegate();
-  virtual ~ChromeExtensionHostDelegate();
+  ~ChromeExtensionHostDelegate() override;
 
   // ExtensionHostDelegate implementation.
-  virtual void OnExtensionHostCreated(content::WebContents* web_contents)
-      override;
-  virtual void OnRenderViewCreatedForBackgroundPage(ExtensionHost* host)
-      override;
-  virtual content::JavaScriptDialogManager* GetJavaScriptDialogManager()
-      override;
-  virtual void CreateTab(content::WebContents* web_contents,
-                         const std::string& extension_id,
-                         WindowOpenDisposition disposition,
-                         const gfx::Rect& initial_pos,
-                         bool user_gesture) override;
-  virtual void ProcessMediaAccessRequest(
-      content::WebContents* web_contents,
-      const content::MediaStreamRequest& request,
-      const content::MediaResponseCallback& callback,
-      const Extension* extension) override;
-  virtual bool CheckMediaAccessPermission(content::WebContents* web_contents,
-                                          const GURL& security_origin,
-                                          content::MediaStreamType type,
-                                          const Extension* extension) override;
+  void OnExtensionHostCreated(content::WebContents* web_contents) override;
+  void OnRenderViewCreatedForBackgroundPage(ExtensionHost* host) override;
+  content::JavaScriptDialogManager* GetJavaScriptDialogManager() override;
+  void CreateTab(content::WebContents* web_contents,
+                 const std::string& extension_id,
+                 WindowOpenDisposition disposition,
+                 const gfx::Rect& initial_pos,
+                 bool user_gesture) override;
+  void ProcessMediaAccessRequest(content::WebContents* web_contents,
+                                 const content::MediaStreamRequest& request,
+                                 const content::MediaResponseCallback& callback,
+                                 const Extension* extension) override;
+  bool CheckMediaAccessPermission(content::WebContents* web_contents,
+                                  const GURL& security_origin,
+                                  content::MediaStreamType type,
+                                  const Extension* extension) override;
 };
 
 }  // namespace extensions
diff --git a/chrome/browser/extensions/chrome_extension_web_contents_observer.h b/chrome/browser/extensions/chrome_extension_web_contents_observer.h
index b11ba2492..e501199 100644
--- a/chrome/browser/extensions/chrome_extension_web_contents_observer.h
+++ b/chrome/browser/extensions/chrome_extension_web_contents_observer.h
@@ -28,14 +28,12 @@
 
   explicit ChromeExtensionWebContentsObserver(
       content::WebContents* web_contents);
-  virtual ~ChromeExtensionWebContentsObserver();
+  ~ChromeExtensionWebContentsObserver() override;
 
   // content::WebContentsObserver overrides.
-  virtual void RenderViewCreated(content::RenderViewHost* render_view_host)
-      override;
-  virtual bool OnMessageReceived(
-      const IPC::Message& message,
-      content::RenderFrameHost* render_frame_host) override;
+  void RenderViewCreated(content::RenderViewHost* render_view_host) override;
+  bool OnMessageReceived(const IPC::Message& message,
+                         content::RenderFrameHost* render_frame_host) override;
 
   // Adds a message to the extensions ErrorConsole.
   void OnDetailedConsoleMessageAdded(const base::string16& message,
diff --git a/chrome/browser/extensions/chrome_extensions_browser_client.h b/chrome/browser/extensions/chrome_extensions_browser_client.h
index 9d01136c..6f43013e 100644
--- a/chrome/browser/extensions/chrome_extensions_browser_client.h
+++ b/chrome/browser/extensions/chrome_extensions_browser_client.h
@@ -38,68 +38,63 @@
 class ChromeExtensionsBrowserClient : public ExtensionsBrowserClient {
  public:
   ChromeExtensionsBrowserClient();
-  virtual ~ChromeExtensionsBrowserClient();
+  ~ChromeExtensionsBrowserClient() override;
 
   // BrowserClient overrides:
-  virtual bool IsShuttingDown() override;
-  virtual bool AreExtensionsDisabled(const base::CommandLine& command_line,
-                                     content::BrowserContext* context) override;
-  virtual bool IsValidContext(content::BrowserContext* context) override;
-  virtual bool IsSameContext(content::BrowserContext* first,
-                             content::BrowserContext* second) override;
-  virtual bool HasOffTheRecordContext(
+  bool IsShuttingDown() override;
+  bool AreExtensionsDisabled(const base::CommandLine& command_line,
+                             content::BrowserContext* context) override;
+  bool IsValidContext(content::BrowserContext* context) override;
+  bool IsSameContext(content::BrowserContext* first,
+                     content::BrowserContext* second) override;
+  bool HasOffTheRecordContext(content::BrowserContext* context) override;
+  content::BrowserContext* GetOffTheRecordContext(
       content::BrowserContext* context) override;
-  virtual content::BrowserContext* GetOffTheRecordContext(
+  content::BrowserContext* GetOriginalContext(
       content::BrowserContext* context) override;
-  virtual content::BrowserContext* GetOriginalContext(
-      content::BrowserContext* context) override;
-  virtual bool IsGuestSession(content::BrowserContext* context) const override;
-  virtual bool IsExtensionIncognitoEnabled(
+  bool IsGuestSession(content::BrowserContext* context) const override;
+  bool IsExtensionIncognitoEnabled(
       const std::string& extension_id,
       content::BrowserContext* context) const override;
-  virtual bool CanExtensionCrossIncognito(
+  bool CanExtensionCrossIncognito(
       const extensions::Extension* extension,
       content::BrowserContext* context) const override;
-  virtual net::URLRequestJob* MaybeCreateResourceBundleRequestJob(
+  net::URLRequestJob* MaybeCreateResourceBundleRequestJob(
       net::URLRequest* request,
       net::NetworkDelegate* network_delegate,
       const base::FilePath& directory_path,
       const std::string& content_security_policy,
       bool send_cors_header) override;
-  virtual bool AllowCrossRendererResourceLoad(net::URLRequest* request,
-                                              bool is_incognito,
-                                              const Extension* extension,
-                                              InfoMap* extension_info_map)
-      override;
-  virtual PrefService* GetPrefServiceForContext(
+  bool AllowCrossRendererResourceLoad(net::URLRequest* request,
+                                      bool is_incognito,
+                                      const Extension* extension,
+                                      InfoMap* extension_info_map) override;
+  PrefService* GetPrefServiceForContext(
       content::BrowserContext* context) override;
-  virtual void GetEarlyExtensionPrefsObservers(
+  void GetEarlyExtensionPrefsObservers(
       content::BrowserContext* context,
       std::vector<ExtensionPrefsObserver*>* observers) const override;
-  virtual ProcessManagerDelegate* GetProcessManagerDelegate() const override;
-  virtual scoped_ptr<ExtensionHostDelegate> CreateExtensionHostDelegate()
-      override;
-  virtual bool DidVersionUpdate(content::BrowserContext* context) override;
-  virtual void PermitExternalProtocolHandler() override;
-  virtual scoped_ptr<AppSorting> CreateAppSorting() override;
-  virtual bool IsRunningInForcedAppMode() override;
-  virtual ApiActivityMonitor* GetApiActivityMonitor(
+  ProcessManagerDelegate* GetProcessManagerDelegate() const override;
+  scoped_ptr<ExtensionHostDelegate> CreateExtensionHostDelegate() override;
+  bool DidVersionUpdate(content::BrowserContext* context) override;
+  void PermitExternalProtocolHandler() override;
+  scoped_ptr<AppSorting> CreateAppSorting() override;
+  bool IsRunningInForcedAppMode() override;
+  ApiActivityMonitor* GetApiActivityMonitor(
       content::BrowserContext* context) override;
-  virtual ExtensionSystemProvider* GetExtensionSystemFactory() override;
-  virtual void RegisterExtensionFunctions(
+  ExtensionSystemProvider* GetExtensionSystemFactory() override;
+  void RegisterExtensionFunctions(
       ExtensionFunctionRegistry* registry) const override;
-  virtual scoped_ptr<extensions::RuntimeAPIDelegate> CreateRuntimeAPIDelegate(
+  scoped_ptr<extensions::RuntimeAPIDelegate> CreateRuntimeAPIDelegate(
       content::BrowserContext* context) const override;
-  virtual ComponentExtensionResourceManager*
-  GetComponentExtensionResourceManager() override;
-  virtual void BroadcastEventToRenderers(
-      const std::string& event_name,
-      scoped_ptr<base::ListValue> args) override;
-  virtual net::NetLog* GetNetLog() override;
-  virtual ExtensionCache* GetExtensionCache() override;
-  virtual bool IsBackgroundUpdateAllowed() override;
-  virtual bool IsMinBrowserVersionSupported(
-      const std::string& min_version) override;
+  ComponentExtensionResourceManager* GetComponentExtensionResourceManager()
+      override;
+  void BroadcastEventToRenderers(const std::string& event_name,
+                                 scoped_ptr<base::ListValue> args) override;
+  net::NetLog* GetNetLog() override;
+  ExtensionCache* GetExtensionCache() override;
+  bool IsBackgroundUpdateAllowed() override;
+  bool IsMinBrowserVersionSupported(const std::string& min_version) override;
 
  private:
   friend struct base::DefaultLazyInstanceTraits<ChromeExtensionsBrowserClient>;
diff --git a/chrome/browser/extensions/chrome_notification_observer.h b/chrome/browser/extensions/chrome_notification_observer.h
index fd57766..7980dff1 100644
--- a/chrome/browser/extensions/chrome_notification_observer.h
+++ b/chrome/browser/extensions/chrome_notification_observer.h
@@ -23,15 +23,15 @@
 class ChromeNotificationObserver : public content::NotificationObserver {
  public:
   ChromeNotificationObserver();
-  virtual ~ChromeNotificationObserver();
+  ~ChromeNotificationObserver() override;
 
   // Notification handlers:
   void OnRendererProcessCreated(content::RenderProcessHost* process);
 
   // content::NotificationObserver overrides:
-  virtual void Observe(int type,
-                       const content::NotificationSource& source,
-                       const content::NotificationDetails& details) override;
+  void Observe(int type,
+               const content::NotificationSource& source,
+               const content::NotificationDetails& details) override;
 
  private:
   content::NotificationRegistrar registrar_;
diff --git a/chrome/browser/extensions/chrome_process_manager_delegate.h b/chrome/browser/extensions/chrome_process_manager_delegate.h
index ea87b4a..ce077fc 100644
--- a/chrome/browser/extensions/chrome_process_manager_delegate.h
+++ b/chrome/browser/extensions/chrome_process_manager_delegate.h
@@ -22,18 +22,17 @@
                                      public content::NotificationObserver {
  public:
   ChromeProcessManagerDelegate();
-  virtual ~ChromeProcessManagerDelegate();
+  ~ChromeProcessManagerDelegate() override;
 
   // ProcessManagerDelegate implementation:
-  virtual bool IsBackgroundPageAllowed(
-      content::BrowserContext* context) const override;
-  virtual bool DeferCreatingStartupBackgroundHosts(
+  bool IsBackgroundPageAllowed(content::BrowserContext* context) const override;
+  bool DeferCreatingStartupBackgroundHosts(
       content::BrowserContext* context) const override;
 
   // content::NotificationObserver implementation:
-  virtual void Observe(int type,
-                       const content::NotificationSource& source,
-                       const content::NotificationDetails& details) override;
+  void Observe(int type,
+               const content::NotificationSource& source,
+               const content::NotificationDetails& details) override;
 
  private:
   // Notification handlers.
diff --git a/chrome/browser/extensions/chrome_url_request_util.cc b/chrome/browser/extensions/chrome_url_request_util.cc
index 6967e5d..b2455a3 100644
--- a/chrome/browser/extensions/chrome_url_request_util.cc
+++ b/chrome/browser/extensions/chrome_url_request_util.cc
@@ -59,10 +59,10 @@
   }
 
   // Overridden from URLRequestSimpleJob:
-  virtual int GetData(std::string* mime_type,
-                      std::string* charset,
-                      std::string* data,
-                      const net::CompletionCallback& callback) const override {
+  int GetData(std::string* mime_type,
+              std::string* charset,
+              std::string* data,
+              const net::CompletionCallback& callback) const override {
     // TODO(vadimt): Remove ScopedProfile below once crbug.com/422489 is fixed.
     tracked_objects::ScopedProfile tracking_profile(
         FROM_HERE_WITH_EXPLICIT_FUNCTION(
@@ -96,12 +96,12 @@
     return net::ERR_IO_PENDING;
   }
 
-  virtual void GetResponseInfo(net::HttpResponseInfo* info) override {
+  void GetResponseInfo(net::HttpResponseInfo* info) override {
     *info = response_info_;
   }
 
  private:
-  virtual ~URLRequestResourceBundleJob() {}
+  ~URLRequestResourceBundleJob() override {}
 
   void OnMimeTypeRead(std::string* out_mime_type,
                       std::string* charset,
diff --git a/chrome/browser/extensions/component_loader_unittest.cc b/chrome/browser/extensions/component_loader_unittest.cc
index dbe01a1..9a8cfb8 100644
--- a/chrome/browser/extensions/component_loader_unittest.cc
+++ b/chrome/browser/extensions/component_loader_unittest.cc
@@ -36,33 +36,27 @@
   MockExtensionService() : ready_(false), unloaded_count_(0) {
   }
 
-  virtual void AddComponentExtension(const Extension* extension) override {
+  void AddComponentExtension(const Extension* extension) override {
     EXPECT_FALSE(extension_set_.Contains(extension->id()));
     // ExtensionService must become the owner of the extension object.
     extension_set_.Insert(extension);
   }
 
-  virtual void UnloadExtension(
-      const std::string& extension_id,
-      UnloadedExtensionInfo::Reason reason) override {
+  void UnloadExtension(const std::string& extension_id,
+                       UnloadedExtensionInfo::Reason reason) override {
     ASSERT_TRUE(extension_set_.Contains(extension_id));
     // Remove the extension with the matching id.
     extension_set_.Remove(extension_id);
     unloaded_count_++;
   }
 
-  virtual void RemoveComponentExtension(const std::string & extension_id)
-      override {
+  void RemoveComponentExtension(const std::string& extension_id) override {
     UnloadExtension(extension_id, UnloadedExtensionInfo::REASON_DISABLE);
   }
 
-  virtual bool is_ready() override {
-    return ready_;
-  }
+  bool is_ready() override { return ready_; }
 
-  virtual const ExtensionSet* extensions() const override {
-    return &extension_set_;
-  }
+  const ExtensionSet* extensions() const override { return &extension_set_; }
 
   void set_ready(bool ready) {
     ready_ = ready;
diff --git a/chrome/browser/extensions/content_script_apitest.cc b/chrome/browser/extensions/content_script_apitest.cc
index 40cfc8b..91d1ab6 100644
--- a/chrome/browser/extensions/content_script_apitest.cc
+++ b/chrome/browser/extensions/content_script_apitest.cc
@@ -162,7 +162,7 @@
  protected:
   // TODO(rdevlin.cronin): Make a testing switch that looks like FeatureSwitch,
   // but takes in an optional value so that we don't have to do this.
-  virtual void SetUpCommandLine(base::CommandLine* command_line) override {
+  void SetUpCommandLine(base::CommandLine* command_line) override {
     ExtensionApiTest::SetUpCommandLine(command_line);
     // We change the Webstore URL to be http://cws.com. We need to do this so
     // we can check that css injection is not allowed on the webstore (which
diff --git a/chrome/browser/extensions/content_verifier_browsertest.cc b/chrome/browser/extensions/content_verifier_browsertest.cc
index 74d2bf8..6dc2f46 100644
--- a/chrome/browser/extensions/content_verifier_browsertest.cc
+++ b/chrome/browser/extensions/content_verifier_browsertest.cc
@@ -21,7 +21,7 @@
   explicit UnloadObserver(ExtensionRegistry* registry) : observer_(this) {
     observer_.Add(registry);
   }
-  virtual ~UnloadObserver() {}
+  ~UnloadObserver() override {}
 
   void WaitForUnload(const ExtensionId& id) {
     if (ContainsKey(observed_, id))
@@ -33,10 +33,9 @@
     loop_runner_->Run();
   }
 
-  virtual void OnExtensionUnloaded(
-      content::BrowserContext* browser_context,
-      const Extension* extension,
-      UnloadedExtensionInfo::Reason reason) override {
+  void OnExtensionUnloaded(content::BrowserContext* browser_context,
+                           const Extension* extension,
+                           UnloadedExtensionInfo::Reason reason) override {
     observed_.insert(extension->id());
     if (awaited_id_ == extension->id())
       loop_runner_->Quit();
@@ -60,9 +59,9 @@
   void fail_next_read() { fail_next_read_ = true; }
   void fail_next_done() { fail_next_done_ = true; }
 
-  virtual ContentVerifyJob::FailureReason BytesRead(const ExtensionId& id,
-                                                    int count,
-                                                    const char* data) override {
+  ContentVerifyJob::FailureReason BytesRead(const ExtensionId& id,
+                                            int count,
+                                            const char* data) override {
     if (id == id_ && fail_next_read_) {
       fail_next_read_ = false;
       return ContentVerifyJob::HASH_MISMATCH;
@@ -70,8 +69,7 @@
     return ContentVerifyJob::NONE;
   }
 
-  virtual ContentVerifyJob::FailureReason DoneReading(
-      const ExtensionId& id) override {
+  ContentVerifyJob::FailureReason DoneReading(const ExtensionId& id) override {
     if (id == id_ && fail_next_done_) {
       fail_next_done_ = false;
       return ContentVerifyJob::HASH_MISMATCH;
@@ -103,12 +101,12 @@
   bool WaitForExpectedJobs();
 
   // ContentVerifyJob::TestObserver interface
-  virtual void JobStarted(const std::string& extension_id,
-                          const base::FilePath& relative_path) override;
+  void JobStarted(const std::string& extension_id,
+                  const base::FilePath& relative_path) override;
 
-  virtual void JobFinished(const std::string& extension_id,
-                           const base::FilePath& relative_path,
-                           bool failed) override;
+  void JobFinished(const std::string& extension_id,
+                   const base::FilePath& relative_path,
+                   bool failed) override;
 
  private:
   typedef std::pair<std::string, base::FilePath> ExtensionFile;
@@ -170,7 +168,7 @@
   ContentVerifierTest() {}
   virtual ~ContentVerifierTest() {}
 
-  virtual void SetUpCommandLine(base::CommandLine* command_line) override {
+  void SetUpCommandLine(base::CommandLine* command_line) override {
     ExtensionBrowserTest::SetUpCommandLine(command_line);
     command_line->AppendSwitchASCII(
         switches::kExtensionContentVerification,
@@ -178,11 +176,11 @@
   }
 
   // Setup our unload observer and JobDelegate, and install a test extension.
-  virtual void SetUpOnMainThread() override {
+  void SetUpOnMainThread() override {
     ExtensionBrowserTest::SetUpOnMainThread();
   }
 
-  virtual void TearDownOnMainThread() override {
+  void TearDownOnMainThread() override {
     ContentVerifyJob::SetDelegateForTests(NULL);
     ContentVerifyJob::SetObserverForTests(NULL);
     ExtensionBrowserTest::TearDownOnMainThread();
diff --git a/chrome/browser/extensions/convert_web_app_browsertest.cc b/chrome/browser/extensions/convert_web_app_browsertest.cc
index 438c414..0d38ce4 100644
--- a/chrome/browser/extensions/convert_web_app_browsertest.cc
+++ b/chrome/browser/extensions/convert_web_app_browsertest.cc
@@ -41,9 +41,9 @@
 
  private:
   // content::NotificationObserver
-  virtual void Observe(int type,
-                       const content::NotificationSource& source,
-                       const content::NotificationDetails& details) override {
+  void Observe(int type,
+               const content::NotificationSource& source,
+               const content::NotificationDetails& details) override {
     if (type ==
         extensions::NOTIFICATION_EXTENSION_WILL_BE_INSTALLED_DEPRECATED) {
       const Extension* extension =
diff --git a/chrome/browser/extensions/crx_installer.h b/chrome/browser/extensions/crx_installer.h
index 303889b..bb9083eb 100644
--- a/chrome/browser/extensions/crx_installer.h
+++ b/chrome/browser/extensions/crx_installer.h
@@ -108,8 +108,8 @@
   void InstallWebApp(const WebApplicationInfo& web_app);
 
   // Overridden from ExtensionInstallPrompt::Delegate:
-  virtual void InstallUIProceed() override;
-  virtual void InstallUIAbort(bool user_initiated) override;
+  void InstallUIProceed() override;
+  void InstallUIAbort(bool user_initiated) override;
 
   int creation_flags() const { return creation_flags_; }
   void set_creation_flags(int val) { creation_flags_ = val; }
@@ -209,7 +209,7 @@
   CrxInstaller(base::WeakPtr<ExtensionService> service_weak,
                scoped_ptr<ExtensionInstallPrompt> client,
                const WebstoreInstaller::Approval* approval);
-  virtual ~CrxInstaller();
+  ~CrxInstaller() override;
 
   // Converts the source user script to an extension.
   void ConvertUserScriptOnFileThread();
@@ -222,12 +222,12 @@
   CrxInstallerError AllowInstall(const Extension* extension);
 
   // SandboxedUnpackerClient
-  virtual void OnUnpackFailure(const base::string16& error_message) override;
-  virtual void OnUnpackSuccess(const base::FilePath& temp_dir,
-                               const base::FilePath& extension_dir,
-                               const base::DictionaryValue* original_manifest,
-                               const Extension* extension,
-                               const SkBitmap& install_icon) override;
+  void OnUnpackFailure(const base::string16& error_message) override;
+  void OnUnpackSuccess(const base::FilePath& temp_dir,
+                       const base::FilePath& extension_dir,
+                       const base::DictionaryValue* original_manifest,
+                       const Extension* extension,
+                       const SkBitmap& install_icon) override;
 
   // Called on the UI thread to start the requirements, policy and blacklist
   // checks on the extension.
diff --git a/chrome/browser/extensions/crx_installer_browsertest.cc b/chrome/browser/extensions/crx_installer_browsertest.cc
index 907d744..b98d28d 100644
--- a/chrome/browser/extensions/crx_installer_browsertest.cc
+++ b/chrome/browser/extensions/crx_installer_browsertest.cc
@@ -103,19 +103,17 @@
   void set_record_oauth2_grant(bool record) { record_oauth2_grant_ = record; }
 
   // Overriding some of the ExtensionInstallUI API.
-  virtual void ConfirmInstall(
-      Delegate* delegate,
-      const Extension* extension,
-      const ShowDialogCallback& show_dialog_callback) override {
+  void ConfirmInstall(Delegate* delegate,
+                      const Extension* extension,
+                      const ShowDialogCallback& show_dialog_callback) override {
     proxy_->set_confirmation_requested();
     delegate->InstallUIProceed();
   }
-  virtual void OnInstallSuccess(const Extension* extension,
-                                SkBitmap* icon) override {
+  void OnInstallSuccess(const Extension* extension, SkBitmap* icon) override {
     proxy_->set_extension_id(extension->id());
     base::MessageLoopForUI::current()->Quit();
   }
-  virtual void OnInstallFailure(const CrxInstallerError& error) override {
+  void OnInstallFailure(const CrxInstallerError& error) override {
     proxy_->set_error(error.message());
     base::MessageLoopForUI::current()->Quit();
   }
@@ -149,12 +147,12 @@
  public:
   ManagementPolicyMock() {}
 
-  virtual std::string GetDebugPolicyProviderName() const override {
+  std::string GetDebugPolicyProviderName() const override {
     return "ManagementPolicyMock";
   }
 
-  virtual bool UserMayLoad(const Extension* extension,
-                           base::string16* error) const override {
+  bool UserMayLoad(const Extension* extension,
+                   base::string16* error) const override {
     *error = base::UTF8ToUTF16("Dummy error message");
     return false;
   }
diff --git a/chrome/browser/extensions/declarative_user_script_master.h b/chrome/browser/extensions/declarative_user_script_master.h
index e4541259..f41545df 100644
--- a/chrome/browser/extensions/declarative_user_script_master.h
+++ b/chrome/browser/extensions/declarative_user_script_master.h
@@ -25,7 +25,7 @@
  public:
   DeclarativeUserScriptMaster(Profile* profile,
                               const ExtensionId& extension_id);
-  virtual ~DeclarativeUserScriptMaster();
+  ~DeclarativeUserScriptMaster() override;
 
   // Adds script to shared memory region. This may not happen right away if a
   // script load is in progress.
@@ -43,10 +43,9 @@
 
  private:
   // ExtensionRegistryObserver implementation.
-  virtual void OnExtensionUnloaded(
-      content::BrowserContext* browser_context,
-      const Extension* extension,
-      UnloadedExtensionInfo::Reason reason) override;
+  void OnExtensionUnloaded(content::BrowserContext* browser_context,
+                           const Extension* extension,
+                           UnloadedExtensionInfo::Reason reason) override;
 
   // ID of extension that owns scripts that this component manages.
   ExtensionId extension_id_;
diff --git a/chrome/browser/extensions/default_apps.h b/chrome/browser/extensions/default_apps.h
index 6a7927a..01efa0d 100644
--- a/chrome/browser/extensions/default_apps.h
+++ b/chrome/browser/extensions/default_apps.h
@@ -51,8 +51,8 @@
   bool ShouldInstallInProfile();
 
   // ExternalProviderImpl overrides:
-  virtual void VisitRegisteredExtension() override;
-  virtual void SetPrefs(base::DictionaryValue* prefs) override;
+  void VisitRegisteredExtension() override;
+  void SetPrefs(base::DictionaryValue* prefs) override;
 
  private:
   Profile* profile_;
diff --git a/chrome/browser/extensions/default_apps_unittest.cc b/chrome/browser/extensions/default_apps_unittest.cc
index 770afe9..8cc3079 100644
--- a/chrome/browser/extensions/default_apps_unittest.cc
+++ b/chrome/browser/extensions/default_apps_unittest.cc
@@ -22,9 +22,10 @@
  public:
   MockExternalLoader() {}
 
-  virtual void StartLoading() override {}
+  void StartLoading() override {}
+
  private:
-  virtual ~MockExternalLoader() {}
+  ~MockExternalLoader() override {}
 };
 
 class DefaultAppsTest : public testing::Test {
@@ -73,8 +74,7 @@
   EXPECT_TRUE(state == default_apps::kAlreadyInstalledDefaultApps);
 
   class DefaultTestingProfile : public TestingProfile {
-    virtual  bool WasCreatedByVersionOrLater(
-        const std::string& version) override {
+    bool WasCreatedByVersionOrLater(const std::string& version) override {
       return false;
     }
   };
diff --git a/chrome/browser/extensions/dev_mode_bubble_controller.cc b/chrome/browser/extensions/dev_mode_bubble_controller.cc
index 854dcf7..202207c 100644
--- a/chrome/browser/extensions/dev_mode_bubble_controller.cc
+++ b/chrome/browser/extensions/dev_mode_bubble_controller.cc
@@ -35,26 +35,25 @@
     : public ExtensionMessageBubbleController::Delegate {
  public:
   explicit DevModeBubbleDelegate(Profile* profile);
-  virtual ~DevModeBubbleDelegate();
+  ~DevModeBubbleDelegate() override;
 
   // ExtensionMessageBubbleController::Delegate methods.
-  virtual bool ShouldIncludeExtension(const std::string& extension_id) override;
-  virtual void AcknowledgeExtension(
+  bool ShouldIncludeExtension(const std::string& extension_id) override;
+  void AcknowledgeExtension(
       const std::string& extension_id,
       ExtensionMessageBubbleController::BubbleAction user_action) override;
-  virtual void PerformAction(const ExtensionIdList& list) override;
-  virtual void OnClose() override;
-  virtual base::string16 GetTitle() const override;
-  virtual base::string16 GetMessageBody(
-      bool anchored_to_browser_action) const override;
-  virtual base::string16 GetOverflowText(
+  void PerformAction(const ExtensionIdList& list) override;
+  void OnClose() override;
+  base::string16 GetTitle() const override;
+  base::string16 GetMessageBody(bool anchored_to_browser_action) const override;
+  base::string16 GetOverflowText(
       const base::string16& overflow_count) const override;
-  virtual GURL GetLearnMoreUrl() const override;
-  virtual base::string16 GetActionButtonLabel() const override;
-  virtual base::string16 GetDismissButtonLabel() const override;
-  virtual bool ShouldShowExtensionList() const override;
-  virtual void LogExtensionCount(size_t count) override;
-  virtual void LogAction(
+  GURL GetLearnMoreUrl() const override;
+  base::string16 GetActionButtonLabel() const override;
+  base::string16 GetDismissButtonLabel() const override;
+  bool ShouldShowExtensionList() const override;
+  void LogExtensionCount(size_t count) override;
+  void LogAction(
       ExtensionMessageBubbleController::BubbleAction action) override;
 
  private:
diff --git a/chrome/browser/extensions/dev_mode_bubble_controller.h b/chrome/browser/extensions/dev_mode_bubble_controller.h
index 4aaf1fe..c350330d 100644
--- a/chrome/browser/extensions/dev_mode_bubble_controller.h
+++ b/chrome/browser/extensions/dev_mode_bubble_controller.h
@@ -23,14 +23,14 @@
   static bool IsDevModeExtension(const Extension* extension);
 
   explicit DevModeBubbleController(Profile* profile);
-  virtual ~DevModeBubbleController();
+  ~DevModeBubbleController() override;
 
   // Whether the controller knows of extensions to list in the bubble. Returns
   // true if so.
   bool ShouldShow();
 
   // ExtensionMessageBubbleController methods.
-  virtual void Show(ExtensionMessageBubble* bubble) override;
+  void Show(ExtensionMessageBubble* bubble) override;
 
  private:
   // A weak pointer to the profile we are associated with. Not owned by us.
diff --git a/chrome/browser/extensions/display_info_provider_mac.h b/chrome/browser/extensions/display_info_provider_mac.h
index 59a919b..6795ef94 100644
--- a/chrome/browser/extensions/display_info_provider_mac.h
+++ b/chrome/browser/extensions/display_info_provider_mac.h
@@ -12,16 +12,16 @@
 class DisplayInfoProviderMac : public DisplayInfoProvider {
  public:
   DisplayInfoProviderMac();
-  virtual ~DisplayInfoProviderMac();
+  ~DisplayInfoProviderMac() override;
 
   // DisplayInfoProvider implementation.
-  virtual bool SetInfo(const std::string& display_id,
-                       const core_api::system_display::DisplayProperties& info,
-                       std::string* error) override;
-  virtual void UpdateDisplayUnitInfoForPlatform(
+  bool SetInfo(const std::string& display_id,
+               const core_api::system_display::DisplayProperties& info,
+               std::string* error) override;
+  void UpdateDisplayUnitInfoForPlatform(
       const gfx::Display& display,
       core_api::system_display::DisplayUnitInfo* unit) override;
-  virtual gfx::Screen* GetActiveScreen() override;
+  gfx::Screen* GetActiveScreen() override;
 
  private:
   DISALLOW_COPY_AND_ASSIGN(DisplayInfoProviderMac);
diff --git a/chrome/browser/extensions/error_console/error_console.h b/chrome/browser/extensions/error_console/error_console.h
index 6f586ec..23c522b 100644
--- a/chrome/browser/extensions/error_console/error_console.h
+++ b/chrome/browser/extensions/error_console/error_console.h
@@ -49,7 +49,7 @@
   };
 
   explicit ErrorConsole(Profile* profile);
-  virtual ~ErrorConsole();
+  ~ErrorConsole() override;
 
   // Convenience method to return the ErrorConsole for a given profile.
   static ErrorConsole* Get(Profile* profile);
@@ -126,27 +126,25 @@
 
   // ExtensionRegistry implementation. If the Apps Developer Tools app is
   // installed or uninstalled, we may need to turn the ErrorConsole on/off.
-  virtual void OnExtensionUnloaded(
-      content::BrowserContext* browser_context,
-      const Extension* extension,
-      UnloadedExtensionInfo::Reason reason) override;
-  virtual void OnExtensionLoaded(content::BrowserContext* browser_context,
-                                 const Extension* extension) override;
-  virtual void OnExtensionInstalled(content::BrowserContext* browser_context,
-                                    const Extension* extension,
-                                    bool is_update) override;
-  virtual void OnExtensionUninstalled(
-      content::BrowserContext* browser_context,
-      const Extension* extension,
-      extensions::UninstallReason reason) override;
+  void OnExtensionUnloaded(content::BrowserContext* browser_context,
+                           const Extension* extension,
+                           UnloadedExtensionInfo::Reason reason) override;
+  void OnExtensionLoaded(content::BrowserContext* browser_context,
+                         const Extension* extension) override;
+  void OnExtensionInstalled(content::BrowserContext* browser_context,
+                            const Extension* extension,
+                            bool is_update) override;
+  void OnExtensionUninstalled(content::BrowserContext* browser_context,
+                              const Extension* extension,
+                              extensions::UninstallReason reason) override;
 
   // Add manifest errors from an extension's install warnings.
   void AddManifestErrorsForExtension(const Extension* extension);
 
   // content::NotificationObserver implementation.
-  virtual void Observe(int type,
-                       const content::NotificationSource& source,
-                       const content::NotificationDetails& details) override;
+  void Observe(int type,
+               const content::NotificationSource& source,
+               const content::NotificationDetails& details) override;
 
   // Returns the applicable bit mask of reporting preferences for the extension.
   int GetMaskForExtension(const std::string& extension_id) const;
diff --git a/chrome/browser/extensions/error_console/error_console_browsertest.cc b/chrome/browser/extensions/error_console/error_console_browsertest.cc
index 1d9e96a5..e7857a2e 100644
--- a/chrome/browser/extensions/error_console/error_console_browsertest.cc
+++ b/chrome/browser/extensions/error_console/error_console_browsertest.cc
@@ -154,7 +154,7 @@
     }
 
     // ErrorConsole::Observer implementation.
-    virtual void OnErrorAdded(const ExtensionError* error) override {
+    void OnErrorAdded(const ExtensionError* error) override {
       ++errors_observed_;
       if (errors_observed_ >= errors_expected_) {
         if (waiting_)
@@ -162,9 +162,7 @@
       }
     }
 
-    virtual void OnErrorConsoleDestroyed() override {
-      error_console_ = NULL;
-    }
+    void OnErrorConsoleDestroyed() override { error_console_ = NULL; }
 
     // Spin until the appropriate number of errors have been observed.
     void WaitForErrors() {
@@ -199,7 +197,7 @@
     ACTION_NONE
   };
 
-  virtual void SetUpInProcessBrowserTestFixture() override {
+  void SetUpInProcessBrowserTestFixture() override {
     ExtensionBrowserTest::SetUpInProcessBrowserTestFixture();
 
     // We need to enable the ErrorConsole FeatureSwitch in order to collect
@@ -209,7 +207,7 @@
         FeatureSwitch::OVERRIDE_ENABLED);
   }
 
-  virtual void SetUpOnMainThread() override {
+  void SetUpOnMainThread() override {
     ExtensionBrowserTest::SetUpOnMainThread();
 
     // Errors are only kept if we have Developer Mode enabled.
diff --git a/chrome/browser/extensions/extension_action.cc b/chrome/browser/extensions/extension_action.cc
index 01536af4..806f5e9 100644
--- a/chrome/browser/extensions/extension_action.cc
+++ b/chrome/browser/extensions/extension_action.cc
@@ -42,7 +42,7 @@
       : icon_(icon) {}
 
   // gfx::ImageSkiaSource overrides:
-  virtual gfx::ImageSkiaRep GetImageForScale(float scale) override {
+  gfx::ImageSkiaRep GetImageForScale(float scale) override {
     gfx::ImageSkiaRep icon_rep = icon_.GetRepresentation(scale);
     color_utils::HSL shift = {-1, 0, 0.5};
     return gfx::ImageSkiaRep(
diff --git a/chrome/browser/extensions/extension_action_icon_factory.h b/chrome/browser/extensions/extension_action_icon_factory.h
index 6869e8e..3860216e 100644
--- a/chrome/browser/extensions/extension_action_icon_factory.h
+++ b/chrome/browser/extensions/extension_action_icon_factory.h
@@ -35,11 +35,10 @@
                              const extensions::Extension* extension,
                              const ExtensionAction* action,
                              Observer* observer);
-  virtual ~ExtensionActionIconFactory();
+  ~ExtensionActionIconFactory() override;
 
   // extensions::IconImage override.
-  virtual void OnExtensionIconImageChanged(
-      extensions::IconImage* image) override;
+  void OnExtensionIconImageChanged(extensions::IconImage* image) override;
 
   // Gets the extension action icon for the tab.
   // If there is an icon set using |SetIcon|, that icon is returned.
diff --git a/chrome/browser/extensions/extension_action_icon_factory_unittest.cc b/chrome/browser/extensions/extension_action_icon_factory_unittest.cc
index 690d417..657eaaf 100644
--- a/chrome/browser/extensions/extension_action_icon_factory_unittest.cc
+++ b/chrome/browser/extensions/extension_action_icon_factory_unittest.cc
@@ -145,7 +145,7 @@
   }
 
   // ExtensionActionIconFactory::Observer overrides:
-  virtual void OnIconUpdated() override {
+  void OnIconUpdated() override {
     if (quit_in_icon_updated_)
       base::MessageLoop::current()->Quit();
   }
diff --git a/chrome/browser/extensions/extension_action_manager.cc b/chrome/browser/extensions/extension_action_manager.cc
index 98c8a77b..4a9dc8a5 100644
--- a/chrome/browser/extensions/extension_action_manager.cc
+++ b/chrome/browser/extensions/extension_action_manager.cc
@@ -39,12 +39,12 @@
           BrowserContextDependencyManager::GetInstance()) {
   }
 
-  virtual KeyedService* BuildServiceInstanceFor(
+  KeyedService* BuildServiceInstanceFor(
       content::BrowserContext* profile) const override {
     return new ExtensionActionManager(static_cast<Profile*>(profile));
   }
 
-  virtual content::BrowserContext* GetBrowserContextToUse(
+  content::BrowserContext* GetBrowserContextToUse(
       content::BrowserContext* context) const override {
     return ExtensionsBrowserClient::Get()->GetOriginalContext(context);
   }
diff --git a/chrome/browser/extensions/extension_action_manager.h b/chrome/browser/extensions/extension_action_manager.h
index 6f602bd3..53451d5 100644
--- a/chrome/browser/extensions/extension_action_manager.h
+++ b/chrome/browser/extensions/extension_action_manager.h
@@ -27,7 +27,7 @@
                                public ExtensionRegistryObserver {
  public:
   explicit ExtensionActionManager(Profile* profile);
-  virtual ~ExtensionActionManager();
+  ~ExtensionActionManager() override;
 
   // Returns this profile's ExtensionActionManager.  One instance is
   // shared between a profile and its incognito version.
@@ -56,10 +56,9 @@
 
  private:
   // Implement ExtensionRegistryObserver.
-  virtual void OnExtensionUnloaded(content::BrowserContext* browser_context,
-                                   const Extension* extension,
-                                   UnloadedExtensionInfo::Reason reason)
-      override;
+  void OnExtensionUnloaded(content::BrowserContext* browser_context,
+                           const Extension* extension,
+                           UnloadedExtensionInfo::Reason reason) override;
 
   Profile* profile_;
 
diff --git a/chrome/browser/extensions/extension_action_storage_manager.h b/chrome/browser/extensions/extension_action_storage_manager.h
index 34d9dc5..4409b12d 100644
--- a/chrome/browser/extensions/extension_action_storage_manager.h
+++ b/chrome/browser/extensions/extension_action_storage_manager.h
@@ -27,19 +27,19 @@
                                       public ExtensionRegistryObserver {
  public:
   explicit ExtensionActionStorageManager(content::BrowserContext* context);
-  virtual ~ExtensionActionStorageManager();
+  ~ExtensionActionStorageManager() override;
 
  private:
   // ExtensionActionAPI::Observer:
-  virtual void OnExtensionActionUpdated(
+  void OnExtensionActionUpdated(
       ExtensionAction* extension_action,
       content::WebContents* web_contents,
       content::BrowserContext* browser_context) override;
-  virtual void OnExtensionActionAPIShuttingDown() override;
+  void OnExtensionActionAPIShuttingDown() override;
 
   // ExtensionRegistryObserver:
-  virtual void OnExtensionLoaded(content::BrowserContext* browser_context,
-                                 const Extension* extension) override;
+  void OnExtensionLoaded(content::BrowserContext* browser_context,
+                         const Extension* extension) override;
 
   // Reads/Writes the ExtensionAction's default values to/from storage.
   void WriteToStorage(ExtensionAction* extension_action);
diff --git a/chrome/browser/extensions/extension_apitest.h b/chrome/browser/extensions/extension_apitest.h
index 51c5721..3b3a06b 100644
--- a/chrome/browser/extensions/extension_apitest.h
+++ b/chrome/browser/extensions/extension_apitest.h
@@ -65,8 +65,8 @@
 
  protected:
   // InProcessBrowserTest:
-  virtual void SetUpInProcessBrowserTestFixture() override;
-  virtual void TearDownInProcessBrowserTestFixture() override;
+  void SetUpInProcessBrowserTestFixture() override;
+  void TearDownInProcessBrowserTestFixture() override;
 
   // Load |extension_name| and wait for pass / fail notification.
   // |extension_name| is a directory in "test/data/extensions/api_test".
@@ -149,7 +149,7 @@
   const extensions::Extension* GetSingleLoadedExtension();
 
   // All extensions tested by ExtensionApiTest are in the "api_test" dir.
-  virtual void SetUpCommandLine(base::CommandLine* command_line) override;
+  void SetUpCommandLine(base::CommandLine* command_line) override;
 
   // If it failed, what was the error message?
   std::string message_;
diff --git a/chrome/browser/extensions/extension_assets_manager.cc b/chrome/browser/extensions/extension_assets_manager.cc
index 6b74ede3..bdb862da 100644
--- a/chrome/browser/extensions/extension_assets_manager.cc
+++ b/chrome/browser/extensions/extension_assets_manager.cc
@@ -22,11 +22,11 @@
   }
 
   // Override from ExtensionAssetsManager.
-  virtual void InstallExtension(const Extension* extension,
-                                const base::FilePath& unpacked_extension_root,
-                                const base::FilePath& local_install_dir,
-                                Profile* profile,
-                                InstallExtensionCallback callback) override {
+  void InstallExtension(const Extension* extension,
+                        const base::FilePath& unpacked_extension_root,
+                        const base::FilePath& local_install_dir,
+                        Profile* profile,
+                        InstallExtensionCallback callback) override {
     callback.Run(file_util::InstallExtension(
         unpacked_extension_root,
         extension->id(),
@@ -34,11 +34,10 @@
         local_install_dir));
   }
 
-  virtual void UninstallExtension(
-      const std::string& id,
-      Profile* profile,
-      const base::FilePath& local_install_dir,
-      const base::FilePath& extension_root) override {
+  void UninstallExtension(const std::string& id,
+                          Profile* profile,
+                          const base::FilePath& local_install_dir,
+                          const base::FilePath& extension_root) override {
     file_util::UninstallExtension(local_install_dir, id);
   }
 
@@ -46,7 +45,7 @@
   friend struct DefaultSingletonTraits<ExtensionAssetsManagerImpl>;
 
   ExtensionAssetsManagerImpl() {}
-  virtual ~ExtensionAssetsManagerImpl() {}
+  ~ExtensionAssetsManagerImpl() override {}
 
   DISALLOW_COPY_AND_ASSIGN(ExtensionAssetsManagerImpl);
 };
diff --git a/chrome/browser/extensions/extension_browsertest.cc b/chrome/browser/extensions/extension_browsertest.cc
index c91da49..4113e2b8 100644
--- a/chrome/browser/extensions/extension_browsertest.cc
+++ b/chrome/browser/extensions/extension_browsertest.cc
@@ -348,19 +348,16 @@
   }
 
   // Simulate a user abort on an extension installation.
-  virtual void ConfirmInstall(
-      Delegate* delegate,
-      const Extension* extension,
-      const ShowDialogCallback& show_dialog_callback) override {
+  void ConfirmInstall(Delegate* delegate,
+                      const Extension* extension,
+                      const ShowDialogCallback& show_dialog_callback) override {
     delegate->InstallUIAbort(true);
     base::MessageLoopForUI::current()->Quit();
   }
 
-  virtual void OnInstallSuccess(const Extension* extension,
-                                SkBitmap* icon) override {}
+  void OnInstallSuccess(const Extension* extension, SkBitmap* icon) override {}
 
-  virtual void OnInstallFailure(
-      const extensions::CrxInstallerError& error) override {}
+  void OnInstallFailure(const extensions::CrxInstallerError& error) override {}
 };
 
 class MockAutoConfirmExtensionInstallPrompt : public ExtensionInstallPrompt {
@@ -370,10 +367,9 @@
     : ExtensionInstallPrompt(web_contents) {}
 
   // Proceed without confirmation prompt.
-  virtual void ConfirmInstall(
-      Delegate* delegate,
-      const Extension* extension,
-      const ShowDialogCallback& show_dialog_callback) override {
+  void ConfirmInstall(Delegate* delegate,
+                      const Extension* extension,
+                      const ShowDialogCallback& show_dialog_callback) override {
     delegate->InstallUIProceed();
   }
 };
diff --git a/chrome/browser/extensions/extension_browsertest.h b/chrome/browser/extensions/extension_browsertest.h
index a2bdb992..863d0b4 100644
--- a/chrome/browser/extensions/extension_browsertest.h
+++ b/chrome/browser/extensions/extension_browsertest.h
@@ -76,8 +76,8 @@
 
   // InProcessBrowserTest
   virtual void SetUp() override;
-  virtual void SetUpCommandLine(base::CommandLine* command_line) override;
-  virtual void SetUpOnMainThread() override;
+  void SetUpCommandLine(base::CommandLine* command_line) override;
+  void SetUpOnMainThread() override;
 
   const extensions::Extension* LoadExtension(const base::FilePath& path);
 
diff --git a/chrome/browser/extensions/extension_commands_global_registry.h b/chrome/browser/extensions/extension_commands_global_registry.h
index ccf0061..77daa1c8 100644
--- a/chrome/browser/extensions/extension_commands_global_registry.h
+++ b/chrome/browser/extensions/extension_commands_global_registry.h
@@ -45,7 +45,7 @@
   static void SetShortcutHandlingSuspended(bool suspended);
 
   explicit ExtensionCommandsGlobalRegistry(content::BrowserContext* context);
-  virtual ~ExtensionCommandsGlobalRegistry();
+  ~ExtensionCommandsGlobalRegistry() override;
 
   // Returns which non-global command registry is active (belonging to the
   // currently active window).
@@ -70,16 +70,14 @@
   }
 
   // Overridden from ExtensionKeybindingRegistry:
-  virtual void AddExtensionKeybinding(
-      const Extension* extension,
-      const std::string& command_name) override;
-  virtual void RemoveExtensionKeybindingImpl(
-      const ui::Accelerator& accelerator,
-      const std::string& command_name) override;
+  void AddExtensionKeybinding(const Extension* extension,
+                              const std::string& command_name) override;
+  void RemoveExtensionKeybindingImpl(const ui::Accelerator& accelerator,
+                                     const std::string& command_name) override;
 
   // Called by the GlobalShortcutListener object when a shortcut this class has
   // registered for has been pressed.
-  virtual void OnKeyPressed(const ui::Accelerator& accelerator) override;
+  void OnKeyPressed(const ui::Accelerator& accelerator) override;
 
   // Weak pointer to our browser context. Not owned by us.
   content::BrowserContext* browser_context_;
diff --git a/chrome/browser/extensions/extension_context_menu_browsertest.cc b/chrome/browser/extensions/extension_context_menu_browsertest.cc
index 2ef63d1..a39d36a 100644
--- a/chrome/browser/extensions/extension_context_menu_browsertest.cc
+++ b/chrome/browser/extensions/extension_context_menu_browsertest.cc
@@ -552,7 +552,7 @@
 
 class ExtensionContextMenuBrowserLazyTest :
     public ExtensionContextMenuBrowserTest {
-  virtual void SetUpOnMainThread() override {
+  void SetUpOnMainThread() override {
     ExtensionContextMenuBrowserTest::SetUpOnMainThread();
     // Set shorter delays to prevent test timeouts.
     extensions::ProcessManager::SetEventPageIdleTimeForTesting(1);
diff --git a/chrome/browser/extensions/extension_context_menu_model.h b/chrome/browser/extensions/extension_context_menu_model.h
index ec6f1d5..264c31d 100644
--- a/chrome/browser/extensions/extension_context_menu_model.h
+++ b/chrome/browser/extensions/extension_context_menu_model.h
@@ -71,22 +71,21 @@
                             Browser* browser);
 
   // SimpleMenuModel::Delegate overrides.
-  virtual bool IsCommandIdChecked(int command_id) const override;
-  virtual bool IsCommandIdEnabled(int command_id) const override;
-  virtual bool GetAcceleratorForCommandId(
-      int command_id,
-      ui::Accelerator* accelerator) override;
-  virtual void ExecuteCommand(int command_id, int event_flags) override;
+  bool IsCommandIdChecked(int command_id) const override;
+  bool IsCommandIdEnabled(int command_id) const override;
+  bool GetAcceleratorForCommandId(int command_id,
+                                  ui::Accelerator* accelerator) override;
+  void ExecuteCommand(int command_id, int event_flags) override;
 
   // ExtensionUninstallDialog::Delegate:
-  virtual void ExtensionUninstallAccepted() override;
-  virtual void ExtensionUninstallCanceled() override;
+  void ExtensionUninstallAccepted() override;
+  void ExtensionUninstallCanceled() override;
 
  private:
   friend class base::RefCounted<ExtensionContextMenuModel>;
   friend class extensions::ExtensionContextMenuModelTest;
 
-  virtual ~ExtensionContextMenuModel();
+  ~ExtensionContextMenuModel() override;
 
   void InitMenu(const extensions::Extension* extension);
 
diff --git a/chrome/browser/extensions/extension_crash_recovery_browsertest.cc b/chrome/browser/extensions/extension_crash_recovery_browsertest.cc
index 1b09d2a..6d790c7 100644
--- a/chrome/browser/extensions/extension_crash_recovery_browsertest.cc
+++ b/chrome/browser/extensions/extension_crash_recovery_browsertest.cc
@@ -130,7 +130,7 @@
 
 class MAYBE_ExtensionCrashRecoveryTest : public ExtensionCrashRecoveryTestBase {
  protected:
-  virtual void AcceptNotification(size_t index) override {
+  void AcceptNotification(size_t index) override {
     message_center::MessageCenter* message_center =
         message_center::MessageCenter::Get();
     ASSERT_GT(message_center->NotificationCount(), index);
@@ -143,7 +143,7 @@
     WaitForExtensionLoad();
   }
 
-  virtual void CancelNotification(size_t index) override {
+  void CancelNotification(size_t index) override {
     message_center::MessageCenter* message_center =
         message_center::MessageCenter::Get();
     ASSERT_GT(message_center->NotificationCount(), index);
@@ -156,7 +156,7 @@
         NotificationUIManager::GetProfileID(browser()->profile())));
   }
 
-  virtual size_t CountBalloons() override {
+  size_t CountBalloons() override {
     return message_center::MessageCenter::Get()->NotificationCount();
   }
 };
diff --git a/chrome/browser/extensions/extension_disabled_ui.cc b/chrome/browser/extensions/extension_disabled_ui.cc
index ebdf6dfe..5b1e197 100644
--- a/chrome/browser/extensions/extension_disabled_ui.cc
+++ b/chrome/browser/extensions/extension_disabled_ui.cc
@@ -96,11 +96,11 @@
  private:
   friend class base::RefCountedThreadSafe<ExtensionDisabledDialogDelegate>;
 
-  virtual ~ExtensionDisabledDialogDelegate();
+  ~ExtensionDisabledDialogDelegate() override;
 
   // ExtensionInstallPrompt::Delegate:
-  virtual void InstallUIProceed() override;
-  virtual void InstallUIAbort(bool user_initiated) override;
+  void InstallUIProceed() override;
+  void InstallUIAbort(bool user_initiated) override;
 
   // The UI for showing the install dialog when enabling.
   scoped_ptr<ExtensionInstallPrompt> install_ui_;
@@ -150,32 +150,32 @@
                                const Extension* extension,
                                bool is_remote_install,
                                const gfx::Image& icon);
-  virtual ~ExtensionDisabledGlobalError();
+  ~ExtensionDisabledGlobalError() override;
 
   // GlobalError implementation.
-  virtual Severity GetSeverity() override;
-  virtual bool HasMenuItem() override;
-  virtual int MenuItemCommandID() override;
-  virtual base::string16 MenuItemLabel() override;
-  virtual void ExecuteMenuItem(Browser* browser) override;
-  virtual gfx::Image GetBubbleViewIcon() override;
-  virtual base::string16 GetBubbleViewTitle() override;
-  virtual std::vector<base::string16> GetBubbleViewMessages() override;
-  virtual base::string16 GetBubbleViewAcceptButtonLabel() override;
-  virtual base::string16 GetBubbleViewCancelButtonLabel() override;
-  virtual void OnBubbleViewDidClose(Browser* browser) override;
-  virtual void BubbleViewAcceptButtonPressed(Browser* browser) override;
-  virtual void BubbleViewCancelButtonPressed(Browser* browser) override;
-  virtual bool ShouldCloseOnDeactivate() const override;
+  Severity GetSeverity() override;
+  bool HasMenuItem() override;
+  int MenuItemCommandID() override;
+  base::string16 MenuItemLabel() override;
+  void ExecuteMenuItem(Browser* browser) override;
+  gfx::Image GetBubbleViewIcon() override;
+  base::string16 GetBubbleViewTitle() override;
+  std::vector<base::string16> GetBubbleViewMessages() override;
+  base::string16 GetBubbleViewAcceptButtonLabel() override;
+  base::string16 GetBubbleViewCancelButtonLabel() override;
+  void OnBubbleViewDidClose(Browser* browser) override;
+  void BubbleViewAcceptButtonPressed(Browser* browser) override;
+  void BubbleViewCancelButtonPressed(Browser* browser) override;
+  bool ShouldCloseOnDeactivate() const override;
 
   // ExtensionUninstallDialog::Delegate implementation.
-  virtual void ExtensionUninstallAccepted() override;
-  virtual void ExtensionUninstallCanceled() override;
+  void ExtensionUninstallAccepted() override;
+  void ExtensionUninstallCanceled() override;
 
   // content::NotificationObserver implementation.
-  virtual void Observe(int type,
-                       const content::NotificationSource& source,
-                       const content::NotificationDetails& details) override;
+  void Observe(int type,
+               const content::NotificationSource& source,
+               const content::NotificationDetails& details) override;
 
  private:
   ExtensionService* service_;
diff --git a/chrome/browser/extensions/extension_disabled_ui_browsertest.cc b/chrome/browser/extensions/extension_disabled_ui_browsertest.cc
index 9d4dca91..4fa5c92 100644
--- a/chrome/browser/extensions/extension_disabled_ui_browsertest.cc
+++ b/chrome/browser/extensions/extension_disabled_ui_browsertest.cc
@@ -34,13 +34,13 @@
 
 class ExtensionDisabledGlobalErrorTest : public ExtensionBrowserTest {
  protected:
-  virtual void SetUpCommandLine(CommandLine* command_line) override {
+  void SetUpCommandLine(CommandLine* command_line) override {
     ExtensionBrowserTest::SetUpCommandLine(command_line);
     command_line->AppendSwitchASCII(switches::kAppsGalleryUpdateURL,
                                     "http://localhost/autoupdate/updates.xml");
   }
 
-  virtual void SetUpOnMainThread() override {
+  void SetUpOnMainThread() override {
     ExtensionBrowserTest::SetUpOnMainThread();
     EXPECT_TRUE(scoped_temp_dir_.CreateUniqueTempDir());
     service_ = extensions::ExtensionSystem::Get(
diff --git a/chrome/browser/extensions/extension_error_controller.h b/chrome/browser/extensions/extension_error_controller.h
index 26987d2..06c0613 100644
--- a/chrome/browser/extensions/extension_error_controller.h
+++ b/chrome/browser/extensions/extension_error_controller.h
@@ -32,12 +32,12 @@
 
  private:
   // ExtensionErrorUI::Delegate implementation:
-  virtual content::BrowserContext* GetContext() override;
-  virtual const ExtensionSet& GetExternalExtensions() override;
-  virtual const ExtensionSet& GetBlacklistedExtensions() override;
-  virtual void OnAlertDetails() override;
-  virtual void OnAlertAccept() override;
-  virtual void OnAlertClosed() override;
+  content::BrowserContext* GetContext() override;
+  const ExtensionSet& GetExternalExtensions() override;
+  const ExtensionSet& GetBlacklistedExtensions() override;
+  void OnAlertDetails() override;
+  void OnAlertAccept() override;
+  void OnAlertClosed() override;
 
   // Find any extensions that the user should be alerted about (like blacklisted
   // extensions).
diff --git a/chrome/browser/extensions/extension_error_controller_unittest.cc b/chrome/browser/extensions/extension_error_controller_unittest.cc
index 87f7d6c9..dcead3d 100644
--- a/chrome/browser/extensions/extension_error_controller_unittest.cc
+++ b/chrome/browser/extensions/extension_error_controller_unittest.cc
@@ -26,7 +26,7 @@
 class MockExtensionErrorUI : public ExtensionErrorUI {
  public:
   explicit MockExtensionErrorUI(ExtensionErrorUI::Delegate* delegate);
-  virtual ~MockExtensionErrorUI();
+  ~MockExtensionErrorUI() override;
 
   // Wrappers around the similar methods in ExtensionErrorUI.
   void CloseUI();
@@ -37,9 +37,9 @@
 
  private:
   // ExtensionErrorUI implementation.
-  virtual bool ShowErrorInBubbleView() override;
-  virtual void ShowExtensions() override;
-  virtual void Close() override;
+  bool ShowErrorInBubbleView() override;
+  void ShowExtensions() override;
+  void Close() override;
 
   // Keep a copy of the delegate around for ourselves.
   ExtensionErrorUI::Delegate* delegate_;
diff --git a/chrome/browser/extensions/extension_error_ui_default.h b/chrome/browser/extensions/extension_error_ui_default.h
index b080857e..d6b01d6 100644
--- a/chrome/browser/extensions/extension_error_ui_default.h
+++ b/chrome/browser/extensions/extension_error_ui_default.h
@@ -19,12 +19,12 @@
 class ExtensionErrorUIDefault : public ExtensionErrorUI {
  public:
   explicit ExtensionErrorUIDefault(ExtensionErrorUI::Delegate* delegate);
-  virtual ~ExtensionErrorUIDefault();
+  ~ExtensionErrorUIDefault() override;
 
   // ExtensionErrorUI implementation:
-  virtual bool ShowErrorInBubbleView() override;
-  virtual void ShowExtensions() override;
-  virtual void Close() override;
+  bool ShowErrorInBubbleView() override;
+  void ShowExtensions() override;
+  void Close() override;
 
  private:
   class ExtensionGlobalError : public GlobalErrorWithStandardBubble {
@@ -33,17 +33,17 @@
 
    private:
     // GlobalError methods.
-    virtual bool HasMenuItem() override;
-    virtual int MenuItemCommandID() override;
-    virtual base::string16 MenuItemLabel() override;
-    virtual void ExecuteMenuItem(Browser* browser) override;
-    virtual base::string16 GetBubbleViewTitle() override;
-    virtual std::vector<base::string16> GetBubbleViewMessages() override;
-    virtual base::string16 GetBubbleViewAcceptButtonLabel() override;
-    virtual base::string16 GetBubbleViewCancelButtonLabel() override;
-    virtual void OnBubbleViewDidClose(Browser* browser) override;
-    virtual void BubbleViewAcceptButtonPressed(Browser* browser) override;
-    virtual void BubbleViewCancelButtonPressed(Browser* browser) override;
+    bool HasMenuItem() override;
+    int MenuItemCommandID() override;
+    base::string16 MenuItemLabel() override;
+    void ExecuteMenuItem(Browser* browser) override;
+    base::string16 GetBubbleViewTitle() override;
+    std::vector<base::string16> GetBubbleViewMessages() override;
+    base::string16 GetBubbleViewAcceptButtonLabel() override;
+    base::string16 GetBubbleViewCancelButtonLabel() override;
+    void OnBubbleViewDidClose(Browser* browser) override;
+    void BubbleViewAcceptButtonPressed(Browser* browser) override;
+    void BubbleViewCancelButtonPressed(Browser* browser) override;
 
     // The ExtensionErrorUIDefault who owns us.
     ExtensionErrorUIDefault* error_ui_;
diff --git a/chrome/browser/extensions/extension_function_test_utils.cc b/chrome/browser/extensions/extension_function_test_utils.cc
index 1d3b84a5..dbc5863 100644
--- a/chrome/browser/extensions/extension_function_test_utils.cc
+++ b/chrome/browser/extensions/extension_function_test_utils.cc
@@ -32,17 +32,14 @@
  public:
   explicit TestFunctionDispatcherDelegate(Browser* browser) :
       browser_(browser) {}
-  virtual ~TestFunctionDispatcherDelegate() {}
+  ~TestFunctionDispatcherDelegate() override {}
 
  private:
-  virtual extensions::WindowController* GetExtensionWindowController()
-      const override {
+  extensions::WindowController* GetExtensionWindowController() const override {
     return browser_->extension_window_controller();
   }
 
-  virtual WebContents* GetAssociatedWebContents() const override {
-    return NULL;
-  }
+  WebContents* GetAssociatedWebContents() const override { return NULL; }
 
   Browser* browser_;
 };
@@ -209,9 +206,9 @@
     return *response_.get();
   }
 
-  virtual void OnSendResponse(UIThreadExtensionFunction* function,
-                              bool success,
-                              bool bad_message) override {
+  void OnSendResponse(UIThreadExtensionFunction* function,
+                      bool success,
+                      bool bad_message) override {
     ASSERT_FALSE(bad_message);
     ASSERT_FALSE(HasResponse());
     response_.reset(new bool);
diff --git a/chrome/browser/extensions/extension_garbage_collector.h b/chrome/browser/extensions/extension_garbage_collector.h
index 2f56cf6..bc3fb9da 100644
--- a/chrome/browser/extensions/extension_garbage_collector.h
+++ b/chrome/browser/extensions/extension_garbage_collector.h
@@ -27,7 +27,7 @@
 class ExtensionGarbageCollector : public KeyedService, public InstallObserver {
  public:
   explicit ExtensionGarbageCollector(content::BrowserContext* context);
-  virtual ~ExtensionGarbageCollector();
+  ~ExtensionGarbageCollector() override;
 
   static ExtensionGarbageCollector* Get(content::BrowserContext* context);
 
@@ -35,12 +35,12 @@
   void GarbageCollectExtensionsForTest();
 
   // Overriddes for KeyedService:
-  virtual void Shutdown() override;
+  void Shutdown() override;
 
   // Overriddes for InstallObserver
-  virtual void OnBeginCrxInstall(const std::string& extension_id) override;
-  virtual void OnFinishCrxInstall(const std::string& extension_id,
-                                  bool success) override;
+  void OnBeginCrxInstall(const std::string& extension_id) override;
+  void OnFinishCrxInstall(const std::string& extension_id,
+                          bool success) override;
 
  protected:
   // Cleans up the extension install directory. It can end up with garbage in it
diff --git a/chrome/browser/extensions/extension_garbage_collector_factory.h b/chrome/browser/extensions/extension_garbage_collector_factory.h
index 19f0bf6..2f4f5d14 100644
--- a/chrome/browser/extensions/extension_garbage_collector_factory.h
+++ b/chrome/browser/extensions/extension_garbage_collector_factory.h
@@ -30,14 +30,14 @@
   friend struct DefaultSingletonTraits<ExtensionGarbageCollectorFactory>;
 
   ExtensionGarbageCollectorFactory();
-  virtual ~ExtensionGarbageCollectorFactory();
+  ~ExtensionGarbageCollectorFactory() override;
 
   // BrowserContextKeyedServiceFactory overrides:
-  virtual KeyedService* BuildServiceInstanceFor(
+  KeyedService* BuildServiceInstanceFor(
       content::BrowserContext* context) const override;
 
-  virtual bool ServiceIsCreatedWithBrowserContext() const override;
-  virtual bool ServiceIsNULLWhileTesting() const override;
+  bool ServiceIsCreatedWithBrowserContext() const override;
+  bool ServiceIsNULLWhileTesting() const override;
 
   DISALLOW_COPY_AND_ASSIGN(ExtensionGarbageCollectorFactory);
 };
diff --git a/chrome/browser/extensions/extension_gcm_app_handler.h b/chrome/browser/extensions/extension_gcm_app_handler.h
index 1eb9aeb..3e2c00f 100644
--- a/chrome/browser/extensions/extension_gcm_app_handler.h
+++ b/chrome/browser/extensions/extension_gcm_app_handler.h
@@ -39,23 +39,22 @@
                                public ExtensionRegistryObserver {
  public:
   explicit ExtensionGCMAppHandler(content::BrowserContext* context);
-  virtual ~ExtensionGCMAppHandler();
+  ~ExtensionGCMAppHandler() override;
 
   // BrowserContextKeyedAPI implementation.
   static BrowserContextKeyedAPIFactory<ExtensionGCMAppHandler>*
   GetFactoryInstance();
 
   // gcm::GCMAppHandler implementation.
-  virtual void ShutdownHandler() override;
-  virtual void OnMessage(
-      const std::string& app_id,
-      const gcm::GCMClient::IncomingMessage& message) override;
-  virtual void OnMessagesDeleted(const std::string& app_id) override;
-  virtual void OnSendError(
+  void ShutdownHandler() override;
+  void OnMessage(const std::string& app_id,
+                 const gcm::GCMClient::IncomingMessage& message) override;
+  void OnMessagesDeleted(const std::string& app_id) override;
+  void OnSendError(
       const std::string& app_id,
       const gcm::GCMClient::SendErrorDetails& send_error_details) override;
-  virtual void OnSendAcknowledged(const std::string& app_id,
-                                  const std::string& message_id) override;
+  void OnSendAcknowledged(const std::string& app_id,
+                          const std::string& message_id) override;
 
  protected:
   // Could be overridden by testing purpose.
@@ -70,16 +69,14 @@
   friend class BrowserContextKeyedAPIFactory<ExtensionGCMAppHandler>;
 
   // ExtensionRegistryObserver implementation.
-  virtual void OnExtensionLoaded(content::BrowserContext* browser_context,
-                                 const Extension* extension) override;
-  virtual void OnExtensionUnloaded(
-      content::BrowserContext* browser_context,
-      const Extension* extension,
-      UnloadedExtensionInfo::Reason reason) override;
-  virtual void OnExtensionUninstalled(
-      content::BrowserContext* browser_context,
-      const Extension* extension,
-      extensions::UninstallReason reason) override;
+  void OnExtensionLoaded(content::BrowserContext* browser_context,
+                         const Extension* extension) override;
+  void OnExtensionUnloaded(content::BrowserContext* browser_context,
+                           const Extension* extension,
+                           UnloadedExtensionInfo::Reason reason) override;
+  void OnExtensionUninstalled(content::BrowserContext* browser_context,
+                              const Extension* extension,
+                              extensions::UninstallReason reason) override;
 
   void AddDummyAppHandler();
   void RemoveDummyAppHandler();
diff --git a/chrome/browser/extensions/extension_gcm_app_handler_unittest.cc b/chrome/browser/extensions/extension_gcm_app_handler_unittest.cc
index b9a20bb..d835a12 100644
--- a/chrome/browser/extensions/extension_gcm_app_handler_unittest.cc
+++ b/chrome/browser/extensions/extension_gcm_app_handler_unittest.cc
@@ -140,29 +140,24 @@
         app_handler_count_drop_to_zero_(false) {
   }
 
-  virtual ~FakeExtensionGCMAppHandler() {
-  }
+  ~FakeExtensionGCMAppHandler() override {}
 
-  virtual void OnMessage(
+  void OnMessage(const std::string& app_id,
+                 const gcm::GCMClient::IncomingMessage& message) override {}
+
+  void OnMessagesDeleted(const std::string& app_id) override {}
+
+  void OnSendError(
       const std::string& app_id,
-      const gcm::GCMClient::IncomingMessage& message) override {
-  }
+      const gcm::GCMClient::SendErrorDetails& send_error_details) override {}
 
-  virtual void OnMessagesDeleted(const std::string& app_id) override {
-  }
-
-  virtual void OnSendError(
-      const std::string& app_id,
-      const gcm::GCMClient::SendErrorDetails& send_error_details) override {
-  }
-
-  virtual void OnUnregisterCompleted(const std::string& app_id,
-                                     gcm::GCMClient::Result result) override {
+  void OnUnregisterCompleted(const std::string& app_id,
+                             gcm::GCMClient::Result result) override {
     unregistration_result_ = result;
     waiter_->SignalCompleted();
   }
 
-  virtual void RemoveAppHandler(const std::string& app_id) override{
+  void RemoveAppHandler(const std::string& app_id) override {
     ExtensionGCMAppHandler::RemoveAppHandler(app_id);
     if (!GetGCMDriver()->app_handlers().size())
       app_handler_count_drop_to_zero_ = true;
diff --git a/chrome/browser/extensions/extension_geolocation_apitest.cc b/chrome/browser/extensions/extension_geolocation_apitest.cc
index 411305f9..201e85b 100644
--- a/chrome/browser/extensions/extension_geolocation_apitest.cc
+++ b/chrome/browser/extensions/extension_geolocation_apitest.cc
@@ -11,7 +11,7 @@
   }
 
   // InProcessBrowserTest
-  virtual void SetUpOnMainThread() override {
+  void SetUpOnMainThread() override {
     ui_test_utils::OverrideGeolocation(0, 0);
   }
 };
diff --git a/chrome/browser/extensions/extension_icon_manager_unittest.cc b/chrome/browser/extensions/extension_icon_manager_unittest.cc
index f9a2096..9ccac69 100644
--- a/chrome/browser/extensions/extension_icon_manager_unittest.cc
+++ b/chrome/browser/extensions/extension_icon_manager_unittest.cc
@@ -74,12 +74,12 @@
 class TestIconManager : public ExtensionIconManager {
  public:
   explicit TestIconManager(ExtensionIconManagerTest* test) : test_(test) {}
-  virtual ~TestIconManager() {}
+  ~TestIconManager() override {}
 
   // Overrides the ImageLoader callback, and calls through to the base class'
   // implementation. Then it lets the test know that an image load was observed.
-  virtual void OnImageLoaded(const std::string& extension_id,
-                             const gfx::Image& image) override {
+  void OnImageLoaded(const std::string& extension_id,
+                     const gfx::Image& image) override {
     ExtensionIconManager::OnImageLoaded(extension_id, image);
     test_->ImageLoadObserved();
   }
diff --git a/chrome/browser/extensions/extension_icon_source_apitest.cc b/chrome/browser/extensions/extension_icon_source_apitest.cc
index 38be9b4..8f18dfe3 100644
--- a/chrome/browser/extensions/extension_icon_source_apitest.cc
+++ b/chrome/browser/extensions/extension_icon_source_apitest.cc
@@ -17,7 +17,7 @@
 
 class ExtensionIconSourceTest : public ExtensionApiTest {
  protected:
-  virtual void SetUpCommandLine(CommandLine* command_line) override {
+  void SetUpCommandLine(CommandLine* command_line) override {
     ExtensionApiTest::SetUpCommandLine(command_line);
     command_line->AppendSwitch(
         extensions::switches::kAllowLegacyExtensionManifests);
diff --git a/chrome/browser/extensions/extension_infobar_delegate.h b/chrome/browser/extensions/extension_infobar_delegate.h
index ce4ed66..fbc69d87 100644
--- a/chrome/browser/extensions/extension_infobar_delegate.h
+++ b/chrome/browser/extensions/extension_infobar_delegate.h
@@ -31,7 +31,7 @@
                                  public content::NotificationObserver,
                                  public extensions::ExtensionRegistryObserver {
  public:
-  virtual ~ExtensionInfoBarDelegate();
+  ~ExtensionInfoBarDelegate() override;
 
   // Creates an extension infobar and delegate and adds the infobar to the
   // infobar service for |web_contents|.
@@ -68,19 +68,18 @@
       scoped_ptr<ExtensionInfoBarDelegate> delegate);
 
   // InfoBarDelegate.
-  virtual bool EqualsDelegate(
-      infobars::InfoBarDelegate* delegate) const override;
-  virtual void InfoBarDismissed() override;
-  virtual Type GetInfoBarType() const override;
-  virtual ExtensionInfoBarDelegate* AsExtensionInfoBarDelegate() override;
+  bool EqualsDelegate(infobars::InfoBarDelegate* delegate) const override;
+  void InfoBarDismissed() override;
+  Type GetInfoBarType() const override;
+  ExtensionInfoBarDelegate* AsExtensionInfoBarDelegate() override;
 
   // content::NotificationObserver.
-  virtual void Observe(int type,
-                       const content::NotificationSource& source,
-                       const content::NotificationDetails& details) override;
+  void Observe(int type,
+               const content::NotificationSource& source,
+               const content::NotificationDetails& details) override;
 
   // extensions::ExtensionRegistryObserver.
-  virtual void OnExtensionUnloaded(
+  void OnExtensionUnloaded(
       content::BrowserContext* browser_context,
       const extensions::Extension* extension,
       extensions::UnloadedExtensionInfo::Reason reason) override;
diff --git a/chrome/browser/extensions/extension_install_checker_unittest.cc b/chrome/browser/extensions/extension_install_checker_unittest.cc
index 24da77c..a726607 100644
--- a/chrome/browser/extensions/extension_install_checker_unittest.cc
+++ b/chrome/browser/extensions/extension_install_checker_unittest.cc
@@ -34,7 +34,7 @@
         policy_check_called_(false),
         blacklist_state_(NOT_BLACKLISTED) {}
 
-  virtual ~ExtensionInstallCheckerForTest() {}
+  ~ExtensionInstallCheckerForTest() override {}
 
   void set_requirements_error(const std::string& error) {
     requirements_error_ = error;
@@ -60,23 +60,23 @@
   }
 
  protected:
-  virtual void CheckRequirements() override {
+  void CheckRequirements() override {
     requirements_check_called_ = true;
     MockCheckRequirements(current_sequence_number());
   }
 
-  virtual void CheckManagementPolicy() override {
+  void CheckManagementPolicy() override {
     policy_check_called_ = true;
     OnManagementPolicyCheckDone(policy_check_error_.empty(),
                                 policy_check_error_);
   }
 
-  virtual void CheckBlacklistState() override {
+  void CheckBlacklistState() override {
     blacklist_check_called_ = true;
     MockCheckBlacklistState(current_sequence_number());
   }
 
-  virtual void ResetResults() override {
+  void ResetResults() override {
     ExtensionInstallChecker::ResetResults();
 
     requirements_check_called_ = false;
@@ -98,7 +98,7 @@
 // checks.
 class ExtensionInstallCheckerAsync : public ExtensionInstallCheckerForTest {
  protected:
-  virtual void CheckRequirements() override {
+  void CheckRequirements() override {
     requirements_check_called_ = true;
 
     base::MessageLoop::current()->PostTask(
@@ -108,7 +108,7 @@
                    current_sequence_number()));
   }
 
-  virtual void CheckBlacklistState() override {
+  void CheckBlacklistState() override {
     blacklist_check_called_ = true;
 
     base::MessageLoop::current()->PostTask(
diff --git a/chrome/browser/extensions/extension_install_ui_browsertest.cc b/chrome/browser/extensions/extension_install_ui_browsertest.cc
index 110efdd..5f414e5 100644
--- a/chrome/browser/extensions/extension_install_ui_browsertest.cc
+++ b/chrome/browser/extensions/extension_install_ui_browsertest.cc
@@ -197,9 +197,9 @@
  public:
   NewTabUISortingBrowserTest() {}
 
-  virtual void Observe(int type,
-                       const content::NotificationSource& source,
-                       const content::NotificationDetails& details) override {
+  void Observe(int type,
+               const content::NotificationSource& source,
+               const content::NotificationDetails& details) override {
     if (type != chrome::NOTIFICATION_APP_LAUNCHER_REORDERED) {
       observer_->Observe(type, source, details);
       return;
diff --git a/chrome/browser/extensions/extension_keybinding_registry.h b/chrome/browser/extensions/extension_keybinding_registry.h
index ddc911a..3936196e 100644
--- a/chrome/browser/extensions/extension_keybinding_registry.h
+++ b/chrome/browser/extensions/extension_keybinding_registry.h
@@ -55,7 +55,7 @@
                               ExtensionFilter extension_filter,
                               Delegate* delegate);
 
-  virtual ~ExtensionKeybindingRegistry();
+  ~ExtensionKeybindingRegistry() override;
 
   // Enables/Disables general shortcut handling in Chrome. Implemented in
   // platform-specific ExtensionKeybindingsRegistry* files.
@@ -126,17 +126,16 @@
 
  private:
   // Overridden from content::NotificationObserver:
-  virtual void Observe(int type,
-                       const content::NotificationSource& source,
-                       const content::NotificationDetails& details) override;
+  void Observe(int type,
+               const content::NotificationSource& source,
+               const content::NotificationDetails& details) override;
 
   // ExtensionRegistryObserver implementation.
-  virtual void OnExtensionLoaded(content::BrowserContext* browser_context,
-                                 const Extension* extension) override;
-  virtual void OnExtensionUnloaded(
-      content::BrowserContext* browser_context,
-      const Extension* extension,
-      UnloadedExtensionInfo::Reason reason) override;
+  void OnExtensionLoaded(content::BrowserContext* browser_context,
+                         const Extension* extension) override;
+  void OnExtensionUnloaded(content::BrowserContext* browser_context,
+                           const Extension* extension,
+                           UnloadedExtensionInfo::Reason reason) override;
 
   // Returns true if the |extension| matches our extension filter.
   bool ExtensionMatchesFilter(const extensions::Extension* extension);
diff --git a/chrome/browser/extensions/extension_management.h b/chrome/browser/extensions/extension_management.h
index 8727fd5f..879cffb9 100644
--- a/chrome/browser/extensions/extension_management.h
+++ b/chrome/browser/extensions/extension_management.h
@@ -63,7 +63,7 @@
   };
 
   explicit ExtensionManagement(PrefService* pref_service);
-  virtual ~ExtensionManagement();
+  ~ExtensionManagement() override;
 
   void AddObserver(Observer* observer);
   void RemoveObserver(Observer* observer);
@@ -168,14 +168,14 @@
   friend struct DefaultSingletonTraits<ExtensionManagementFactory>;
 
   ExtensionManagementFactory();
-  virtual ~ExtensionManagementFactory();
+  ~ExtensionManagementFactory() override;
 
   // BrowserContextKeyedServiceExtensionManagementFactory:
-  virtual KeyedService* BuildServiceInstanceFor(
+  KeyedService* BuildServiceInstanceFor(
       content::BrowserContext* context) const override;
-  virtual content::BrowserContext* GetBrowserContextToUse(
+  content::BrowserContext* GetBrowserContextToUse(
       content::BrowserContext* context) const override;
-  virtual void RegisterProfilePrefs(
+  void RegisterProfilePrefs(
       user_prefs::PrefRegistrySyncable* registry) override;
 
   DISALLOW_COPY_AND_ASSIGN(ExtensionManagementFactory);
diff --git a/chrome/browser/extensions/extension_message_bubble_controller_unittest.cc b/chrome/browser/extensions/extension_message_bubble_controller_unittest.cc
index f3a30f1..4e72895bc 100644
--- a/chrome/browser/extensions/extension_message_bubble_controller_unittest.cc
+++ b/chrome/browser/extensions/extension_message_bubble_controller_unittest.cc
@@ -79,17 +79,17 @@
       : SuspiciousExtensionBubbleController(profile) {
   }
 
-  virtual void OnBubbleAction() override {
+  void OnBubbleAction() override {
     ++action_button_callback_count_;
     SuspiciousExtensionBubbleController::OnBubbleAction();
   }
 
-  virtual void OnBubbleDismiss() override {
+  void OnBubbleDismiss() override {
     ++dismiss_button_callback_count_;
     SuspiciousExtensionBubbleController::OnBubbleDismiss();
   }
 
-  virtual void OnLinkClicked() override {
+  void OnLinkClicked() override {
     ++link_click_callback_count_;
     SuspiciousExtensionBubbleController::OnLinkClicked();
   }
@@ -104,17 +104,17 @@
       : DevModeBubbleController(profile) {
   }
 
-  virtual void OnBubbleAction() override {
+  void OnBubbleAction() override {
     ++action_button_callback_count_;
     DevModeBubbleController::OnBubbleAction();
   }
 
-  virtual void OnBubbleDismiss() override {
+  void OnBubbleDismiss() override {
     ++dismiss_button_callback_count_;
     DevModeBubbleController::OnBubbleDismiss();
   }
 
-  virtual void OnLinkClicked() override {
+  void OnLinkClicked() override {
     ++link_click_callback_count_;
     DevModeBubbleController::OnLinkClicked();
   }
@@ -128,17 +128,17 @@
                                   SettingsApiOverrideType type)
       : SettingsApiBubbleController(profile, type) {}
 
-  virtual void OnBubbleAction() override {
+  void OnBubbleAction() override {
     ++action_button_callback_count_;
     SettingsApiBubbleController::OnBubbleAction();
   }
 
-  virtual void OnBubbleDismiss() override {
+  void OnBubbleDismiss() override {
     ++dismiss_button_callback_count_;
     SettingsApiBubbleController::OnBubbleDismiss();
   }
 
-  virtual void OnLinkClicked() override {
+  void OnLinkClicked() override {
     ++link_click_callback_count_;
     SettingsApiBubbleController::OnLinkClicked();
   }
@@ -153,17 +153,17 @@
       : NtpOverriddenBubbleController(profile) {
   }
 
-  virtual void OnBubbleAction() override {
+  void OnBubbleAction() override {
     ++action_button_callback_count_;
     NtpOverriddenBubbleController::OnBubbleAction();
   }
 
-  virtual void OnBubbleDismiss() override {
+  void OnBubbleDismiss() override {
     ++dismiss_button_callback_count_;
     NtpOverriddenBubbleController::OnBubbleDismiss();
   }
 
-  virtual void OnLinkClicked() override {
+  void OnLinkClicked() override {
     ++link_click_callback_count_;
     NtpOverriddenBubbleController::OnLinkClicked();
   }
@@ -178,17 +178,17 @@
       : ProxyOverriddenBubbleController(profile) {
   }
 
-  virtual void OnBubbleAction() override {
+  void OnBubbleAction() override {
     ++action_button_callback_count_;
     ProxyOverriddenBubbleController::OnBubbleAction();
   }
 
-  virtual void OnBubbleDismiss() override {
+  void OnBubbleDismiss() override {
     ++dismiss_button_callback_count_;
     ProxyOverriddenBubbleController::OnBubbleDismiss();
   }
 
-  virtual void OnLinkClicked() override {
+  void OnLinkClicked() override {
     ++link_click_callback_count_;
     ProxyOverriddenBubbleController::OnLinkClicked();
   }
@@ -211,7 +211,7 @@
     action_ = action;
   }
 
-  virtual void Show() override {
+  void Show() override {
     if (action_ == BUBBLE_ACTION_CLICK_ACTION_BUTTON)
       action_callback_.Run();
     else if (action_ == BUBBLE_ACTION_CLICK_DISMISS_BUTTON)
@@ -220,15 +220,15 @@
       link_callback_.Run();
   }
 
-  virtual void OnActionButtonClicked(const base::Closure& callback) override {
+  void OnActionButtonClicked(const base::Closure& callback) override {
     action_callback_ = callback;
   }
 
-  virtual void OnDismissButtonClicked(const base::Closure& callback) override {
+  void OnDismissButtonClicked(const base::Closure& callback) override {
     dismiss_callback_ = callback;
   }
 
-  virtual void OnLinkClicked(const base::Closure& callback) override {
+  void OnLinkClicked(const base::Closure& callback) override {
     link_callback_ = callback;
   }
 
diff --git a/chrome/browser/extensions/extension_messages_apitest.cc b/chrome/browser/extensions/extension_messages_apitest.cc
index 107d803..d727ada 100644
--- a/chrome/browser/extensions/extension_messages_apitest.cc
+++ b/chrome/browser/extensions/extension_messages_apitest.cc
@@ -72,9 +72,9 @@
     return event.Pass();
   }
 
-  virtual void Observe(int type,
-                       const content::NotificationSource& source,
-                       const content::NotificationDetails& details) override {
+  void Observe(int type,
+               const content::NotificationSource& source,
+               const content::NotificationDetails& details) override {
     EventRouter* event_router =
         EventRouter::Get(content::Source<Profile>(source).ptr());
 
@@ -127,7 +127,7 @@
 
 // Tests connecting from a panel to its extension.
 class PanelMessagingTest : public ExtensionApiTest {
-  virtual void SetUpCommandLine(CommandLine* command_line) override {
+  void SetUpCommandLine(CommandLine* command_line) override {
     ExtensionApiTest::SetUpCommandLine(command_line);
     command_line->AppendSwitch(switches::kEnablePanels);
   }
diff --git a/chrome/browser/extensions/extension_notification_observer.h b/chrome/browser/extensions/extension_notification_observer.h
index cfd8dd9..3d46ccf 100644
--- a/chrome/browser/extensions/extension_notification_observer.h
+++ b/chrome/browser/extensions/extension_notification_observer.h
@@ -26,7 +26,7 @@
   ExtensionNotificationObserver(content::NotificationSource source,
                                 const std::set<std::string>& extension_ids);
 
-  virtual ~ExtensionNotificationObserver();
+  ~ExtensionNotificationObserver() override;
 
   // Each of these methods returns a testing::AssertionSuccess if exactly those
   // notifications occurred for any extensions in |extension_ids|, and no more,
@@ -51,9 +51,9 @@
 
  private:
   // content::NotificationObserver implementation.
-  virtual void Observe(int type,
-                       const content::NotificationSource& source,
-                       const content::NotificationDetails& details) override;
+  void Observe(int type,
+               const content::NotificationSource& source,
+               const content::NotificationDetails& details) override;
 
   // Checks then clears notifications for our extensions.
   testing::AssertionResult CheckNotifications(
diff --git a/chrome/browser/extensions/extension_prefs_unittest.cc b/chrome/browser/extensions/extension_prefs_unittest.cc
index 5d81c1a..9a630c38 100644
--- a/chrome/browser/extensions/extension_prefs_unittest.cc
+++ b/chrome/browser/extensions/extension_prefs_unittest.cc
@@ -74,14 +74,14 @@
       : extension_time_(Time::Now() - TimeDelta::FromHours(4)),
         blacklist_time_(Time::Now() - TimeDelta::FromHours(2)) {}
 
-  virtual void Initialize() override {
+  void Initialize() override {
     extension_id_ = prefs_.AddExtensionAndReturnId("last_ping_day");
     EXPECT_TRUE(prefs()->LastPingDay(extension_id_).is_null());
     prefs()->SetLastPingDay(extension_id_, extension_time_);
     prefs()->SetBlacklistLastPingDay(blacklist_time_);
   }
 
-  virtual void Verify() override {
+  void Verify() override {
     Time result = prefs()->LastPingDay(extension_id_);
     EXPECT_FALSE(result.is_null());
     EXPECT_TRUE(result == extension_time_);
@@ -100,7 +100,7 @@
 // Tests the GetToolbarOrder/SetToolbarOrder functions.
 class ExtensionPrefsToolbarOrder : public ExtensionPrefsTest {
  public:
-  virtual void Initialize() override {
+  void Initialize() override {
     list_.push_back(prefs_.AddExtensionAndReturnId("1"));
     list_.push_back(prefs_.AddExtensionAndReturnId("2"));
     list_.push_back(prefs_.AddExtensionAndReturnId("3"));
@@ -109,7 +109,7 @@
     prefs()->SetToolbarOrder(list_);
   }
 
-  virtual void Verify() override {
+  void Verify() override {
     ExtensionIdList result = prefs()->GetToolbarOrder();
     ASSERT_EQ(list_, result);
   }
@@ -122,12 +122,12 @@
 // Tests the IsExtensionDisabled/SetExtensionState functions.
 class ExtensionPrefsExtensionState : public ExtensionPrefsTest {
  public:
-  virtual void Initialize() override {
+  void Initialize() override {
     extension = prefs_.AddExtension("test");
     prefs()->SetExtensionState(extension->id(), Extension::DISABLED);
   }
 
-  virtual void Verify() override {
+  void Verify() override {
     EXPECT_TRUE(prefs()->IsExtensionDisabled(extension->id()));
   }
 
@@ -138,12 +138,12 @@
 
 class ExtensionPrefsEscalatePermissions : public ExtensionPrefsTest {
  public:
-  virtual void Initialize() override {
+  void Initialize() override {
     extension = prefs_.AddExtension("test");
     prefs()->SetDidExtensionEscalatePermissions(extension.get(), true);
   }
 
-  virtual void Verify() override {
+  void Verify() override {
     EXPECT_TRUE(prefs()->DidExtensionEscalatePermissions(extension->id()));
   }
 
@@ -155,7 +155,7 @@
 // Tests the AddGrantedPermissions / GetGrantedPermissions functions.
 class ExtensionPrefsGrantedPermissions : public ExtensionPrefsTest {
  public:
-  virtual void Initialize() override {
+  void Initialize() override {
     const APIPermissionInfo* permission_info =
       PermissionsInfo::GetInstance()->GetByID(APIPermission::kSocket);
 
@@ -276,7 +276,7 @@
     EXPECT_EQ(effective_permissions_, granted_permissions->effective_hosts());
   }
 
-  virtual void Verify() override {
+  void Verify() override {
     scoped_refptr<PermissionSet> permissions(
         prefs()->GetGrantedPermissions(extension_id_));
     EXPECT_TRUE(permissions.get());
@@ -307,7 +307,7 @@
 // Tests the SetActivePermissions / GetActivePermissions functions.
 class ExtensionPrefsActivePermissions : public ExtensionPrefsTest {
  public:
-  virtual void Initialize() override {
+  void Initialize() override {
     extension_id_ = prefs_.AddExtensionAndReturnId("test");
 
     APIPermissionSet api_perms;
@@ -343,7 +343,7 @@
     EXPECT_EQ(*active_perms_.get(), *active.get());
   }
 
-  virtual void Verify() override {
+  void Verify() override {
     scoped_refptr<PermissionSet> permissions(
         prefs()->GetActivePermissions(extension_id_));
     EXPECT_EQ(*active_perms_.get(), *permissions.get());
@@ -358,14 +358,14 @@
 // Tests the GetVersionString function.
 class ExtensionPrefsVersionString : public ExtensionPrefsTest {
  public:
-  virtual void Initialize() override {
+  void Initialize() override {
     extension = prefs_.AddExtension("test");
     EXPECT_EQ("0.1", prefs()->GetVersionString(extension->id()));
     prefs()->OnExtensionUninstalled(extension->id(),
                                     Manifest::INTERNAL, false);
   }
 
-  virtual void Verify() override {
+  void Verify() override {
     EXPECT_EQ("", prefs()->GetVersionString(extension->id()));
   }
 
@@ -376,7 +376,7 @@
 
 class ExtensionPrefsAcknowledgment : public ExtensionPrefsTest {
  public:
-  virtual void Initialize() override {
+  void Initialize() override {
     not_installed_id_ = "pghjnghklobnfoidcldiidjjjhkeeaoi";
 
     // Install some extensions.
@@ -409,7 +409,7 @@
     prefs()->AcknowledgeBlacklistedExtension(not_installed_id_);
   }
 
-  virtual void Verify() override {
+  void Verify() override {
     ExtensionList::const_iterator iter;
     for (iter = extensions_.begin(); iter != extensions_.end(); ++iter) {
       std::string id = (*iter)->id();
@@ -481,7 +481,7 @@
     return false;
   }
 
-  virtual void Initialize() override {
+  void Initialize() override {
     PathService::Get(chrome::DIR_TEST_DATA, &basedir_);
     now_ = Time::Now();
     id1_ = prefs_.AddExtensionAndReturnId("1");
@@ -524,7 +524,7 @@
     prefs()->RemoveDelayedInstallInfo(id3_);
   }
 
-  virtual void Verify() override {
+  void Verify() override {
     // Make sure the info for the 3 extensions we expect is present.
     scoped_ptr<ExtensionPrefs::ExtensionsInfo> info(
         prefs()->GetAllDelayedInstallInfo());
@@ -553,7 +553,7 @@
 // Tests the FinishDelayedInstallInfo function.
 class ExtensionPrefsFinishDelayedInstallInfo : public ExtensionPrefsTest {
  public:
-  virtual void Initialize() override {
+  void Initialize() override {
     base::DictionaryValue dictionary;
     dictionary.SetString(manifest_keys::kName, "test");
     dictionary.SetString(manifest_keys::kVersion, "0.1");
@@ -588,7 +588,7 @@
     ASSERT_TRUE(prefs()->FinishDelayedInstallInfo(id_));
   }
 
-  virtual void Verify() override {
+  void Verify() override {
     EXPECT_FALSE(prefs()->GetDelayedInstallInfo(id_));
     EXPECT_EQ(std::string("Param"), prefs()->GetInstallParam(id_));
 
@@ -613,7 +613,7 @@
 
 class ExtensionPrefsOnExtensionInstalled : public ExtensionPrefsTest {
  public:
-  virtual void Initialize() override {
+  void Initialize() override {
     extension_ = prefs_.AddExtension("on_extension_installed");
     EXPECT_FALSE(prefs()->IsExtensionDisabled(extension_->id()));
     prefs()->OnExtensionInstalled(extension_.get(),
@@ -622,7 +622,7 @@
                                   "Param");
   }
 
-  virtual void Verify() override {
+  void Verify() override {
     EXPECT_TRUE(prefs()->IsExtensionDisabled(extension_->id()));
     EXPECT_EQ(std::string("Param"), prefs()->GetInstallParam(extension_->id()));
   }
@@ -635,7 +635,7 @@
 
 class ExtensionPrefsAppDraggedByUser : public ExtensionPrefsTest {
  public:
-  virtual void Initialize() override {
+  void Initialize() override {
     extension_ = prefs_.AddExtension("on_extension_installed");
     EXPECT_FALSE(prefs()->WasAppDraggedByUser(extension_->id()));
     prefs()->OnExtensionInstalled(extension_.get(),
@@ -644,7 +644,7 @@
                                   std::string());
   }
 
-  virtual void Verify() override {
+  void Verify() override {
     // Set the flag and see if it persisted.
     prefs()->SetAppDraggedByUser(extension_->id());
     EXPECT_TRUE(prefs()->WasAppDraggedByUser(extension_->id()));
@@ -661,7 +661,7 @@
 
 class ExtensionPrefsFlags : public ExtensionPrefsTest {
  public:
-  virtual void Initialize() override {
+  void Initialize() override {
     {
       base::DictionaryValue dictionary;
       dictionary.SetString(manifest_keys::kName, "from_webstore");
@@ -697,7 +697,7 @@
     }
   }
 
-  virtual void Verify() override {
+  void Verify() override {
     EXPECT_TRUE(prefs()->IsFromWebStore(webstore_extension_->id()));
     EXPECT_FALSE(prefs()->IsFromBookmark(webstore_extension_->id()));
 
@@ -761,13 +761,13 @@
  public:
   virtual ~ExtensionPrefsBlacklistedExtensions() {}
 
-  virtual void Initialize() override {
+  void Initialize() override {
     extension_a_ = prefs_.AddExtension("a");
     extension_b_ = prefs_.AddExtension("b");
     extension_c_ = prefs_.AddExtension("c");
   }
 
-  virtual void Verify() override {
+  void Verify() override {
     {
       ExtensionIdSet ids;
       EXPECT_EQ(ids, prefs()->GetBlacklistedExtensions());
@@ -841,11 +841,9 @@
  public:
   virtual ~ExtensionPrefsBlacklistState() {}
 
-  virtual void Initialize() override {
-    extension_a_ = prefs_.AddExtension("a");
-  }
+  void Initialize() override { extension_a_ = prefs_.AddExtension("a"); }
 
-  virtual void Verify() override {
+  void Verify() override {
     ExtensionIdSet empty_ids;
     EXPECT_EQ(empty_ids, prefs()->GetBlacklistedExtensions());
 
diff --git a/chrome/browser/extensions/extension_renderer_state.cc b/chrome/browser/extensions/extension_renderer_state.cc
index e2d33cb6..6e7cb0bfe 100644
--- a/chrome/browser/extensions/extension_renderer_state.cc
+++ b/chrome/browser/extensions/extension_renderer_state.cc
@@ -39,7 +39,7 @@
         render_view_host_(host) {
   }
 
-  virtual void RenderViewDeleted(content::RenderViewHost* host) override {
+  void RenderViewDeleted(content::RenderViewHost* host) override {
     if (host != render_view_host_)
       return;
     BrowserThread::PostTask(
@@ -69,13 +69,13 @@
     : public content::NotificationObserver {
  public:
   TabObserver();
-  virtual ~TabObserver();
+  ~TabObserver() override;
 
  private:
   // content::NotificationObserver interface.
-  virtual void Observe(int type,
-                       const content::NotificationSource& source,
-                       const content::NotificationDetails& details) override;
+  void Observe(int type,
+               const content::NotificationSource& source,
+               const content::NotificationDetails& details) override;
 
   content::NotificationRegistrar registrar_;
 };
diff --git a/chrome/browser/extensions/extension_resource_protocols.cc b/chrome/browser/extensions/extension_resource_protocols.cc
index f719adb..92c8b21 100644
--- a/chrome/browser/extensions/extension_resource_protocols.cc
+++ b/chrome/browser/extensions/extension_resource_protocols.cc
@@ -33,13 +33,12 @@
                     base::SequencedWorkerPool::SKIP_ON_SHUTDOWN)),
         weak_ptr_factory_(this) {}
 
-  virtual void Start() override;
+  void Start() override;
 
-  virtual bool IsRedirectResponse(GURL* location,
-                                  int* http_status_code) override;
+  bool IsRedirectResponse(GURL* location, int* http_status_code) override;
 
  protected:
-  virtual ~ExtensionResourcesJob() {}
+  ~ExtensionResourcesJob() override {}
 
   void ResolvePathDone(const base::FilePath& resolved_path);
 
@@ -76,9 +75,9 @@
     : public net::URLRequestJobFactory::ProtocolHandler {
  public:
   ExtensionResourceProtocolHandler() {}
-  virtual ~ExtensionResourceProtocolHandler() {}
+  ~ExtensionResourceProtocolHandler() override {}
 
-  virtual net::URLRequestJob* MaybeCreateJob(
+  net::URLRequestJob* MaybeCreateJob(
       net::URLRequest* request,
       net::NetworkDelegate* network_delegate) const override;
 
diff --git a/chrome/browser/extensions/extension_resource_request_policy_apitest.cc b/chrome/browser/extensions/extension_resource_request_policy_apitest.cc
index c2d292d..74cf0af 100644
--- a/chrome/browser/extensions/extension_resource_request_policy_apitest.cc
+++ b/chrome/browser/extensions/extension_resource_request_policy_apitest.cc
@@ -17,7 +17,7 @@
 
 class ExtensionResourceRequestPolicyTest : public ExtensionApiTest {
  protected:
-  virtual void SetUpCommandLine(CommandLine* command_line) override {
+  void SetUpCommandLine(CommandLine* command_line) override {
     ExtensionApiTest::SetUpCommandLine(command_line);
     command_line->AppendSwitch(
         extensions::switches::kAllowLegacyExtensionManifests);
diff --git a/chrome/browser/extensions/extension_service.h b/chrome/browser/extensions/extension_service.h
index 77b1e67b..556adb0 100644
--- a/chrome/browser/extensions/extension_service.h
+++ b/chrome/browser/extensions/extension_service.h
@@ -200,63 +200,57 @@
                    bool extensions_enabled,
                    extensions::OneShotEvent* ready);
 
-  virtual ~ExtensionService();
+  ~ExtensionService() override;
 
   // ExtensionServiceInterface implementation.
   //
   // NOTE: Many of these methods are DEPRECATED. See the interface for details.
-  virtual const extensions::ExtensionSet* extensions() const override;
-  virtual extensions::PendingExtensionManager*
-      pending_extension_manager() override;
-  virtual const extensions::Extension* GetExtensionById(
-      const std::string& id, bool include_disabled) const override;
-  virtual const extensions::Extension* GetInstalledExtension(
-      const std::string& id) const override;
-  virtual bool UpdateExtension(
+  const extensions::ExtensionSet* extensions() const override;
+  extensions::PendingExtensionManager* pending_extension_manager() override;
+  const extensions::Extension* GetExtensionById(
       const std::string& id,
-      const base::FilePath& extension_path,
-      bool file_ownership_passed,
-      extensions::CrxInstaller** out_crx_installer) override;
-  virtual bool IsExtensionEnabled(
-      const std::string& extension_id) const override;
-  virtual void UnloadExtension(
+      bool include_disabled) const override;
+  const extensions::Extension* GetInstalledExtension(
+      const std::string& id) const override;
+  bool UpdateExtension(const std::string& id,
+                       const base::FilePath& extension_path,
+                       bool file_ownership_passed,
+                       extensions::CrxInstaller** out_crx_installer) override;
+  bool IsExtensionEnabled(const std::string& extension_id) const override;
+  void UnloadExtension(
       const std::string& extension_id,
       extensions::UnloadedExtensionInfo::Reason reason) override;
-  virtual void RemoveComponentExtension(const std::string& extension_id)
-      override;
-  virtual void AddExtension(const extensions::Extension* extension) override;
-  virtual void AddComponentExtension(const extensions::Extension* extension)
-      override;
-  virtual const extensions::Extension* GetPendingExtensionUpdate(
+  void RemoveComponentExtension(const std::string& extension_id) override;
+  void AddExtension(const extensions::Extension* extension) override;
+  void AddComponentExtension(const extensions::Extension* extension) override;
+  const extensions::Extension* GetPendingExtensionUpdate(
       const std::string& extension_id) const override;
-  virtual void FinishDelayedInstallation(
-     const std::string& extension_id) override;
-  virtual void CheckManagementPolicy() override;
-  virtual void CheckForUpdatesSoon() override;
-  virtual bool is_ready() override;
-  virtual base::SequencedTaskRunner* GetFileTaskRunner() override;
+  void FinishDelayedInstallation(const std::string& extension_id) override;
+  void CheckManagementPolicy() override;
+  void CheckForUpdatesSoon() override;
+  bool is_ready() override;
+  base::SequencedTaskRunner* GetFileTaskRunner() override;
 
   // ExternalProvider::Visitor implementation.
   // Exposed for testing.
-  virtual bool OnExternalExtensionFileFound(
-      const std::string& id,
-      const base::Version* version,
-      const base::FilePath& path,
-      extensions::Manifest::Location location,
-      int creation_flags,
-      bool mark_acknowledged) override;
-  virtual bool OnExternalExtensionUpdateUrlFound(
+  bool OnExternalExtensionFileFound(const std::string& id,
+                                    const base::Version* version,
+                                    const base::FilePath& path,
+                                    extensions::Manifest::Location location,
+                                    int creation_flags,
+                                    bool mark_acknowledged) override;
+  bool OnExternalExtensionUpdateUrlFound(
       const std::string& id,
       const std::string& install_parameter,
       const GURL& update_url,
       extensions::Manifest::Location location,
       int creation_flags,
       bool mark_acknowledged) override;
-  virtual void OnExternalProviderReady(
+  void OnExternalProviderReady(
       const extensions::ExternalProviderInterface* provider) override;
 
   // ExtensionManagement::Observer implementation:
-  virtual void OnExtensionManagementSettingsChanged() override;
+  void OnExtensionManagementSettingsChanged() override;
 
   // Initialize and start all installed extensions.
   void Init();
@@ -485,12 +479,12 @@
   void ReloadExtensionImpl(const std::string& extension_id, bool be_noisy);
 
   // content::NotificationObserver implementation:
-  virtual void Observe(int type,
-                       const content::NotificationSource& source,
-                       const content::NotificationDetails& details) override;
+  void Observe(int type,
+               const content::NotificationSource& source,
+               const content::NotificationDetails& details) override;
 
   // extensions::Blacklist::Observer implementation.
-  virtual void OnBlacklistUpdated() override;
+  void OnBlacklistUpdated() override;
 
   // Similar to FinishInstallation, but first checks if there still is an update
   // pending for the extension, and makes sure the extension is still idle.
diff --git a/chrome/browser/extensions/extension_service_unittest.cc b/chrome/browser/extensions/extension_service_unittest.cc
index c7ab916c..3e8614e 100644
--- a/chrome/browser/extensions/extension_service_unittest.cc
+++ b/chrome/browser/extensions/extension_service_unittest.cc
@@ -242,7 +242,7 @@
     : location_(location), visitor_(visitor), visit_count_(0) {
   }
 
-  virtual ~MockExtensionProvider() {}
+  ~MockExtensionProvider() override {}
 
   void UpdateOrAddExtension(const std::string& id,
                             const std::string& version,
@@ -255,7 +255,7 @@
   }
 
   // ExternalProvider implementation:
-  virtual void VisitRegisteredExtension() override {
+  void VisitRegisteredExtension() override {
     visit_count_++;
     for (DataMap::const_iterator i = extension_map_.begin();
          i != extension_map_.end(); ++i) {
@@ -268,14 +268,13 @@
     visitor_->OnExternalProviderReady(this);
   }
 
-  virtual bool HasExtension(const std::string& id) const override {
+  bool HasExtension(const std::string& id) const override {
     return extension_map_.find(id) != extension_map_.end();
   }
 
-  virtual bool GetExtensionDetails(
-      const std::string& id,
-      Manifest::Location* location,
-      scoped_ptr<Version>* version) const override {
+  bool GetExtensionDetails(const std::string& id,
+                           Manifest::Location* location,
+                           scoped_ptr<Version>* version) const override {
     DataMap::const_iterator it = extension_map_.find(id);
     if (it == extension_map_.end())
       return false;
@@ -289,12 +288,9 @@
     return true;
   }
 
-  virtual bool IsReady() const override {
-    return true;
-  }
+  bool IsReady() const override { return true; }
 
-  virtual void ServiceShutdown() override {
-  }
+  void ServiceShutdown() override {}
 
   int visit_count() const { return visit_count_; }
   void set_visit_count(int visit_count) {
@@ -369,12 +365,12 @@
     return ids_found_;
   }
 
-  virtual bool OnExternalExtensionFileFound(const std::string& id,
-                                            const Version* version,
-                                            const base::FilePath& path,
-                                            Manifest::Location unused,
-                                            int creation_flags,
-                                            bool mark_acknowledged) override {
+  bool OnExternalExtensionFileFound(const std::string& id,
+                                    const Version* version,
+                                    const base::FilePath& path,
+                                    Manifest::Location unused,
+                                    int creation_flags,
+                                    bool mark_acknowledged) override {
     EXPECT_EQ(expected_creation_flags_, creation_flags);
 
     ++ids_found_;
@@ -412,13 +408,12 @@
     return true;
   }
 
-  virtual bool OnExternalExtensionUpdateUrlFound(
-      const std::string& id,
-      const std::string& install_parameter,
-      const GURL& update_url,
-      Manifest::Location location,
-      int creation_flags,
-      bool mark_acknowledged) override {
+  bool OnExternalExtensionUpdateUrlFound(const std::string& id,
+                                         const std::string& install_parameter,
+                                         const GURL& update_url,
+                                         Manifest::Location location,
+                                         int creation_flags,
+                                         bool mark_acknowledged) override {
     ++ids_found_;
     base::DictionaryValue* pref;
     // This tests is to make sure that the provider only notifies us of the
@@ -448,7 +443,7 @@
     return true;
   }
 
-  virtual void OnExternalProviderReady(
+  void OnExternalProviderReady(
       const extensions::ExternalProviderInterface* provider) override {
     EXPECT_EQ(provider, provider_.get());
     EXPECT_TRUE(provider->IsReady());
@@ -488,9 +483,9 @@
         content::NotificationService::AllSources());
   }
 
-  virtual void Observe(int type,
-                       const content::NotificationSource& source,
-                       const content::NotificationDetails& details) override {
+  void Observe(int type,
+               const content::NotificationSource& source,
+               const content::NotificationDetails& details) override {
     switch (type) {
       case extensions::NOTIFICATION_EXTENSION_LOADED_DEPRECATED: {
         const Extension* extension =
@@ -1154,10 +1149,10 @@
  public:
   PackExtensionTestClient(const base::FilePath& expected_crx_path,
                           const base::FilePath& expected_private_key_path);
-  virtual void OnPackSuccess(const base::FilePath& crx_path,
-                             const base::FilePath& private_key_path) override;
-  virtual void OnPackFailure(const std::string& error_message,
-                             ExtensionCreator::ErrorType type) override;
+  void OnPackSuccess(const base::FilePath& crx_path,
+                     const base::FilePath& private_key_path) override;
+  void OnPackFailure(const std::string& error_message,
+                     ExtensionCreator::ErrorType type) override;
 
  private:
   const base::FilePath expected_crx_path_;
@@ -1461,19 +1456,17 @@
 
 struct MockExtensionRegistryObserver
     : public extensions::ExtensionRegistryObserver {
-  virtual void OnExtensionWillBeInstalled(
-      content::BrowserContext* browser_context,
-      const Extension* extension,
-      bool is_update,
-      bool from_ephemeral,
-      const std::string& old_name) override {
+  void OnExtensionWillBeInstalled(content::BrowserContext* browser_context,
+                                  const Extension* extension,
+                                  bool is_update,
+                                  bool from_ephemeral,
+                                  const std::string& old_name) override {
     last_extension_installed = extension->id();
   }
 
-  virtual void OnExtensionUninstalled(
-      content::BrowserContext* browser_context,
-      const Extension* extension,
-      extensions::UninstallReason reason) override {
+  void OnExtensionUninstalled(content::BrowserContext* browser_context,
+                              const Extension* extension,
+                              extensions::UninstallReason reason) override {
     last_extension_uninstalled = extension->id();
   }
 
@@ -5123,9 +5116,9 @@
   bool ready() { return ready_; }
 
  private:
-  virtual void Observe(int type,
-                       const content::NotificationSource& source,
-                       const content::NotificationDetails& details) override {
+  void Observe(int type,
+               const content::NotificationSource& source,
+               const content::NotificationDetails& details) override {
     switch (type) {
       case extensions::NOTIFICATION_EXTENSIONS_READY_DEPRECATED:
         ready_ = true;
diff --git a/chrome/browser/extensions/extension_special_storage_policy.h b/chrome/browser/extensions/extension_special_storage_policy.h
index a7b0992..821b075 100644
--- a/chrome/browser/extensions/extension_special_storage_policy.h
+++ b/chrome/browser/extensions/extension_special_storage_policy.h
@@ -32,13 +32,13 @@
 
   // storage::SpecialStoragePolicy methods used by storage subsystems and the
   // browsing data remover. These methods are safe to call on any thread.
-  virtual bool IsStorageProtected(const GURL& origin) override;
-  virtual bool IsStorageUnlimited(const GURL& origin) override;
-  virtual bool IsStorageSessionOnly(const GURL& origin) override;
-  virtual bool CanQueryDiskSize(const GURL& origin) override;
-  virtual bool IsFileHandler(const std::string& extension_id) override;
-  virtual bool HasIsolatedStorage(const GURL& origin) override;
-  virtual bool HasSessionOnlyOrigins() override;
+  bool IsStorageProtected(const GURL& origin) override;
+  bool IsStorageUnlimited(const GURL& origin) override;
+  bool IsStorageSessionOnly(const GURL& origin) override;
+  bool CanQueryDiskSize(const GURL& origin) override;
+  bool IsFileHandler(const std::string& extension_id) override;
+  bool HasIsolatedStorage(const GURL& origin) override;
+  bool HasSessionOnlyOrigins() override;
 
   // Methods used by the ExtensionService to populate this class.
   void GrantRightsForExtension(const extensions::Extension* extension,
@@ -55,7 +55,7 @@
       const GURL& origin);
 
  protected:
-  virtual ~ExtensionSpecialStoragePolicy();
+  ~ExtensionSpecialStoragePolicy() override;
 
  private:
   class SpecialCollection {
diff --git a/chrome/browser/extensions/extension_special_storage_policy_unittest.cc b/chrome/browser/extensions/extension_special_storage_policy_unittest.cc
index 579a396..9d15cd99 100644
--- a/chrome/browser/extensions/extension_special_storage_policy_unittest.cc
+++ b/chrome/browser/extensions/extension_special_storage_policy_unittest.cc
@@ -35,23 +35,21 @@
           expected_change_flags_(0) {
     }
 
-    virtual void OnGranted(const GURL& origin,
-                           int change_flags) override {
+    void OnGranted(const GURL& origin, int change_flags) override {
       EXPECT_EQ(expected_type_, NOTIFICATION_TYPE_GRANT);
       EXPECT_EQ(expected_origin_, origin);
       EXPECT_EQ(expected_change_flags_, change_flags);
       expected_type_ = NOTIFICATION_TYPE_NONE;
     }
 
-    virtual void OnRevoked(const GURL& origin,
-                           int change_flags) override {
+    void OnRevoked(const GURL& origin, int change_flags) override {
       EXPECT_EQ(expected_type_, NOTIFICATION_TYPE_REVOKE);
       EXPECT_EQ(expected_origin_, origin);
       EXPECT_EQ(expected_change_flags_, change_flags);
       expected_type_ = NOTIFICATION_TYPE_NONE;
     }
 
-    virtual void OnCleared() override {
+    void OnCleared() override {
       EXPECT_EQ(expected_type_, NOTIFICATION_TYPE_CLEAR);
       expected_type_ = NOTIFICATION_TYPE_NONE;
     }
diff --git a/chrome/browser/extensions/extension_startup_browsertest.cc b/chrome/browser/extensions/extension_startup_browsertest.cc
index 3dc5763..5b59b804 100644
--- a/chrome/browser/extensions/extension_startup_browsertest.cc
+++ b/chrome/browser/extensions/extension_startup_browsertest.cc
@@ -50,7 +50,7 @@
 
  protected:
   // InProcessBrowserTest
-  virtual void SetUpCommandLine(CommandLine* command_line) override {
+  void SetUpCommandLine(CommandLine* command_line) override {
     if (load_extensions_.empty()) {
       // If no |load_extensions_| were specified, allow unauthenticated
       // extension settings to be loaded from Preferences as if they had been
@@ -74,7 +74,7 @@
     }
   }
 
-  virtual bool SetUpUserDataDirectory() override {
+  bool SetUpUserDataDirectory() override {
     base::FilePath profile_dir;
     PathService::Get(chrome::DIR_USER_DATA, &profile_dir);
     profile_dir = profile_dir.AppendASCII(TestingProfile::kTestUserProfileDir);
diff --git a/chrome/browser/extensions/extension_storage_monitor.cc b/chrome/browser/extensions/extension_storage_monitor.cc
index 4a0cd83..654d8433 100644
--- a/chrome/browser/extensions/extension_storage_monitor.cc
+++ b/chrome/browser/extensions/extension_storage_monitor.cc
@@ -215,13 +215,13 @@
   };
   typedef std::map<GURL, StorageState> OriginStorageStateMap;
 
-  virtual ~StorageEventObserver() {
+  ~StorageEventObserver() override {
     DCHECK(origin_state_map_.empty());
     StopObserving();
   }
 
   // storage::StorageObserver implementation.
-  virtual void OnStorageEvent(const Event& event) override {
+  void OnStorageEvent(const Event& event) override {
     OriginStorageStateMap::iterator iter =
         origin_state_map_.find(event.filter.origin);
     if (iter == origin_state_map_.end())
diff --git a/chrome/browser/extensions/extension_storage_monitor.h b/chrome/browser/extensions/extension_storage_monitor.h
index 37c0fd1..b6f15be0 100644
--- a/chrome/browser/extensions/extension_storage_monitor.h
+++ b/chrome/browser/extensions/extension_storage_monitor.h
@@ -48,35 +48,32 @@
   };
 
   explicit ExtensionStorageMonitor(content::BrowserContext* context);
-  virtual ~ExtensionStorageMonitor();
+  ~ExtensionStorageMonitor() override;
 
  private:
   // content::NotificationObserver overrides:
-  virtual void Observe(int type,
-                       const content::NotificationSource& source,
-                       const content::NotificationDetails& details) override;
+  void Observe(int type,
+               const content::NotificationSource& source,
+               const content::NotificationDetails& details) override;
 
   // ExtensionRegistryObserver overrides:
-  virtual void OnExtensionLoaded(content::BrowserContext* browser_context,
-                                 const Extension* extension) override;
-  virtual void OnExtensionUnloaded(
-      content::BrowserContext* browser_context,
-      const Extension* extension,
-      UnloadedExtensionInfo::Reason reason) override;
-  virtual void OnExtensionWillBeInstalled(
-      content::BrowserContext* browser_context,
-      const Extension* extension,
-      bool is_update,
-      bool from_ephemeral,
-      const std::string& old_name) override;
-  virtual void OnExtensionUninstalled(
-      content::BrowserContext* browser_context,
-      const Extension* extension,
-      extensions::UninstallReason reason) override;
+  void OnExtensionLoaded(content::BrowserContext* browser_context,
+                         const Extension* extension) override;
+  void OnExtensionUnloaded(content::BrowserContext* browser_context,
+                           const Extension* extension,
+                           UnloadedExtensionInfo::Reason reason) override;
+  void OnExtensionWillBeInstalled(content::BrowserContext* browser_context,
+                                  const Extension* extension,
+                                  bool is_update,
+                                  bool from_ephemeral,
+                                  const std::string& old_name) override;
+  void OnExtensionUninstalled(content::BrowserContext* browser_context,
+                              const Extension* extension,
+                              extensions::UninstallReason reason) override;
 
   // Overridden from ExtensionUninstallDialog::Delegate:
-  virtual void ExtensionUninstallAccepted() override;
-  virtual void ExtensionUninstallCanceled() override;
+  void ExtensionUninstallAccepted() override;
+  void ExtensionUninstallCanceled() override;
 
   std::string GetNotificationId(const std::string& extension_id);
 
diff --git a/chrome/browser/extensions/extension_storage_monitor_browsertest.cc b/chrome/browser/extensions/extension_storage_monitor_browsertest.cc
index c4aebb0..d2a3966 100644
--- a/chrome/browser/extensions/extension_storage_monitor_browsertest.cc
+++ b/chrome/browser/extensions/extension_storage_monitor_browsertest.cc
@@ -36,9 +36,7 @@
     message_center_->AddObserver(this);
   }
 
-  virtual ~NotificationObserver() {
-    message_center_->RemoveObserver(this);
-  }
+  ~NotificationObserver() override { message_center_->RemoveObserver(this); }
 
   bool HasReceivedNotification() const {
     return received_notifications_.find(target_notification_id_) !=
@@ -59,8 +57,7 @@
 
  private:
   // MessageCenterObserver implementation:
-  virtual void OnNotificationAdded(
-      const std::string& notification_id) override {
+  void OnNotificationAdded(const std::string& notification_id) override {
     received_notifications_.insert(notification_id);
 
     if (waiting_ && HasReceivedNotification())
@@ -81,7 +78,7 @@
 
  protected:
   // ExtensionBrowserTest overrides:
-  virtual void SetUpOnMainThread() override {
+  void SetUpOnMainThread() override {
     ExtensionBrowserTest::SetUpOnMainThread();
 
     InitStorageMonitor();
diff --git a/chrome/browser/extensions/extension_storage_monitor_factory.h b/chrome/browser/extensions/extension_storage_monitor_factory.h
index 7c3a649..55d920e 100644
--- a/chrome/browser/extensions/extension_storage_monitor_factory.h
+++ b/chrome/browser/extensions/extension_storage_monitor_factory.h
@@ -24,15 +24,15 @@
   friend struct DefaultSingletonTraits<ExtensionStorageMonitorFactory>;
 
   ExtensionStorageMonitorFactory();
-  virtual ~ExtensionStorageMonitorFactory();
+  ~ExtensionStorageMonitorFactory() override;
 
   // BrowserContextKeyedServiceFactory implementation:
-  virtual KeyedService* BuildServiceInstanceFor(
+  KeyedService* BuildServiceInstanceFor(
       content::BrowserContext* context) const override;
-  virtual content::BrowserContext* GetBrowserContextToUse(
+  content::BrowserContext* GetBrowserContextToUse(
       content::BrowserContext* context) const override;
-  virtual bool ServiceIsCreatedWithBrowserContext() const override;
-  virtual bool ServiceIsNULLWhileTesting() const override;
+  bool ServiceIsCreatedWithBrowserContext() const override;
+  bool ServiceIsNULLWhileTesting() const override;
 };
 
 }  // namespace extensions
diff --git a/chrome/browser/extensions/extension_sync_bundle.h b/chrome/browser/extensions/extension_sync_bundle.h
index f9986ac..7e8eddaf 100644
--- a/chrome/browser/extensions/extension_sync_bundle.h
+++ b/chrome/browser/extensions/extension_sync_bundle.h
@@ -32,7 +32,7 @@
 class ExtensionSyncBundle : public SyncBundle {
  public:
   explicit ExtensionSyncBundle(ExtensionSyncService* extension_sync_service);
-  virtual ~ExtensionSyncBundle();
+  ~ExtensionSyncBundle() override;
 
   // Setup this bundle to be sync extension data.
   void SetupSync(syncer::SyncChangeProcessor* sync_processor,
@@ -80,10 +80,10 @@
 
   // Overrides for SyncBundle.
   // Returns true if SetupSync has been called, false otherwise.
-  virtual bool IsSyncing() const override;
+  bool IsSyncing() const override;
 
   // Sync a newly-installed extension or change an existing one.
-  virtual void SyncChangeIfNeeded(const Extension& extension) override;
+  void SyncChangeIfNeeded(const Extension& extension) override;
 
  private:
   // Add a synced extension.
diff --git a/chrome/browser/extensions/extension_sync_service.h b/chrome/browser/extensions/extension_sync_service.h
index a351c37..0b359d7c9 100644
--- a/chrome/browser/extensions/extension_sync_service.h
+++ b/chrome/browser/extensions/extension_sync_service.h
@@ -43,7 +43,7 @@
                        extensions::ExtensionPrefs* extension_prefs,
                        ExtensionService* extension_service);
 
-  virtual ~ExtensionSyncService();
+  ~ExtensionSyncService() override;
 
   // Convenience function to get the ExtensionSyncService for a Profile.
   static ExtensionSyncService* Get(Profile* profile);
@@ -58,15 +58,14 @@
       const extensions::Extension& extension);
 
   // syncer::SyncableService implementation.
-  virtual syncer::SyncMergeResult MergeDataAndStartSyncing(
+  syncer::SyncMergeResult MergeDataAndStartSyncing(
       syncer::ModelType type,
       const syncer::SyncDataList& initial_sync_data,
       scoped_ptr<syncer::SyncChangeProcessor> sync_processor,
       scoped_ptr<syncer::SyncErrorFactory> sync_error_factory) override;
-  virtual void StopSyncing(syncer::ModelType type) override;
-  virtual syncer::SyncDataList GetAllSyncData(
-      syncer::ModelType type) const override;
-  virtual syncer::SyncError ProcessSyncChanges(
+  void StopSyncing(syncer::ModelType type) override;
+  syncer::SyncDataList GetAllSyncData(syncer::ModelType type) const override;
+  syncer::SyncError ProcessSyncChanges(
       const tracked_objects::Location& from_here,
       const syncer::SyncChangeList& change_list) override;
 
diff --git a/chrome/browser/extensions/extension_sync_service_factory.h b/chrome/browser/extensions/extension_sync_service_factory.h
index bddfdc8..2edba18 100644
--- a/chrome/browser/extensions/extension_sync_service_factory.h
+++ b/chrome/browser/extensions/extension_sync_service_factory.h
@@ -22,11 +22,11 @@
   friend struct DefaultSingletonTraits<ExtensionSyncServiceFactory>;
 
   ExtensionSyncServiceFactory();
-  virtual ~ExtensionSyncServiceFactory();
+  ~ExtensionSyncServiceFactory() override;
 
-  virtual KeyedService* BuildServiceInstanceFor(
+  KeyedService* BuildServiceInstanceFor(
       content::BrowserContext* profile) const override;
-  virtual content::BrowserContext* GetBrowserContextToUse(
+  content::BrowserContext* GetBrowserContextToUse(
       content::BrowserContext* context) const override;
 };
 
diff --git a/chrome/browser/extensions/extension_system_factory.h b/chrome/browser/extensions/extension_system_factory.h
index 1e336fe..2edd556 100644
--- a/chrome/browser/extensions/extension_system_factory.h
+++ b/chrome/browser/extensions/extension_system_factory.h
@@ -26,12 +26,12 @@
   friend struct DefaultSingletonTraits<ExtensionSystemSharedFactory>;
 
   ExtensionSystemSharedFactory();
-  virtual ~ExtensionSystemSharedFactory();
+  ~ExtensionSystemSharedFactory() override;
 
   // BrowserContextKeyedServiceFactory implementation:
-  virtual KeyedService* BuildServiceInstanceFor(
+  KeyedService* BuildServiceInstanceFor(
       content::BrowserContext* context) const override;
-  virtual content::BrowserContext* GetBrowserContextToUse(
+  content::BrowserContext* GetBrowserContextToUse(
       content::BrowserContext* context) const override;
 
   DISALLOW_COPY_AND_ASSIGN(ExtensionSystemSharedFactory);
@@ -42,7 +42,7 @@
 class ExtensionSystemFactory : public ExtensionSystemProvider {
  public:
   // ExtensionSystem provider implementation:
-  virtual ExtensionSystem* GetForBrowserContext(
+  ExtensionSystem* GetForBrowserContext(
       content::BrowserContext* context) override;
 
   static ExtensionSystemFactory* GetInstance();
@@ -51,14 +51,14 @@
   friend struct DefaultSingletonTraits<ExtensionSystemFactory>;
 
   ExtensionSystemFactory();
-  virtual ~ExtensionSystemFactory();
+  ~ExtensionSystemFactory() override;
 
   // BrowserContextKeyedServiceFactory implementation:
-  virtual KeyedService* BuildServiceInstanceFor(
+  KeyedService* BuildServiceInstanceFor(
       content::BrowserContext* context) const override;
-  virtual content::BrowserContext* GetBrowserContextToUse(
+  content::BrowserContext* GetBrowserContextToUse(
       content::BrowserContext* context) const override;
-  virtual bool ServiceIsCreatedWithBrowserContext() const override;
+  bool ServiceIsCreatedWithBrowserContext() const override;
 
   DISALLOW_COPY_AND_ASSIGN(ExtensionSystemFactory);
 };
diff --git a/chrome/browser/extensions/extension_system_impl.cc b/chrome/browser/extensions/extension_system_impl.cc
index 1e1120a1..6e08e4b0 100644
--- a/chrome/browser/extensions/extension_system_impl.cc
+++ b/chrome/browser/extensions/extension_system_impl.cc
@@ -159,9 +159,9 @@
   explicit ContentVerifierDelegateImpl(ExtensionService* service)
       : service_(service->AsWeakPtr()), default_mode_(GetDefaultMode()) {}
 
-  virtual ~ContentVerifierDelegateImpl() {}
+  ~ContentVerifierDelegateImpl() override {}
 
-  virtual Mode ShouldBeVerified(const Extension& extension) override {
+  Mode ShouldBeVerified(const Extension& extension) override {
 #if defined(OS_CHROMEOS)
     if (ExtensionAssetsManagerChromeOS::IsSharedInstall(&extension))
       return ContentVerifierDelegate::ENFORCE_STRICT;
@@ -184,15 +184,15 @@
     return default_mode_;
   }
 
-  virtual const ContentVerifierKey& PublicKey() override {
+  const ContentVerifierKey& PublicKey() override {
     static ContentVerifierKey key(
         extension_misc::kWebstoreSignaturesPublicKey,
         extension_misc::kWebstoreSignaturesPublicKeySize);
     return key;
   }
 
-  virtual GURL GetSignatureFetchUrl(const std::string& extension_id,
-                                    const base::Version& version) override {
+  GURL GetSignatureFetchUrl(const std::string& extension_id,
+                            const base::Version& version) override {
     // TODO(asargent) Factor out common code from the extension updater's
     // ManifestFetchData class that can be shared for use here.
     std::vector<std::string> parts;
@@ -210,13 +210,13 @@
     return base_url.ReplaceComponents(replacements);
   }
 
-  virtual std::set<base::FilePath> GetBrowserImagePaths(
+  std::set<base::FilePath> GetBrowserImagePaths(
       const extensions::Extension* extension) override {
     return extension_file_util::GetBrowserImagePaths(extension);
   }
 
-  virtual void VerifyFailed(const std::string& extension_id,
-                            ContentVerifyJob::FailureReason reason) override {
+  void VerifyFailed(const std::string& extension_id,
+                    ContentVerifyJob::FailureReason reason) override {
     if (!service_)
       return;
     ExtensionRegistry* registry = ExtensionRegistry::Get(service_->profile());
diff --git a/chrome/browser/extensions/extension_system_impl.h b/chrome/browser/extensions/extension_system_impl.h
index 7e8e758b..b076464 100644
--- a/chrome/browser/extensions/extension_system_impl.h
+++ b/chrome/browser/extensions/extension_system_impl.h
@@ -29,46 +29,44 @@
 class ExtensionSystemImpl : public ExtensionSystem {
  public:
   explicit ExtensionSystemImpl(Profile* profile);
-  virtual ~ExtensionSystemImpl();
+  ~ExtensionSystemImpl() override;
 
   // KeyedService implementation.
-  virtual void Shutdown() override;
+  void Shutdown() override;
 
-  virtual void InitForRegularProfile(bool extensions_enabled) override;
+  void InitForRegularProfile(bool extensions_enabled) override;
 
-  virtual ExtensionService* extension_service() override;  // shared
-  virtual RuntimeData* runtime_data() override;  // shared
-  virtual ManagementPolicy* management_policy() override;  // shared
+  ExtensionService* extension_service() override;  // shared
+  RuntimeData* runtime_data() override;            // shared
+  ManagementPolicy* management_policy() override;  // shared
   // shared
-  virtual SharedUserScriptMaster* shared_user_script_master() override;
-  virtual ProcessManager* process_manager() override;
-  virtual StateStore* state_store() override;  // shared
-  virtual StateStore* rules_store() override;  // shared
-  virtual LazyBackgroundTaskQueue* lazy_background_task_queue()
-      override;  // shared
-  virtual InfoMap* info_map() override; // shared
-  virtual EventRouter* event_router() override;  // shared
-  virtual WarningService* warning_service() override;
-  virtual Blacklist* blacklist() override;  // shared
-  virtual ErrorConsole* error_console() override;
-  virtual InstallVerifier* install_verifier() override;
-  virtual QuotaService* quota_service() override;  // shared
+  SharedUserScriptMaster* shared_user_script_master() override;
+  ProcessManager* process_manager() override;
+  StateStore* state_store() override;                              // shared
+  StateStore* rules_store() override;                              // shared
+  LazyBackgroundTaskQueue* lazy_background_task_queue() override;  // shared
+  InfoMap* info_map() override;                                    // shared
+  EventRouter* event_router() override;                            // shared
+  WarningService* warning_service() override;
+  Blacklist* blacklist() override;  // shared
+  ErrorConsole* error_console() override;
+  InstallVerifier* install_verifier() override;
+  QuotaService* quota_service() override;  // shared
 
-  virtual void RegisterExtensionWithRequestContexts(
+  void RegisterExtensionWithRequestContexts(
       const Extension* extension) override;
 
-  virtual void UnregisterExtensionWithRequestContexts(
+  void UnregisterExtensionWithRequestContexts(
       const std::string& extension_id,
       const UnloadedExtensionInfo::Reason reason) override;
 
-  virtual const OneShotEvent& ready() const override;
-  virtual ContentVerifier* content_verifier() override;  // shared
-  virtual scoped_ptr<ExtensionSet> GetDependentExtensions(
+  const OneShotEvent& ready() const override;
+  ContentVerifier* content_verifier() override;  // shared
+  scoped_ptr<ExtensionSet> GetDependentExtensions(
       const Extension* extension) override;
 
-  virtual DeclarativeUserScriptMaster*
-      GetDeclarativeUserScriptMasterByExtension(
-          const ExtensionId& extension_id) override;  // shared
+  DeclarativeUserScriptMaster* GetDeclarativeUserScriptMasterByExtension(
+      const ExtensionId& extension_id) override;  // shared
 
  private:
   friend class ExtensionSystemSharedFactory;
@@ -78,7 +76,7 @@
   class Shared : public KeyedService {
    public:
     explicit Shared(Profile* profile);
-    virtual ~Shared();
+    ~Shared() override;
 
     // Initialization takes place in phases.
     virtual void InitPrefs();
@@ -87,7 +85,7 @@
     void Init(bool extensions_enabled);
 
     // KeyedService implementation.
-    virtual void Shutdown() override;
+    void Shutdown() override;
 
     StateStore* state_store();
     StateStore* rules_store();
diff --git a/chrome/browser/extensions/extension_tabs_apitest.cc b/chrome/browser/extensions/extension_tabs_apitest.cc
index b0fff03..27017d9 100644
--- a/chrome/browser/extensions/extension_tabs_apitest.cc
+++ b/chrome/browser/extensions/extension_tabs_apitest.cc
@@ -38,7 +38,7 @@
 class ExtensionApiNewTabTest : public ExtensionApiTest {
  public:
   ExtensionApiNewTabTest() {}
-  virtual void SetUpCommandLine(CommandLine* command_line) override {
+  void SetUpCommandLine(CommandLine* command_line) override {
     ExtensionApiTest::SetUpCommandLine(command_line);
     // Override the default which InProcessBrowserTest adds if it doesn't see a
     // homepage.
@@ -165,7 +165,7 @@
     ExtensionApiTest::SetUp();
   }
 
-  virtual void SetUpCommandLine(CommandLine* command_line) override {
+  void SetUpCommandLine(CommandLine* command_line) override {
     ExtensionApiTest::SetUpCommandLine(command_line);
   }
 };
diff --git a/chrome/browser/extensions/extension_test_notification_observer.cc b/chrome/browser/extensions/extension_test_notification_observer.cc
index 02b1509c..f79168e 100644
--- a/chrome/browser/extensions/extension_test_notification_observer.cc
+++ b/chrome/browser/extensions/extension_test_notification_observer.cc
@@ -65,9 +65,9 @@
 
  private:
   // content::NotificationObserver:
-  virtual void Observe(int type,
-                       const content::NotificationSource& source,
-                       const content::NotificationDetails& details) override;
+  void Observe(int type,
+               const content::NotificationSource& source,
+               const content::NotificationDetails& details) override;
 
   content::NotificationRegistrar notification_registrar_;
   base::CallbackList<void()> callback_list_;
diff --git a/chrome/browser/extensions/extension_test_notification_observer.h b/chrome/browser/extensions/extension_test_notification_observer.h
index bdb4ea6..be23e09d 100644
--- a/chrome/browser/extensions/extension_test_notification_observer.h
+++ b/chrome/browser/extensions/extension_test_notification_observer.h
@@ -27,7 +27,7 @@
       public extensions::ExtensionActionAPI::Observer {
  public:
   explicit ExtensionTestNotificationObserver(Browser* browser);
-  virtual ~ExtensionTestNotificationObserver();
+  ~ExtensionTestNotificationObserver() override;
 
   // Wait for the number of visible page actions to change to |count|.
   bool WaitForPageActionVisibilityChangeTo(int count);
@@ -78,9 +78,9 @@
   }
 
   // content::NotificationObserver
-  virtual void Observe(int type,
-                       const content::NotificationSource& source,
-                       const content::NotificationDetails& details) override;
+  void Observe(int type,
+               const content::NotificationSource& source,
+               const content::NotificationDetails& details) override;
 
  private:
   class NotificationSet;
@@ -100,7 +100,7 @@
   void MaybeQuit();
 
   // extensions::ExtensionActionAPI::Observer:
-  virtual void OnPageActionsUpdated(content::WebContents* contents) override;
+  void OnPageActionsUpdated(content::WebContents* contents) override;
 
   Browser* browser_;
   Profile* profile_;
diff --git a/chrome/browser/extensions/extension_toolbar_model.h b/chrome/browser/extensions/extension_toolbar_model.h
index c9d975df..17a76a4 100644
--- a/chrome/browser/extensions/extension_toolbar_model.h
+++ b/chrome/browser/extensions/extension_toolbar_model.h
@@ -33,7 +33,7 @@
                               public KeyedService {
  public:
   ExtensionToolbarModel(Profile* profile, ExtensionPrefs* extension_prefs);
-  virtual ~ExtensionToolbarModel();
+  ~ExtensionToolbarModel() override;
 
   // A class which is informed of changes to the model; represents the view of
   // MVC. Also used for signaling view changes such as showing extension popups.
@@ -139,27 +139,25 @@
 
  private:
   // content::NotificationObserver:
-  virtual void Observe(int type,
-                       const content::NotificationSource& source,
-                       const content::NotificationDetails& details) override;
+  void Observe(int type,
+               const content::NotificationSource& source,
+               const content::NotificationDetails& details) override;
 
   // Callback when extensions are ready.
   void OnReady();
 
   // ExtensionRegistryObserver:
-  virtual void OnExtensionLoaded(content::BrowserContext* browser_context,
-                                 const Extension* extension) override;
-  virtual void OnExtensionUnloaded(
-      content::BrowserContext* browser_context,
-      const Extension* extension,
-      UnloadedExtensionInfo::Reason reason) override;
-  virtual void OnExtensionUninstalled(
-      content::BrowserContext* browser_context,
-      const Extension* extension,
-      extensions::UninstallReason reason) override;
+  void OnExtensionLoaded(content::BrowserContext* browser_context,
+                         const Extension* extension) override;
+  void OnExtensionUnloaded(content::BrowserContext* browser_context,
+                           const Extension* extension,
+                           UnloadedExtensionInfo::Reason reason) override;
+  void OnExtensionUninstalled(content::BrowserContext* browser_context,
+                              const Extension* extension,
+                              extensions::UninstallReason reason) override;
 
   // ExtensionActionAPI::Observer:
-  virtual void OnExtensionActionUpdated(
+  void OnExtensionActionUpdated(
       ExtensionAction* extension_action,
       content::WebContents* web_contents,
       content::BrowserContext* browser_context) override;
diff --git a/chrome/browser/extensions/extension_toolbar_model_factory.h b/chrome/browser/extensions/extension_toolbar_model_factory.h
index 16fd72e..6b5c77f 100644
--- a/chrome/browser/extensions/extension_toolbar_model_factory.h
+++ b/chrome/browser/extensions/extension_toolbar_model_factory.h
@@ -25,14 +25,14 @@
   friend struct DefaultSingletonTraits<ExtensionToolbarModelFactory>;
 
   ExtensionToolbarModelFactory();
-  virtual ~ExtensionToolbarModelFactory();
+  ~ExtensionToolbarModelFactory() override;
 
-  virtual KeyedService* BuildServiceInstanceFor(
+  KeyedService* BuildServiceInstanceFor(
       content::BrowserContext* profile) const override;
-  virtual content::BrowserContext* GetBrowserContextToUse(
+  content::BrowserContext* GetBrowserContextToUse(
       content::BrowserContext* context) const override;
-  virtual bool ServiceIsCreatedWithBrowserContext() const override;
-  virtual bool ServiceIsNULLWhileTesting() const override;
+  bool ServiceIsCreatedWithBrowserContext() const override;
+  bool ServiceIsNULLWhileTesting() const override;
 };
 
 }  // namespace extensions
diff --git a/chrome/browser/extensions/extension_toolbar_model_unittest.cc b/chrome/browser/extensions/extension_toolbar_model_unittest.cc
index c84bad6..ff9d791b 100644
--- a/chrome/browser/extensions/extension_toolbar_model_unittest.cc
+++ b/chrome/browser/extensions/extension_toolbar_model_unittest.cc
@@ -82,7 +82,7 @@
     : public ExtensionToolbarModel::Observer {
  public:
   explicit ExtensionToolbarModelTestObserver(ExtensionToolbarModel* model);
-  virtual ~ExtensionToolbarModelTestObserver();
+  ~ExtensionToolbarModelTestObserver() override;
 
   size_t inserted_count() const { return inserted_count_; }
   size_t removed_count() const { return removed_count_; }
@@ -91,39 +91,33 @@
 
  private:
   // ExtensionToolbarModel::Observer:
-  virtual void ToolbarExtensionAdded(const Extension* extension,
-                                     int index) override {
+  void ToolbarExtensionAdded(const Extension* extension, int index) override {
     ++inserted_count_;
   }
 
-  virtual void ToolbarExtensionRemoved(const Extension* extension) override {
+  void ToolbarExtensionRemoved(const Extension* extension) override {
     ++removed_count_;
   }
 
-  virtual void ToolbarExtensionMoved(const Extension* extension,
-                                     int index) override {
+  void ToolbarExtensionMoved(const Extension* extension, int index) override {
     ++moved_count_;
   }
 
-  virtual void ToolbarExtensionUpdated(const Extension* extension) override {
-  }
+  void ToolbarExtensionUpdated(const Extension* extension) override {}
 
-  virtual bool ShowExtensionActionPopup(const Extension* extension,
-                                        bool grant_active_tab) override {
+  bool ShowExtensionActionPopup(const Extension* extension,
+                                bool grant_active_tab) override {
     return false;
   }
 
-  virtual void ToolbarVisibleCountChanged() override {
-  }
+  void ToolbarVisibleCountChanged() override {}
 
-  virtual void ToolbarHighlightModeChanged(bool is_highlighting) override {
+  void ToolbarHighlightModeChanged(bool is_highlighting) override {
     // Add one if highlighting, subtract one if not.
     highlight_mode_count_ += is_highlighting ? 1 : -1;
   }
 
-  virtual Browser* GetBrowser() override {
-    return NULL;
-  }
+  Browser* GetBrowser() override { return NULL; }
 
   ExtensionToolbarModel* model_;
 
diff --git a/chrome/browser/extensions/extension_view_host.cc b/chrome/browser/extensions/extension_view_host.cc
index d3986bb..4650159 100644
--- a/chrome/browser/extensions/extension_view_host.cc
+++ b/chrome/browser/extensions/extension_view_host.cc
@@ -40,10 +40,10 @@
   AssociatedWebContentsObserver(ExtensionViewHost* host,
                                 WebContents* web_contents)
       : WebContentsObserver(web_contents), host_(host) {}
-  virtual ~AssociatedWebContentsObserver() {}
+  ~AssociatedWebContentsObserver() override {}
 
   // content::WebContentsObserver:
-  virtual void WebContentsDestroyed() override {
+  void WebContentsDestroyed() override {
     // Deleting |this| from here is safe.
     host_->SetAssociatedWebContents(NULL);
   }
diff --git a/chrome/browser/extensions/extension_view_host.h b/chrome/browser/extensions/extension_view_host.h
index 0ee445b..3566b31f 100644
--- a/chrome/browser/extensions/extension_view_host.h
+++ b/chrome/browser/extensions/extension_view_host.h
@@ -35,7 +35,7 @@
                     content::SiteInstance* site_instance,
                     const GURL& url,
                     ViewType host_type);
-  virtual ~ExtensionViewHost();
+  ~ExtensionViewHost() override;
 
   ExtensionView* view() { return view_.get(); }
   const ExtensionView* view() const { return view_.get(); }
@@ -56,63 +56,56 @@
       const content::NativeWebKeyboardEvent& event);
 
   // ExtensionHost
-  virtual void OnDidStopLoading() override;
-  virtual void OnDocumentAvailable() override;
-  virtual void LoadInitialURL() override;
-  virtual bool IsBackgroundPage() const override;
+  void OnDidStopLoading() override;
+  void OnDocumentAvailable() override;
+  void LoadInitialURL() override;
+  bool IsBackgroundPage() const override;
 
   // content::WebContentsDelegate
-  virtual content::WebContents* OpenURLFromTab(
+  content::WebContents* OpenURLFromTab(
       content::WebContents* source,
       const content::OpenURLParams& params) override;
-  virtual bool PreHandleKeyboardEvent(
-      content::WebContents* source,
-      const content::NativeWebKeyboardEvent& event,
-      bool* is_keyboard_shortcut) override;
-  virtual void HandleKeyboardEvent(
+  bool PreHandleKeyboardEvent(content::WebContents* source,
+                              const content::NativeWebKeyboardEvent& event,
+                              bool* is_keyboard_shortcut) override;
+  void HandleKeyboardEvent(
       content::WebContents* source,
       const content::NativeWebKeyboardEvent& event) override;
-  virtual bool PreHandleGestureEvent(
-      content::WebContents* source,
-      const blink::WebGestureEvent& event) override;
-  virtual content::ColorChooser* OpenColorChooser(
+  bool PreHandleGestureEvent(content::WebContents* source,
+                             const blink::WebGestureEvent& event) override;
+  content::ColorChooser* OpenColorChooser(
       content::WebContents* web_contents,
       SkColor color,
       const std::vector<content::ColorSuggestion>& suggestions) override;
-  virtual void RunFileChooser(
-      content::WebContents* tab,
-      const content::FileChooserParams& params) override;
-  virtual void ResizeDueToAutoResize(content::WebContents* source,
-                                     const gfx::Size& new_size) override;
+  void RunFileChooser(content::WebContents* tab,
+                      const content::FileChooserParams& params) override;
+  void ResizeDueToAutoResize(content::WebContents* source,
+                             const gfx::Size& new_size) override;
 
   // content::WebContentsObserver
-  virtual void RenderViewCreated(
-      content::RenderViewHost* render_view_host) override;
+  void RenderViewCreated(content::RenderViewHost* render_view_host) override;
 
   // web_modal::WebContentsModalDialogManagerDelegate
-  virtual web_modal::WebContentsModalDialogHost*
-      GetWebContentsModalDialogHost() override;
-  virtual bool IsWebContentsVisible(
-      content::WebContents* web_contents) override;
+  web_modal::WebContentsModalDialogHost* GetWebContentsModalDialogHost()
+      override;
+  bool IsWebContentsVisible(content::WebContents* web_contents) override;
 
   // web_modal::WebContentsModalDialogHost
-  virtual gfx::NativeView GetHostView() const override;
-  virtual gfx::Point GetDialogPosition(const gfx::Size& size) override;
-  virtual gfx::Size GetMaximumDialogSize() override;
-  virtual void AddObserver(
-      web_modal::ModalDialogHostObserver* observer) override;
-  virtual void RemoveObserver(
-      web_modal::ModalDialogHostObserver* observer) override;
+  gfx::NativeView GetHostView() const override;
+  gfx::Point GetDialogPosition(const gfx::Size& size) override;
+  gfx::Size GetMaximumDialogSize() override;
+  void AddObserver(web_modal::ModalDialogHostObserver* observer) override;
+  void RemoveObserver(web_modal::ModalDialogHostObserver* observer) override;
 
   // extensions::ExtensionFunctionDispatcher::Delegate
-  virtual WindowController* GetExtensionWindowController() const override;
-  virtual content::WebContents* GetAssociatedWebContents() const override;
-  virtual content::WebContents* GetVisibleWebContents() const override;
+  WindowController* GetExtensionWindowController() const override;
+  content::WebContents* GetAssociatedWebContents() const override;
+  content::WebContents* GetVisibleWebContents() const override;
 
   // content::NotificationObserver
-  virtual void Observe(int type,
-                       const content::NotificationSource& source,
-                       const content::NotificationDetails& details) override;
+  void Observe(int type,
+               const content::NotificationSource& source,
+               const content::NotificationDetails& details) override;
 
  private:
   // Implemented per-platform. Create the platform-specific ExtensionView.
diff --git a/chrome/browser/extensions/extension_view_host_mac.h b/chrome/browser/extensions/extension_view_host_mac.h
index 710c61d..938ae97 100644
--- a/chrome/browser/extensions/extension_view_host_mac.h
+++ b/chrome/browser/extensions/extension_view_host_mac.h
@@ -21,7 +21,7 @@
                        const GURL& url,
                        ViewType host_type)
       : ExtensionViewHost(extension, site_instance, url, host_type) {}
-  virtual ~ExtensionViewHostMac();
+  ~ExtensionViewHostMac() override;
 
  private:
   DISALLOW_COPY_AND_ASSIGN(ExtensionViewHostMac);
diff --git a/chrome/browser/extensions/extension_warning_badge_service.cc b/chrome/browser/extensions/extension_warning_badge_service.cc
index f152d955..085cac9 100644
--- a/chrome/browser/extensions/extension_warning_badge_service.cc
+++ b/chrome/browser/extensions/extension_warning_badge_service.cc
@@ -24,18 +24,18 @@
 class ErrorBadge : public GlobalError {
  public:
   explicit ErrorBadge(ExtensionWarningBadgeService* badge_service);
-  virtual ~ErrorBadge();
+  ~ErrorBadge() override;
 
   // Implementation for GlobalError:
-  virtual bool HasMenuItem() override;
-  virtual int MenuItemCommandID() override;
-  virtual base::string16 MenuItemLabel() override;
-  virtual void ExecuteMenuItem(Browser* browser) override;
+  bool HasMenuItem() override;
+  int MenuItemCommandID() override;
+  base::string16 MenuItemLabel() override;
+  void ExecuteMenuItem(Browser* browser) override;
 
-  virtual bool HasBubbleView() override;
-  virtual bool HasShownBubbleView() override;
-  virtual void ShowBubbleView(Browser* browser) override;
-  virtual GlobalErrorBubbleViewBase* GetBubbleView() override;
+  bool HasBubbleView() override;
+  bool HasShownBubbleView() override;
+  void ShowBubbleView(Browser* browser) override;
+  GlobalErrorBubbleViewBase* GetBubbleView() override;
 
   static int GetMenuItemCommandID();
 
diff --git a/chrome/browser/extensions/extension_warning_badge_service.h b/chrome/browser/extensions/extension_warning_badge_service.h
index efaf2d7a..c1887b41 100644
--- a/chrome/browser/extensions/extension_warning_badge_service.h
+++ b/chrome/browser/extensions/extension_warning_badge_service.h
@@ -34,7 +34,7 @@
 
  private:
   // Implementation of WarningService::Observer.
-  virtual void ExtensionWarningsChanged() override;
+  void ExtensionWarningsChanged() override;
 
   void UpdateBadgeStatus();
   virtual void ShowBadge(bool show);
diff --git a/chrome/browser/extensions/extension_warning_badge_service_unittest.cc b/chrome/browser/extensions/extension_warning_badge_service_unittest.cc
index 5ca791bd..a135c75 100644
--- a/chrome/browser/extensions/extension_warning_badge_service_unittest.cc
+++ b/chrome/browser/extensions/extension_warning_badge_service_unittest.cc
@@ -21,7 +21,7 @@
  public:
   explicit TestExtensionWarningSet(Profile* profile) : WarningService(profile) {
   }
-  virtual ~TestExtensionWarningSet() {}
+  ~TestExtensionWarningSet() override {}
 
   void AddWarning(const Warning& warning) {
     WarningSet warnings;
@@ -36,10 +36,9 @@
                                    WarningService* warning_service)
       : ExtensionWarningBadgeService(profile),
         warning_service_(warning_service) {}
-  virtual ~TestExtensionWarningBadgeService() {}
+  ~TestExtensionWarningBadgeService() override {}
 
-  virtual const std::set<Warning>&
-  GetCurrentWarnings() const override {
+  const std::set<Warning>& GetCurrentWarnings() const override {
     return warning_service_->warnings();
   }
 
diff --git a/chrome/browser/extensions/extension_web_ui.h b/chrome/browser/extensions/extension_web_ui.h
index cecd6b3a..0d44b0e 100644
--- a/chrome/browser/extensions/extension_web_ui.h
+++ b/chrome/browser/extensions/extension_web_ui.h
@@ -37,7 +37,7 @@
 
   ExtensionWebUI(content::WebUI* web_ui, const GURL& url);
 
-  virtual ~ExtensionWebUI();
+  ~ExtensionWebUI() override;
 
   virtual extensions::BookmarkManagerPrivateDragEventRouter*
       bookmark_manager_private_drag_event_router();
diff --git a/chrome/browser/extensions/extension_web_ui_override_registrar.h b/chrome/browser/extensions/extension_web_ui_override_registrar.h
index 0b64887..892deb2 100644
--- a/chrome/browser/extensions/extension_web_ui_override_registrar.h
+++ b/chrome/browser/extensions/extension_web_ui_override_registrar.h
@@ -21,7 +21,7 @@
                                         public ExtensionRegistryObserver {
  public:
   explicit ExtensionWebUIOverrideRegistrar(content::BrowserContext* context);
-  virtual ~ExtensionWebUIOverrideRegistrar();
+  ~ExtensionWebUIOverrideRegistrar() override;
 
   // BrowserContextKeyedAPI implementation.
   static BrowserContextKeyedAPIFactory<ExtensionWebUIOverrideRegistrar>*
@@ -31,12 +31,11 @@
   friend class BrowserContextKeyedAPIFactory<ExtensionWebUIOverrideRegistrar>;
 
   // ExtensionRegistryObserver implementation.
-  virtual void OnExtensionLoaded(content::BrowserContext* browser_context,
-                                 const Extension* extension) override;
-  virtual void OnExtensionUnloaded(
-      content::BrowserContext* browser_context,
-      const Extension* extension,
-      UnloadedExtensionInfo::Reason reason) override;
+  void OnExtensionLoaded(content::BrowserContext* browser_context,
+                         const Extension* extension) override;
+  void OnExtensionUnloaded(content::BrowserContext* browser_context,
+                           const Extension* extension,
+                           UnloadedExtensionInfo::Reason reason) override;
 
   // BrowserContextKeyedAPI implementation.
   static const char* service_name() {
diff --git a/chrome/browser/extensions/external_component_loader.h b/chrome/browser/extensions/external_component_loader.h
index fe9e496..3a5d53c 100644
--- a/chrome/browser/extensions/external_component_loader.h
+++ b/chrome/browser/extensions/external_component_loader.h
@@ -29,11 +29,11 @@
   static bool IsModifiable(const extensions::Extension* extension);
 
  protected:
-  virtual void StartLoading() override;
+  void StartLoading() override;
 
  private:
   friend class base::RefCountedThreadSafe<ExternalLoader>;
-  virtual ~ExternalComponentLoader();
+  ~ExternalComponentLoader() override;
 
   // The profile that this loader is associated with. It listens for
   // preference changes for that profile.
diff --git a/chrome/browser/extensions/external_install_error.cc b/chrome/browser/extensions/external_install_error.cc
index 4b847b1..73ce2e8 100644
--- a/chrome/browser/extensions/external_install_error.cc
+++ b/chrome/browser/extensions/external_install_error.cc
@@ -51,19 +51,19 @@
 class ExternalInstallMenuAlert : public GlobalError {
  public:
   explicit ExternalInstallMenuAlert(ExternalInstallError* error);
-  virtual ~ExternalInstallMenuAlert();
+  ~ExternalInstallMenuAlert() override;
 
  private:
   // GlobalError implementation.
-  virtual Severity GetSeverity() override;
-  virtual bool HasMenuItem() override;
-  virtual int MenuItemCommandID() override;
-  virtual base::string16 MenuItemLabel() override;
-  virtual void ExecuteMenuItem(Browser* browser) override;
-  virtual bool HasBubbleView() override;
-  virtual bool HasShownBubbleView() override;
-  virtual void ShowBubbleView(Browser* browser) override;
-  virtual GlobalErrorBubbleViewBase* GetBubbleView() override;
+  Severity GetSeverity() override;
+  bool HasMenuItem() override;
+  int MenuItemCommandID() override;
+  base::string16 MenuItemLabel() override;
+  void ExecuteMenuItem(Browser* browser) override;
+  bool HasBubbleView() override;
+  bool HasShownBubbleView() override;
+  void ShowBubbleView(Browser* browser) override;
+  GlobalErrorBubbleViewBase* GetBubbleView() override;
 
   // The owning ExternalInstallError.
   ExternalInstallError* error_;
@@ -76,25 +76,25 @@
  public:
   explicit ExternalInstallBubbleAlert(ExternalInstallError* error,
                                       ExtensionInstallPrompt::Prompt* prompt);
-  virtual ~ExternalInstallBubbleAlert();
+  ~ExternalInstallBubbleAlert() override;
 
  private:
   // GlobalError implementation.
-  virtual Severity GetSeverity() override;
-  virtual bool HasMenuItem() override;
-  virtual int MenuItemCommandID() override;
-  virtual base::string16 MenuItemLabel() override;
-  virtual void ExecuteMenuItem(Browser* browser) override;
+  Severity GetSeverity() override;
+  bool HasMenuItem() override;
+  int MenuItemCommandID() override;
+  base::string16 MenuItemLabel() override;
+  void ExecuteMenuItem(Browser* browser) override;
 
   // GlobalErrorWithStandardBubble implementation.
-  virtual gfx::Image GetBubbleViewIcon() override;
-  virtual base::string16 GetBubbleViewTitle() override;
-  virtual std::vector<base::string16> GetBubbleViewMessages() override;
-  virtual base::string16 GetBubbleViewAcceptButtonLabel() override;
-  virtual base::string16 GetBubbleViewCancelButtonLabel() override;
-  virtual void OnBubbleViewDidClose(Browser* browser) override;
-  virtual void BubbleViewAcceptButtonPressed(Browser* browser) override;
-  virtual void BubbleViewCancelButtonPressed(Browser* browser) override;
+  gfx::Image GetBubbleViewIcon() override;
+  base::string16 GetBubbleViewTitle() override;
+  std::vector<base::string16> GetBubbleViewMessages() override;
+  base::string16 GetBubbleViewAcceptButtonLabel() override;
+  base::string16 GetBubbleViewCancelButtonLabel() override;
+  void OnBubbleViewDidClose(Browser* browser) override;
+  void BubbleViewAcceptButtonPressed(Browser* browser) override;
+  void BubbleViewCancelButtonPressed(Browser* browser) override;
 
   // The owning ExternalInstallError.
   ExternalInstallError* error_;
diff --git a/chrome/browser/extensions/external_install_error.h b/chrome/browser/extensions/external_install_error.h
index d56fdf56..395914e 100644
--- a/chrome/browser/extensions/external_install_error.h
+++ b/chrome/browser/extensions/external_install_error.h
@@ -48,11 +48,11 @@
                        const std::string& extension_id,
                        AlertType error_type,
                        ExternalInstallManager* manager);
-  virtual ~ExternalInstallError();
+  ~ExternalInstallError() override;
 
   // ExtensionInstallPrompt::Delegate implementation.
-  virtual void InstallUIProceed() override;
-  virtual void InstallUIAbort(bool user_initiated) override;
+  void InstallUIProceed() override;
+  void InstallUIAbort(bool user_initiated) override;
 
   // Show the associated dialog. This should only be called once the dialog is
   // ready.
@@ -66,11 +66,10 @@
 
  private:
   // WebstoreDataFetcherDelegate implementation.
-  virtual void OnWebstoreRequestFailure() override;
-  virtual void OnWebstoreResponseParseSuccess(
+  void OnWebstoreRequestFailure() override;
+  void OnWebstoreResponseParseSuccess(
       scoped_ptr<base::DictionaryValue> webstore_data) override;
-  virtual void OnWebstoreResponseParseFailure(
-      const std::string& error) override;
+  void OnWebstoreResponseParseFailure(const std::string& error) override;
 
   // Called when data fetching has completed (either successfully or not).
   void OnFetchComplete();
diff --git a/chrome/browser/extensions/external_install_manager.h b/chrome/browser/extensions/external_install_manager.h
index b491cd3..cd351af 100644
--- a/chrome/browser/extensions/external_install_manager.h
+++ b/chrome/browser/extensions/external_install_manager.h
@@ -29,7 +29,7 @@
  public:
   ExternalInstallManager(content::BrowserContext* browser_context,
                          bool is_first_run);
-  virtual ~ExternalInstallManager();
+  ~ExternalInstallManager() override;
 
   // Removes the global error, if one existed.
   void RemoveExternalInstallError();
@@ -56,20 +56,19 @@
 
  private:
   // ExtensionRegistryObserver implementation.
-  virtual void OnExtensionLoaded(content::BrowserContext* browser_context,
-                                 const Extension* extension) override;
-  virtual void OnExtensionInstalled(content::BrowserContext* browser_context,
-                                    const Extension* extension,
-                                    bool is_update) override;
-  virtual void OnExtensionUninstalled(
-      content::BrowserContext* browser_context,
-      const Extension* extension,
-      extensions::UninstallReason reason) override;
+  void OnExtensionLoaded(content::BrowserContext* browser_context,
+                         const Extension* extension) override;
+  void OnExtensionInstalled(content::BrowserContext* browser_context,
+                            const Extension* extension,
+                            bool is_update) override;
+  void OnExtensionUninstalled(content::BrowserContext* browser_context,
+                              const Extension* extension,
+                              extensions::UninstallReason reason) override;
 
   // content::NotificationObserver implementation.
-  virtual void Observe(int type,
-                       const content::NotificationSource& source,
-                       const content::NotificationDetails& details) override;
+  void Observe(int type,
+               const content::NotificationSource& source,
+               const content::NotificationDetails& details) override;
 
   // Adds a global error informing the user that an external extension was
   // installed. If |is_new_profile| is true, then this error is from the first
diff --git a/chrome/browser/extensions/external_policy_loader.h b/chrome/browser/extensions/external_policy_loader.h
index 845dedd..81e74f4b 100644
--- a/chrome/browser/extensions/external_policy_loader.h
+++ b/chrome/browser/extensions/external_policy_loader.h
@@ -34,7 +34,7 @@
   ExternalPolicyLoader(ExtensionManagement* settings, InstallationType type);
 
   // ExtensionManagement::Observer implementation
-  virtual void OnExtensionManagementSettingsChanged() override;
+  void OnExtensionManagementSettingsChanged() override;
 
   // Adds an extension to be updated to the pref dictionary.
   static void AddExtension(base::DictionaryValue* dict,
@@ -42,12 +42,12 @@
                            const std::string& update_url);
 
  protected:
-  virtual void StartLoading() override;
+  void StartLoading() override;
 
  private:
   friend class base::RefCountedThreadSafe<ExternalLoader>;
 
-  virtual ~ExternalPolicyLoader();
+  ~ExternalPolicyLoader() override;
 
   ExtensionManagement* settings_;
   InstallationType type_;
diff --git a/chrome/browser/extensions/external_policy_loader_unittest.cc b/chrome/browser/extensions/external_policy_loader_unittest.cc
index 20ffad3..4c17ce4f 100644
--- a/chrome/browser/extensions/external_policy_loader_unittest.cc
+++ b/chrome/browser/extensions/external_policy_loader_unittest.cc
@@ -70,23 +70,22 @@
     EXPECT_TRUE(expected_extensions_.empty());
   }
 
-  virtual bool OnExternalExtensionFileFound(const std::string& id,
-                                            const Version* version,
-                                            const base::FilePath& path,
-                                            Manifest::Location unused,
-                                            int unused2,
-                                            bool unused3) override {
+  bool OnExternalExtensionFileFound(const std::string& id,
+                                    const Version* version,
+                                    const base::FilePath& path,
+                                    Manifest::Location unused,
+                                    int unused2,
+                                    bool unused3) override {
     ADD_FAILURE() << "There should be no external extensions from files.";
     return false;
   }
 
-  virtual bool OnExternalExtensionUpdateUrlFound(
-      const std::string& id,
-      const std::string& install_parameter,
-      const GURL& update_url,
-      Manifest::Location location,
-      int unused1,
-      bool unused2) override {
+  bool OnExternalExtensionUpdateUrlFound(const std::string& id,
+                                         const std::string& install_parameter,
+                                         const GURL& update_url,
+                                         Manifest::Location location,
+                                         int unused1,
+                                         bool unused2) override {
     // Extension has the correct location.
     EXPECT_EQ(Manifest::EXTERNAL_POLICY_DOWNLOAD, location);
 
@@ -102,7 +101,7 @@
     return true;
   }
 
-  virtual void OnExternalProviderReady(
+  void OnExternalProviderReady(
       const ExternalProviderInterface* provider) override {
     EXPECT_EQ(provider, provider_.get());
     EXPECT_TRUE(provider->IsReady());
diff --git a/chrome/browser/extensions/external_pref_loader.h b/chrome/browser/extensions/external_pref_loader.h
index ec64c739..96e4f572 100644
--- a/chrome/browser/extensions/external_pref_loader.h
+++ b/chrome/browser/extensions/external_pref_loader.h
@@ -35,12 +35,12 @@
   // extension files are resolved relative to this path.
   ExternalPrefLoader(int base_path_id, Options options);
 
-  virtual const base::FilePath GetBaseCrxFilePath() override;
+  const base::FilePath GetBaseCrxFilePath() override;
 
  protected:
-  virtual ~ExternalPrefLoader() {}
+  ~ExternalPrefLoader() override {}
 
-  virtual void StartLoading() override;
+  void StartLoading() override;
   bool IsOptionSet(Options option) {
     return (options_ & option) != 0;
   }
@@ -86,15 +86,15 @@
   ExternalTestingLoader(const std::string& json_data,
                         const base::FilePath& fake_base_path);
 
-  virtual const base::FilePath GetBaseCrxFilePath() override;
+  const base::FilePath GetBaseCrxFilePath() override;
 
  protected:
-  virtual void StartLoading() override;
+  void StartLoading() override;
 
  private:
   friend class base::RefCountedThreadSafe<ExternalLoader>;
 
-  virtual ~ExternalTestingLoader();
+  ~ExternalTestingLoader() override;
 
   base::FilePath fake_base_path_;
   scoped_ptr<base::DictionaryValue> testing_prefs_;
diff --git a/chrome/browser/extensions/external_provider_impl.h b/chrome/browser/extensions/external_provider_impl.h
index 74cfadc..0ba5e516 100644
--- a/chrome/browser/extensions/external_provider_impl.h
+++ b/chrome/browser/extensions/external_provider_impl.h
@@ -41,7 +41,7 @@
                        Manifest::Location download_location,
                        int creation_flags);
 
-  virtual ~ExternalProviderImpl();
+  ~ExternalProviderImpl() override;
 
   // Populates a list with providers for all known sources.
   static void CreateExternalProviders(
@@ -54,15 +54,14 @@
   virtual void SetPrefs(base::DictionaryValue* prefs);
 
   // ExternalProvider implementation:
-  virtual void ServiceShutdown() override;
-  virtual void VisitRegisteredExtension() override;
-  virtual bool HasExtension(const std::string& id) const override;
-  virtual bool GetExtensionDetails(
-      const std::string& id,
-      Manifest::Location* location,
-      scoped_ptr<base::Version>* version) const override;
+  void ServiceShutdown() override;
+  void VisitRegisteredExtension() override;
+  bool HasExtension(const std::string& id) const override;
+  bool GetExtensionDetails(const std::string& id,
+                           Manifest::Location* location,
+                           scoped_ptr<base::Version>* version) const override;
 
-  virtual bool IsReady() const override;
+  bool IsReady() const override;
 
   static const char kExternalCrx[];
   static const char kExternalVersion[];
diff --git a/chrome/browser/extensions/fake_safe_browsing_database_manager.h b/chrome/browser/extensions/fake_safe_browsing_database_manager.h
index d7ff84e..b890c24 100644
--- a/chrome/browser/extensions/fake_safe_browsing_database_manager.h
+++ b/chrome/browser/extensions/fake_safe_browsing_database_manager.h
@@ -23,8 +23,8 @@
   // Returns true if synchronously safe, false if not in which case the unsafe
   // IDs taken from |unsafe_ids_| are passed to to |client| on the current
   // message loop.
-  virtual bool CheckExtensionIDs(const std::set<std::string>& extension_ids,
-                                 Client* client) override;
+  bool CheckExtensionIDs(const std::set<std::string>& extension_ids,
+                         Client* client) override;
 
   // Return |this| to chain together SetUnsafe(...).NotifyUpdate() conveniently.
   FakeSafeBrowsingDatabaseManager& Enable();
@@ -47,7 +47,7 @@
   void NotifyUpdate();
 
  private:
-  virtual ~FakeSafeBrowsingDatabaseManager();
+  ~FakeSafeBrowsingDatabaseManager() override;
 
   // Runs client->SafeBrowsingResult(result).
   void OnSafeBrowsingResult(scoped_ptr<SafeBrowsingCheck> result,
diff --git a/chrome/browser/extensions/favicon_downloader.h b/chrome/browser/extensions/favicon_downloader.h
index e9142709..e3b73a8 100644
--- a/chrome/browser/extensions/favicon_downloader.h
+++ b/chrome/browser/extensions/favicon_downloader.h
@@ -37,7 +37,7 @@
   FaviconDownloader(content::WebContents* web_contents,
                     const std::vector<GURL>& extra_favicon_urls,
                     FaviconDownloaderCallback callback);
-  virtual ~FaviconDownloader();
+  ~FaviconDownloader() override;
 
   void Start();
 
@@ -65,10 +65,10 @@
                           const std::vector<gfx::Size>& original_bitmap_sizes);
 
   // content::WebContentsObserver overrides:
-  virtual void DidNavigateMainFrame(
+  void DidNavigateMainFrame(
       const content::LoadCommittedDetails& details,
       const content::FrameNavigateParams& params) override;
-  virtual void DidUpdateFaviconURL(
+  void DidUpdateFaviconURL(
       const std::vector<content::FaviconURL>& candidates) override;
 
   // Whether we have received favicons from the renderer.
diff --git a/chrome/browser/extensions/favicon_downloader_unittest.cc b/chrome/browser/extensions/favicon_downloader_unittest.cc
index 396466b4..8d700cc 100644
--- a/chrome/browser/extensions/favicon_downloader_unittest.cc
+++ b/chrome/browser/extensions/favicon_downloader_unittest.cc
@@ -51,14 +51,11 @@
                        base::Unretained(this))),
         id_counter_(0) {
   }
-  virtual ~TestFaviconDownloader() {}
+  ~TestFaviconDownloader() override {}
 
-  virtual int DownloadImage(const GURL& url) override {
-    return id_counter_++;
-  }
+  int DownloadImage(const GURL& url) override { return id_counter_++; }
 
-  virtual std::vector<content::FaviconURL> GetFaviconURLsFromWebContents()
-      override {
+  std::vector<content::FaviconURL> GetFaviconURLsFromWebContents() override {
     return initial_favicon_urls_;
   }
 
diff --git a/chrome/browser/extensions/global_shortcut_listener_mac.h b/chrome/browser/extensions/global_shortcut_listener_mac.h
index 355f3095..55d94ad 100644
--- a/chrome/browser/extensions/global_shortcut_listener_mac.h
+++ b/chrome/browser/extensions/global_shortcut_listener_mac.h
@@ -28,7 +28,7 @@
 class GlobalShortcutListenerMac : public GlobalShortcutListener {
  public:
   GlobalShortcutListenerMac();
-  virtual ~GlobalShortcutListenerMac();
+  ~GlobalShortcutListenerMac() override;
 
  private:
   typedef int KeyId;
@@ -41,12 +41,10 @@
   bool OnMediaKeyEvent(int key_code);
 
   // GlobalShortcutListener implementation.
-  virtual void StartListening() override;
-  virtual void StopListening() override;
-  virtual bool RegisterAcceleratorImpl(
-      const ui::Accelerator& accelerator) override;
-  virtual void UnregisterAcceleratorImpl(
-      const ui::Accelerator& accelerator) override;
+  void StartListening() override;
+  void StopListening() override;
+  bool RegisterAcceleratorImpl(const ui::Accelerator& accelerator) override;
+  void UnregisterAcceleratorImpl(const ui::Accelerator& accelerator) override;
 
   // Mac-specific functions for registering hot keys with modifiers.
   bool RegisterHotKey(const ui::Accelerator& accelerator, KeyId hot_key_id);
diff --git a/chrome/browser/extensions/hotword_browsertest.cc b/chrome/browser/extensions/hotword_browsertest.cc
index 47bf668..6de7de5 100644
--- a/chrome/browser/extensions/hotword_browsertest.cc
+++ b/chrome/browser/extensions/hotword_browsertest.cc
@@ -29,7 +29,7 @@
   virtual ~HotwordBrowserTest() { }
 
  protected:
-  virtual void SetUpInProcessBrowserTestFixture() override {
+  void SetUpInProcessBrowserTestFixture() override {
     ExtensionBrowserTest::SetUpInProcessBrowserTestFixture();
 
     // Force the VoiceTrigger field trial on to enable the hotword_helper
@@ -46,7 +46,7 @@
         FeatureSwitch::OVERRIDE_ENABLED);
   }
 
-  virtual void SetUpOnMainThread() override {
+  void SetUpOnMainThread() override {
     ExtensionBrowserTest::SetUpOnMainThread();
 
     // Errors are only kept if we have Developer Mode enabled.
diff --git a/chrome/browser/extensions/install_signer.cc b/chrome/browser/extensions/install_signer.cc
index 74dc76b..8d4c35eb 100644
--- a/chrome/browser/extensions/install_signer.cc
+++ b/chrome/browser/extensions/install_signer.cc
@@ -274,10 +274,9 @@
       : callback_(callback) {
   }
 
-  virtual ~FetcherDelegate() {
-  }
+  ~FetcherDelegate() override {}
 
-  virtual void OnURLFetchComplete(const net::URLFetcher* source) override {
+  void OnURLFetchComplete(const net::URLFetcher* source) override {
     callback_.Run();
   }
 
diff --git a/chrome/browser/extensions/install_tracker.h b/chrome/browser/extensions/install_tracker.h
index 903c1458..397ed46 100644
--- a/chrome/browser/extensions/install_tracker.h
+++ b/chrome/browser/extensions/install_tracker.h
@@ -32,7 +32,7 @@
  public:
   InstallTracker(content::BrowserContext* browser_context,
                  extensions::ExtensionPrefs* prefs);
-  virtual ~InstallTracker();
+  ~InstallTracker() override;
 
   static InstallTracker* Get(content::BrowserContext* context);
 
@@ -68,20 +68,20 @@
   //                ExtensionRegistryObserver.
 
   // Overriddes for KeyedService.
-  virtual void Shutdown() override;
+  void Shutdown() override;
 
  private:
   void OnAppsReordered();
 
   // content::NotificationObserver implementation.
-  virtual void Observe(int type,
-                       const content::NotificationSource& source,
-                       const content::NotificationDetails& details) override;
+  void Observe(int type,
+               const content::NotificationSource& source,
+               const content::NotificationDetails& details) override;
 
   // ExtensionRegistryObserver implementation.
-  virtual void OnExtensionInstalled(content::BrowserContext* browser_context,
-                                    const Extension* extension,
-                                    bool is_update) override;
+  void OnExtensionInstalled(content::BrowserContext* browser_context,
+                            const Extension* extension,
+                            bool is_update) override;
 
   // Maps extension id to the details of an active install.
   typedef std::map<std::string, ActiveInstallData> ActiveInstallsMap;
diff --git a/chrome/browser/extensions/install_tracker_factory.h b/chrome/browser/extensions/install_tracker_factory.h
index b490daf..214bc957 100644
--- a/chrome/browser/extensions/install_tracker_factory.h
+++ b/chrome/browser/extensions/install_tracker_factory.h
@@ -22,12 +22,12 @@
   friend struct DefaultSingletonTraits<InstallTrackerFactory>;
 
   InstallTrackerFactory();
-  virtual ~InstallTrackerFactory();
+  ~InstallTrackerFactory() override;
 
   // BrowserContextKeyedServiceFactory overrides:
-  virtual KeyedService* BuildServiceInstanceFor(
+  KeyedService* BuildServiceInstanceFor(
       content::BrowserContext* context) const override;
-  virtual content::BrowserContext* GetBrowserContextToUse(
+  content::BrowserContext* GetBrowserContextToUse(
       content::BrowserContext* context) const override;
 
   DISALLOW_COPY_AND_ASSIGN(InstallTrackerFactory);
diff --git a/chrome/browser/extensions/install_verifier.h b/chrome/browser/extensions/install_verifier.h
index 01fbb4f..778a1a6 100644
--- a/chrome/browser/extensions/install_verifier.h
+++ b/chrome/browser/extensions/install_verifier.h
@@ -43,7 +43,7 @@
 class InstallVerifier : public ManagementPolicy::Provider {
  public:
   InstallVerifier(ExtensionPrefs* prefs, content::BrowserContext* context);
-  virtual ~InstallVerifier();
+  ~InstallVerifier() override;
 
   // Returns whether |extension| is of a type that needs verification.
   static bool NeedsVerification(const Extension& extension);
@@ -84,10 +84,10 @@
   bool AllowedByEnterprisePolicy(const std::string& id) const;
 
   // ManagementPolicy::Provider interface.
-  virtual std::string GetDebugPolicyProviderName() const override;
-  virtual bool MustRemainDisabled(const Extension* extension,
-                                  Extension::DisableReason* reason,
-                                  base::string16* error) const override;
+  std::string GetDebugPolicyProviderName() const override;
+  bool MustRemainDisabled(const Extension* extension,
+                          Extension::DisableReason* reason,
+                          base::string16* error) const override;
 
  private:
   // We keep a list of operations to the current set of extensions.
diff --git a/chrome/browser/extensions/isolated_app_browsertest.cc b/chrome/browser/extensions/isolated_app_browsertest.cc
index 0ed25ba..b011dfb 100644
--- a/chrome/browser/extensions/isolated_app_browsertest.cc
+++ b/chrome/browser/extensions/isolated_app_browsertest.cc
@@ -125,7 +125,7 @@
   }
 
  private:
-  virtual void SetUpCommandLine(base::CommandLine* command_line) override {
+  void SetUpCommandLine(base::CommandLine* command_line) override {
     ExtensionBrowserTest::SetUpCommandLine(command_line);
     command_line->AppendSwitch(switches::kEnableExperimentalExtensionApis);
   }
diff --git a/chrome/browser/extensions/lazy_background_page_apitest.cc b/chrome/browser/extensions/lazy_background_page_apitest.cc
index ffa3c95..bd9af90 100644
--- a/chrome/browser/extensions/lazy_background_page_apitest.cc
+++ b/chrome/browser/extensions/lazy_background_page_apitest.cc
@@ -61,7 +61,7 @@
   }
 
  private:
-  virtual void OnExtensionUnloaded(
+  void OnExtensionUnloaded(
       content::BrowserContext* browser_context,
       const Extension* extension,
       extensions::UnloadedExtensionInfo::Reason reason) override {
@@ -85,7 +85,7 @@
   LazyBackgroundPageApiTest() {}
   virtual ~LazyBackgroundPageApiTest() {}
 
-  virtual void SetUpOnMainThread() override {
+  void SetUpOnMainThread() override {
     ExtensionApiTest::SetUpOnMainThread();
     // Set shorter delays to prevent test timeouts.
     extensions::ProcessManager::SetEventPageIdleTimeForTesting(1);
diff --git a/chrome/browser/extensions/location_bar_controller.h b/chrome/browser/extensions/location_bar_controller.h
index 78b1bd03..e67430a 100644
--- a/chrome/browser/extensions/location_bar_controller.h
+++ b/chrome/browser/extensions/location_bar_controller.h
@@ -30,20 +30,18 @@
 class LocationBarController : public ExtensionRegistryObserver {
  public:
   explicit LocationBarController(content::WebContents* web_contents);
-  virtual ~LocationBarController();
+  ~LocationBarController() override;
 
   // Returns the actions which should be displayed in the location bar.
   std::vector<ExtensionAction*> GetCurrentActions();
 
  private:
   // ExtensionRegistryObserver implementation.
-  virtual void OnExtensionLoaded(
-      content::BrowserContext* browser_context,
-      const Extension* extension) override;
-  virtual void OnExtensionUnloaded(
-      content::BrowserContext* browser_context,
-      const Extension* extension,
-      UnloadedExtensionInfo::Reason reason) override;
+  void OnExtensionLoaded(content::BrowserContext* browser_context,
+                         const Extension* extension) override;
+  void OnExtensionUnloaded(content::BrowserContext* browser_context,
+                           const Extension* extension,
+                           UnloadedExtensionInfo::Reason reason) override;
 
   // The associated WebContents.
   content::WebContents* web_contents_;
diff --git a/chrome/browser/extensions/menu_manager.h b/chrome/browser/extensions/menu_manager.h
index ac1cf126..ab5471e2 100644
--- a/chrome/browser/extensions/menu_manager.h
+++ b/chrome/browser/extensions/menu_manager.h
@@ -278,7 +278,7 @@
   static const char kOnWebviewContextMenus[];
 
   MenuManager(content::BrowserContext* context, StateStore* store_);
-  virtual ~MenuManager();
+  ~MenuManager() override;
 
   // Convenience function to get the MenuManager for a browser context.
   static MenuManager* Get(content::BrowserContext* context);
@@ -340,16 +340,16 @@
   const SkBitmap& GetIconForExtension(const std::string& extension_id);
 
   // content::NotificationObserver implementation.
-  virtual void Observe(int type, const content::NotificationSource& source,
-                       const content::NotificationDetails& details) override;
+  void Observe(int type,
+               const content::NotificationSource& source,
+               const content::NotificationDetails& details) override;
 
   // ExtensionRegistryObserver implementation.
-  virtual void OnExtensionLoaded(content::BrowserContext* browser_context,
-                                 const Extension* extension) override;
-  virtual void OnExtensionUnloaded(
-      content::BrowserContext* browser_context,
-      const Extension* extension,
-      UnloadedExtensionInfo::Reason reason) override;
+  void OnExtensionLoaded(content::BrowserContext* browser_context,
+                         const Extension* extension) override;
+  void OnExtensionUnloaded(content::BrowserContext* browser_context,
+                           const Extension* extension,
+                           UnloadedExtensionInfo::Reason reason) override;
 
   // Stores the menu items for the extension in the state storage.
   void WriteToStorage(const Extension* extension,
diff --git a/chrome/browser/extensions/menu_manager_factory.h b/chrome/browser/extensions/menu_manager_factory.h
index 496d21e..ae1693e5 100644
--- a/chrome/browser/extensions/menu_manager_factory.h
+++ b/chrome/browser/extensions/menu_manager_factory.h
@@ -29,14 +29,14 @@
   friend struct DefaultSingletonTraits<MenuManagerFactory>;
 
   MenuManagerFactory();
-  virtual ~MenuManagerFactory();
+  ~MenuManagerFactory() override;
 
-  virtual KeyedService* BuildServiceInstanceFor(
+  KeyedService* BuildServiceInstanceFor(
       content::BrowserContext* context) const override;
-  virtual content::BrowserContext* GetBrowserContextToUse(
+  content::BrowserContext* GetBrowserContextToUse(
       content::BrowserContext* context) const override;
-  virtual bool ServiceIsCreatedWithBrowserContext() const override;
-  virtual bool ServiceIsNULLWhileTesting() const override;
+  bool ServiceIsCreatedWithBrowserContext() const override;
+  bool ServiceIsNULLWhileTesting() const override;
 };
 
 }  // namespace extensions
diff --git a/chrome/browser/extensions/menu_manager_unittest.cc b/chrome/browser/extensions/menu_manager_unittest.cc
index f6f5ff7eda..7948d03a 100644
--- a/chrome/browser/extensions/menu_manager_unittest.cc
+++ b/chrome/browser/extensions/menu_manager_unittest.cc
@@ -488,7 +488,7 @@
   explicit MockExtensionSystem(Profile* profile)
       : TestExtensionSystem(profile) {}
 
-  virtual EventRouter* event_router() override {
+  EventRouter* event_router() override {
     if (!mock_event_router_)
       mock_event_router_.reset(new MockEventRouter(profile_));
     return mock_event_router_.get();
diff --git a/chrome/browser/extensions/mock_extension_special_storage_policy.h b/chrome/browser/extensions/mock_extension_special_storage_policy.h
index 673f3c94..a295862 100644
--- a/chrome/browser/extensions/mock_extension_special_storage_policy.h
+++ b/chrome/browser/extensions/mock_extension_special_storage_policy.h
@@ -19,19 +19,19 @@
   MockExtensionSpecialStoragePolicy();
 
   // storage::SpecialStoragePolicy:
-  virtual bool IsStorageProtected(const GURL& origin) override;
-  virtual bool IsStorageUnlimited(const GURL& origin) override;
-  virtual bool IsStorageSessionOnly(const GURL& origin) override;
-  virtual bool CanQueryDiskSize(const GURL& origin) override;
-  virtual bool IsFileHandler(const std::string& extension_id) override;
-  virtual bool HasSessionOnlyOrigins() override;
+  bool IsStorageProtected(const GURL& origin) override;
+  bool IsStorageUnlimited(const GURL& origin) override;
+  bool IsStorageSessionOnly(const GURL& origin) override;
+  bool CanQueryDiskSize(const GURL& origin) override;
+  bool IsFileHandler(const std::string& extension_id) override;
+  bool HasSessionOnlyOrigins() override;
 
   void AddProtected(const GURL& origin) {
     protected_.insert(origin);
   }
 
  private:
-  virtual ~MockExtensionSpecialStoragePolicy();
+  ~MockExtensionSpecialStoragePolicy() override;
 
   std::set<GURL> protected_;
 
diff --git a/chrome/browser/extensions/navigation_observer.h b/chrome/browser/extensions/navigation_observer.h
index 66686f64..017acc0 100644
--- a/chrome/browser/extensions/navigation_observer.h
+++ b/chrome/browser/extensions/navigation_observer.h
@@ -29,12 +29,13 @@
                            public content::NotificationObserver {
  public:
   explicit NavigationObserver(Profile* profile);
-  virtual ~NavigationObserver();
+  ~NavigationObserver() override;
 
   // content::NotificationObserver
-  virtual void Observe(int type,
-                       const content::NotificationSource& source,
-                       const content::NotificationDetails& details) override;
+  void Observe(int type,
+               const content::NotificationSource& source,
+               const content::NotificationDetails& details) override;
+
  private:
   // Registers for the NOTIFICATION_NAV_ENTRY_COMMITTED notification.
   void RegisterForNotifications();
@@ -46,8 +47,8 @@
       content::NavigationController* nav_controller);
 
   // ExtensionInstallPrompt::Delegate callbacks used for the permissions prompt.
-  virtual void InstallUIProceed() override;
-  virtual void InstallUIAbort(bool user_initiated) override;
+  void InstallUIProceed() override;
+  void InstallUIAbort(bool user_initiated) override;
 
   content::NotificationRegistrar registrar_;
 
diff --git a/chrome/browser/extensions/notifications_apitest.cc b/chrome/browser/extensions/notifications_apitest.cc
index 1c2c51a..f846f8d3 100644
--- a/chrome/browser/extensions/notifications_apitest.cc
+++ b/chrome/browser/extensions/notifications_apitest.cc
@@ -13,7 +13,7 @@
 
 class NotificationIdleTest : public ExtensionApiTest {
  protected:
-  virtual void SetUpOnMainThread() override {
+  void SetUpOnMainThread() override {
     ExtensionApiTest::SetUpOnMainThread();
 
     extensions::ProcessManager::SetEventPageIdleTimeForTesting(1);
diff --git a/chrome/browser/extensions/ntp_overridden_bubble_controller.cc b/chrome/browser/extensions/ntp_overridden_bubble_controller.cc
index 121d286..bec4ed3c 100644
--- a/chrome/browser/extensions/ntp_overridden_bubble_controller.cc
+++ b/chrome/browser/extensions/ntp_overridden_bubble_controller.cc
@@ -30,30 +30,27 @@
     : public extensions::ExtensionMessageBubbleController::Delegate {
  public:
   NtpOverriddenBubbleDelegate(ExtensionService* service, Profile* profile);
-  virtual ~NtpOverriddenBubbleDelegate();
+  ~NtpOverriddenBubbleDelegate() override;
 
   // ExtensionMessageBubbleController::Delegate methods.
-  virtual bool ShouldIncludeExtension(const std::string& extension_id) override;
-  virtual void AcknowledgeExtension(
+  bool ShouldIncludeExtension(const std::string& extension_id) override;
+  void AcknowledgeExtension(
       const std::string& extension_id,
-      extensions::ExtensionMessageBubbleController::BubbleAction
-          user_action) override;
-  virtual void PerformAction(const extensions::ExtensionIdList& list) override;
-  virtual base::string16 GetTitle() const override;
-  virtual base::string16 GetMessageBody(
-      bool anchored_to_browser_action) const override;
-  virtual base::string16 GetOverflowText(
+      extensions::ExtensionMessageBubbleController::BubbleAction user_action)
+      override;
+  void PerformAction(const extensions::ExtensionIdList& list) override;
+  base::string16 GetTitle() const override;
+  base::string16 GetMessageBody(bool anchored_to_browser_action) const override;
+  base::string16 GetOverflowText(
       const base::string16& overflow_count) const override;
-  virtual GURL GetLearnMoreUrl() const override;
-  virtual base::string16 GetActionButtonLabel() const override;
-  virtual base::string16 GetDismissButtonLabel() const override;
-  virtual bool ShouldShowExtensionList() const override;
-  virtual void RestrictToSingleExtension(
-      const std::string& extension_id) override;
-  virtual void LogExtensionCount(size_t count) override;
-  virtual void LogAction(
-      extensions::ExtensionMessageBubbleController::BubbleAction
-          action) override;
+  GURL GetLearnMoreUrl() const override;
+  base::string16 GetActionButtonLabel() const override;
+  base::string16 GetDismissButtonLabel() const override;
+  bool ShouldShowExtensionList() const override;
+  void RestrictToSingleExtension(const std::string& extension_id) override;
+  void LogExtensionCount(size_t count) override;
+  void LogAction(extensions::ExtensionMessageBubbleController::BubbleAction
+                     action) override;
 
  private:
   // Our extension service. Weak, not owned by us.
diff --git a/chrome/browser/extensions/ntp_overridden_bubble_controller.h b/chrome/browser/extensions/ntp_overridden_bubble_controller.h
index 3a0d101..8224013 100644
--- a/chrome/browser/extensions/ntp_overridden_bubble_controller.h
+++ b/chrome/browser/extensions/ntp_overridden_bubble_controller.h
@@ -13,14 +13,14 @@
 class NtpOverriddenBubbleController : public ExtensionMessageBubbleController {
  public:
   explicit NtpOverriddenBubbleController(Profile* profile);
-  virtual ~NtpOverriddenBubbleController();
+  ~NtpOverriddenBubbleController() override;
 
   // Whether the controller knows that we should show the bubble for extension
   // with |extension_id|. Returns true if so.
   bool ShouldShow(const std::string& extension_id);
 
   // ExtensionMessageBubbleController:
-  virtual bool CloseOnDeactivate() override;
+  bool CloseOnDeactivate() override;
 
  private:
   // A weak pointer to the profile we are associated with. Not owned by us.
diff --git a/chrome/browser/extensions/permissions_updater_unittest.cc b/chrome/browser/extensions/permissions_updater_unittest.cc
index 194a368..f4b23682 100644
--- a/chrome/browser/extensions/permissions_updater_unittest.cc
+++ b/chrome/browser/extensions/permissions_updater_unittest.cc
@@ -127,9 +127,9 @@
   UpdatedExtensionPermissionsInfo::Reason reason() const { return reason_; }
 
  private:
-  virtual void Observe(int type,
-                       const content::NotificationSource& source,
-                       const content::NotificationDetails& details) override {
+  void Observe(int type,
+               const content::NotificationSource& source,
+               const content::NotificationDetails& details) override {
     received_notification_ = true;
     UpdatedExtensionPermissionsInfo* info =
         content::Details<UpdatedExtensionPermissionsInfo>(details).ptr();
diff --git a/chrome/browser/extensions/plugin_manager.h b/chrome/browser/extensions/plugin_manager.h
index 0d010dd..16a6aa7 100644
--- a/chrome/browser/extensions/plugin_manager.h
+++ b/chrome/browser/extensions/plugin_manager.h
@@ -27,7 +27,7 @@
                       public ExtensionRegistryObserver {
  public:
   explicit PluginManager(content::BrowserContext* context);
-  virtual ~PluginManager();
+  ~PluginManager() override;
 
   // BrowserContextKeyedAPI implementation.
   static BrowserContextKeyedAPIFactory<PluginManager>* GetFactoryInstance();
@@ -55,12 +55,11 @@
 #endif  // !defined(DISABLE_NACL)
 
   // ExtensionRegistryObserver implementation.
-  virtual void OnExtensionLoaded(content::BrowserContext* browser_context,
-                                 const Extension* extension) override;
-  virtual void OnExtensionUnloaded(
-      content::BrowserContext* browser_context,
-      const Extension* extension,
-      UnloadedExtensionInfo::Reason reason) override;
+  void OnExtensionLoaded(content::BrowserContext* browser_context,
+                         const Extension* extension) override;
+  void OnExtensionUnloaded(content::BrowserContext* browser_context,
+                           const Extension* extension,
+                           UnloadedExtensionInfo::Reason reason) override;
 
   // BrowserContextKeyedAPI implementation.
   static const char* service_name() { return "PluginManager"; }
diff --git a/chrome/browser/extensions/policy_handlers.h b/chrome/browser/extensions/policy_handlers.h
index 3edd40d..c2636b2 100644
--- a/chrome/browser/extensions/policy_handlers.h
+++ b/chrome/browser/extensions/policy_handlers.h
@@ -24,13 +24,13 @@
   ExtensionListPolicyHandler(const char* policy_name,
                              const char* pref_path,
                              bool allow_wildcards);
-  virtual ~ExtensionListPolicyHandler();
+  ~ExtensionListPolicyHandler() override;
 
   // ConfigurationPolicyHandler methods:
-  virtual bool CheckPolicySettings(const policy::PolicyMap& policies,
-                                   policy::PolicyErrorMap* errors) override;
-  virtual void ApplyPolicySettings(const policy::PolicyMap& policies,
-                                   PrefValueMap* prefs) override;
+  bool CheckPolicySettings(const policy::PolicyMap& policies,
+                           policy::PolicyErrorMap* errors) override;
+  void ApplyPolicySettings(const policy::PolicyMap& policies,
+                           PrefValueMap* prefs) override;
 
  protected:
   const char* pref_path() const;
@@ -51,13 +51,13 @@
     : public policy::TypeCheckingPolicyHandler {
  public:
   ExtensionInstallForcelistPolicyHandler();
-  virtual ~ExtensionInstallForcelistPolicyHandler();
+  ~ExtensionInstallForcelistPolicyHandler() override;
 
   // ConfigurationPolicyHandler methods:
-  virtual bool CheckPolicySettings(const policy::PolicyMap& policies,
-                                   policy::PolicyErrorMap* errors) override;
-  virtual void ApplyPolicySettings(const policy::PolicyMap& policies,
-                                   PrefValueMap* prefs) override;
+  bool CheckPolicySettings(const policy::PolicyMap& policies,
+                           policy::PolicyErrorMap* errors) override;
+  void ApplyPolicySettings(const policy::PolicyMap& policies,
+                           PrefValueMap* prefs) override;
 
  private:
   // Parses the data in |policy_value| and writes them to |extension_dict|.
@@ -75,13 +75,13 @@
  public:
   ExtensionURLPatternListPolicyHandler(const char* policy_name,
                                        const char* pref_path);
-  virtual ~ExtensionURLPatternListPolicyHandler();
+  ~ExtensionURLPatternListPolicyHandler() override;
 
   // ConfigurationPolicyHandler methods:
-  virtual bool CheckPolicySettings(const policy::PolicyMap& policies,
-                                   policy::PolicyErrorMap* errors) override;
-  virtual void ApplyPolicySettings(const policy::PolicyMap& policies,
-                                   PrefValueMap* prefs) override;
+  bool CheckPolicySettings(const policy::PolicyMap& policies,
+                           policy::PolicyErrorMap* errors) override;
+  void ApplyPolicySettings(const policy::PolicyMap& policies,
+                           PrefValueMap* prefs) override;
 
  private:
   const char* pref_path_;
@@ -93,13 +93,13 @@
     : public policy::SchemaValidatingPolicyHandler {
  public:
   explicit ExtensionSettingsPolicyHandler(const policy::Schema& chrome_schema);
-  virtual ~ExtensionSettingsPolicyHandler();
+  ~ExtensionSettingsPolicyHandler() override;
 
   // ConfigurationPolicyHandler methods:
-  virtual bool CheckPolicySettings(const policy::PolicyMap& policies,
-                                   policy::PolicyErrorMap* errors) override;
-  virtual void ApplyPolicySettings(const policy::PolicyMap& policies,
-                                   PrefValueMap* prefs) override;
+  bool CheckPolicySettings(const policy::PolicyMap& policies,
+                           policy::PolicyErrorMap* errors) override;
+  void ApplyPolicySettings(const policy::PolicyMap& policies,
+                           PrefValueMap* prefs) override;
 
  private:
   DISALLOW_COPY_AND_ASSIGN(ExtensionSettingsPolicyHandler);
diff --git a/chrome/browser/extensions/process_management_browsertest.cc b/chrome/browser/extensions/process_management_browsertest.cc
index 87d6d3e..416ff86 100644
--- a/chrome/browser/extensions/process_management_browsertest.cc
+++ b/chrome/browser/extensions/process_management_browsertest.cc
@@ -30,7 +30,7 @@
 class ProcessManagementTest : public ExtensionBrowserTest {
  private:
   // This is needed for testing isolated apps, which are still experimental.
-  virtual void SetUpCommandLine(CommandLine* command_line) override {
+  void SetUpCommandLine(CommandLine* command_line) override {
     ExtensionBrowserTest::SetUpCommandLine(command_line);
     command_line->AppendSwitch(
         extensions::switches::kEnableExperimentalExtensionApis);
diff --git a/chrome/browser/extensions/proxy_overridden_bubble_controller.cc b/chrome/browser/extensions/proxy_overridden_bubble_controller.cc
index 552ecfb..a3cde4c 100644
--- a/chrome/browser/extensions/proxy_overridden_bubble_controller.cc
+++ b/chrome/browser/extensions/proxy_overridden_bubble_controller.cc
@@ -34,31 +34,27 @@
     : public ExtensionMessageBubbleController::Delegate {
  public:
   ProxyOverriddenBubbleDelegate(ExtensionService* service, Profile* profile);
-  virtual ~ProxyOverriddenBubbleDelegate();
+  ~ProxyOverriddenBubbleDelegate() override;
 
   // ExtensionMessageBubbleController::Delegate methods.
-  virtual bool ShouldIncludeExtension(const std::string& extension_id) override;
-  virtual void AcknowledgeExtension(
+  bool ShouldIncludeExtension(const std::string& extension_id) override;
+  void AcknowledgeExtension(
       const std::string& extension_id,
-      ExtensionMessageBubbleController::BubbleAction
-          user_action) override;
-  virtual void PerformAction(const ExtensionIdList& list) override;
-  virtual void OnClose() override;
-  virtual base::string16 GetTitle() const override;
-  virtual base::string16 GetMessageBody(
-      bool anchored_to_browser_action) const override;
-  virtual base::string16 GetOverflowText(
+      ExtensionMessageBubbleController::BubbleAction user_action) override;
+  void PerformAction(const ExtensionIdList& list) override;
+  void OnClose() override;
+  base::string16 GetTitle() const override;
+  base::string16 GetMessageBody(bool anchored_to_browser_action) const override;
+  base::string16 GetOverflowText(
       const base::string16& overflow_count) const override;
-  virtual GURL GetLearnMoreUrl() const override;
-  virtual base::string16 GetActionButtonLabel() const override;
-  virtual base::string16 GetDismissButtonLabel() const override;
-  virtual bool ShouldShowExtensionList() const override;
-  virtual void RestrictToSingleExtension(
-      const std::string& extension_id) override;
-  virtual void LogExtensionCount(size_t count) override;
-  virtual void LogAction(
-      ExtensionMessageBubbleController::BubbleAction
-          action) override;
+  GURL GetLearnMoreUrl() const override;
+  base::string16 GetActionButtonLabel() const override;
+  base::string16 GetDismissButtonLabel() const override;
+  bool ShouldShowExtensionList() const override;
+  void RestrictToSingleExtension(const std::string& extension_id) override;
+  void LogExtensionCount(size_t count) override;
+  void LogAction(
+      ExtensionMessageBubbleController::BubbleAction action) override;
 
  private:
   // Our extension service. Weak, not owned by us.
diff --git a/chrome/browser/extensions/proxy_overridden_bubble_controller.h b/chrome/browser/extensions/proxy_overridden_bubble_controller.h
index e5f6b90..7ff8e00 100644
--- a/chrome/browser/extensions/proxy_overridden_bubble_controller.h
+++ b/chrome/browser/extensions/proxy_overridden_bubble_controller.h
@@ -18,14 +18,14 @@
     : public ExtensionMessageBubbleController {
  public:
   explicit ProxyOverriddenBubbleController(Profile* profile);
-  virtual ~ProxyOverriddenBubbleController();
+  ~ProxyOverriddenBubbleController() override;
 
   // Whether the controller knows that we should show the bubble for extension
   // with |extension_id|. Returns true if so.
   bool ShouldShow(const std::string& extension_id);
 
   // ExtensionMessageBubbleController:
-  virtual bool CloseOnDeactivate() override;
+  bool CloseOnDeactivate() override;
 
  private:
   // A weak pointer to the profile we are associated with. Not owned by us.
diff --git a/chrome/browser/extensions/sandboxed_unpacker.h b/chrome/browser/extensions/sandboxed_unpacker.h
index 323b4c65..60a5bbd 100644
--- a/chrome/browser/extensions/sandboxed_unpacker.h
+++ b/chrome/browser/extensions/sandboxed_unpacker.h
@@ -154,7 +154,7 @@
   friend class ProcessHostClient;
   friend class SandboxedUnpackerTest;
 
-  virtual ~SandboxedUnpacker();
+  ~SandboxedUnpacker() override;
 
   // Set |temp_dir_| as a temporary directory to unpack the extension in.
   // Return true on success.
@@ -175,8 +175,8 @@
   void StartProcessOnIOThread(const base::FilePath& temp_crx_path);
 
   // UtilityProcessHostClient
-  virtual bool OnMessageReceived(const IPC::Message& message) override;
-  virtual void OnProcessCrashed(int exit_code) override;
+  bool OnMessageReceived(const IPC::Message& message) override;
+  void OnProcessCrashed(int exit_code) override;
 
   // IPC message handlers.
   void OnUnpackExtensionSucceeded(const base::DictionaryValue& manifest);
diff --git a/chrome/browser/extensions/sandboxed_unpacker_unittest.cc b/chrome/browser/extensions/sandboxed_unpacker_unittest.cc
index ff01e8a5d..be1bec06 100644
--- a/chrome/browser/extensions/sandboxed_unpacker_unittest.cc
+++ b/chrome/browser/extensions/sandboxed_unpacker_unittest.cc
@@ -34,19 +34,19 @@
   base::FilePath temp_dir() const { return temp_dir_; }
 
  private:
-  virtual ~MockSandboxedUnpackerClient() {}
+  ~MockSandboxedUnpackerClient() override {}
 
-  virtual void OnUnpackSuccess(const base::FilePath& temp_dir,
-                               const base::FilePath& extension_root,
-                               const base::DictionaryValue* original_manifest,
-                               const Extension* extension,
-                               const SkBitmap& install_icon) override {
+  void OnUnpackSuccess(const base::FilePath& temp_dir,
+                       const base::FilePath& extension_root,
+                       const base::DictionaryValue* original_manifest,
+                       const Extension* extension,
+                       const SkBitmap& install_icon) override {
     temp_dir_ = temp_dir;
     quit_closure_.Run();
 
   }
 
-  virtual void OnUnpackFailure(const base::string16& error) override {
+  void OnUnpackFailure(const base::string16& error) override {
     ASSERT_TRUE(false);
   }
 
diff --git a/chrome/browser/extensions/settings_api_bubble_controller.cc b/chrome/browser/extensions/settings_api_bubble_controller.cc
index 9682442..e89f42f 100644
--- a/chrome/browser/extensions/settings_api_bubble_controller.cc
+++ b/chrome/browser/extensions/settings_api_bubble_controller.cc
@@ -37,26 +37,25 @@
   explicit SettingsApiBubbleDelegate(ExtensionService* service,
                                      Profile* profile,
                                      SettingsApiOverrideType type);
-  virtual ~SettingsApiBubbleDelegate();
+  ~SettingsApiBubbleDelegate() override;
 
   // ExtensionMessageBubbleController::Delegate methods.
-  virtual bool ShouldIncludeExtension(const std::string& extension_id) override;
-  virtual void AcknowledgeExtension(
+  bool ShouldIncludeExtension(const std::string& extension_id) override;
+  void AcknowledgeExtension(
       const std::string& extension_id,
       ExtensionMessageBubbleController::BubbleAction user_action) override;
-  virtual void PerformAction(const ExtensionIdList& list) override;
-  virtual void OnClose() override;
-  virtual base::string16 GetTitle() const override;
-  virtual base::string16 GetMessageBody(
-      bool anchored_to_browser_action) const override;
-  virtual base::string16 GetOverflowText(
+  void PerformAction(const ExtensionIdList& list) override;
+  void OnClose() override;
+  base::string16 GetTitle() const override;
+  base::string16 GetMessageBody(bool anchored_to_browser_action) const override;
+  base::string16 GetOverflowText(
       const base::string16& overflow_count) const override;
-  virtual GURL GetLearnMoreUrl() const override;
-  virtual base::string16 GetActionButtonLabel() const override;
-  virtual base::string16 GetDismissButtonLabel() const override;
-  virtual bool ShouldShowExtensionList() const override;
-  virtual void LogExtensionCount(size_t count) override;
-  virtual void LogAction(
+  GURL GetLearnMoreUrl() const override;
+  base::string16 GetActionButtonLabel() const override;
+  base::string16 GetDismissButtonLabel() const override;
+  bool ShouldShowExtensionList() const override;
+  void LogExtensionCount(size_t count) override;
+  void LogAction(
       ExtensionMessageBubbleController::BubbleAction action) override;
 
  private:
diff --git a/chrome/browser/extensions/settings_api_bubble_controller.h b/chrome/browser/extensions/settings_api_bubble_controller.h
index 0c9c494..df64077 100644
--- a/chrome/browser/extensions/settings_api_bubble_controller.h
+++ b/chrome/browser/extensions/settings_api_bubble_controller.h
@@ -16,14 +16,14 @@
 class SettingsApiBubbleController : public ExtensionMessageBubbleController {
  public:
   SettingsApiBubbleController(Profile* profile, SettingsApiOverrideType type);
-  virtual ~SettingsApiBubbleController();
+  ~SettingsApiBubbleController() override;
 
   // Whether the controller knows that we should show the bubble for extension
   // with |extension_id|. Returns true if so.
   bool ShouldShow(const std::string& extension_id);
 
   // ExtensionMessageBubbleController:
-  virtual bool CloseOnDeactivate() override;
+  bool CloseOnDeactivate() override;
 
  private:
   // A weak pointer to the profile we are associated with. Not owned by us.
diff --git a/chrome/browser/extensions/shared_module_service.h b/chrome/browser/extensions/shared_module_service.h
index 94b1f44..9c9e302 100644
--- a/chrome/browser/extensions/shared_module_service.h
+++ b/chrome/browser/extensions/shared_module_service.h
@@ -36,7 +36,7 @@
   };
 
   explicit SharedModuleService(content::BrowserContext* context);
-  virtual ~SharedModuleService();
+  ~SharedModuleService() override;
 
   // Checks an extension's imports. Imports that are not installed are stored
   // in |missing_modules|, and imports that are out of date are stored in
@@ -59,13 +59,12 @@
   void PruneSharedModules();
 
   // ExtensionRegistryObserver implementation.
-  virtual void OnExtensionInstalled(content::BrowserContext* browser_context,
-                                    const Extension* extension,
-                                    bool is_update) override;
-  virtual void OnExtensionUninstalled(
-      content::BrowserContext* browser_context,
-      const Extension* extension,
-      extensions::UninstallReason reason) override;
+  void OnExtensionInstalled(content::BrowserContext* browser_context,
+                            const Extension* extension,
+                            bool is_update) override;
+  void OnExtensionUninstalled(content::BrowserContext* browser_context,
+                              const Extension* extension,
+                              extensions::UninstallReason reason) override;
 
   ScopedObserver<ExtensionRegistry, ExtensionRegistryObserver>
       extension_registry_observer_;
diff --git a/chrome/browser/extensions/shared_user_script_master.h b/chrome/browser/extensions/shared_user_script_master.h
index 43b99aa..bd20bb7 100644
--- a/chrome/browser/extensions/shared_user_script_master.h
+++ b/chrome/browser/extensions/shared_user_script_master.h
@@ -29,19 +29,18 @@
 class SharedUserScriptMaster : public ExtensionRegistryObserver {
  public:
   explicit SharedUserScriptMaster(Profile* profile);
-  virtual ~SharedUserScriptMaster();
+  ~SharedUserScriptMaster() override;
 
   // Provides access to loader state method: scripts_ready().
   bool scripts_ready() const { return loader_.scripts_ready(); }
 
  private:
   // ExtensionRegistryObserver implementation.
-  virtual void OnExtensionLoaded(content::BrowserContext* browser_context,
-                                 const Extension* extension) override;
-  virtual void OnExtensionUnloaded(
-      content::BrowserContext* browser_context,
-      const Extension* extension,
-      UnloadedExtensionInfo::Reason reason) override;
+  void OnExtensionLoaded(content::BrowserContext* browser_context,
+                         const Extension* extension) override;
+  void OnExtensionUnloaded(content::BrowserContext* browser_context,
+                           const Extension* extension,
+                           UnloadedExtensionInfo::Reason reason) override;
 
   // Gets an extension's scripts' metadata; i.e., gets a list of UserScript
   // objects that contains script info, but not the contents of the scripts.
diff --git a/chrome/browser/extensions/signin/gaia_auth_extension_loader.h b/chrome/browser/extensions/signin/gaia_auth_extension_loader.h
index 788e70c..20fd4648 100644
--- a/chrome/browser/extensions/signin/gaia_auth_extension_loader.h
+++ b/chrome/browser/extensions/signin/gaia_auth_extension_loader.h
@@ -22,7 +22,7 @@
 class GaiaAuthExtensionLoader : public BrowserContextKeyedAPI {
  public:
   explicit GaiaAuthExtensionLoader(content::BrowserContext* context);
-  virtual ~GaiaAuthExtensionLoader();
+  ~GaiaAuthExtensionLoader() override;
 
   // Load the gaia auth extension if the extension is not loaded yet.
   void LoadIfNeeded();
@@ -39,7 +39,7 @@
   friend class BrowserContextKeyedAPIFactory<GaiaAuthExtensionLoader>;
 
   // KeyedService overrides:
-  virtual void Shutdown() override;
+  void Shutdown() override;
 
   // BrowserContextKeyedAPI implementation.
   static const char* service_name() {
diff --git a/chrome/browser/extensions/standard_management_policy_provider.h b/chrome/browser/extensions/standard_management_policy_provider.h
index 9ad8265..74360dbe 100644
--- a/chrome/browser/extensions/standard_management_policy_provider.h
+++ b/chrome/browser/extensions/standard_management_policy_provider.h
@@ -20,18 +20,18 @@
   explicit StandardManagementPolicyProvider(
       const ExtensionManagement* settings);
 
-  virtual ~StandardManagementPolicyProvider();
+  ~StandardManagementPolicyProvider() override;
 
   // ManagementPolicy::Provider implementation.
-  virtual std::string GetDebugPolicyProviderName() const override;
-  virtual bool UserMayLoad(const Extension* extension,
+  std::string GetDebugPolicyProviderName() const override;
+  bool UserMayLoad(const Extension* extension,
+                   base::string16* error) const override;
+  bool UserMayModifySettings(const Extension* extension,
+                             base::string16* error) const override;
+  bool MustRemainEnabled(const Extension* extension,
+                         base::string16* error) const override;
+  bool MustRemainInstalled(const Extension* extension,
                            base::string16* error) const override;
-  virtual bool UserMayModifySettings(const Extension* extension,
-                                     base::string16* error) const override;
-  virtual bool MustRemainEnabled(const Extension* extension,
-                                 base::string16* error) const override;
-  virtual bool MustRemainInstalled(const Extension* extension,
-                                   base::string16* error) const override;
 
  private:
   const ExtensionManagement* settings_;
diff --git a/chrome/browser/extensions/startup_helper.cc b/chrome/browser/extensions/startup_helper.cc
index e9b33cb..b90fed3 100644
--- a/chrome/browser/extensions/startup_helper.cc
+++ b/chrome/browser/extensions/startup_helper.cc
@@ -138,13 +138,13 @@
   }
 
  protected:
-  virtual ~ValidateCrxHelper() {}
+  ~ValidateCrxHelper() override {}
 
-  virtual void OnUnpackSuccess(const base::FilePath& temp_dir,
-                               const base::FilePath& extension_root,
-                               const base::DictionaryValue* original_manifest,
-                               const Extension* extension,
-                               const SkBitmap& install_icon) override {
+  void OnUnpackSuccess(const base::FilePath& temp_dir,
+                       const base::FilePath& extension_root,
+                       const base::DictionaryValue* original_manifest,
+                       const Extension* extension,
+                       const SkBitmap& install_icon) override {
     finished_ = true;
     success_ = true;
     BrowserThread::PostTask(BrowserThread::UI,
@@ -153,7 +153,7 @@
                                        this));
   }
 
-  virtual void OnUnpackFailure(const base::string16& error) override {
+  void OnUnpackFailure(const base::string16& error) override {
     finished_ = true;
     success_ = false;
     error_ = error;
diff --git a/chrome/browser/extensions/startup_helper.h b/chrome/browser/extensions/startup_helper.h
index d6d36b4..c291e38 100644
--- a/chrome/browser/extensions/startup_helper.h
+++ b/chrome/browser/extensions/startup_helper.h
@@ -20,13 +20,12 @@
 class StartupHelper : public PackExtensionJob::Client {
  public:
   StartupHelper();
-  virtual ~StartupHelper();
+  ~StartupHelper() override;
 
-  virtual void OnPackSuccess(
-      const base::FilePath& crx_path,
-      const base::FilePath& output_private_key_path) override;
-  virtual void OnPackFailure(const std::string& error_message,
-                             ExtensionCreator::ErrorType type) override;
+  void OnPackSuccess(const base::FilePath& crx_path,
+                     const base::FilePath& output_private_key_path) override;
+  void OnPackFailure(const std::string& error_message,
+                     ExtensionCreator::ErrorType type) override;
 
   // Handle --pack-extension flag from the |cmd_line| by packing the specified
   // extension. Returns false if the pack job failed.
diff --git a/chrome/browser/extensions/startup_helper_browsertest.cc b/chrome/browser/extensions/startup_helper_browsertest.cc
index 22f71b1..1d3193c 100644
--- a/chrome/browser/extensions/startup_helper_browsertest.cc
+++ b/chrome/browser/extensions/startup_helper_browsertest.cc
@@ -17,7 +17,7 @@
   StartupHelperBrowserTest() {}
   virtual ~StartupHelperBrowserTest() {}
 
-  virtual void SetUpCommandLine(CommandLine* command_line) override {
+  void SetUpCommandLine(CommandLine* command_line) override {
     command_line->AppendSwitch(switches::kNoStartupWindow);
     PathService::Get(chrome::DIR_TEST_DATA, &test_data_dir_);
     test_data_dir_ = test_data_dir_.AppendASCII("extensions");
diff --git a/chrome/browser/extensions/state_store_notification_observer.h b/chrome/browser/extensions/state_store_notification_observer.h
index 0266e59..fd24d59 100644
--- a/chrome/browser/extensions/state_store_notification_observer.h
+++ b/chrome/browser/extensions/state_store_notification_observer.h
@@ -19,12 +19,12 @@
 class StateStoreNotificationObserver : public content::NotificationObserver {
  public:
   explicit StateStoreNotificationObserver(StateStore* state_store);
-  virtual ~StateStoreNotificationObserver();
+  ~StateStoreNotificationObserver() override;
 
   // content::NotificationObserver overrides:
-  virtual void Observe(int type,
-                       const content::NotificationSource& source,
-                       const content::NotificationDetails& details) override;
+  void Observe(int type,
+               const content::NotificationSource& source,
+               const content::NotificationDetails& details) override;
 
  private:
   StateStore* state_store_;  // Not owned.
diff --git a/chrome/browser/extensions/suspicious_extension_bubble_controller.cc b/chrome/browser/extensions/suspicious_extension_bubble_controller.cc
index 24678c9..da364b2 100644
--- a/chrome/browser/extensions/suspicious_extension_bubble_controller.cc
+++ b/chrome/browser/extensions/suspicious_extension_bubble_controller.cc
@@ -37,25 +37,24 @@
     : public ExtensionMessageBubbleController::Delegate {
  public:
   explicit SuspiciousExtensionBubbleDelegate(Profile* profile);
-  virtual ~SuspiciousExtensionBubbleDelegate();
+  ~SuspiciousExtensionBubbleDelegate() override;
 
   // ExtensionMessageBubbleController::Delegate methods.
-  virtual bool ShouldIncludeExtension(const std::string& extension_id) override;
-  virtual void AcknowledgeExtension(
+  bool ShouldIncludeExtension(const std::string& extension_id) override;
+  void AcknowledgeExtension(
       const std::string& extension_id,
       ExtensionMessageBubbleController::BubbleAction user_action) override;
-  virtual void PerformAction(const extensions::ExtensionIdList& list) override;
-  virtual base::string16 GetTitle() const override;
-  virtual base::string16 GetMessageBody(
-      bool anchored_to_browser_action) const override;
-  virtual base::string16 GetOverflowText(
+  void PerformAction(const extensions::ExtensionIdList& list) override;
+  base::string16 GetTitle() const override;
+  base::string16 GetMessageBody(bool anchored_to_browser_action) const override;
+  base::string16 GetOverflowText(
       const base::string16& overflow_count) const override;
-  virtual GURL GetLearnMoreUrl() const override;
-  virtual base::string16 GetActionButtonLabel() const override;
-  virtual base::string16 GetDismissButtonLabel() const override;
-  virtual bool ShouldShowExtensionList() const override;
-  virtual void LogExtensionCount(size_t count) override;
-  virtual void LogAction(
+  GURL GetLearnMoreUrl() const override;
+  base::string16 GetActionButtonLabel() const override;
+  base::string16 GetDismissButtonLabel() const override;
+  bool ShouldShowExtensionList() const override;
+  void LogExtensionCount(size_t count) override;
+  void LogAction(
       ExtensionMessageBubbleController::BubbleAction action) override;
 
   DISALLOW_COPY_AND_ASSIGN(SuspiciousExtensionBubbleDelegate);
diff --git a/chrome/browser/extensions/suspicious_extension_bubble_controller.h b/chrome/browser/extensions/suspicious_extension_bubble_controller.h
index b13802b..11464989 100644
--- a/chrome/browser/extensions/suspicious_extension_bubble_controller.h
+++ b/chrome/browser/extensions/suspicious_extension_bubble_controller.h
@@ -21,14 +21,14 @@
   static void ClearProfileListForTesting();
 
   explicit SuspiciousExtensionBubbleController(Profile* profile);
-  virtual ~SuspiciousExtensionBubbleController();
+  ~SuspiciousExtensionBubbleController() override;
 
   // Whether the controller knows of extensions to list in the bubble. Returns
   // true if so.
   bool ShouldShow();
 
   // ExtensionMessageBubbleController methods.
-  virtual void Show(ExtensionMessageBubble* bubble) override;
+  void Show(ExtensionMessageBubble* bubble) override;
 
  private:
   // A weak pointer to the profile we are associated with. Not owned by us.
diff --git a/chrome/browser/extensions/tab_helper.h b/chrome/browser/extensions/tab_helper.h
index 0c2772b..5dd8ac35 100644
--- a/chrome/browser/extensions/tab_helper.h
+++ b/chrome/browser/extensions/tab_helper.h
@@ -51,7 +51,7 @@
                   public content::NotificationObserver,
                   public content::WebContentsUserData<TabHelper> {
  public:
-  virtual ~TabHelper();
+  ~TabHelper() override;
 
   void CreateApplicationShortcuts();
   void CreateHostedAppFromWebContents();
@@ -141,23 +141,20 @@
                                const WebApplicationInfo& web_app_info);
 
   // content::WebContentsObserver overrides.
-  virtual void RenderViewCreated(
-      content::RenderViewHost* render_view_host) override;
-  virtual void DidNavigateMainFrame(
+  void RenderViewCreated(content::RenderViewHost* render_view_host) override;
+  void DidNavigateMainFrame(
       const content::LoadCommittedDetails& details,
       const content::FrameNavigateParams& params) override;
-  virtual bool OnMessageReceived(const IPC::Message& message) override;
-  virtual bool OnMessageReceived(
-      const IPC::Message& message,
-      content::RenderFrameHost* render_frame_host) override;
-  virtual void DidCloneToNewWebContents(
+  bool OnMessageReceived(const IPC::Message& message) override;
+  bool OnMessageReceived(const IPC::Message& message,
+                         content::RenderFrameHost* render_frame_host) override;
+  void DidCloneToNewWebContents(
       content::WebContents* old_web_contents,
       content::WebContents* new_web_contents) override;
 
   // extensions::ExtensionFunctionDispatcher::Delegate overrides.
-  virtual extensions::WindowController* GetExtensionWindowController()
-      const override;
-  virtual content::WebContents* GetAssociatedWebContents() const override;
+  extensions::WindowController* GetExtensionWindowController() const override;
+  content::WebContents* GetAssociatedWebContents() const override;
 
   // Message handlers.
   void OnDidGetWebApplicationInfo(const WebApplicationInfo& info);
@@ -197,9 +194,9 @@
                                        webstore_install::Result result);
 
   // content::NotificationObserver.
-  virtual void Observe(int type,
-                       const content::NotificationSource& source,
-                       const content::NotificationDetails& details) override;
+  void Observe(int type,
+               const content::NotificationSource& source,
+               const content::NotificationDetails& details) override;
 
   // Requests application info for the specified page. This is an asynchronous
   // request. The delegate is notified by way of OnDidGetApplicationInfo when
diff --git a/chrome/browser/extensions/test_blacklist.h b/chrome/browser/extensions/test_blacklist.h
index 4b044b7..d8061ed 100644
--- a/chrome/browser/extensions/test_blacklist.h
+++ b/chrome/browser/extensions/test_blacklist.h
@@ -21,10 +21,9 @@
  public:
   BlacklistStateFetcherMock();
 
-  virtual ~BlacklistStateFetcherMock();
+  ~BlacklistStateFetcherMock() override;
 
-  virtual void Request(const std::string& id,
-                       const RequestCallback& callback) override;
+  void Request(const std::string& id, const RequestCallback& callback) override;
 
   void SetState(const std::string& id, BlacklistState state);
 
diff --git a/chrome/browser/extensions/test_extension_prefs.cc b/chrome/browser/extensions/test_extension_prefs.cc
index adb62ea..4c98c5a1 100644
--- a/chrome/browser/extensions/test_extension_prefs.cc
+++ b/chrome/browser/extensions/test_extension_prefs.cc
@@ -44,10 +44,9 @@
   IncrementalTimeProvider() : current_time_(base::Time::Now()) {
   }
 
-  virtual ~IncrementalTimeProvider() {
-  }
+  ~IncrementalTimeProvider() override {}
 
-  virtual base::Time GetCurrentTime() const override {
+  base::Time GetCurrentTime() const override {
     current_time_ += base::TimeDelta::FromSeconds(10);
     return current_time_;
   }
diff --git a/chrome/browser/extensions/test_extension_service.h b/chrome/browser/extensions/test_extension_service.h
index 5ee31f7d3..0bc13ac 100644
--- a/chrome/browser/extensions/test_extension_service.h
+++ b/chrome/browser/extensions/test_extension_service.h
@@ -20,45 +20,40 @@
 // this and override the methods you care about.
 class TestExtensionService : public ExtensionServiceInterface {
  public:
-  virtual ~TestExtensionService();
+  ~TestExtensionService() override;
 
   // ExtensionServiceInterface implementation.
-  virtual const extensions::ExtensionSet* extensions() const override;
-  virtual extensions::PendingExtensionManager*
-      pending_extension_manager() override;
+  const extensions::ExtensionSet* extensions() const override;
+  extensions::PendingExtensionManager* pending_extension_manager() override;
 
-  virtual bool UpdateExtension(
+  bool UpdateExtension(const std::string& id,
+                       const base::FilePath& path,
+                       bool file_ownership_passed,
+                       extensions::CrxInstaller** out_crx_installer) override;
+  const extensions::Extension* GetExtensionById(
       const std::string& id,
-      const base::FilePath& path,
-      bool file_ownership_passed,
-      extensions::CrxInstaller** out_crx_installer) override;
-  virtual const extensions::Extension* GetExtensionById(
-      const std::string& id, bool include_disabled) const override;
-  virtual const extensions::Extension* GetInstalledExtension(
+      bool include_disabled) const override;
+  const extensions::Extension* GetInstalledExtension(
       const std::string& id) const override;
-  virtual const extensions::Extension* GetPendingExtensionUpdate(
+  const extensions::Extension* GetPendingExtensionUpdate(
       const std::string& extension_id) const override;
-  virtual void FinishDelayedInstallation(
-      const std::string& extension_id) override;
-  virtual bool IsExtensionEnabled(
-      const std::string& extension_id) const override;
+  void FinishDelayedInstallation(const std::string& extension_id) override;
+  bool IsExtensionEnabled(const std::string& extension_id) const override;
 
-  virtual void CheckManagementPolicy() override;
-  virtual void CheckForUpdatesSoon() override;
+  void CheckManagementPolicy() override;
+  void CheckForUpdatesSoon() override;
 
-  virtual bool is_ready() override;
+  bool is_ready() override;
 
-  virtual base::SequencedTaskRunner* GetFileTaskRunner() override;
+  base::SequencedTaskRunner* GetFileTaskRunner() override;
 
-  virtual void AddExtension(const extensions::Extension* extension) override;
-  virtual void AddComponentExtension(
-      const extensions::Extension* extension) override;
+  void AddExtension(const extensions::Extension* extension) override;
+  void AddComponentExtension(const extensions::Extension* extension) override;
 
-  virtual void UnloadExtension(
+  void UnloadExtension(
       const std::string& extension_id,
       extensions::UnloadedExtensionInfo::Reason reason) override;
-  virtual void RemoveComponentExtension(const std::string & extension_id)
-      override;
+  void RemoveComponentExtension(const std::string& extension_id) override;
 };
 
 #endif  // CHROME_BROWSER_EXTENSIONS_TEST_EXTENSION_SERVICE_H_
diff --git a/chrome/browser/extensions/test_extension_system.h b/chrome/browser/extensions/test_extension_system.h
index 4a06463..6ff0da8a 100644
--- a/chrome/browser/extensions/test_extension_system.h
+++ b/chrome/browser/extensions/test_extension_system.h
@@ -33,10 +33,10 @@
 class TestExtensionSystem : public ExtensionSystem {
  public:
   explicit TestExtensionSystem(Profile* profile);
-  virtual ~TestExtensionSystem();
+  ~TestExtensionSystem() override;
 
   // KeyedService implementation.
-  virtual void Shutdown() override;
+  void Shutdown() override;
 
   // Creates an ExtensionPrefs with the testing profile and returns it.
   // Useful for tests that need to modify prefs before creating the
@@ -60,32 +60,31 @@
 
   void CreateSocketManager();
 
-  virtual void InitForRegularProfile(bool extensions_enabled) override {}
+  void InitForRegularProfile(bool extensions_enabled) override {}
   void SetExtensionService(ExtensionService* service);
-  virtual ExtensionService* extension_service() override;
-  virtual RuntimeData* runtime_data() override;
-  virtual ManagementPolicy* management_policy() override;
-  virtual SharedUserScriptMaster* shared_user_script_master() override;
-  virtual ProcessManager* process_manager() override;
-  virtual StateStore* state_store() override;
-  virtual StateStore* rules_store() override;
+  ExtensionService* extension_service() override;
+  RuntimeData* runtime_data() override;
+  ManagementPolicy* management_policy() override;
+  SharedUserScriptMaster* shared_user_script_master() override;
+  ProcessManager* process_manager() override;
+  StateStore* state_store() override;
+  StateStore* rules_store() override;
   TestingValueStore* value_store() { return value_store_; }
-  virtual InfoMap* info_map() override;
-  virtual LazyBackgroundTaskQueue* lazy_background_task_queue() override;
+  InfoMap* info_map() override;
+  LazyBackgroundTaskQueue* lazy_background_task_queue() override;
   void SetEventRouter(scoped_ptr<EventRouter> event_router);
-  virtual EventRouter* event_router() override;
-  virtual WarningService* warning_service() override;
-  virtual Blacklist* blacklist() override;
-  virtual ErrorConsole* error_console() override;
-  virtual InstallVerifier* install_verifier() override;
-  virtual QuotaService* quota_service() override;
-  virtual const OneShotEvent& ready() const override;
-  virtual ContentVerifier* content_verifier() override;
-  virtual scoped_ptr<ExtensionSet> GetDependentExtensions(
+  EventRouter* event_router() override;
+  WarningService* warning_service() override;
+  Blacklist* blacklist() override;
+  ErrorConsole* error_console() override;
+  InstallVerifier* install_verifier() override;
+  QuotaService* quota_service() override;
+  const OneShotEvent& ready() const override;
+  ContentVerifier* content_verifier() override;
+  scoped_ptr<ExtensionSet> GetDependentExtensions(
       const Extension* extension) override;
-  virtual DeclarativeUserScriptMaster*
-      GetDeclarativeUserScriptMasterByExtension(
-          const ExtensionId& extension_id) override;
+  DeclarativeUserScriptMaster* GetDeclarativeUserScriptMasterByExtension(
+      const ExtensionId& extension_id) override;
 
   // Note that you probably want to use base::RunLoop().RunUntilIdle() right
   // after this to run all the accumulated tasks.
diff --git a/chrome/browser/extensions/theme_installed_infobar_delegate.h b/chrome/browser/extensions/theme_installed_infobar_delegate.h
index 499a2eb..28e2572 100644
--- a/chrome/browser/extensions/theme_installed_infobar_delegate.h
+++ b/chrome/browser/extensions/theme_installed_infobar_delegate.h
@@ -39,22 +39,21 @@
                                 const extensions::Extension* new_theme,
                                 const std::string& previous_theme_id,
                                 bool previous_using_system_theme);
-  virtual ~ThemeInstalledInfoBarDelegate();
+  ~ThemeInstalledInfoBarDelegate() override;
 
   // ConfirmInfoBarDelegate:
-  virtual int GetIconID() const override;
-  virtual Type GetInfoBarType() const override;
-  virtual ThemeInstalledInfoBarDelegate*
-      AsThemePreviewInfobarDelegate() override;
-  virtual base::string16 GetMessageText() const override;
-  virtual int GetButtons() const override;
-  virtual base::string16 GetButtonLabel(InfoBarButton button) const override;
-  virtual bool Cancel() override;
+  int GetIconID() const override;
+  Type GetInfoBarType() const override;
+  ThemeInstalledInfoBarDelegate* AsThemePreviewInfobarDelegate() override;
+  base::string16 GetMessageText() const override;
+  int GetButtons() const override;
+  base::string16 GetButtonLabel(InfoBarButton button) const override;
+  bool Cancel() override;
 
   // content::NotificationObserver:
-  virtual void Observe(int type,
-                       const content::NotificationSource& source,
-                       const content::NotificationDetails& details) override;
+  void Observe(int type,
+               const content::NotificationSource& source,
+               const content::NotificationDetails& details) override;
 
   ExtensionService* extension_service_;
   ThemeService* theme_service_;
diff --git a/chrome/browser/extensions/token_cache/token_cache_service.h b/chrome/browser/extensions/token_cache/token_cache_service.h
index c90e74a..feb634b 100644
--- a/chrome/browser/extensions/token_cache/token_cache_service.h
+++ b/chrome/browser/extensions/token_cache/token_cache_service.h
@@ -25,7 +25,7 @@
                           public SigninManagerBase::Observer {
  public:
   explicit TokenCacheService(Profile* profile);
-  virtual ~TokenCacheService();
+  ~TokenCacheService() override;
 
   // Store a token for the currently logged in user. We will look it up later by
   // the name given here, and we will expire the token after the timeout.  For a
@@ -39,15 +39,15 @@
   std::string RetrieveToken(const std::string& token_name);
 
   // KeyedService:
-  virtual void Shutdown() override;
+  void Shutdown() override;
 
  private:
   friend class TokenCacheTest;
   FRIEND_TEST_ALL_PREFIXES(TokenCacheTest, SignoutTest);
 
   // SigninManagerBase::Observer:
-  virtual void GoogleSignedOut(const std::string& account_id,
-                               const std::string& username) override;
+  void GoogleSignedOut(const std::string& account_id,
+                       const std::string& username) override;
 
   struct TokenCacheData {
     std::string token;
diff --git a/chrome/browser/extensions/token_cache/token_cache_service_factory.h b/chrome/browser/extensions/token_cache/token_cache_service_factory.h
index 151047ac..a478e24d 100644
--- a/chrome/browser/extensions/token_cache/token_cache_service_factory.h
+++ b/chrome/browser/extensions/token_cache/token_cache_service_factory.h
@@ -22,12 +22,12 @@
 
  private:
   TokenCacheServiceFactory();
-  virtual ~TokenCacheServiceFactory();
+  ~TokenCacheServiceFactory() override;
 
   friend struct DefaultSingletonTraits<TokenCacheServiceFactory>;
 
   // Inherited from BrowserContextKeyedServiceFactory:
-  virtual KeyedService* BuildServiceInstanceFor(
+  KeyedService* BuildServiceInstanceFor(
       content::BrowserContext* profile) const override;
 
    DISALLOW_COPY_AND_ASSIGN(TokenCacheServiceFactory);
diff --git a/chrome/browser/extensions/unpacked_installer.cc b/chrome/browser/extensions/unpacked_installer.cc
index cf49ab36..0c72346e 100644
--- a/chrome/browser/extensions/unpacked_installer.cc
+++ b/chrome/browser/extensions/unpacked_installer.cc
@@ -50,13 +50,13 @@
   SimpleExtensionLoadPrompt(const Extension* extension,
                             Profile* profile,
                             const base::Closure& callback);
-  virtual ~SimpleExtensionLoadPrompt();
+  ~SimpleExtensionLoadPrompt() override;
 
   void ShowPrompt();
 
   // ExtensionInstallUI::Delegate
-  virtual void InstallUIProceed() override;
-  virtual void InstallUIAbort(bool user_initiated) override;
+  void InstallUIProceed() override;
+  void InstallUIAbort(bool user_initiated) override;
 
  private:
   scoped_ptr<ExtensionInstallPrompt> install_ui_;
diff --git a/chrome/browser/extensions/updater/extension_cache_fake.h b/chrome/browser/extensions/updater/extension_cache_fake.h
index 8c3258b..e6014df 100644
--- a/chrome/browser/extensions/updater/extension_cache_fake.h
+++ b/chrome/browser/extensions/updater/extension_cache_fake.h
@@ -17,19 +17,19 @@
 class ExtensionCacheFake : public ExtensionCache {
  public:
   ExtensionCacheFake();
-  virtual ~ExtensionCacheFake();
+  ~ExtensionCacheFake() override;
 
   // Implementation of ExtensionCache.
-  virtual void Start(const base::Closure& callback) override;
-  virtual void Shutdown(const base::Closure& callback) override;
-  virtual void AllowCaching(const std::string& id) override;
-  virtual bool GetExtension(const std::string& id,
-                            base::FilePath* file_path,
-                            std::string* version) override;
-  virtual void PutExtension(const std::string& id,
-                            const base::FilePath& file_path,
-                            const std::string& version,
-                            const PutExtensionCallback& callback) override;
+  void Start(const base::Closure& callback) override;
+  void Shutdown(const base::Closure& callback) override;
+  void AllowCaching(const std::string& id) override;
+  bool GetExtension(const std::string& id,
+                    base::FilePath* file_path,
+                    std::string* version) override;
+  void PutExtension(const std::string& id,
+                    const base::FilePath& file_path,
+                    const std::string& version,
+                    const PutExtensionCallback& callback) override;
 
  private:
   typedef std::map<std::string, std::pair<std::string, base::FilePath> > Map;
diff --git a/chrome/browser/extensions/updater/extension_updater.h b/chrome/browser/extensions/updater/extension_updater.h
index ec76162..58d5c68 100644
--- a/chrome/browser/extensions/updater/extension_updater.h
+++ b/chrome/browser/extensions/updater/extension_updater.h
@@ -91,7 +91,7 @@
                    ExtensionCache* cache,
                    const ExtensionDownloader::Factory& downloader_factory);
 
-  virtual ~ExtensionUpdater();
+  ~ExtensionUpdater() override;
 
   // Starts the updater running.  Should be called at most once.
   void Start();
@@ -191,28 +191,25 @@
   void DoCheckSoon();
 
   // Implementation of ExtensionDownloaderDelegate.
-  virtual void OnExtensionDownloadFailed(
-      const std::string& id,
-      Error error,
-      const PingResult& ping,
-      const std::set<int>& request_ids) override;
-  virtual void OnExtensionDownloadFinished(
-      const std::string& id,
-      const base::FilePath& path,
-      bool file_ownership_passed,
-      const GURL& download_url,
-      const std::string& version,
-      const PingResult& ping,
-      const std::set<int>& request_id) override;
-  virtual bool GetPingDataForExtension(
-      const std::string& id,
-      ManifestFetchData::PingData* ping_data) override;
-  virtual std::string GetUpdateUrlData(const std::string& id) override;
-  virtual bool IsExtensionPending(const std::string& id) override;
-  virtual bool GetExtensionExistingVersion(const std::string& id,
-                                           std::string* version) override;
-  virtual bool ShouldForceUpdate(const std::string& extension_id,
-                                 std::string* source) override;
+  void OnExtensionDownloadFailed(const std::string& id,
+                                 Error error,
+                                 const PingResult& ping,
+                                 const std::set<int>& request_ids) override;
+  void OnExtensionDownloadFinished(const std::string& id,
+                                   const base::FilePath& path,
+                                   bool file_ownership_passed,
+                                   const GURL& download_url,
+                                   const std::string& version,
+                                   const PingResult& ping,
+                                   const std::set<int>& request_id) override;
+  bool GetPingDataForExtension(const std::string& id,
+                               ManifestFetchData::PingData* ping_data) override;
+  std::string GetUpdateUrlData(const std::string& id) override;
+  bool IsExtensionPending(const std::string& id) override;
+  bool GetExtensionExistingVersion(const std::string& id,
+                                   std::string* version) override;
+  bool ShouldForceUpdate(const std::string& extension_id,
+                         std::string* source) override;
 
   void UpdatePingData(const std::string& id, const PingResult& ping_result);
 
@@ -220,17 +217,16 @@
   void MaybeInstallCRXFile();
 
   // content::NotificationObserver implementation.
-  virtual void Observe(int type,
-                       const content::NotificationSource& source,
-                       const content::NotificationDetails& details) override;
+  void Observe(int type,
+               const content::NotificationSource& source,
+               const content::NotificationDetails& details) override;
 
   // Implementation of ExtensionRegistryObserver.
-  virtual void OnExtensionWillBeInstalled(
-      content::BrowserContext* browser_context,
-      const Extension* extension,
-      bool is_update,
-      bool from_ephemeral,
-      const std::string& old_name) override;
+  void OnExtensionWillBeInstalled(content::BrowserContext* browser_context,
+                                  const Extension* extension,
+                                  bool is_update,
+                                  bool from_ephemeral,
+                                  const std::string& old_name) override;
 
   // Send a notification that update checks are starting.
   void NotifyStarted();
diff --git a/chrome/browser/extensions/updater/extension_updater_unittest.cc b/chrome/browser/extensions/updater/extension_updater_unittest.cc
index c8f33e8..29c4b1b3 100644
--- a/chrome/browser/extensions/updater/extension_updater_unittest.cc
+++ b/chrome/browser/extensions/updater/extension_updater_unittest.cc
@@ -212,7 +212,7 @@
     }
   }
 
-  virtual ~NotificationsObserver() {
+  ~NotificationsObserver() override {
     for (size_t i = 0; i < arraysize(kNotificationsObserved); ++i) {
       registrar_.Remove(this,
                         kNotificationsObserved[i],
@@ -236,9 +236,9 @@
   }
 
  private:
-  virtual void Observe(int type,
-                       const content::NotificationSource& source,
-                       const content::NotificationDetails& details) override {
+  void Observe(int type,
+               const content::NotificationSource& source,
+               const content::NotificationDetails& details) override {
     if (!quit_closure_.is_null())
       quit_closure_.Run();
     for (size_t i = 0; i < arraysize(kNotificationsObserved); ++i) {
@@ -292,9 +292,9 @@
         downloader_delegate_override_(NULL) {
   }
 
-  virtual ~MockService() {}
+  ~MockService() override {}
 
-  virtual PendingExtensionManager* pending_extension_manager() override {
+  PendingExtensionManager* pending_extension_manager() override {
     ADD_FAILURE() << "Subclass should override this if it will "
                   << "be accessed by a test.";
     return &pending_extension_manager_;
@@ -435,30 +435,30 @@
         registry_(ExtensionRegistry::Get(profile())) {
   }
 
-  virtual ~ServiceForManifestTests() {}
+  ~ServiceForManifestTests() override {}
 
-  virtual const Extension* GetExtensionById(
-      const std::string& id, bool include_disabled) const override {
+  const Extension* GetExtensionById(const std::string& id,
+                                    bool include_disabled) const override {
     const Extension* result = registry_->enabled_extensions().GetByID(id);
     if (result || !include_disabled)
       return result;
     return registry_->disabled_extensions().GetByID(id);
   }
 
-  virtual const ExtensionSet* extensions() const override {
+  const ExtensionSet* extensions() const override {
     return &registry_->enabled_extensions();
   }
 
-  virtual PendingExtensionManager* pending_extension_manager() override {
+  PendingExtensionManager* pending_extension_manager() override {
     return &pending_extension_manager_;
   }
 
-  virtual const Extension* GetPendingExtensionUpdate(
+  const Extension* GetPendingExtensionUpdate(
       const std::string& id) const override {
     return NULL;
   }
 
-  virtual bool IsExtensionEnabled(const std::string& id) const override {
+  bool IsExtensionEnabled(const std::string& id) const override {
     return !registry_->disabled_extensions().Contains(id);
   }
 
@@ -491,11 +491,10 @@
     fake_crx_installers_[id] = crx_installer;
   }
 
-  virtual bool UpdateExtension(
-      const std::string& id,
-      const base::FilePath& extension_path,
-      bool file_ownership_passed,
-      CrxInstaller** out_crx_installer) override {
+  bool UpdateExtension(const std::string& id,
+                       const base::FilePath& extension_path,
+                       bool file_ownership_passed,
+                       CrxInstaller** out_crx_installer) override {
     extension_id_ = id;
     install_path_ = extension_path;
 
@@ -507,12 +506,12 @@
     return false;
   }
 
-  virtual PendingExtensionManager* pending_extension_manager() override {
+  PendingExtensionManager* pending_extension_manager() override {
     return &pending_extension_manager_;
   }
 
-  virtual const Extension* GetExtensionById(
-      const std::string& id, bool) const override {
+  const Extension* GetExtensionById(const std::string& id,
+                                    bool) const override {
     last_inquired_extension_id_ = id;
     return NULL;
   }
diff --git a/chrome/browser/extensions/user_script_listener.cc b/chrome/browser/extensions/user_script_listener.cc
index 11e2f8be..232b365e 100644
--- a/chrome/browser/extensions/user_script_listener.cc
+++ b/chrome/browser/extensions/user_script_listener.cc
@@ -39,7 +39,7 @@
   }
 
   // ResourceThrottle implementation:
-  virtual void WillStartRequest(bool* defer) override {
+  void WillStartRequest(bool* defer) override {
     // Only defer requests if Resume has not yet been called.
     if (should_defer_) {
       *defer = true;
@@ -47,7 +47,7 @@
     }
   }
 
-  virtual const char* GetNameForLogging() const override {
+  const char* GetNameForLogging() const override {
     return "UserScriptListener::Throttle";
   }
 
diff --git a/chrome/browser/extensions/user_script_listener.h b/chrome/browser/extensions/user_script_listener.h
index 83fb65c8..6e49b684 100644
--- a/chrome/browser/extensions/user_script_listener.h
+++ b/chrome/browser/extensions/user_script_listener.h
@@ -55,7 +55,7 @@
 
   typedef std::list<URLPattern> URLPatterns;
 
-  virtual ~UserScriptListener();
+  ~UserScriptListener() override;
 
   bool ShouldDelayRequest(const GURL& url,
                           content::ResourceType resource_type);
@@ -101,9 +101,9 @@
                           URLPatterns* patterns);
 
   // content::NotificationObserver
-  virtual void Observe(int type,
-                       const content::NotificationSource& source,
-                       const content::NotificationDetails& details) override;
+  void Observe(int type,
+               const content::NotificationSource& source,
+               const content::NotificationDetails& details) override;
 
   content::NotificationRegistrar registrar_;
 
diff --git a/chrome/browser/extensions/user_script_listener_unittest.cc b/chrome/browser/extensions/user_script_listener_unittest.cc
index b5f616dc..9f4b0f5 100644
--- a/chrome/browser/extensions/user_script_listener_unittest.cc
+++ b/chrome/browser/extensions/user_script_listener_unittest.cc
@@ -48,18 +48,10 @@
   }
 
   // ResourceController implementation:
-  virtual void Resume() override {
-    request_->Start();
-  }
-  virtual void Cancel() override {
-    NOTREACHED();
-  }
-  virtual void CancelAndIgnore() override {
-    NOTREACHED();
-  }
-  virtual void CancelWithError(int error_code) override {
-    NOTREACHED();
-  }
+  void Resume() override { request_->Start(); }
+  void Cancel() override { NOTREACHED(); }
+  void CancelAndIgnore() override { NOTREACHED(); }
+  void CancelWithError(int error_code) override { NOTREACHED(); }
 
  private:
   net::URLRequest* request_;
@@ -78,7 +70,7 @@
                                kTestData,
                                true) {}
  private:
-  virtual ~SimpleTestJob() {}
+  ~SimpleTestJob() override {}
 };
 
 // Yoinked from extension_manifest_unittest.cc.
@@ -109,10 +101,10 @@
     : public net::URLRequestInterceptor {
  public:
   SimpleTestJobURLRequestInterceptor() {}
-  virtual ~SimpleTestJobURLRequestInterceptor() {}
+  ~SimpleTestJobURLRequestInterceptor() override {}
 
   // net::URLRequestJobFactory::ProtocolHandler
-  virtual net::URLRequestJob* MaybeInterceptRequest(
+  net::URLRequestJob* MaybeInterceptRequest(
       net::URLRequest* request,
       net::NetworkDelegate* network_delegate) const override {
     return new SimpleTestJob(request, network_delegate);
diff --git a/chrome/browser/extensions/user_script_loader.h b/chrome/browser/extensions/user_script_loader.h
index 85d1bb1..687bd9c 100644
--- a/chrome/browser/extensions/user_script_loader.h
+++ b/chrome/browser/extensions/user_script_loader.h
@@ -59,7 +59,7 @@
   UserScriptLoader(Profile* profile,
                    const ExtensionId& owner_extension_id,
                    bool listen_for_extension_system_loaded);
-  virtual ~UserScriptLoader();
+  ~UserScriptLoader() override;
 
   // Add |scripts| to the set of scripts managed by this loader.
   void AddScripts(const std::set<UserScript>& scripts);
@@ -78,15 +78,14 @@
 
  private:
   // content::NotificationObserver implementation.
-  virtual void Observe(int type,
-                       const content::NotificationSource& source,
-                       const content::NotificationDetails& details) override;
+  void Observe(int type,
+               const content::NotificationSource& source,
+               const content::NotificationDetails& details) override;
 
   // ExtensionRegistryObserver implementation.
-  virtual void OnExtensionUnloaded(
-      content::BrowserContext* browser_context,
-      const Extension* extension,
-      UnloadedExtensionInfo::Reason reason) override;
+  void OnExtensionUnloaded(content::BrowserContext* browser_context,
+                           const Extension* extension,
+                           UnloadedExtensionInfo::Reason reason) override;
 
   // Initiates script load when we have been waiting for the extension system
   // to be ready.
diff --git a/chrome/browser/extensions/user_script_loader_unittest.cc b/chrome/browser/extensions/user_script_loader_unittest.cc
index 7a6938e..775f8279 100644
--- a/chrome/browser/extensions/user_script_loader_unittest.cc
+++ b/chrome/browser/extensions/user_script_loader_unittest.cc
@@ -63,9 +63,9 @@
     ui_thread_.reset();
   }
 
-  virtual void Observe(int type,
-                       const content::NotificationSource& source,
-                       const content::NotificationDetails& details) override {
+  void Observe(int type,
+               const content::NotificationSource& source,
+               const content::NotificationDetails& details) override {
     DCHECK(type == extensions::NOTIFICATION_USER_SCRIPTS_UPDATED);
 
     shared_memory_ = content::Details<base::SharedMemory>(details).ptr();
diff --git a/chrome/browser/extensions/webstore_data_fetcher.h b/chrome/browser/extensions/webstore_data_fetcher.h
index a7abe31..d75b999 100644
--- a/chrome/browser/extensions/webstore_data_fetcher.h
+++ b/chrome/browser/extensions/webstore_data_fetcher.h
@@ -34,7 +34,7 @@
                       net::URLRequestContextGetter* request_context,
                       const GURL& referrer_url,
                       const std::string webstore_item_id);
-  virtual ~WebstoreDataFetcher();
+  ~WebstoreDataFetcher() override;
 
   void Start();
 
@@ -47,7 +47,7 @@
   void OnJsonParseFailure(const std::string& error);
 
   // net::URLFetcherDelegate overrides:
-  virtual void OnURLFetchComplete(const net::URLFetcher* source) override;
+  void OnURLFetchComplete(const net::URLFetcher* source) override;
 
   WebstoreDataFetcherDelegate* delegate_;
   net::URLRequestContextGetter* request_context_;
diff --git a/chrome/browser/extensions/webstore_inline_installer.h b/chrome/browser/extensions/webstore_inline_installer.h
index d1cf65de..0dfdca5 100644
--- a/chrome/browser/extensions/webstore_inline_installer.h
+++ b/chrome/browser/extensions/webstore_inline_installer.h
@@ -39,26 +39,24 @@
  protected:
   friend class base::RefCountedThreadSafe<WebstoreInlineInstaller>;
 
-  virtual ~WebstoreInlineInstaller();
+  ~WebstoreInlineInstaller() override;
 
   // Implementations WebstoreStandaloneInstaller Template Method's hooks.
-  virtual bool CheckRequestorAlive() const override;
-  virtual const GURL& GetRequestorURL() const override;
-  virtual bool ShouldShowPostInstallUI() const override;
-  virtual bool ShouldShowAppInstalledBubble() const override;
-  virtual content::WebContents* GetWebContents() const override;
-  virtual scoped_refptr<ExtensionInstallPrompt::Prompt> CreateInstallPrompt()
+  bool CheckRequestorAlive() const override;
+  const GURL& GetRequestorURL() const override;
+  bool ShouldShowPostInstallUI() const override;
+  bool ShouldShowAppInstalledBubble() const override;
+  content::WebContents* GetWebContents() const override;
+  scoped_refptr<ExtensionInstallPrompt::Prompt> CreateInstallPrompt()
       const override;
-  virtual bool CheckInlineInstallPermitted(
-      const base::DictionaryValue& webstore_data,
-      std::string* error) const override;
-  virtual bool CheckRequestorPermitted(
-      const base::DictionaryValue& webstore_data,
-      std::string* error) const override;
+  bool CheckInlineInstallPermitted(const base::DictionaryValue& webstore_data,
+                                   std::string* error) const override;
+  bool CheckRequestorPermitted(const base::DictionaryValue& webstore_data,
+                               std::string* error) const override;
 
  private:
   // content::WebContentsObserver interface implementation.
-  virtual void WebContentsDestroyed() override;
+  void WebContentsDestroyed() override;
 
   // Checks whether the install is initiated by a page in a verified site
   // (which is at least a domain, but can also have a port or a path).
diff --git a/chrome/browser/extensions/webstore_inline_installer_browsertest.cc b/chrome/browser/extensions/webstore_inline_installer_browsertest.cc
index 0f1bbf9..da2f9351 100644
--- a/chrome/browser/extensions/webstore_inline_installer_browsertest.cc
+++ b/chrome/browser/extensions/webstore_inline_installer_browsertest.cc
@@ -49,9 +49,9 @@
       : ExtensionInstallPrompt(contents)
   {}
 
-  virtual ~ProgrammableInstallPrompt() {}
+  ~ProgrammableInstallPrompt() override {}
 
-  virtual void ConfirmStandaloneInstall(
+  void ConfirmStandaloneInstall(
       Delegate* delegate,
       const Extension* extension,
       SkBitmap* icon,
@@ -93,13 +93,13 @@
         programmable_prompt_(NULL) {
   }
 
-  virtual scoped_ptr<ExtensionInstallPrompt> CreateInstallUI() override {
+  scoped_ptr<ExtensionInstallPrompt> CreateInstallUI() override {
     programmable_prompt_ = new ProgrammableInstallPrompt(web_contents());
     return make_scoped_ptr(programmable_prompt_);
   }
 
  private:
-  virtual ~WebstoreInlineInstallerForTest() {}
+  ~WebstoreInlineInstallerForTest() override {}
 
   friend class base::RefCountedThreadSafe<WebstoreStandaloneInstaller>;
 
@@ -113,8 +113,8 @@
 
 class WebstoreInlineInstallerForTestFactory :
     public WebstoreInlineInstallerFactory {
-  virtual ~WebstoreInlineInstallerForTestFactory() {}
-  virtual WebstoreInlineInstaller* CreateInstaller(
+  ~WebstoreInlineInstallerForTestFactory() override {}
+  WebstoreInlineInstaller* CreateInstaller(
       WebContents* contents,
       const std::string& webstore_item_id,
       const GURL& requestor_url,
diff --git a/chrome/browser/extensions/webstore_inline_installer_unittest.cc b/chrome/browser/extensions/webstore_inline_installer_unittest.cc
index 91cdf91..a5153f8 100644
--- a/chrome/browser/extensions/webstore_inline_installer_unittest.cc
+++ b/chrome/browser/extensions/webstore_inline_installer_unittest.cc
@@ -28,7 +28,7 @@
   }
 
  protected:
-  virtual ~TestWebstoreInlineInstaller();
+  ~TestWebstoreInlineInstaller() override;
 };
 
 void TestInstallerCallback(bool success,
diff --git a/chrome/browser/extensions/webstore_install_helper.h b/chrome/browser/extensions/webstore_install_helper.h
index bcb1f82..36cdd244 100644
--- a/chrome/browser/extensions/webstore_install_helper.h
+++ b/chrome/browser/extensions/webstore_install_helper.h
@@ -76,7 +76,7 @@
   void Start();
 
  private:
-  virtual ~WebstoreInstallHelper();
+  ~WebstoreInstallHelper() override;
 
   void StartWorkOnIOThread();
   void StartFetchedImageDecode();
@@ -84,10 +84,10 @@
   void ReportResultFromUIThread();
 
   // Implementing the net::URLFetcherDelegate interface.
-  virtual void OnURLFetchComplete(const net::URLFetcher* source) override;
+  void OnURLFetchComplete(const net::URLFetcher* source) override;
 
   // Implementing pieces of the UtilityProcessHostClient interface.
-  virtual bool OnMessageReceived(const IPC::Message& message) override;
+  bool OnMessageReceived(const IPC::Message& message) override;
 
   // Message handlers.
   void OnDecodeImageSucceeded(const SkBitmap& decoded_image);
diff --git a/chrome/browser/extensions/webstore_install_with_prompt.h b/chrome/browser/extensions/webstore_install_with_prompt.h
index 91ec9be..afb1512 100644
--- a/chrome/browser/extensions/webstore_install_with_prompt.h
+++ b/chrome/browser/extensions/webstore_install_with_prompt.h
@@ -46,29 +46,26 @@
 
  protected:
   friend class base::RefCountedThreadSafe<WebstoreInstallWithPrompt>;
-  virtual ~WebstoreInstallWithPrompt();
+  ~WebstoreInstallWithPrompt() override;
 
   void set_show_post_install_ui(bool show) { show_post_install_ui_ = show; }
 
   // extensions::WebstoreStandaloneInstaller overrides:
-  virtual bool CheckRequestorAlive() const override;
-  virtual const GURL& GetRequestorURL() const override;
-  virtual bool ShouldShowPostInstallUI() const override;
-  virtual bool ShouldShowAppInstalledBubble() const override;
-  virtual content::WebContents* GetWebContents() const override;
-  virtual scoped_refptr<ExtensionInstallPrompt::Prompt> CreateInstallPrompt()
+  bool CheckRequestorAlive() const override;
+  const GURL& GetRequestorURL() const override;
+  bool ShouldShowPostInstallUI() const override;
+  bool ShouldShowAppInstalledBubble() const override;
+  content::WebContents* GetWebContents() const override;
+  scoped_refptr<ExtensionInstallPrompt::Prompt> CreateInstallPrompt()
       const override;
-  virtual scoped_ptr<ExtensionInstallPrompt> CreateInstallUI() override;
-  virtual bool CheckInlineInstallPermitted(
-      const base::DictionaryValue& webstore_data,
-      std::string* error) const override;
-  virtual bool CheckRequestorPermitted(
-      const base::DictionaryValue& webstore_data,
-      std::string* error) const override;
+  scoped_ptr<ExtensionInstallPrompt> CreateInstallUI() override;
+  bool CheckInlineInstallPermitted(const base::DictionaryValue& webstore_data,
+                                   std::string* error) const override;
+  bool CheckRequestorPermitted(const base::DictionaryValue& webstore_data,
+                               std::string* error) const override;
 
   // content::PageNavigator overrides:
-  virtual content::WebContents* OpenURL(
-      const content::OpenURLParams& params) override;
+  content::WebContents* OpenURL(const content::OpenURLParams& params) override;
 
  private:
   bool show_post_install_ui_;
diff --git a/chrome/browser/extensions/webstore_installer.h b/chrome/browser/extensions/webstore_installer.h
index 962944d..eac9c00 100644
--- a/chrome/browser/extensions/webstore_installer.h
+++ b/chrome/browser/extensions/webstore_installer.h
@@ -117,7 +117,7 @@
         scoped_ptr<base::DictionaryValue> parsed_manifest,
         bool strict_manifest_check);
 
-    virtual ~Approval();
+    ~Approval() override;
 
     // The extension id that was approved for installation.
     std::string extension_id;
@@ -194,14 +194,14 @@
   void Start();
 
   // content::NotificationObserver.
-  virtual void Observe(int type,
-                       const content::NotificationSource& source,
-                       const content::NotificationDetails& details) override;
+  void Observe(int type,
+               const content::NotificationSource& source,
+               const content::NotificationDetails& details) override;
 
   // ExtensionRegistryObserver.
-  virtual void OnExtensionInstalled(content::BrowserContext* browser_context,
-                                    const Extension* extension,
-                                    bool is_update) override;
+  void OnExtensionInstalled(content::BrowserContext* browser_context,
+                            const Extension* extension,
+                            bool is_update) override;
 
   // Removes the reference to the delegate passed in the constructor. Used when
   // the delegate object must be deleted before this object.
@@ -216,7 +216,7 @@
   friend struct content::BrowserThread::DeleteOnThread<
    content::BrowserThread::UI>;
   friend class base::DeleteHelper<WebstoreInstaller>;
-  virtual ~WebstoreInstaller();
+  ~WebstoreInstaller() override;
 
   // Helper to get install URL.
   static GURL GetWebstoreInstallURL(const std::string& extension_id,
@@ -227,8 +227,8 @@
                          content::DownloadInterruptReason interrupt_reason);
 
   // DownloadItem::Observer implementation:
-  virtual void OnDownloadUpdated(content::DownloadItem* download) override;
-  virtual void OnDownloadDestroyed(content::DownloadItem* download) override;
+  void OnDownloadUpdated(content::DownloadItem* download) override;
+  void OnDownloadDestroyed(content::DownloadItem* download) override;
 
   // Downloads next pending module in |pending_modules_|.
   void DownloadNextPendingModule();
diff --git a/chrome/browser/extensions/webstore_installer_test.h b/chrome/browser/extensions/webstore_installer_test.h
index 2aa0523..5bce75c 100644
--- a/chrome/browser/extensions/webstore_installer_test.h
+++ b/chrome/browser/extensions/webstore_installer_test.h
@@ -24,9 +24,9 @@
                         const std::string& unverified_domain);
   virtual ~WebstoreInstallerTest();
 
-  virtual void SetUpCommandLine(base::CommandLine* command_line) override;
-  virtual void SetUpInProcessBrowserTestFixture() override;
-  virtual void SetUpOnMainThread() override;
+  void SetUpCommandLine(base::CommandLine* command_line) override;
+  void SetUpInProcessBrowserTestFixture() override;
+  void SetUpOnMainThread() override;
 
  protected:
   GURL GenerateTestServerUrl(const std::string& domain,
diff --git a/chrome/browser/extensions/webstore_reinstaller.h b/chrome/browser/extensions/webstore_reinstaller.h
index aaea570..6927662 100644
--- a/chrome/browser/extensions/webstore_reinstaller.h
+++ b/chrome/browser/extensions/webstore_reinstaller.h
@@ -26,26 +26,24 @@
   void BeginReinstall();
 
  private:
-  virtual ~WebstoreReinstaller();
+  ~WebstoreReinstaller() override;
 
   // WebstoreStandaloneInstaller:
-  virtual bool CheckRequestorAlive() const override;
-  virtual const GURL& GetRequestorURL() const override;
-  virtual bool ShouldShowPostInstallUI() const override;
-  virtual bool ShouldShowAppInstalledBubble() const override;
-  virtual content::WebContents* GetWebContents() const override;
-  virtual scoped_refptr<ExtensionInstallPrompt::Prompt> CreateInstallPrompt()
+  bool CheckRequestorAlive() const override;
+  const GURL& GetRequestorURL() const override;
+  bool ShouldShowPostInstallUI() const override;
+  bool ShouldShowAppInstalledBubble() const override;
+  content::WebContents* GetWebContents() const override;
+  scoped_refptr<ExtensionInstallPrompt::Prompt> CreateInstallPrompt()
       const override;
-  virtual bool CheckInlineInstallPermitted(
-      const base::DictionaryValue& webstore_data,
-      std::string* error) const override;
-  virtual bool CheckRequestorPermitted(
-      const base::DictionaryValue& webstore_data,
-      std::string* error) const override;
-  virtual void InstallUIProceed() override;
+  bool CheckInlineInstallPermitted(const base::DictionaryValue& webstore_data,
+                                   std::string* error) const override;
+  bool CheckRequestorPermitted(const base::DictionaryValue& webstore_data,
+                               std::string* error) const override;
+  void InstallUIProceed() override;
 
   // content::WebContentsObserver:
-  virtual void WebContentsDestroyed() override;
+  void WebContentsDestroyed() override;
 
   // Called once all data from the old extension installation is removed.
   void OnDeletionDone();
diff --git a/chrome/browser/extensions/webstore_standalone_installer.h b/chrome/browser/extensions/webstore_standalone_installer.h
index 4f42b9bb..baea5149 100644
--- a/chrome/browser/extensions/webstore_standalone_installer.h
+++ b/chrome/browser/extensions/webstore_standalone_installer.h
@@ -62,7 +62,7 @@
   void BeginInstall();
 
  protected:
-  virtual ~WebstoreStandaloneInstaller();
+  ~WebstoreStandaloneInstaller() override;
 
   // Runs the callback; primarily used for running a callback before it is
   // cleared in AbortInstall().
@@ -152,8 +152,8 @@
   virtual scoped_ptr<WebstoreInstaller::Approval> CreateApproval() const;
 
   // ExtensionInstallPrompt::Delegate interface implementation.
-  virtual void InstallUIProceed() override;
-  virtual void InstallUIAbort(bool user_initiated) override;
+  void InstallUIProceed() override;
+  void InstallUIAbort(bool user_initiated) override;
 
   // Accessors to be used by subclasses.
   bool show_user_count() const { return show_user_count_; }
@@ -193,27 +193,24 @@
   // informs our delegate of success/failure.
 
   // WebstoreDataFetcherDelegate interface implementation.
-  virtual void OnWebstoreRequestFailure() override;
+  void OnWebstoreRequestFailure() override;
 
-  virtual void OnWebstoreResponseParseSuccess(
+  void OnWebstoreResponseParseSuccess(
       scoped_ptr<base::DictionaryValue> webstore_data) override;
 
-  virtual void OnWebstoreResponseParseFailure(
-      const std::string& error) override;
+  void OnWebstoreResponseParseFailure(const std::string& error) override;
 
   // WebstoreInstallHelper::Delegate interface implementation.
-  virtual void OnWebstoreParseSuccess(
-      const std::string& id,
-      const SkBitmap& icon,
-      base::DictionaryValue* parsed_manifest) override;
-  virtual void OnWebstoreParseFailure(
-      const std::string& id,
-      InstallHelperResultCode result_code,
-      const std::string& error_message) override;
+  void OnWebstoreParseSuccess(const std::string& id,
+                              const SkBitmap& icon,
+                              base::DictionaryValue* parsed_manifest) override;
+  void OnWebstoreParseFailure(const std::string& id,
+                              InstallHelperResultCode result_code,
+                              const std::string& error_message) override;
 
   // WebstoreInstaller::Delegate interface implementation.
-  virtual void OnExtensionInstallSuccess(const std::string& id) override;
-  virtual void OnExtensionInstallFailure(
+  void OnExtensionInstallSuccess(const std::string& id) override;
+  void OnExtensionInstallFailure(
       const std::string& id,
       const std::string& error,
       WebstoreInstaller::FailureReason reason) override;
diff --git a/chrome/browser/extensions/webstore_startup_installer.h b/chrome/browser/extensions/webstore_startup_installer.h
index 63430ff..7b4385a 100644
--- a/chrome/browser/extensions/webstore_startup_installer.h
+++ b/chrome/browser/extensions/webstore_startup_installer.h
@@ -27,10 +27,10 @@
   friend class base::RefCountedThreadSafe<WebstoreStartupInstaller>;
   FRIEND_TEST_ALL_PREFIXES(WebstoreStartupInstallerTest, DomainVerification);
 
-  virtual ~WebstoreStartupInstaller();
+  ~WebstoreStartupInstaller() override;
 
   // Implementations of WebstoreStandaloneInstaller Template Method's hooks.
-  virtual scoped_refptr<ExtensionInstallPrompt::Prompt> CreateInstallPrompt()
+  scoped_refptr<ExtensionInstallPrompt::Prompt> CreateInstallPrompt()
       const override;
 
  private:
diff --git a/chrome/browser/extensions/webstore_startup_installer_browsertest.cc b/chrome/browser/extensions/webstore_startup_installer_browsertest.cc
index 1ff67dd6..58db5b0d 100644
--- a/chrome/browser/extensions/webstore_startup_installer_browsertest.cc
+++ b/chrome/browser/extensions/webstore_startup_installer_browsertest.cc
@@ -178,7 +178,7 @@
     : public WebstoreStartupInstallerTest {
  public:
   // InProcessBrowserTest overrides:
-  virtual void SetUpCommandLine(base::CommandLine* command_line) override {
+  void SetUpCommandLine(base::CommandLine* command_line) override {
     WebstoreStartupInstallerTest::SetUpCommandLine(command_line);
     command_line->AppendSwitchASCII(switches::kSupervisedUserId, "asdf");
   }
@@ -212,7 +212,7 @@
 class WebstoreStartupInstallUnpackFailureTest
     : public WebstoreStartupInstallerTest {
  public:
-  virtual void SetUpCommandLine(base::CommandLine* command_line) override {
+  void SetUpCommandLine(base::CommandLine* command_line) override {
     WebstoreStartupInstallerTest::SetUpCommandLine(command_line);
 
     GURL crx_url = GenerateTestServerUrl(
@@ -221,7 +221,7 @@
         switches::kAppsGalleryUpdateURL, crx_url.spec());
   }
 
-  virtual void SetUpInProcessBrowserTestFixture() override {
+  void SetUpInProcessBrowserTestFixture() override {
     WebstoreStartupInstallerTest::SetUpInProcessBrowserTestFixture();
     extensions::ExtensionInstallUI::set_disable_failure_ui_for_tests();
   }
@@ -246,14 +246,14 @@
   CommandLineWebstoreInstall() : saw_install_(false), browser_open_count_(0) {}
   virtual ~CommandLineWebstoreInstall() {}
 
-  virtual void SetUpOnMainThread() override {
+  void SetUpOnMainThread() override {
     WebstoreStartupInstallerTest::SetUpOnMainThread();
     extensions::ExtensionRegistry::Get(browser()->profile())->AddObserver(this);
     registrar_.Add(this, chrome::NOTIFICATION_BROWSER_OPENED,
                    content::NotificationService::AllSources());
   }
 
-  virtual void TearDownOnMainThread() override {
+  void TearDownOnMainThread() override {
     extensions::ExtensionRegistry::Get(browser()->profile())
         ->RemoveObserver(this);
     WebstoreStartupInstallerTest::TearDownOnMainThread();
@@ -264,19 +264,18 @@
   int browser_open_count() { return browser_open_count_; }
 
   // NotificationObserver interface.
-  virtual void Observe(int type,
-                       const content::NotificationSource& source,
-                       const content::NotificationDetails& details) override {
+  void Observe(int type,
+               const content::NotificationSource& source,
+               const content::NotificationDetails& details) override {
     DCHECK_EQ(type, chrome::NOTIFICATION_BROWSER_OPENED);
     ++browser_open_count_;
   }
 
-  virtual void OnExtensionWillBeInstalled(
-      content::BrowserContext* browser_context,
-      const extensions::Extension* extension,
-      bool is_update,
-      bool from_ephemeral,
-      const std::string& old_name) override {
+  void OnExtensionWillBeInstalled(content::BrowserContext* browser_context,
+                                  const extensions::Extension* extension,
+                                  bool is_update,
+                                  bool from_ephemeral,
+                                  const std::string& old_name) override {
     EXPECT_EQ(extension->id(), kTestExtensionId);
     saw_install_ = true;
   }
diff --git a/chrome/browser/extensions/window_open_apitest.cc b/chrome/browser/extensions/window_open_apitest.cc
index cd3d11a..d0a0c0c 100644
--- a/chrome/browser/extensions/window_open_apitest.cc
+++ b/chrome/browser/extensions/window_open_apitest.cc
@@ -233,7 +233,7 @@
 }
 
 class WindowOpenPanelDisabledTest : public ExtensionApiTest {
-  virtual void SetUpCommandLine(CommandLine* command_line) override {
+  void SetUpCommandLine(CommandLine* command_line) override {
     ExtensionApiTest::SetUpCommandLine(command_line);
     // TODO(jennb): Re-enable when panels are enabled by default.
     // command_line->AppendSwitch(switches::kDisablePanels);
@@ -246,7 +246,7 @@
 }
 
 class WindowOpenPanelTest : public ExtensionApiTest {
-  virtual void SetUpCommandLine(CommandLine* command_line) override {
+  void SetUpCommandLine(CommandLine* command_line) override {
     ExtensionApiTest::SetUpCommandLine(command_line);
     command_line->AppendSwitch(switches::kEnablePanels);
   }
diff --git a/chrome/browser/extensions/window_open_interactive_apitest.cc b/chrome/browser/extensions/window_open_interactive_apitest.cc
index 62f21f3..00af11f 100644
--- a/chrome/browser/extensions/window_open_interactive_apitest.cc
+++ b/chrome/browser/extensions/window_open_interactive_apitest.cc
@@ -7,7 +7,7 @@
 #include "chrome/common/chrome_switches.h"
 
 class WindowOpenPanelTest : public ExtensionApiTest {
-  virtual void SetUpCommandLine(CommandLine* command_line) override {
+  void SetUpCommandLine(CommandLine* command_line) override {
     ExtensionApiTest::SetUpCommandLine(command_line);
     command_line->AppendSwitch(switches::kEnablePanels);
   }
diff --git a/chrome/browser/extensions/zipfile_installer.h b/chrome/browser/extensions/zipfile_installer.h
index 0420a6bb..7aa594c 100644
--- a/chrome/browser/extensions/zipfile_installer.h
+++ b/chrome/browser/extensions/zipfile_installer.h
@@ -35,11 +35,11 @@
   void set_be_noisy_on_failure(bool value) { be_noisy_on_failure_ = value; }
 
   // UtilityProcessHostClient
-  virtual bool OnMessageReceived(const IPC::Message& message) override;
+  bool OnMessageReceived(const IPC::Message& message) override;
 
  private:
   explicit ZipFileInstaller(ExtensionService* extension_service);
-  virtual ~ZipFileInstaller();
+  ~ZipFileInstaller() override;
 
   void PrepareTempDir();
   void StartWorkOnIOThread(const base::FilePath& temp_dir);
diff --git a/chrome/browser/extensions/zipfile_installer_unittest.cc b/chrome/browser/extensions/zipfile_installer_unittest.cc
index dd06f5d0..7336bacf 100644
--- a/chrome/browser/extensions/zipfile_installer_unittest.cc
+++ b/chrome/browser/extensions/zipfile_installer_unittest.cc
@@ -42,12 +42,11 @@
     runner->Run();
   }
 
-  virtual void OnExtensionWillBeInstalled(
-      content::BrowserContext* browser_context,
-      const Extension* extension,
-      bool is_update,
-      bool from_ephemeral,
-      const std::string& old_name) override {
+  void OnExtensionWillBeInstalled(content::BrowserContext* browser_context,
+                                  const Extension* extension,
+                                  bool is_update,
+                                  bool from_ephemeral,
+                                  const std::string& old_name) override {
     last_extension_installed = extension->id();
     quit_closure_.Run();
   }