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 |