Index: chrome/browser/extensions/api/easy_unlock_private/easy_unlock_private_api.cc |
diff --git a/chrome/browser/extensions/api/easy_unlock_private/easy_unlock_private_api.cc b/chrome/browser/extensions/api/easy_unlock_private/easy_unlock_private_api.cc |
index 1b7f87e4225524c8878bcc8a6c6a8f11f662adb9..2c242b1c0af7cd9f93975d7f37dedda261bdae4f 100644 |
--- a/chrome/browser/extensions/api/easy_unlock_private/easy_unlock_private_api.cc |
+++ b/chrome/browser/extensions/api/easy_unlock_private/easy_unlock_private_api.cc |
@@ -424,5 +424,103 @@ bool EasyUnlockPrivateUpdateScreenlockStateFunction::RunSync() { |
return false; |
} |
+EasyUnlockPrivateSetPermitAccessFunction:: |
+ EasyUnlockPrivateSetPermitAccessFunction() { |
+} |
+ |
+EasyUnlockPrivateSetPermitAccessFunction:: |
+ ~EasyUnlockPrivateSetPermitAccessFunction() { |
+} |
+ |
+bool EasyUnlockPrivateSetPermitAccessFunction::RunSync() { |
+ scoped_ptr<easy_unlock_private::SetPermitAccess::Params> params( |
+ easy_unlock_private::SetPermitAccess::Params::Create(*args_)); |
+ EXTENSION_FUNCTION_VALIDATE(params.get()); |
+ |
+ Profile* profile = Profile::FromBrowserContext(browser_context()); |
+ EasyUnlockService::Get(profile) |
+ ->SetPermitAccess(*params->permit_access.ToValue()); |
+ |
+ return true; |
+} |
+ |
+EasyUnlockPrivateGetPermitAccessFunction:: |
+ EasyUnlockPrivateGetPermitAccessFunction() { |
+} |
+ |
+EasyUnlockPrivateGetPermitAccessFunction:: |
+ ~EasyUnlockPrivateGetPermitAccessFunction() { |
+} |
+ |
+bool EasyUnlockPrivateGetPermitAccessFunction::RunSync() { |
+ Profile* profile = Profile::FromBrowserContext(browser_context()); |
+ const base::DictionaryValue* permit_value = |
+ EasyUnlockService::Get(profile)->GetPermitAccess(); |
+ if (permit_value) { |
+ scoped_ptr<easy_unlock_private::PermitRecord> permit = |
+ easy_unlock_private::PermitRecord::FromValue(*permit_value); |
+ results_ = easy_unlock_private::GetPermitAccess::Results::Create(*permit); |
+ } |
+ |
+ return true; |
+} |
+ |
+EasyUnlockPrivateClearPermitAccessFunction:: |
+ EasyUnlockPrivateClearPermitAccessFunction() { |
+} |
+ |
+EasyUnlockPrivateClearPermitAccessFunction:: |
+ ~EasyUnlockPrivateClearPermitAccessFunction() { |
+} |
+ |
+bool EasyUnlockPrivateClearPermitAccessFunction::RunSync() { |
+ Profile* profile = Profile::FromBrowserContext(browser_context()); |
+ EasyUnlockService::Get(profile)->ClearPermitAccess(); |
+ return true; |
+} |
+ |
+EasyUnlockPrivateSetRemoteDevicesFunction:: |
+ EasyUnlockPrivateSetRemoteDevicesFunction() { |
+} |
+ |
+EasyUnlockPrivateSetRemoteDevicesFunction:: |
+ ~EasyUnlockPrivateSetRemoteDevicesFunction() { |
+} |
+ |
+bool EasyUnlockPrivateSetRemoteDevicesFunction::RunSync() { |
+ scoped_ptr<easy_unlock_private::SetRemoteDevices::Params> params( |
+ easy_unlock_private::SetRemoteDevices::Params::Create(*args_)); |
+ EXTENSION_FUNCTION_VALIDATE(params.get()); |
+ |
+ Profile* profile = Profile::FromBrowserContext(browser_context()); |
+ if (params->devices.empty()) { |
+ EasyUnlockService::Get(profile)->ClearRemoteDevices(); |
+ } else { |
+ base::ListValue devices; |
+ for (size_t i = 0; i < params->devices.size(); ++i) { |
+ devices.Append(params->devices[i]->ToValue().release()); |
+ } |
+ EasyUnlockService::Get(profile)->SetRemoteDevices(devices); |
+ } |
+ |
+ return true; |
+} |
+ |
+EasyUnlockPrivateGetRemoteDevicesFunction:: |
+ EasyUnlockPrivateGetRemoteDevicesFunction() { |
+} |
+ |
+EasyUnlockPrivateGetRemoteDevicesFunction:: |
+ ~EasyUnlockPrivateGetRemoteDevicesFunction() { |
+} |
+ |
+bool EasyUnlockPrivateGetRemoteDevicesFunction::RunSync() { |
+ Profile* profile = Profile::FromBrowserContext(browser_context()); |
+ const base::ListValue* devices = |
+ EasyUnlockService::Get(profile)->GetRemoteDevices(); |
+ SetResult(devices ? devices->DeepCopy() : new base::ListValue()); |
+ return true; |
+} |
+ |
} // namespace api |
} // namespace extensions |