Reland 178902 Implementation of sessionRestore apis.

BUG=14737
TEST=ExtensionApiTest.SessionRestoreApis
[email protected], [email protected]

Review URL: https://chromiumcodereview.appspot.com/10735007

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@179426 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/chrome/browser/extensions/extension_tab_util.h b/chrome/browser/extensions/extension_tab_util.h
index 17d5e62..bbce801 100644
--- a/chrome/browser/extensions/extension_tab_util.h
+++ b/chrome/browser/extensions/extension_tab_util.h
@@ -8,6 +8,7 @@
 #include <string>
 
 #include "base/callback.h"
+#include "chrome/common/extensions/api/tabs.h"
 #include "ui/base/window_open_disposition.h"
 
 class Browser;
@@ -78,6 +79,11 @@
                                         const extensions::Extension* extension,
                                         base::DictionaryValue* tab_info);
 
+  // Removes any privacy-sensitive fields from a Tab object if appropriate,
+  // given the permissions of the extension in question.
+  static void ScrubTabForExtension(const extensions::Extension* extension,
+                                   extensions::api::tabs::Tab* tab);
+
   // Gets the |tab_strip_model| and |tab_index| for the given |web_contents|.
   static bool GetTabStripModel(const content::WebContents* web_contents,
                                TabStripModel** tab_strip_model,