Navigation transitions: Exposed "insertCSS" to WebContents

The navigation transition needs to apply some styles during the transition, so we need to expose this call to java.

Design doc: https://docs.google.com/a/chromium.org/document/d/17jg1RRL3RI969cLwbKBIcoGDsPwqaEdBxafGNYGwiY4/edit# 
Implementation details: https://docs.google.com/a/chromium.org/document/d/1kREPtFJaeLoDKwrfmrYTD7DHCdxX1RzFBga2gNY8lyE/edit#heading=h.bng2kpmyvxq5
BUG=370696

Review URL: https://codereview.chromium.org/375073002

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@282504 0039d316-1c4b-4281-b951-d872f2087c98
parent eefe5ace
...@@ -72,4 +72,9 @@ void WebContentsAndroid::Stop(JNIEnv* env, jobject obj) { ...@@ -72,4 +72,9 @@ void WebContentsAndroid::Stop(JNIEnv* env, jobject obj) {
web_contents_->Stop(); web_contents_->Stop();
} }
void WebContentsAndroid::InsertCSS(
JNIEnv* env, jobject jobj, jstring jcss) {
web_contents_->InsertCSS(base::android::ConvertJavaStringToUTF8(env, jcss));
}
} // namespace content } // namespace content
...@@ -40,6 +40,8 @@ class CONTENT_EXPORT WebContentsAndroid ...@@ -40,6 +40,8 @@ class CONTENT_EXPORT WebContentsAndroid
jobject obj) const; jobject obj) const;
void Stop(JNIEnv* env, jobject obj); void Stop(JNIEnv* env, jobject obj);
void InsertCSS(JNIEnv* env, jobject jobj, jstring jcss);
private: private:
WebContents* web_contents_; WebContents* web_contents_;
NavigationControllerAndroid navigation_controller_; NavigationControllerAndroid navigation_controller_;
......
...@@ -64,7 +64,14 @@ import org.chromium.content_public.browser.WebContents; ...@@ -64,7 +64,14 @@ import org.chromium.content_public.browser.WebContents;
nativeStop(mNativeWebContentsAndroid); nativeStop(mNativeWebContentsAndroid);
} }
@Override
public void insertCSS(String css) {
if (mNativeWebContentsAndroid == 0) return;
nativeInsertCSS(mNativeWebContentsAndroid, css);
}
private native String nativeGetTitle(long nativeWebContentsAndroid); private native String nativeGetTitle(long nativeWebContentsAndroid);
private native String nativeGetVisibleURL(long nativeWebContentsAndroid); private native String nativeGetVisibleURL(long nativeWebContentsAndroid);
private native void nativeStop(long nativeWebContentsAndroid); private native void nativeStop(long nativeWebContentsAndroid);
private native void nativeInsertCSS(long nativeWebContentsAndroid, String css);
} }
...@@ -27,4 +27,9 @@ public interface WebContents { ...@@ -27,4 +27,9 @@ public interface WebContents {
* Stop any pending navigation. * Stop any pending navigation.
*/ */
void stop(); void stop();
/**
* Inserts css into main frame's document.
*/
void insertCSS(String css);
} }
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment