| 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 |