From 592b2a65b00f699f133e6fc898cbe76dd91e03ac Mon Sep 17 00:00:00 2001 From: Teng-Hui Zhu Date: Fri, 10 Jun 2011 17:45:39 -0700 Subject: Fix a NPE if the Chrome Client is not setup This can happen when applications are using WebView to show HTML5 video in full screen mode while not setting up WebChromeClient correctly. Change-Id: I6575e3364f04f6eaf800f854d60992fe6c3be651 --- core/java/android/webkit/HTML5VideoFullScreen.java | 23 +++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) (limited to 'core/java/android/webkit/HTML5VideoFullScreen.java') diff --git a/core/java/android/webkit/HTML5VideoFullScreen.java b/core/java/android/webkit/HTML5VideoFullScreen.java index 44229a42be9a..4cae9d80d614 100644 --- a/core/java/android/webkit/HTML5VideoFullScreen.java +++ b/core/java/android/webkit/HTML5VideoFullScreen.java @@ -253,18 +253,19 @@ public class HTML5VideoFullScreen extends HTML5VideoView mLayout.setVisibility(View.VISIBLE); WebChromeClient client = webView.getWebChromeClient(); - client.onShowCustomView(mLayout, mCallback); - // Plugins like Flash will draw over the video so hide - // them while we're playing. - if (webView.getViewManager() != null) - webView.getViewManager().hideAll(); - - mProgressView = client.getVideoLoadingProgressView(); - if (mProgressView != null) { - mLayout.addView(mProgressView, layoutParams); - mProgressView.setVisibility(View.VISIBLE); + if (client != null) { + client.onShowCustomView(mLayout, mCallback); + // Plugins like Flash will draw over the video so hide + // them while we're playing. + if (webView.getViewManager() != null) + webView.getViewManager().hideAll(); + + mProgressView = client.getVideoLoadingProgressView(); + if (mProgressView != null) { + mLayout.addView(mProgressView, layoutParams); + mProgressView.setVisibility(View.VISIBLE); + } } - } /** -- cgit v1.2.3