Update To 11.40.268.0
[platform/framework/web/crosswalk.git] / src / chrome / common / extensions / manifest_handlers / automation.cc
index b0b795f..10287fb 100644 (file)
@@ -44,26 +44,23 @@ class AutomationManifestPermission : public ManifestPermission {
       : automation_info_(automation_info.Pass()) {}
 
   // extensions::ManifestPermission overrides.
-  virtual std::string name() const OVERRIDE;
+  std::string name() const override;
 
-  virtual std::string id() const OVERRIDE;
+  std::string id() const override;
 
-  virtual bool HasMessages() const OVERRIDE;
+  bool HasMessages() const override;
 
-  virtual PermissionMessages GetMessages() const OVERRIDE;
+  PermissionMessages GetMessages() const override;
 
-  virtual bool FromValue(const base::Value* value) OVERRIDE;
+  bool FromValue(const base::Value* value) override;
 
-  virtual scoped_ptr<base::Value> ToValue() const OVERRIDE;
+  scoped_ptr<base::Value> ToValue() const override;
 
-  virtual ManifestPermission* Diff(
-      const ManifestPermission* rhs) const OVERRIDE;
+  ManifestPermission* Diff(const ManifestPermission* rhs) const override;
 
-  virtual ManifestPermission* Union(
-      const ManifestPermission* rhs) const OVERRIDE;
+  ManifestPermission* Union(const ManifestPermission* rhs) const override;
 
-  virtual ManifestPermission* Intersect(
-      const ManifestPermission* rhs) const OVERRIDE;
+  ManifestPermission* Intersect(const ManifestPermission* rhs) const override;
 
  private:
   scoped_ptr<const AutomationInfo> automation_info_;
@@ -88,9 +85,16 @@ PermissionMessages AutomationManifestPermission::GetMessages() const {
         PermissionMessage::kFullAccess,
         l10n_util::GetStringUTF16(IDS_EXTENSION_PROMPT_WARNING_FULL_ACCESS)));
   } else if (automation_info_->matches.MatchesAllURLs()) {
-    messages.push_back(PermissionMessage(
-        PermissionMessage::kHostsAll,
-        l10n_util::GetStringUTF16(IDS_EXTENSION_PROMPT_WARNING_ALL_HOSTS)));
+    if (automation_info_->interact) {
+      messages.push_back(PermissionMessage(
+          PermissionMessage::kHostsAll,
+          l10n_util::GetStringUTF16(IDS_EXTENSION_PROMPT_WARNING_ALL_HOSTS)));
+    } else {
+      messages.push_back(PermissionMessage(
+          PermissionMessage::kHostsAllReadOnly,
+          l10n_util::GetStringUTF16(
+              IDS_EXTENSION_PROMPT_WARNING_ALL_HOSTS_READ_ONLY)));
+    }
   } else {
     URLPatternSet regular_hosts;
     std::set<PermissionMessage> message_set;
@@ -100,8 +104,12 @@ PermissionMessages AutomationManifestPermission::GetMessages() const {
 
     std::set<std::string> hosts =
         permission_message_util::GetDistinctHosts(regular_hosts, true, true);
-    if (!hosts.empty())
-      messages.push_back(permission_message_util::CreateFromHostList(hosts));
+    if (!hosts.empty()) {
+      messages.push_back(permission_message_util::CreateFromHostList(
+          hosts,
+          automation_info_->interact ? permission_message_util::kReadWrite
+                                     : permission_message_util::kReadOnly));
+    }
   }
 
   return messages;