OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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/provider/chrome_browser_provider.h" | 5 #include "chrome/browser/android/provider/chrome_browser_provider.h" |
6 | 6 |
7 #include <list> | 7 #include <list> |
8 #include <utility> | 8 #include <utility> |
9 | 9 |
10 #include "base/android/jni_android.h" | 10 #include "base/android/jni_android.h" |
(...skipping 655 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
666 public: | 666 public: |
667 BookmarkIconFetchTask(FaviconService* favicon_service, | 667 BookmarkIconFetchTask(FaviconService* favicon_service, |
668 Profile* profile, | 668 Profile* profile, |
669 CancelableRequestConsumer* cancelable_consumer, | 669 CancelableRequestConsumer* cancelable_consumer, |
670 base::CancelableTaskTracker* cancelable_tracker) | 670 base::CancelableTaskTracker* cancelable_tracker) |
671 : FaviconServiceTask(favicon_service, | 671 : FaviconServiceTask(favicon_service, |
672 profile, | 672 profile, |
673 cancelable_consumer, | 673 cancelable_consumer, |
674 cancelable_tracker) {} | 674 cancelable_tracker) {} |
675 | 675 |
676 favicon_base::FaviconBitmapResult Run(const GURL& url) { | 676 favicon_base::FaviconRawBitmapResult Run(const GURL& url) { |
677 RunAsyncRequestOnUIThreadBlocking( | 677 RunAsyncRequestOnUIThreadBlocking( |
678 base::Bind(&FaviconService::GetRawFaviconForURL, | 678 base::Bind(&FaviconService::GetRawFaviconForPageURL, |
679 base::Unretained(service()), | 679 base::Unretained(service()), |
680 FaviconService::FaviconForURLParams( | 680 FaviconService::FaviconForPageURLParams( |
681 url, | 681 url, |
682 favicon_base::FAVICON | favicon_base::TOUCH_ICON, | 682 favicon_base::FAVICON | favicon_base::TOUCH_ICON, |
683 gfx::kFaviconSize), | 683 gfx::kFaviconSize), |
684 ResourceBundle::GetSharedInstance().GetMaxScaleFactor(), | 684 ResourceBundle::GetSharedInstance().GetMaxScaleFactor(), |
685 base::Bind(&BookmarkIconFetchTask::OnFaviconRetrieved, | 685 base::Bind(&BookmarkIconFetchTask::OnFaviconRetrieved, |
686 base::Unretained(this)), | 686 base::Unretained(this)), |
687 cancelable_tracker())); | 687 cancelable_tracker())); |
688 return result_; | 688 return result_; |
689 } | 689 } |
690 | 690 |
691 private: | 691 private: |
692 void OnFaviconRetrieved( | 692 void OnFaviconRetrieved( |
693 const favicon_base::FaviconBitmapResult& bitmap_result) { | 693 const favicon_base::FaviconRawBitmapResult& bitmap_result) { |
694 result_ = bitmap_result; | 694 result_ = bitmap_result; |
695 RequestCompleted(); | 695 RequestCompleted(); |
696 } | 696 } |
697 | 697 |
698 favicon_base::FaviconBitmapResult result_; | 698 favicon_base::FaviconRawBitmapResult result_; |
699 | 699 |
700 DISALLOW_COPY_AND_ASSIGN(BookmarkIconFetchTask); | 700 DISALLOW_COPY_AND_ASSIGN(BookmarkIconFetchTask); |
701 }; | 701 }; |
702 | 702 |
703 // Base class for all asynchronous blocking tasks that use the Android history | 703 // Base class for all asynchronous blocking tasks that use the Android history |
704 // provider service. | 704 // provider service. |
705 class HistoryProviderTask | 705 class HistoryProviderTask |
706 : public AsyncServiceRequest<AndroidHistoryProviderService> { | 706 : public AsyncServiceRequest<AndroidHistoryProviderService> { |
707 public: | 707 public: |
708 HistoryProviderTask(AndroidHistoryProviderService* service, | 708 HistoryProviderTask(AndroidHistoryProviderService* service, |
(...skipping 835 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1544 ScopedJavaLocalRef<jbyteArray> ChromeBrowserProvider::GetFaviconOrTouchIcon( | 1544 ScopedJavaLocalRef<jbyteArray> ChromeBrowserProvider::GetFaviconOrTouchIcon( |
1545 JNIEnv* env, jobject obj, jstring jurl) { | 1545 JNIEnv* env, jobject obj, jstring jurl) { |
1546 if (!jurl) | 1546 if (!jurl) |
1547 return ScopedJavaLocalRef<jbyteArray>(); | 1547 return ScopedJavaLocalRef<jbyteArray>(); |
1548 | 1548 |
1549 GURL url = GURL(ConvertJavaStringToUTF16(env, jurl)); | 1549 GURL url = GURL(ConvertJavaStringToUTF16(env, jurl)); |
1550 BookmarkIconFetchTask favicon_task(favicon_service_.get(), | 1550 BookmarkIconFetchTask favicon_task(favicon_service_.get(), |
1551 profile_, | 1551 profile_, |
1552 &favicon_consumer_, | 1552 &favicon_consumer_, |
1553 &cancelable_task_tracker_); | 1553 &cancelable_task_tracker_); |
1554 favicon_base::FaviconBitmapResult bitmap_result = favicon_task.Run(url); | 1554 favicon_base::FaviconRawBitmapResult bitmap_result = favicon_task.Run(url); |
1555 | 1555 |
1556 if (!bitmap_result.is_valid() || !bitmap_result.bitmap_data.get()) | 1556 if (!bitmap_result.is_valid() || !bitmap_result.bitmap_data.get()) |
1557 return ScopedJavaLocalRef<jbyteArray>(); | 1557 return ScopedJavaLocalRef<jbyteArray>(); |
1558 | 1558 |
1559 return base::android::ToJavaByteArray(env, bitmap_result.bitmap_data->front(), | 1559 return base::android::ToJavaByteArray(env, bitmap_result.bitmap_data->front(), |
1560 bitmap_result.bitmap_data->size()); | 1560 bitmap_result.bitmap_data->size()); |
1561 } | 1561 } |
1562 | 1562 |
1563 ScopedJavaLocalRef<jbyteArray> ChromeBrowserProvider::GetThumbnail( | 1563 ScopedJavaLocalRef<jbyteArray> ChromeBrowserProvider::GetThumbnail( |
1564 JNIEnv* env, jobject obj, jstring jurl) { | 1564 JNIEnv* env, jobject obj, jstring jurl) { |
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1617 Java_ChromeBrowserProvider_onBookmarkChanged(env, obj.obj()); | 1617 Java_ChromeBrowserProvider_onBookmarkChanged(env, obj.obj()); |
1618 } else if (type == | 1618 } else if (type == |
1619 chrome::NOTIFICATION_HISTORY_KEYWORD_SEARCH_TERM_UPDATED) { | 1619 chrome::NOTIFICATION_HISTORY_KEYWORD_SEARCH_TERM_UPDATED) { |
1620 JNIEnv* env = AttachCurrentThread(); | 1620 JNIEnv* env = AttachCurrentThread(); |
1621 ScopedJavaLocalRef<jobject> obj = weak_java_provider_.get(env); | 1621 ScopedJavaLocalRef<jobject> obj = weak_java_provider_.get(env); |
1622 if (obj.is_null()) | 1622 if (obj.is_null()) |
1623 return; | 1623 return; |
1624 Java_ChromeBrowserProvider_onSearchTermChanged(env, obj.obj()); | 1624 Java_ChromeBrowserProvider_onSearchTermChanged(env, obj.obj()); |
1625 } | 1625 } |
1626 } | 1626 } |
OLD | NEW |