| OLD | NEW |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "chrome/browser/android/preferences/website_preference_bridge.h" | 5 #include "chrome/browser/android/preferences/website_preference_bridge.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 #include <string> | 8 #include <string> |
| 9 #include <vector> | 9 #include <vector> |
| 10 | 10 |
| (...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 128 jorigin = ConvertUTF8ToJavaString( | 128 jorigin = ConvertUTF8ToJavaString( |
| 129 env, origin.substr(0, origin.size() - strlen(kHttpPortSuffix))); | 129 env, origin.substr(0, origin.size() - strlen(kHttpPortSuffix))); |
| 130 } else { | 130 } else { |
| 131 jorigin = ConvertUTF8ToJavaString(env, origin); | 131 jorigin = ConvertUTF8ToJavaString(env, origin); |
| 132 } | 132 } |
| 133 | 133 |
| 134 ScopedJavaLocalRef<jstring> jembedder; | 134 ScopedJavaLocalRef<jstring> jembedder; |
| 135 if (embedder != origin) | 135 if (embedder != origin) |
| 136 jembedder = ConvertUTF8ToJavaString(env, embedder); | 136 jembedder = ConvertUTF8ToJavaString(env, embedder); |
| 137 | 137 |
| 138 insertionFunc(env, list, jorigin.obj(), jembedder.obj()); | 138 insertionFunc(env, list, jorigin, jembedder); |
| 139 } | 139 } |
| 140 } | 140 } |
| 141 | 141 |
| 142 ContentSetting GetSettingForOrigin(JNIEnv* env, | 142 ContentSetting GetSettingForOrigin(JNIEnv* env, |
| 143 ContentSettingsType content_type, | 143 ContentSettingsType content_type, |
| 144 jstring origin, | 144 jstring origin, |
| 145 jstring embedder, | 145 jstring embedder, |
| 146 jboolean is_incognito) { | 146 jboolean is_incognito) { |
| 147 GURL url(ConvertJavaStringToUTF8(env, origin)); | 147 GURL url(ConvertJavaStringToUTF8(env, origin)); |
| 148 GURL embedder_url(ConvertJavaStringToUTF8(env, embedder)); | 148 GURL embedder_url(ConvertJavaStringToUTF8(env, embedder)); |
| (...skipping 323 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 472 DCHECK(found); | 472 DCHECK(found); |
| 473 ScopedJavaLocalRef<jstring> jname = ConvertUTF8ToJavaString(env, name); | 473 ScopedJavaLocalRef<jstring> jname = ConvertUTF8ToJavaString(env, name); |
| 474 | 474 |
| 475 std::string serialized; | 475 std::string serialized; |
| 476 bool written = base::JSONWriter::Write(object->object, &serialized); | 476 bool written = base::JSONWriter::Write(object->object, &serialized); |
| 477 DCHECK(written); | 477 DCHECK(written); |
| 478 ScopedJavaLocalRef<jstring> jserialized = | 478 ScopedJavaLocalRef<jstring> jserialized = |
| 479 ConvertUTF8ToJavaString(env, serialized); | 479 ConvertUTF8ToJavaString(env, serialized); |
| 480 | 480 |
| 481 Java_WebsitePreferenceBridge_insertUsbInfoIntoList( | 481 Java_WebsitePreferenceBridge_insertUsbInfoIntoList( |
| 482 env, list, jorigin.obj(), jembedder.obj(), jname.obj(), | 482 env, list, jorigin, jembedder, jname, jserialized); |
| 483 jserialized.obj()); | |
| 484 } | 483 } |
| 485 } | 484 } |
| 486 | 485 |
| 487 static void RevokeUsbPermission(JNIEnv* env, | 486 static void RevokeUsbPermission(JNIEnv* env, |
| 488 const JavaParamRef<jclass>& clazz, | 487 const JavaParamRef<jclass>& clazz, |
| 489 const JavaParamRef<jstring>& jorigin, | 488 const JavaParamRef<jstring>& jorigin, |
| 490 const JavaParamRef<jstring>& jembedder, | 489 const JavaParamRef<jstring>& jembedder, |
| 491 const JavaParamRef<jstring>& jobject) { | 490 const JavaParamRef<jstring>& jobject) { |
| 492 Profile* profile = ProfileManager::GetActiveUserProfile(); | 491 Profile* profile = ProfileManager::GetActiveUserProfile(); |
| 493 UsbChooserContext* context = UsbChooserContextFactory::GetForProfile(profile); | 492 UsbChooserContext* context = UsbChooserContextFactory::GetForProfile(profile); |
| (...skipping 119 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 613 void OnStorageInfoReady(const storage::UsageInfoEntries& entries) { | 612 void OnStorageInfoReady(const storage::UsageInfoEntries& entries) { |
| 614 ScopedJavaLocalRef<jobject> list = | 613 ScopedJavaLocalRef<jobject> list = |
| 615 Java_WebsitePreferenceBridge_createStorageInfoList(env_); | 614 Java_WebsitePreferenceBridge_createStorageInfoList(env_); |
| 616 | 615 |
| 617 storage::UsageInfoEntries::const_iterator i; | 616 storage::UsageInfoEntries::const_iterator i; |
| 618 for (i = entries.begin(); i != entries.end(); ++i) { | 617 for (i = entries.begin(); i != entries.end(); ++i) { |
| 619 if (i->usage <= 0) continue; | 618 if (i->usage <= 0) continue; |
| 620 ScopedJavaLocalRef<jstring> host = | 619 ScopedJavaLocalRef<jstring> host = |
| 621 ConvertUTF8ToJavaString(env_, i->host); | 620 ConvertUTF8ToJavaString(env_, i->host); |
| 622 | 621 |
| 623 Java_WebsitePreferenceBridge_insertStorageInfoIntoList( | 622 Java_WebsitePreferenceBridge_insertStorageInfoIntoList(env_, list, host, |
| 624 env_, list.obj(), host.obj(), i->type, i->usage); | 623 i->type, i->usage); |
| 625 } | 624 } |
| 626 | 625 |
| 627 base::android::RunCallbackAndroid(java_callback_, list); | 626 base::android::RunCallbackAndroid(java_callback_, list); |
| 628 delete this; | 627 delete this; |
| 629 } | 628 } |
| 630 | 629 |
| 631 private: | 630 private: |
| 632 JNIEnv* env_; | 631 JNIEnv* env_; |
| 633 ScopedJavaGlobalRef<jobject> java_callback_; | 632 ScopedJavaGlobalRef<jobject> java_callback_; |
| 634 }; | 633 }; |
| 635 | 634 |
| 636 class StorageInfoClearedCallback { | 635 class StorageInfoClearedCallback { |
| 637 public: | 636 public: |
| 638 explicit StorageInfoClearedCallback(const JavaRef<jobject>& java_callback) | 637 explicit StorageInfoClearedCallback(const JavaRef<jobject>& java_callback) |
| 639 : env_(base::android::AttachCurrentThread()), | 638 : env_(base::android::AttachCurrentThread()), |
| 640 java_callback_(java_callback) { | 639 java_callback_(java_callback) { |
| 641 } | 640 } |
| 642 | 641 |
| 643 void OnStorageInfoCleared(storage::QuotaStatusCode code) { | 642 void OnStorageInfoCleared(storage::QuotaStatusCode code) { |
| 644 DCHECK_CURRENTLY_ON(BrowserThread::UI); | 643 DCHECK_CURRENTLY_ON(BrowserThread::UI); |
| 645 | 644 |
| 646 Java_StorageInfoClearedCallback_onStorageInfoCleared( | 645 Java_StorageInfoClearedCallback_onStorageInfoCleared(env_, java_callback_); |
| 647 env_, java_callback_.obj()); | |
| 648 | 646 |
| 649 delete this; | 647 delete this; |
| 650 } | 648 } |
| 651 | 649 |
| 652 private: | 650 private: |
| 653 JNIEnv* env_; | 651 JNIEnv* env_; |
| 654 ScopedJavaGlobalRef<jobject> java_callback_; | 652 ScopedJavaGlobalRef<jobject> java_callback_; |
| 655 }; | 653 }; |
| 656 | 654 |
| 657 class LocalStorageInfoReadyCallback { | 655 class LocalStorageInfoReadyCallback { |
| (...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 692 registerable_domain) != important_domains.end()) { | 690 registerable_domain) != important_domains.end()) { |
| 693 important = true; | 691 important = true; |
| 694 } | 692 } |
| 695 // Remove the trailing slash so the origin is matched correctly in | 693 // Remove the trailing slash so the origin is matched correctly in |
| 696 // SingleWebsitePreferences.mergePermissionInfoForTopLevelOrigin. | 694 // SingleWebsitePreferences.mergePermissionInfoForTopLevelOrigin. |
| 697 DCHECK_EQ('/', origin_str.back()); | 695 DCHECK_EQ('/', origin_str.back()); |
| 698 origin_str.pop_back(); | 696 origin_str.pop_back(); |
| 699 ScopedJavaLocalRef<jstring> origin = | 697 ScopedJavaLocalRef<jstring> origin = |
| 700 ConvertUTF8ToJavaString(env_, origin_str); | 698 ConvertUTF8ToJavaString(env_, origin_str); |
| 701 Java_WebsitePreferenceBridge_insertLocalStorageInfoIntoMap( | 699 Java_WebsitePreferenceBridge_insertLocalStorageInfoIntoMap( |
| 702 env_, map.obj(), origin.obj(), full_origin.obj(), i->size, important); | 700 env_, map, origin, full_origin, i->size, important); |
| 703 } | 701 } |
| 704 | 702 |
| 705 base::android::RunCallbackAndroid(java_callback_, map); | 703 base::android::RunCallbackAndroid(java_callback_, map); |
| 706 delete this; | 704 delete this; |
| 707 } | 705 } |
| 708 | 706 |
| 709 private: | 707 private: |
| 710 JNIEnv* env_; | 708 JNIEnv* env_; |
| 711 ScopedJavaGlobalRef<jobject> java_callback_; | 709 ScopedJavaGlobalRef<jobject> java_callback_; |
| 712 }; | 710 }; |
| (...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 789 GURL url(ConvertJavaStringToUTF8(env, jorigin)); | 787 GURL url(ConvertJavaStringToUTF8(env, jorigin)); |
| 790 scoped_refptr<SiteDataDeleteHelper> site_data_deleter( | 788 scoped_refptr<SiteDataDeleteHelper> site_data_deleter( |
| 791 new SiteDataDeleteHelper(profile, url)); | 789 new SiteDataDeleteHelper(profile, url)); |
| 792 site_data_deleter->Run(); | 790 site_data_deleter->Run(); |
| 793 } | 791 } |
| 794 | 792 |
| 795 // Register native methods | 793 // Register native methods |
| 796 bool RegisterWebsitePreferenceBridge(JNIEnv* env) { | 794 bool RegisterWebsitePreferenceBridge(JNIEnv* env) { |
| 797 return RegisterNativesImpl(env); | 795 return RegisterNativesImpl(env); |
| 798 } | 796 } |
| OLD | NEW |