summaryrefslogtreecommitdiffstats
path: root/chrome/common/extensions
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/common/extensions')
-rw-r--r--chrome/common/extensions/user_script.cc6
-rw-r--r--chrome/common/extensions/user_script.h9
2 files changed, 15 insertions, 0 deletions
diff --git a/chrome/common/extensions/user_script.cc b/chrome/common/extensions/user_script.cc
index 69fe5f4..abe9280 100644
--- a/chrome/common/extensions/user_script.cc
+++ b/chrome/common/extensions/user_script.cc
@@ -40,6 +40,9 @@ void UserScript::Pickle(::Pickle* pickle) const {
// Write the run location.
pickle->WriteInt(run_location());
+ // Write the extension id.
+ pickle->WriteString(extension_id());
+
// Write globs.
pickle->WriteSize(globs_.size());
for (std::vector<std::string>::const_iterator glob = globs_.begin();
@@ -76,6 +79,9 @@ void UserScript::Unpickle(const ::Pickle& pickle, void** iter) {
CHECK(run_location >= 0 && run_location < RUN_LOCATION_LAST);
run_location_ = static_cast<RunLocation>(run_location);
+ // Read the extension ID.
+ CHECK(pickle.ReadString(iter, &extension_id_));
+
// Read globs.
size_t num_globs = 0;
CHECK(pickle.ReadSize(iter, &num_globs));
diff --git a/chrome/common/extensions/user_script.h b/chrome/common/extensions/user_script.h
index 1a8d6df..070ead3 100644
--- a/chrome/common/extensions/user_script.h
+++ b/chrome/common/extensions/user_script.h
@@ -111,6 +111,11 @@ class UserScript {
FileList& css_scripts() { return css_scripts_; }
const FileList& css_scripts() const { return css_scripts_; }
+ const std::string& extension_id() const { return extension_id_; }
+ void set_extension_id(const std::string& id) { extension_id_ = id; }
+
+ bool is_standalone() { return extension_id_.empty(); }
+
// Returns true if the script should be applied to the specified URL, false
// otherwise.
bool MatchesUrl(const GURL& url);
@@ -141,6 +146,10 @@ class UserScript {
// List of css scripts defined in content_scripts
FileList css_scripts_;
+
+ // The ID of the extension this script is a part of, if any. Can be empty if
+ // the script is a "standlone" user script.
+ std::string extension_id_;
};
typedef std::vector<UserScript> UserScriptList;