Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(59)

Side by Side Diff: android_webview/native/aw_contents.cc

Issue 176543004: aw: Split hardware rendering into HardwareRenderer (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: review comments Created 6 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « android_webview/native/aw_contents.h ('k') | android_webview/native/aw_dev_tools_server.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2012 The Chromium Authors. All rights reserved. 1 // Copyright 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 "android_webview/native/aw_contents.h" 5 #include "android_webview/native/aw_contents.h"
6 6
7 #include <limits> 7 #include <limits>
8 8
9 #include "android_webview/browser/aw_browser_context.h" 9 #include "android_webview/browser/aw_browser_context.h"
10 #include "android_webview/browser/aw_browser_main_parts.h" 10 #include "android_webview/browser/aw_browser_main_parts.h"
11 #include "android_webview/browser/aw_resource_context.h" 11 #include "android_webview/browser/aw_resource_context.h"
12 #include "android_webview/browser/browser_view_renderer.h"
12 #include "android_webview/browser/gpu_memory_buffer_factory_impl.h" 13 #include "android_webview/browser/gpu_memory_buffer_factory_impl.h"
13 #include "android_webview/browser/in_process_view_renderer.h"
14 #include "android_webview/browser/net_disk_cache_remover.h" 14 #include "android_webview/browser/net_disk_cache_remover.h"
15 #include "android_webview/browser/renderer_host/aw_resource_dispatcher_host_dele gate.h" 15 #include "android_webview/browser/renderer_host/aw_resource_dispatcher_host_dele gate.h"
16 #include "android_webview/common/aw_hit_test_data.h" 16 #include "android_webview/common/aw_hit_test_data.h"
17 #include "android_webview/common/devtools_instrumentation.h" 17 #include "android_webview/common/devtools_instrumentation.h"
18 #include "android_webview/native/aw_autofill_manager_delegate.h" 18 #include "android_webview/native/aw_autofill_manager_delegate.h"
19 #include "android_webview/native/aw_browser_dependency_factory.h" 19 #include "android_webview/native/aw_browser_dependency_factory.h"
20 #include "android_webview/native/aw_contents_client_bridge.h" 20 #include "android_webview/native/aw_contents_client_bridge.h"
21 #include "android_webview/native/aw_contents_io_thread_client_impl.h" 21 #include "android_webview/native/aw_contents_io_thread_client_impl.h"
22 #include "android_webview/native/aw_pdf_exporter.h" 22 #include "android_webview/native/aw_pdf_exporter.h"
23 #include "android_webview/native/aw_picture.h" 23 #include "android_webview/native/aw_picture.h"
(...skipping 154 matching lines...) Expand 10 before | Expand all | Expand 10 after
178 content::RenderViewHost::FromID(render_process_id, render_view_id); 178 content::RenderViewHost::FromID(render_process_id, render_view_id);
179 if (!rvh) return NULL; 179 if (!rvh) return NULL;
180 content::WebContents* web_contents = 180 content::WebContents* web_contents =
181 content::WebContents::FromRenderViewHost(rvh); 181 content::WebContents::FromRenderViewHost(rvh);
182 if (!web_contents) return NULL; 182 if (!web_contents) return NULL;
183 return FromWebContents(web_contents); 183 return FromWebContents(web_contents);
184 } 184 }
185 185
186 AwContents::AwContents(scoped_ptr<WebContents> web_contents) 186 AwContents::AwContents(scoped_ptr<WebContents> web_contents)
187 : web_contents_(web_contents.Pass()), 187 : web_contents_(web_contents.Pass()),
188 browser_view_renderer_(new InProcessViewRenderer( 188 browser_view_renderer_(this, web_contents_.get()) {
189 this,
190 web_contents_.get())) {
191 base::subtle::NoBarrier_AtomicIncrement(&g_instance_count, 1); 189 base::subtle::NoBarrier_AtomicIncrement(&g_instance_count, 1);
192 icon_helper_.reset(new IconHelper(web_contents_.get())); 190 icon_helper_.reset(new IconHelper(web_contents_.get()));
193 icon_helper_->SetListener(this); 191 icon_helper_->SetListener(this);
194 web_contents_->SetUserData(kAwContentsUserDataKey, 192 web_contents_->SetUserData(kAwContentsUserDataKey,
195 new AwContentsUserData(this)); 193 new AwContentsUserData(this));
196 render_view_host_ext_.reset( 194 render_view_host_ext_.reset(
197 new AwRenderViewHostExt(this, web_contents_.get())); 195 new AwRenderViewHostExt(this, web_contents_.get()));
198 196
199 AwAutofillManagerDelegate* autofill_manager_delegate = 197 AwAutofillManagerDelegate* autofill_manager_delegate =
200 AwAutofillManagerDelegate::FromWebContents(web_contents_.get()); 198 AwAutofillManagerDelegate::FromWebContents(web_contents_.get());
(...skipping 151 matching lines...) Expand 10 before | Expand all | Expand 10 after
352 return reinterpret_cast<jint>(&DrawGLFunction); 350 return reinterpret_cast<jint>(&DrawGLFunction);
353 } 351 }
354 352
355 // static 353 // static
356 jint GetNativeInstanceCount(JNIEnv* env, jclass) { 354 jint GetNativeInstanceCount(JNIEnv* env, jclass) {
357 return base::subtle::NoBarrier_Load(&g_instance_count); 355 return base::subtle::NoBarrier_Load(&g_instance_count);
358 } 356 }
359 357
360 jint AwContents::GetAwDrawGLViewContext(JNIEnv* env, jobject obj) { 358 jint AwContents::GetAwDrawGLViewContext(JNIEnv* env, jobject obj) {
361 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 359 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
362 return reinterpret_cast<jint>(browser_view_renderer_.get()); 360 return reinterpret_cast<jint>(&browser_view_renderer_);
363 } 361 }
364 362
365 namespace { 363 namespace {
366 void DocumentHasImagesCallback(const ScopedJavaGlobalRef<jobject>& message, 364 void DocumentHasImagesCallback(const ScopedJavaGlobalRef<jobject>& message,
367 bool has_images) { 365 bool has_images) {
368 Java_AwContents_onDocumentHasImagesResponse(AttachCurrentThread(), 366 Java_AwContents_onDocumentHasImagesResponse(AttachCurrentThread(),
369 has_images, 367 has_images,
370 message.obj()); 368 message.obj());
371 } 369 }
372 } // namespace 370 } // namespace
(...skipping 28 matching lines...) Expand all
401 target_path, 399 target_path,
402 base::Bind(&GenerateMHTMLCallback, base::Owned(j_callback), target_path)); 400 base::Bind(&GenerateMHTMLCallback, base::Owned(j_callback), target_path));
403 } 401 }
404 402
405 void AwContents::CreatePdfExporter(JNIEnv* env, 403 void AwContents::CreatePdfExporter(JNIEnv* env,
406 jobject obj, 404 jobject obj,
407 jobject pdfExporter) { 405 jobject pdfExporter) {
408 pdf_exporter_.reset( 406 pdf_exporter_.reset(
409 new AwPdfExporter(env, 407 new AwPdfExporter(env,
410 pdfExporter, 408 pdfExporter,
411 browser_view_renderer_.get(),
412 web_contents_.get())); 409 web_contents_.get()));
413 } 410 }
414 411
415 bool AwContents::OnReceivedHttpAuthRequest(const JavaRef<jobject>& handler, 412 bool AwContents::OnReceivedHttpAuthRequest(const JavaRef<jobject>& handler,
416 const std::string& host, 413 const std::string& host,
417 const std::string& realm) { 414 const std::string& realm) {
418 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 415 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
419 JNIEnv* env = AttachCurrentThread(); 416 JNIEnv* env = AttachCurrentThread();
420 ScopedJavaLocalRef<jobject> obj = java_ref_.get(env); 417 ScopedJavaLocalRef<jobject> obj = java_ref_.get(env);
421 if (obj.is_null()) 418 if (obj.is_null())
(...skipping 304 matching lines...) Expand 10 before | Expand all | Expand 10 after
726 data.type, 723 data.type,
727 extra_data_for_type.obj(), 724 extra_data_for_type.obj(),
728 href.obj(), 725 href.obj(),
729 anchor_text.obj(), 726 anchor_text.obj(),
730 img_src.obj()); 727 img_src.obj());
731 } 728 }
732 729
733 void AwContents::OnSizeChanged(JNIEnv* env, jobject obj, 730 void AwContents::OnSizeChanged(JNIEnv* env, jobject obj,
734 int w, int h, int ow, int oh) { 731 int w, int h, int ow, int oh) {
735 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 732 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
736 browser_view_renderer_->OnSizeChanged(w, h); 733 browser_view_renderer_.OnSizeChanged(w, h);
737 } 734 }
738 735
739 void AwContents::SetViewVisibility(JNIEnv* env, jobject obj, bool visible) { 736 void AwContents::SetViewVisibility(JNIEnv* env, jobject obj, bool visible) {
740 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 737 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
741 browser_view_renderer_->SetViewVisibility(visible); 738 browser_view_renderer_.SetViewVisibility(visible);
742 } 739 }
743 740
744 void AwContents::SetWindowVisibility(JNIEnv* env, jobject obj, bool visible) { 741 void AwContents::SetWindowVisibility(JNIEnv* env, jobject obj, bool visible) {
745 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 742 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
746 browser_view_renderer_->SetWindowVisibility(visible); 743 browser_view_renderer_.SetWindowVisibility(visible);
747 } 744 }
748 745
749 void AwContents::SetIsPaused(JNIEnv* env, jobject obj, bool paused) { 746 void AwContents::SetIsPaused(JNIEnv* env, jobject obj, bool paused) {
750 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 747 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
751 browser_view_renderer_->SetIsPaused(paused); 748 browser_view_renderer_.SetIsPaused(paused);
752 ContentViewCore* cvc = 749 ContentViewCore* cvc =
753 ContentViewCore::FromWebContents(web_contents_.get()); 750 ContentViewCore::FromWebContents(web_contents_.get());
754 if (cvc) { 751 if (cvc) {
755 cvc->PauseOrResumeGeolocation(paused); 752 cvc->PauseOrResumeGeolocation(paused);
756 if (paused) { 753 if (paused) {
757 cvc->PauseVideo(); 754 cvc->PauseVideo();
758 } 755 }
759 } 756 }
760 } 757 }
761 758
762 void AwContents::OnAttachedToWindow(JNIEnv* env, jobject obj, int w, int h) { 759 void AwContents::OnAttachedToWindow(JNIEnv* env, jobject obj, int w, int h) {
763 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 760 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
764 browser_view_renderer_->OnAttachedToWindow(w, h); 761 browser_view_renderer_.OnAttachedToWindow(w, h);
765 } 762 }
766 763
767 void AwContents::OnDetachedFromWindow(JNIEnv* env, jobject obj) { 764 void AwContents::OnDetachedFromWindow(JNIEnv* env, jobject obj) {
768 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 765 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
769 browser_view_renderer_->OnDetachedFromWindow(); 766 browser_view_renderer_.OnDetachedFromWindow();
770 } 767 }
771 768
772 base::android::ScopedJavaLocalRef<jbyteArray> 769 base::android::ScopedJavaLocalRef<jbyteArray>
773 AwContents::GetOpaqueState(JNIEnv* env, jobject obj) { 770 AwContents::GetOpaqueState(JNIEnv* env, jobject obj) {
774 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 771 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
775 // Required optimization in WebViewClassic to not save any state if 772 // Required optimization in WebViewClassic to not save any state if
776 // there has been no navigations. 773 // there has been no navigations.
777 if (!web_contents_->GetController().GetEntryCount()) 774 if (!web_contents_->GetController().GetEntryCount())
778 return ScopedJavaLocalRef<jbyteArray>(); 775 return ScopedJavaLocalRef<jbyteArray>();
779 776
(...skipping 25 matching lines...) Expand all
805 jobject obj, 802 jobject obj,
806 jobject canvas, 803 jobject canvas,
807 jboolean is_hardware_accelerated, 804 jboolean is_hardware_accelerated,
808 jint scroll_x, 805 jint scroll_x,
809 jint scroll_y, 806 jint scroll_y,
810 jint clip_left, 807 jint clip_left,
811 jint clip_top, 808 jint clip_top,
812 jint clip_right, 809 jint clip_right,
813 jint clip_bottom) { 810 jint clip_bottom) {
814 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 811 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
815 return browser_view_renderer_->OnDraw( 812 return browser_view_renderer_.OnDraw(
816 canvas, 813 canvas,
817 is_hardware_accelerated, 814 is_hardware_accelerated,
818 gfx::Vector2d(scroll_x, scroll_y), 815 gfx::Vector2d(scroll_x, scroll_y),
819 gfx::Rect( 816 gfx::Rect(
820 clip_left, clip_top, clip_right - clip_left, clip_bottom - clip_top)); 817 clip_left, clip_top, clip_right - clip_left, clip_bottom - clip_top));
821 } 818 }
822 819
823 void AwContents::SetGlobalVisibleRect(JNIEnv* env, 820 void AwContents::SetGlobalVisibleRect(JNIEnv* env,
824 jobject obj, 821 jobject obj,
825 jint visible_left, 822 jint visible_left,
826 jint visible_top, 823 jint visible_top,
827 jint visible_right, 824 jint visible_right,
828 jint visible_bottom) { 825 jint visible_bottom) {
829 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 826 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
830 browser_view_renderer_->SetGlobalVisibleRect( 827 browser_view_renderer_.SetGlobalVisibleRect(
831 gfx::Rect(visible_left, 828 gfx::Rect(visible_left,
832 visible_top, 829 visible_top,
833 visible_right - visible_left, 830 visible_right - visible_left,
834 visible_bottom - visible_top)); 831 visible_bottom - visible_top));
835 } 832 }
836 833
837 void AwContents::SetPendingWebContentsForPopup( 834 void AwContents::SetPendingWebContentsForPopup(
838 scoped_ptr<content::WebContents> pending) { 835 scoped_ptr<content::WebContents> pending) {
839 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 836 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
840 if (pending_contents_.get()) { 837 if (pending_contents_.get()) {
(...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after
934 void AwContents::DidOverscroll(gfx::Vector2d overscroll_delta) { 931 void AwContents::DidOverscroll(gfx::Vector2d overscroll_delta) {
935 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 932 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
936 JNIEnv* env = AttachCurrentThread(); 933 JNIEnv* env = AttachCurrentThread();
937 ScopedJavaLocalRef<jobject> obj = java_ref_.get(env); 934 ScopedJavaLocalRef<jobject> obj = java_ref_.get(env);
938 if (obj.is_null()) 935 if (obj.is_null())
939 return; 936 return;
940 Java_AwContents_didOverscroll( 937 Java_AwContents_didOverscroll(
941 env, obj.obj(), overscroll_delta.x(), overscroll_delta.y()); 938 env, obj.obj(), overscroll_delta.x(), overscroll_delta.y());
942 } 939 }
943 940
941 const BrowserViewRenderer* AwContents::GetBrowserViewRenderer() const {
942 return &browser_view_renderer_;
943 }
944
944 void AwContents::SetDipScale(JNIEnv* env, jobject obj, jfloat dip_scale) { 945 void AwContents::SetDipScale(JNIEnv* env, jobject obj, jfloat dip_scale) {
945 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 946 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
946 browser_view_renderer_->SetDipScale(dip_scale); 947 browser_view_renderer_.SetDipScale(dip_scale);
947 } 948 }
948 949
949 void AwContents::SetFixedLayoutSize(JNIEnv* env, 950 void AwContents::SetFixedLayoutSize(JNIEnv* env,
950 jobject obj, 951 jobject obj,
951 jint width_dip, 952 jint width_dip,
952 jint height_dip) { 953 jint height_dip) {
953 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 954 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
954 render_view_host_ext_->SetFixedLayoutSize(gfx::Size(width_dip, height_dip)); 955 render_view_host_ext_->SetFixedLayoutSize(gfx::Size(width_dip, height_dip));
955 } 956 }
956 957
957 void AwContents::ScrollTo(JNIEnv* env, jobject obj, jint x, jint y) { 958 void AwContents::ScrollTo(JNIEnv* env, jobject obj, jint x, jint y) {
958 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 959 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
959 browser_view_renderer_->ScrollTo(gfx::Vector2d(x, y)); 960 browser_view_renderer_.ScrollTo(gfx::Vector2d(x, y));
960 } 961 }
961 962
962 void AwContents::OnWebLayoutPageScaleFactorChanged(float page_scale_factor) { 963 void AwContents::OnWebLayoutPageScaleFactorChanged(float page_scale_factor) {
963 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 964 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
964 JNIEnv* env = AttachCurrentThread(); 965 JNIEnv* env = AttachCurrentThread();
965 ScopedJavaLocalRef<jobject> obj = java_ref_.get(env); 966 ScopedJavaLocalRef<jobject> obj = java_ref_.get(env);
966 if (obj.is_null()) 967 if (obj.is_null())
967 return; 968 return;
968 Java_AwContents_onWebLayoutPageScaleFactorChanged(env, obj.obj(), 969 Java_AwContents_onWebLayoutPageScaleFactorChanged(env, obj.obj(),
969 page_scale_factor); 970 page_scale_factor);
970 } 971 }
971 972
972 void AwContents::OnWebLayoutContentsSizeChanged( 973 void AwContents::OnWebLayoutContentsSizeChanged(
973 const gfx::Size& contents_size) { 974 const gfx::Size& contents_size) {
974 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 975 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
975 JNIEnv* env = AttachCurrentThread(); 976 JNIEnv* env = AttachCurrentThread();
976 ScopedJavaLocalRef<jobject> obj = java_ref_.get(env); 977 ScopedJavaLocalRef<jobject> obj = java_ref_.get(env);
977 if (obj.is_null()) 978 if (obj.is_null())
978 return; 979 return;
979 Java_AwContents_onWebLayoutContentsSizeChanged( 980 Java_AwContents_onWebLayoutContentsSizeChanged(
980 env, obj.obj(), contents_size.width(), contents_size.height()); 981 env, obj.obj(), contents_size.width(), contents_size.height());
981 } 982 }
982 983
983 jlong AwContents::CapturePicture(JNIEnv* env, 984 jlong AwContents::CapturePicture(JNIEnv* env,
984 jobject obj, 985 jobject obj,
985 int width, 986 int width,
986 int height) { 987 int height) {
987 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 988 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
988 return reinterpret_cast<intptr_t>(new AwPicture( 989 return reinterpret_cast<intptr_t>(
989 browser_view_renderer_->CapturePicture(width, height))); 990 new AwPicture(browser_view_renderer_.CapturePicture(width, height)));
990 } 991 }
991 992
992 void AwContents::EnableOnNewPicture(JNIEnv* env, 993 void AwContents::EnableOnNewPicture(JNIEnv* env,
993 jobject obj, 994 jobject obj,
994 jboolean enabled) { 995 jboolean enabled) {
995 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 996 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
996 browser_view_renderer_->EnableOnNewPicture(enabled); 997 browser_view_renderer_.EnableOnNewPicture(enabled);
997 } 998 }
998 999
999 void AwContents::ClearView(JNIEnv* env, jobject obj) { 1000 void AwContents::ClearView(JNIEnv* env, jobject obj) {
1000 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 1001 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
1001 browser_view_renderer_->ClearView(); 1002 browser_view_renderer_.ClearView();
1002 } 1003 }
1003 1004
1004 void AwContents::SetExtraHeadersForUrl(JNIEnv* env, jobject obj, 1005 void AwContents::SetExtraHeadersForUrl(JNIEnv* env, jobject obj,
1005 jstring url, jstring jextra_headers) { 1006 jstring url, jstring jextra_headers) {
1006 std::string extra_headers; 1007 std::string extra_headers;
1007 if (jextra_headers) 1008 if (jextra_headers)
1008 extra_headers = ConvertJavaStringToUTF8(env, jextra_headers); 1009 extra_headers = ConvertJavaStringToUTF8(env, jextra_headers);
1009 AwResourceContext* resource_context = static_cast<AwResourceContext*>( 1010 AwResourceContext* resource_context = static_cast<AwResourceContext*>(
1010 AwBrowserContext::FromWebContents(web_contents_.get())-> 1011 AwBrowserContext::FromWebContents(web_contents_.get())->
1011 GetResourceContext()); 1012 GetResourceContext());
1012 resource_context->SetExtraHeaders(GURL(ConvertJavaStringToUTF8(env, url)), 1013 resource_context->SetExtraHeaders(GURL(ConvertJavaStringToUTF8(env, url)),
1013 extra_headers); 1014 extra_headers);
1014 } 1015 }
1015 1016
1016 void AwContents::SetJsOnlineProperty(JNIEnv* env, 1017 void AwContents::SetJsOnlineProperty(JNIEnv* env,
1017 jobject obj, 1018 jobject obj,
1018 jboolean network_up) { 1019 jboolean network_up) {
1019 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 1020 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
1020 render_view_host_ext_->SetJsOnlineProperty(network_up); 1021 render_view_host_ext_->SetJsOnlineProperty(network_up);
1021 } 1022 }
1022 1023
1023 void AwContents::TrimMemory(JNIEnv* env, jobject obj, jint level) { 1024 void AwContents::TrimMemory(JNIEnv* env, jobject obj, jint level) {
1024 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 1025 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
1025 browser_view_renderer_->TrimMemory(level); 1026 browser_view_renderer_.TrimMemory(level);
1026 } 1027 }
1027 1028
1028 void SetShouldDownloadFavicons(JNIEnv* env, jclass jclazz) { 1029 void SetShouldDownloadFavicons(JNIEnv* env, jclass jclazz) {
1029 g_should_download_favicons = true; 1030 g_should_download_favicons = true;
1030 } 1031 }
1031 1032
1032 } // namespace android_webview 1033 } // namespace android_webview
OLDNEW
« no previous file with comments | « android_webview/native/aw_contents.h ('k') | android_webview/native/aw_dev_tools_server.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698