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

Side by Side Diff: android_webview/java/src/org/chromium/android_webview/AwContentsClient.java

Issue 52463004: Block media loading when AwSettings.setBlockNetworkLoads is true. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 7 years, 1 month 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
OLDNEW
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 package org.chromium.android_webview; 5 package org.chromium.android_webview;
6 6
7 import android.content.Context; 7 import android.content.Context;
8 import android.content.pm.ActivityInfo; 8 import android.content.pm.ActivityInfo;
9 import android.graphics.Bitmap; 9 import android.graphics.Bitmap;
10 import android.graphics.Picture; 10 import android.graphics.Picture;
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
48 private AwWebContentsObserver mWebContentsObserver; 48 private AwWebContentsObserver mWebContentsObserver;
49 49
50 private AwContentViewClient mContentViewClient = new AwContentViewClient(); 50 private AwContentViewClient mContentViewClient = new AwContentViewClient();
51 51
52 // Last background color reported from the renderer. Holds the sentinal valu e INVALID_COLOR 52 // Last background color reported from the renderer. Holds the sentinal valu e INVALID_COLOR
53 // if not valid. 53 // if not valid.
54 private int mCachedRendererBackgroundColor = INVALID_COLOR; 54 private int mCachedRendererBackgroundColor = INVALID_COLOR;
55 55
56 private static final int INVALID_COLOR = 0; 56 private static final int INVALID_COLOR = 0;
57 57
58 private AwSettings mSettings;
joth 2013/11/01 19:37:33 probably cleaner to push this in as a member of th
59
58 public AwContentsClient() { 60 public AwContentsClient() {
59 this(Looper.myLooper()); 61 this(Looper.myLooper());
60 } 62 }
61 63
62 // Alllow injection of the callback thread, for testing. 64 // Alllow injection of the callback thread, for testing.
63 public AwContentsClient(Looper looper) { 65 public AwContentsClient(Looper looper) {
64 mCallbackHelper = new AwContentsClientCallbackHelper(looper, this); 66 mCallbackHelper = new AwContentsClientCallbackHelper(looper, this);
65 } 67 }
66 68
67 class AwWebContentsObserver extends WebContentsObserverAndroid { 69 class AwWebContentsObserver extends WebContentsObserverAndroid {
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after
128 130
129 @Override 131 @Override
130 public boolean shouldOverrideKeyEvent(KeyEvent event) { 132 public boolean shouldOverrideKeyEvent(KeyEvent event) {
131 return AwContentsClient.this.shouldOverrideKeyEvent(event); 133 return AwContentsClient.this.shouldOverrideKeyEvent(event);
132 } 134 }
133 135
134 @Override 136 @Override
135 final public ContentVideoViewClient getContentVideoViewClient() { 137 final public ContentVideoViewClient getContentVideoViewClient() {
136 return new AwContentVideoViewClient(); 138 return new AwContentVideoViewClient();
137 } 139 }
140
141 @Override
142 public boolean shouldBlockMediaRequest(String url) {
143 if (mSettings != null)
qinmin 2013/10/31 16:41:26 nit: I thought java coding style needs {} for if s
Ben Murdoch 2013/10/31 17:26:56 nit: could make this one line return mSettings ==
144 return mSettings.getBlockNetworkLoads();
145 else
146 return true;
mkosiba (inactive) 2013/10/31 17:05:14 why is blocking the default? Did WebViewClassic be
joth 2013/11/01 19:37:33 I think the choice is arbitrary - it's not meaning
147 }
138 } 148 }
139 149
140 final void installWebContentsObserver(ContentViewCore contentViewCore) { 150 final void installWebContentsObserver(ContentViewCore contentViewCore, AwSet tings settings) {
mkosiba (inactive) 2013/10/31 17:05:14 method doesn't do what it says anymore. Maybe add
141 if (mWebContentsObserver != null) { 151 if (mWebContentsObserver != null) {
142 mWebContentsObserver.detachFromWebContents(); 152 mWebContentsObserver.detachFromWebContents();
143 } 153 }
144 mWebContentsObserver = new AwWebContentsObserver(contentViewCore); 154 mWebContentsObserver = new AwWebContentsObserver(contentViewCore);
155 mSettings = settings;
145 } 156 }
146 157
147 private class AwContentVideoViewClient implements ContentVideoViewClient { 158 private class AwContentVideoViewClient implements ContentVideoViewClient {
148 @Override 159 @Override
149 public void onShowCustomView(View view) { 160 public void onShowCustomView(View view) {
150 WebChromeClient.CustomViewCallback cb = new WebChromeClient.CustomVi ewCallback() { 161 WebChromeClient.CustomViewCallback cb = new WebChromeClient.CustomVi ewCallback() {
151 @Override 162 @Override
152 public void onCustomViewHidden() { 163 public void onCustomViewHidden() {
153 ContentVideoView contentVideoView = ContentVideoView.getCont entVideoView(); 164 ContentVideoView contentVideoView = ContentVideoView.getCont entVideoView();
154 if (contentVideoView != null) 165 if (contentVideoView != null)
(...skipping 142 matching lines...) Expand 10 before | Expand all | Expand 10 after
297 public abstract void onFindResultReceived(int activeMatchOrdinal, int number OfMatches, 308 public abstract void onFindResultReceived(int activeMatchOrdinal, int number OfMatches,
298 boolean isDoneCounting); 309 boolean isDoneCounting);
299 310
300 /** 311 /**
301 * Called whenever there is a new content picture available. 312 * Called whenever there is a new content picture available.
302 * @param picture New picture. 313 * @param picture New picture.
303 */ 314 */
304 public abstract void onNewPicture(Picture picture); 315 public abstract void onNewPicture(Picture picture);
305 316
306 } 317 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698