Merge "Reload page when A11y is on and the JavaScript state changes." into jb-mr1-dev
This commit is contained in:
@@ -279,6 +279,7 @@ class AccessibilityInjector {
|
||||
}
|
||||
|
||||
if (!shouldInjectJavaScript(url)) {
|
||||
mAccessibilityScriptInjected = false;
|
||||
toggleFallbackAccessibilityInjector(true);
|
||||
return;
|
||||
}
|
||||
@@ -291,6 +292,23 @@ class AccessibilityInjector {
|
||||
mAccessibilityScriptInjected = true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Adjusts the accessibility injection state to reflect changes in the
|
||||
* JavaScript enabled state.
|
||||
*
|
||||
* @param enabled Whether JavaScript is enabled.
|
||||
*/
|
||||
public void updateJavaScriptEnabled(boolean enabled) {
|
||||
if (enabled) {
|
||||
addAccessibilityApisIfNecessary();
|
||||
} else {
|
||||
removeAccessibilityApisIfNecessary();
|
||||
}
|
||||
|
||||
// We have to reload the page after adding or removing APIs.
|
||||
mWebView.reload();
|
||||
}
|
||||
|
||||
/**
|
||||
* Toggles the non-JavaScript method for handling accessibility.
|
||||
*
|
||||
|
||||
@@ -1122,6 +1122,7 @@ public class WebSettingsClassic extends WebSettings {
|
||||
if (mJavaScriptEnabled != flag) {
|
||||
mJavaScriptEnabled = flag;
|
||||
postSync();
|
||||
mWebView.updateJavaScriptEnabled(flag);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1633,6 +1633,12 @@ public final class WebViewClassic implements WebViewProvider, WebViewProvider.Sc
|
||||
mZoomManager.updateMultiTouchSupport(context);
|
||||
}
|
||||
|
||||
void updateJavaScriptEnabled(boolean enabled) {
|
||||
if (isAccessibilityInjectionEnabled()) {
|
||||
getAccessibilityInjector().updateJavaScriptEnabled(enabled);
|
||||
}
|
||||
}
|
||||
|
||||
private void init() {
|
||||
OnTrimMemoryListener.init(mContext);
|
||||
mWebView.setWillNotDraw(false);
|
||||
|
||||
Reference in New Issue
Block a user