ContentSettingsAdapter.java revision d7ad43dc1ed52dc48532738c950ea825e9b7def0
146f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)/*
246f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles) * Copyright (C) 2012 The Android Open Source Project
346f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles) *
446f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles) * Licensed under the Apache License, Version 2.0 (the "License");
546f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles) * you may not use this file except in compliance with the License.
646f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles) * You may obtain a copy of the License at
746f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles) *
846f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles) *      http://www.apache.org/licenses/LICENSE-2.0
946f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles) *
1046f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles) * Unless required by applicable law or agreed to in writing, software
1146f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles) * distributed under the License is distributed on an "AS IS" BASIS,
1246f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles) * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1346f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles) * See the License for the specific language governing permissions and
1446f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles) * limitations under the License.
1546f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles) */
1646f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)
1746f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)package com.android.webview.chromium;
1846f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)
19ba03529fdf8d5cfed0e2d8c0fe81eb1028a5b4caJonathan Dixonimport android.util.Log;
20d7ad43dc1ed52dc48532738c950ea825e9b7def0Mikhail Naganovimport android.webkit.DebugFlags;
2146f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)import android.webkit.WebSettings.LayoutAlgorithm;
2246f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)import android.webkit.WebSettings.PluginState;
2346f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)import android.webkit.WebSettings.RenderPriority;
2446f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)import android.webkit.WebSettings.TextSize;
2546f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)import android.webkit.WebSettings.ZoomDensity;
2646f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)
2746f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)import org.chromium.android_webview.AwSettings;
2846f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)
2946f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)public class ContentSettingsAdapter extends android.webkit.WebSettings {
30ba03529fdf8d5cfed0e2d8c0fe81eb1028a5b4caJonathan Dixon
31d7ad43dc1ed52dc48532738c950ea825e9b7def0Mikhail Naganov    private static final String LOGTAG = ContentSettingsAdapter.class.getSimpleName();
32ba03529fdf8d5cfed0e2d8c0fe81eb1028a5b4caJonathan Dixon
33420c0da3a4e06e1ac5574091e7c9c286ef012369Mikhail Naganov    private AwSettings mAwSettings;
3446f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)
35420c0da3a4e06e1ac5574091e7c9c286ef012369Mikhail Naganov    public ContentSettingsAdapter(AwSettings awSettings) {
3646f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)        mAwSettings = awSettings;
3746f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    }
3846f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)
39fa14014161c4f0bc0e99d926cacb7071b8d903efBen Murdoch    AwSettings getAwSettings() {
40fa14014161c4f0bc0e99d926cacb7071b8d903efBen Murdoch        return mAwSettings;
41fa14014161c4f0bc0e99d926cacb7071b8d903efBen Murdoch    }
42fa14014161c4f0bc0e99d926cacb7071b8d903efBen Murdoch
4346f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    @Override
4446f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    @Deprecated
4546f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    public void setNavDump(boolean enabled) {
4671678822f1ec93ebcee1e917fa5b52ff37ce65d4Jonathan Dixon        // Intentional no-op.
4746f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    }
4846f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)
4946f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    @Override
5046f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    @Deprecated
5146f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    public boolean getNavDump() {
5271678822f1ec93ebcee1e917fa5b52ff37ce65d4Jonathan Dixon        // Intentional no-op.
5346f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)        return false;
5446f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    }
5546f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)
5646f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    @Override
5746f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    public void setSupportZoom(boolean support) {
58d7ad43dc1ed52dc48532738c950ea825e9b7def0Mikhail Naganov        if (DebugFlags.TRACE_API) Log.d(LOGTAG, "setSupportZoom=" + support);
59420c0da3a4e06e1ac5574091e7c9c286ef012369Mikhail Naganov        mAwSettings.setSupportZoom(support);
6046f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    }
6146f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)
6246f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    @Override
6346f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    public boolean supportZoom() {
64420c0da3a4e06e1ac5574091e7c9c286ef012369Mikhail Naganov        return mAwSettings.supportZoom();
6546f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    }
6646f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)
6746f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    @Override
6846f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    public void setBuiltInZoomControls(boolean enabled) {
69d7ad43dc1ed52dc48532738c950ea825e9b7def0Mikhail Naganov        if (DebugFlags.TRACE_API) Log.d(LOGTAG, "setBuiltInZoomControls=" + enabled);
70420c0da3a4e06e1ac5574091e7c9c286ef012369Mikhail Naganov        mAwSettings.setBuiltInZoomControls(enabled);
7146f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    }
7246f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)
7346f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    @Override
7446f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    public boolean getBuiltInZoomControls() {
75420c0da3a4e06e1ac5574091e7c9c286ef012369Mikhail Naganov        return mAwSettings.getBuiltInZoomControls();
7646f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    }
7746f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)
7846f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    @Override
7946f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    public void setDisplayZoomControls(boolean enabled) {
80d7ad43dc1ed52dc48532738c950ea825e9b7def0Mikhail Naganov        if (DebugFlags.TRACE_API) Log.d(LOGTAG, "setDisplayZoomControls=" + enabled);
81420c0da3a4e06e1ac5574091e7c9c286ef012369Mikhail Naganov        mAwSettings.setDisplayZoomControls(enabled);
8246f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    }
8346f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)
8446f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    @Override
8546f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    public boolean getDisplayZoomControls() {
86420c0da3a4e06e1ac5574091e7c9c286ef012369Mikhail Naganov        return mAwSettings.getDisplayZoomControls();
8746f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    }
8846f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)
8946f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    @Override
9046f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    public void setAllowFileAccess(boolean allow) {
91d7ad43dc1ed52dc48532738c950ea825e9b7def0Mikhail Naganov        if (DebugFlags.TRACE_API) Log.d(LOGTAG, "setAllowFileAccess=" + allow);
9246f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)        mAwSettings.setAllowFileAccess(allow);
9346f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    }
9446f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)
9546f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    @Override
9646f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    public boolean getAllowFileAccess() {
9746f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)        return mAwSettings.getAllowFileAccess();
9846f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    }
9946f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)
10046f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    @Override
10146f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    public void setAllowContentAccess(boolean allow) {
102d7ad43dc1ed52dc48532738c950ea825e9b7def0Mikhail Naganov        if (DebugFlags.TRACE_API) Log.d(LOGTAG, "setAllowContentAccess=" + allow);
10346f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)        mAwSettings.setAllowContentAccess(allow);
10446f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    }
10546f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)
10646f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    @Override
10746f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    public boolean getAllowContentAccess() {
10846f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)        return mAwSettings.getAllowContentAccess();
10946f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    }
11046f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)
11146f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    @Override
11246f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    public void setLoadWithOverviewMode(boolean overview) {
113d7ad43dc1ed52dc48532738c950ea825e9b7def0Mikhail Naganov        if (DebugFlags.TRACE_API) Log.d(LOGTAG, "setLoadWithOverviewMode=" + overview);
114d6b56ff89338d0b3a6ba0cb413b1fe559d6284e0Mikhail Naganov        mAwSettings.setLoadWithOverviewMode(overview);
11546f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    }
11646f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)
11746f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    @Override
11846f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    public boolean getLoadWithOverviewMode() {
119d6b56ff89338d0b3a6ba0cb413b1fe559d6284e0Mikhail Naganov        return mAwSettings.getLoadWithOverviewMode();
12046f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    }
12146f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)
12246f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    @Override
12346f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    public void setEnableSmoothTransition(boolean enable) {
12471678822f1ec93ebcee1e917fa5b52ff37ce65d4Jonathan Dixon        // Intentional no-op.
12546f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    }
12646f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)
12746f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    @Override
12846f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    public boolean enableSmoothTransition() {
12971678822f1ec93ebcee1e917fa5b52ff37ce65d4Jonathan Dixon        // Intentional no-op.
13046f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)        return false;
13146f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    }
13246f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)
13346f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    @Override
13446f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    public void setUseWebViewBackgroundForOverscrollBackground(boolean view) {
13571678822f1ec93ebcee1e917fa5b52ff37ce65d4Jonathan Dixon        // Intentional no-op.
13646f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    }
13746f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)
13846f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    @Override
13946f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    public boolean getUseWebViewBackgroundForOverscrollBackground() {
14071678822f1ec93ebcee1e917fa5b52ff37ce65d4Jonathan Dixon        // Intentional no-op.
14146f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)        return false;
14246f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    }
14346f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)
14446f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    @Override
14546f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    public void setSaveFormData(boolean save) {
146d7ad43dc1ed52dc48532738c950ea825e9b7def0Mikhail Naganov        if (DebugFlags.TRACE_API) Log.d(LOGTAG, "setSaveFormData=" + save);
147f2036938bc8f731e42e69d1956a490b607cf865fSelim Gurun        mAwSettings.setSaveFormData(save);
14846f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    }
14946f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)
15046f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    @Override
15146f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    public boolean getSaveFormData() {
152f2036938bc8f731e42e69d1956a490b607cf865fSelim Gurun        return mAwSettings.getSaveFormData();
15346f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    }
15446f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)
15546f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    @Override
15646f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    public void setSavePassword(boolean save) {
15794fff0308975ad0d5b19c744d4b3a5a700692638Ben Murdoch        // Intentional no-op.
15846f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    }
15946f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)
16046f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    @Override
16146f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    public boolean getSavePassword() {
16294fff0308975ad0d5b19c744d4b3a5a700692638Ben Murdoch        // Intentional no-op.
16346f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)        return false;
16446f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    }
16546f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)
16646f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    @Override
16746f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    public synchronized void setTextZoom(int textZoom) {
168d7ad43dc1ed52dc48532738c950ea825e9b7def0Mikhail Naganov        if (DebugFlags.TRACE_API) Log.d(LOGTAG, "setTextZoom=" + textZoom);
169d6b56ff89338d0b3a6ba0cb413b1fe559d6284e0Mikhail Naganov        mAwSettings.setTextZoom(textZoom);
17046f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    }
17146f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)
17246f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    @Override
17346f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    public synchronized int getTextZoom() {
174d6b56ff89338d0b3a6ba0cb413b1fe559d6284e0Mikhail Naganov        return mAwSettings.getTextZoom();
17546f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    }
17646f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)
17746f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    @Override
17846f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    public void setDefaultZoom(ZoomDensity zoom) {
179a9381cc42091886e65a8875d66ac682e77787790Mikhail Naganov        if (zoom != ZoomDensity.MEDIUM) {
180d7ad43dc1ed52dc48532738c950ea825e9b7def0Mikhail Naganov            Log.w(LOGTAG, "setDefaultZoom not supported, zoom=" + zoom);
181a9381cc42091886e65a8875d66ac682e77787790Mikhail Naganov        }
18246f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    }
18346f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)
18446f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    @Override
18546f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    public ZoomDensity getDefaultZoom() {
186a9381cc42091886e65a8875d66ac682e77787790Mikhail Naganov        // Intentional no-op.
187a9381cc42091886e65a8875d66ac682e77787790Mikhail Naganov        return ZoomDensity.MEDIUM;
18846f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    }
18946f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)
19046f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    @Override
19146f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    public void setLightTouchEnabled(boolean enabled) {
192bb0c065b8521a51a13127d917970f5b91205ac40Selim Gurun        // Intentional no-op.
19346f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    }
19446f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)
19546f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    @Override
19646f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    public boolean getLightTouchEnabled() {
197bb0c065b8521a51a13127d917970f5b91205ac40Selim Gurun        // Intentional no-op.
19846f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)        return false;
19946f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    }
20046f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)
20146f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    @Override
20246f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    public synchronized void setUserAgent(int ua) {
203ba03529fdf8d5cfed0e2d8c0fe81eb1028a5b4caJonathan Dixon        // Minimal implementation for backwards compatibility: just supports resetting to default.
204ba03529fdf8d5cfed0e2d8c0fe81eb1028a5b4caJonathan Dixon        if (ua == 0) {
205ba03529fdf8d5cfed0e2d8c0fe81eb1028a5b4caJonathan Dixon            setUserAgentString(null);
206ba03529fdf8d5cfed0e2d8c0fe81eb1028a5b4caJonathan Dixon        } else {
207d7ad43dc1ed52dc48532738c950ea825e9b7def0Mikhail Naganov            Log.w(LOGTAG, "setUserAgent not supported, ua=" + ua);
208ba03529fdf8d5cfed0e2d8c0fe81eb1028a5b4caJonathan Dixon        }
20946f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    }
21046f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)
21146f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    @Override
21246f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    public synchronized int getUserAgent() {
213ba03529fdf8d5cfed0e2d8c0fe81eb1028a5b4caJonathan Dixon        // Minimal implementation for backwards compatibility: just identifies default vs custom.
214d6b56ff89338d0b3a6ba0cb413b1fe559d6284e0Mikhail Naganov        return AwSettings.getDefaultUserAgent().equals(getUserAgentString()) ? 0 : -1;
21546f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    }
21646f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)
21746f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    @Override
21846f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    public synchronized void setUseWideViewPort(boolean use) {
219d7ad43dc1ed52dc48532738c950ea825e9b7def0Mikhail Naganov        if (DebugFlags.TRACE_API) Log.d(LOGTAG, "setUseWideViewPort=" + use);
220d6b56ff89338d0b3a6ba0cb413b1fe559d6284e0Mikhail Naganov        mAwSettings.setUseWideViewPort(use);
22146f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    }
22246f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)
22346f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    @Override
22446f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    public synchronized boolean getUseWideViewPort() {
225d6b56ff89338d0b3a6ba0cb413b1fe559d6284e0Mikhail Naganov        return mAwSettings.getUseWideViewPort();
22646f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    }
22746f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)
22846f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    @Override
22946f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    public synchronized void setSupportMultipleWindows(boolean support) {
230d7ad43dc1ed52dc48532738c950ea825e9b7def0Mikhail Naganov        if (DebugFlags.TRACE_API) Log.d(LOGTAG, "setSupportMultipleWindows=" + support);
231d6b56ff89338d0b3a6ba0cb413b1fe559d6284e0Mikhail Naganov        mAwSettings.setSupportMultipleWindows(support);
23246f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    }
23346f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)
23446f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    @Override
23546f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    public synchronized boolean supportMultipleWindows() {
236d6b56ff89338d0b3a6ba0cb413b1fe559d6284e0Mikhail Naganov        return mAwSettings.supportMultipleWindows();
23746f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    }
23846f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)
23946f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    @Override
24046f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    public synchronized void setLayoutAlgorithm(LayoutAlgorithm l) {
24185b4c793416fb9674ac026fa11389c18a0f8f73eMikhail Naganov        // TODO: Remove the upstream enum and mapping once the new value is in the public API.
242d6b56ff89338d0b3a6ba0cb413b1fe559d6284e0Mikhail Naganov        final AwSettings.LayoutAlgorithm[] chromiumValues = {
243d6b56ff89338d0b3a6ba0cb413b1fe559d6284e0Mikhail Naganov            AwSettings.LayoutAlgorithm.NORMAL,
244d6b56ff89338d0b3a6ba0cb413b1fe559d6284e0Mikhail Naganov            AwSettings.LayoutAlgorithm.SINGLE_COLUMN,
245d6b56ff89338d0b3a6ba0cb413b1fe559d6284e0Mikhail Naganov            AwSettings.LayoutAlgorithm.NARROW_COLUMNS,
246d6b56ff89338d0b3a6ba0cb413b1fe559d6284e0Mikhail Naganov            AwSettings.LayoutAlgorithm.TEXT_AUTOSIZING
24785b4c793416fb9674ac026fa11389c18a0f8f73eMikhail Naganov        };
248d6b56ff89338d0b3a6ba0cb413b1fe559d6284e0Mikhail Naganov        mAwSettings.setLayoutAlgorithm(chromiumValues[l.ordinal()]);
24946f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    }
25046f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)
25146f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    @Override
25246f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    public synchronized LayoutAlgorithm getLayoutAlgorithm() {
25385b4c793416fb9674ac026fa11389c18a0f8f73eMikhail Naganov        // TODO: Remove the upstream enum and mapping once the new value is in the public API.
25485b4c793416fb9674ac026fa11389c18a0f8f73eMikhail Naganov        final LayoutAlgorithm[] webViewValues = {
25585b4c793416fb9674ac026fa11389c18a0f8f73eMikhail Naganov            LayoutAlgorithm.NORMAL,
25685b4c793416fb9674ac026fa11389c18a0f8f73eMikhail Naganov            LayoutAlgorithm.SINGLE_COLUMN,
25785b4c793416fb9674ac026fa11389c18a0f8f73eMikhail Naganov            LayoutAlgorithm.NARROW_COLUMNS,
25885b4c793416fb9674ac026fa11389c18a0f8f73eMikhail Naganov            LayoutAlgorithm.TEXT_AUTOSIZING
25985b4c793416fb9674ac026fa11389c18a0f8f73eMikhail Naganov        };
260d6b56ff89338d0b3a6ba0cb413b1fe559d6284e0Mikhail Naganov        return webViewValues[mAwSettings.getLayoutAlgorithm().ordinal()];
26146f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    }
26246f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)
26346f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    @Override
26446f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    public synchronized void setStandardFontFamily(String font) {
265d7ad43dc1ed52dc48532738c950ea825e9b7def0Mikhail Naganov        if (DebugFlags.TRACE_API) Log.d(LOGTAG, "setStandardFontFamily=" + font);
266d6b56ff89338d0b3a6ba0cb413b1fe559d6284e0Mikhail Naganov        mAwSettings.setStandardFontFamily(font);
26746f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    }
26846f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)
26946f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    @Override
27046f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    public synchronized String getStandardFontFamily() {
271d6b56ff89338d0b3a6ba0cb413b1fe559d6284e0Mikhail Naganov        return mAwSettings.getStandardFontFamily();
27246f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    }
27346f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)
27446f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    @Override
27546f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    public synchronized void setFixedFontFamily(String font) {
276d7ad43dc1ed52dc48532738c950ea825e9b7def0Mikhail Naganov        if (DebugFlags.TRACE_API) Log.d(LOGTAG, "setFixedFontFamily=" + font);
277d6b56ff89338d0b3a6ba0cb413b1fe559d6284e0Mikhail Naganov        mAwSettings.setFixedFontFamily(font);
27846f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    }
27946f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)
28046f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    @Override
28146f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    public synchronized String getFixedFontFamily() {
282d6b56ff89338d0b3a6ba0cb413b1fe559d6284e0Mikhail Naganov        return mAwSettings.getFixedFontFamily();
28346f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    }
28446f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)
28546f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    @Override
28646f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    public synchronized void setSansSerifFontFamily(String font) {
287d7ad43dc1ed52dc48532738c950ea825e9b7def0Mikhail Naganov        if (DebugFlags.TRACE_API) Log.d(LOGTAG, "setSansSerifFontFamily=" + font);
288d6b56ff89338d0b3a6ba0cb413b1fe559d6284e0Mikhail Naganov        mAwSettings.setSansSerifFontFamily(font);
28946f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    }
29046f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)
29146f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    @Override
29246f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    public synchronized String getSansSerifFontFamily() {
293d6b56ff89338d0b3a6ba0cb413b1fe559d6284e0Mikhail Naganov        return mAwSettings.getSansSerifFontFamily();
29446f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    }
29546f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)
29646f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    @Override
29746f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    public synchronized void setSerifFontFamily(String font) {
298d7ad43dc1ed52dc48532738c950ea825e9b7def0Mikhail Naganov        if (DebugFlags.TRACE_API) Log.d(LOGTAG, "setSerifFontFamily=" + font);
299d6b56ff89338d0b3a6ba0cb413b1fe559d6284e0Mikhail Naganov        mAwSettings.setSerifFontFamily(font);
30046f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    }
30146f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)
30246f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    @Override
30346f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    public synchronized String getSerifFontFamily() {
304d6b56ff89338d0b3a6ba0cb413b1fe559d6284e0Mikhail Naganov        return mAwSettings.getSerifFontFamily();
30546f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    }
30646f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)
30746f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    @Override
30846f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    public synchronized void setCursiveFontFamily(String font) {
309d7ad43dc1ed52dc48532738c950ea825e9b7def0Mikhail Naganov        if (DebugFlags.TRACE_API) Log.d(LOGTAG, "setCursiveFontFamily=" + font);
310d6b56ff89338d0b3a6ba0cb413b1fe559d6284e0Mikhail Naganov        mAwSettings.setCursiveFontFamily(font);
31146f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    }
31246f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)
31346f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    @Override
31446f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    public synchronized String getCursiveFontFamily() {
315d6b56ff89338d0b3a6ba0cb413b1fe559d6284e0Mikhail Naganov        return mAwSettings.getCursiveFontFamily();
31646f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    }
31746f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)
31846f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    @Override
31946f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    public synchronized void setFantasyFontFamily(String font) {
320d7ad43dc1ed52dc48532738c950ea825e9b7def0Mikhail Naganov        if (DebugFlags.TRACE_API) Log.d(LOGTAG, "setFantasyFontFamily=" + font);
321d6b56ff89338d0b3a6ba0cb413b1fe559d6284e0Mikhail Naganov        mAwSettings.setFantasyFontFamily(font);
32246f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    }
32346f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)
32446f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    @Override
32546f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    public synchronized String getFantasyFontFamily() {
326d6b56ff89338d0b3a6ba0cb413b1fe559d6284e0Mikhail Naganov        return mAwSettings.getFantasyFontFamily();
32746f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    }
32846f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)
32946f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    @Override
33046f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    public synchronized void setMinimumFontSize(int size) {
331d7ad43dc1ed52dc48532738c950ea825e9b7def0Mikhail Naganov        if (DebugFlags.TRACE_API) Log.d(LOGTAG, "setMinimumFontSize=" + size);
332d6b56ff89338d0b3a6ba0cb413b1fe559d6284e0Mikhail Naganov        mAwSettings.setMinimumFontSize(size);
33346f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    }
33446f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)
33546f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    @Override
33646f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    public synchronized int getMinimumFontSize() {
337d6b56ff89338d0b3a6ba0cb413b1fe559d6284e0Mikhail Naganov        return mAwSettings.getMinimumFontSize();
33846f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    }
33946f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)
34046f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    @Override
34146f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    public synchronized void setMinimumLogicalFontSize(int size) {
342d7ad43dc1ed52dc48532738c950ea825e9b7def0Mikhail Naganov        if (DebugFlags.TRACE_API) Log.d(LOGTAG, "setMinimumLogicalFontSize=" + size);
343d6b56ff89338d0b3a6ba0cb413b1fe559d6284e0Mikhail Naganov        mAwSettings.setMinimumLogicalFontSize(size);
34446f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    }
34546f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)
34646f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    @Override
34746f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    public synchronized int getMinimumLogicalFontSize() {
348d6b56ff89338d0b3a6ba0cb413b1fe559d6284e0Mikhail Naganov        return mAwSettings.getMinimumLogicalFontSize();
34946f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    }
35046f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)
35146f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    @Override
35246f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    public synchronized void setDefaultFontSize(int size) {
353d7ad43dc1ed52dc48532738c950ea825e9b7def0Mikhail Naganov        if (DebugFlags.TRACE_API) Log.d(LOGTAG, "setDefaultFontSize=" + size);
354d6b56ff89338d0b3a6ba0cb413b1fe559d6284e0Mikhail Naganov        mAwSettings.setDefaultFontSize(size);
35546f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    }
35646f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)
35746f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    @Override
35846f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    public synchronized int getDefaultFontSize() {
359d6b56ff89338d0b3a6ba0cb413b1fe559d6284e0Mikhail Naganov        return mAwSettings.getDefaultFontSize();
36046f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    }
36146f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)
36246f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    @Override
36346f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    public synchronized void setDefaultFixedFontSize(int size) {
364d7ad43dc1ed52dc48532738c950ea825e9b7def0Mikhail Naganov        if (DebugFlags.TRACE_API) Log.d(LOGTAG, "setDefaultFixedFontSize=" + size);
365d6b56ff89338d0b3a6ba0cb413b1fe559d6284e0Mikhail Naganov        mAwSettings.setDefaultFixedFontSize(size);
36646f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    }
36746f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)
36846f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    @Override
36946f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    public synchronized int getDefaultFixedFontSize() {
370d6b56ff89338d0b3a6ba0cb413b1fe559d6284e0Mikhail Naganov        return mAwSettings.getDefaultFixedFontSize();
37146f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    }
37246f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)
37346f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    @Override
37446f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    public synchronized void setLoadsImagesAutomatically(boolean flag) {
375d7ad43dc1ed52dc48532738c950ea825e9b7def0Mikhail Naganov        if (DebugFlags.TRACE_API) Log.d(LOGTAG, "setLoadsImagesAutomatically=" + flag);
376d6b56ff89338d0b3a6ba0cb413b1fe559d6284e0Mikhail Naganov        mAwSettings.setLoadsImagesAutomatically(flag);
37746f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    }
37846f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)
37946f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    @Override
38046f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    public synchronized boolean getLoadsImagesAutomatically() {
381d6b56ff89338d0b3a6ba0cb413b1fe559d6284e0Mikhail Naganov        return mAwSettings.getLoadsImagesAutomatically();
38246f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    }
38346f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)
38446f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    @Override
38546f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    public synchronized void setBlockNetworkImage(boolean flag) {
386d7ad43dc1ed52dc48532738c950ea825e9b7def0Mikhail Naganov        if (DebugFlags.TRACE_API) Log.d(LOGTAG, "setBlockNetworkImage=" + flag);
387d6b56ff89338d0b3a6ba0cb413b1fe559d6284e0Mikhail Naganov        mAwSettings.setImagesEnabled(!flag);
38846f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    }
38946f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)
39046f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    @Override
39146f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    public synchronized boolean getBlockNetworkImage() {
392d6b56ff89338d0b3a6ba0cb413b1fe559d6284e0Mikhail Naganov        return !mAwSettings.getImagesEnabled();
39346f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    }
39446f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)
39546f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    @Override
39646f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    public synchronized void setBlockNetworkLoads(boolean flag) {
397d7ad43dc1ed52dc48532738c950ea825e9b7def0Mikhail Naganov        if (DebugFlags.TRACE_API) Log.d(LOGTAG, "setBlockNetworkLoads=" + flag);
39846f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)        mAwSettings.setBlockNetworkLoads(flag);
39946f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    }
40046f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)
40146f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    @Override
40246f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    public synchronized boolean getBlockNetworkLoads() {
40346f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)        return mAwSettings.getBlockNetworkLoads();
40446f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    }
40546f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)
40646f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    @Override
40746f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    public synchronized void setJavaScriptEnabled(boolean flag) {
408d7ad43dc1ed52dc48532738c950ea825e9b7def0Mikhail Naganov        if (DebugFlags.TRACE_API) Log.d(LOGTAG, "setJavaScriptEnabled=" + flag);
409d6b56ff89338d0b3a6ba0cb413b1fe559d6284e0Mikhail Naganov        mAwSettings.setJavaScriptEnabled(flag);
41046f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    }
41146f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)
41246f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    @Override
41346f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    public void setAllowUniversalAccessFromFileURLs(boolean flag) {
414d7ad43dc1ed52dc48532738c950ea825e9b7def0Mikhail Naganov        if (DebugFlags.TRACE_API) Log.d(LOGTAG, "setAllowUniversalAccessFromFileURLs=" + flag);
415d6b56ff89338d0b3a6ba0cb413b1fe559d6284e0Mikhail Naganov        mAwSettings.setAllowUniversalAccessFromFileURLs(flag);
41646f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    }
41746f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)
41846f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    @Override
41946f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    public void setAllowFileAccessFromFileURLs(boolean flag) {
420d7ad43dc1ed52dc48532738c950ea825e9b7def0Mikhail Naganov        if (DebugFlags.TRACE_API) Log.d(LOGTAG, "setAllowFileAccessFromFileURLs=" + flag);
421d6b56ff89338d0b3a6ba0cb413b1fe559d6284e0Mikhail Naganov        mAwSettings.setAllowFileAccessFromFileURLs(flag);
42246f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    }
42346f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)
42446f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    @Override
42546f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    public synchronized void setPluginsEnabled(boolean flag) {
426d7ad43dc1ed52dc48532738c950ea825e9b7def0Mikhail Naganov        if (DebugFlags.TRACE_API) Log.d(LOGTAG, "setPluginsEnabled=" + flag);
427d6b56ff89338d0b3a6ba0cb413b1fe559d6284e0Mikhail Naganov        mAwSettings.setPluginsEnabled(flag);
42846f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    }
42946f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)
43046f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    @Override
43146f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    public synchronized void setPluginState(PluginState state) {
432d7ad43dc1ed52dc48532738c950ea825e9b7def0Mikhail Naganov        if (DebugFlags.TRACE_API) Log.d(LOGTAG, "setPluginState=" + state);
433d6b56ff89338d0b3a6ba0cb413b1fe559d6284e0Mikhail Naganov        mAwSettings.setPluginState(state);
43446f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    }
43546f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)
43646f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    @Override
43746f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    public synchronized void setDatabasePath(String databasePath) {
438e10a89c002f0d4699bc9ab64f37a3fc62ce2a7b6Ben Murdoch        // Intentional no-op.
43946f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    }
44046f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)
44146f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    @Override
44246f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    public synchronized void setGeolocationDatabasePath(String databasePath) {
443606709d4b1cd2a512db3ffc3fa6667fb76ac5509Kristian Monsen        // Intentional no-op.
44446f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    }
44546f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)
44646f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    @Override
44746f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    public synchronized void setAppCacheEnabled(boolean flag) {
448d7ad43dc1ed52dc48532738c950ea825e9b7def0Mikhail Naganov        if (DebugFlags.TRACE_API) Log.d(LOGTAG, "setAppCacheEnabled=" + flag);
449d6b56ff89338d0b3a6ba0cb413b1fe559d6284e0Mikhail Naganov        mAwSettings.setAppCacheEnabled(flag);
45046f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    }
45146f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)
45246f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    @Override
45346f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    public synchronized void setAppCachePath(String appCachePath) {
454d7ad43dc1ed52dc48532738c950ea825e9b7def0Mikhail Naganov        if (DebugFlags.TRACE_API) Log.d(LOGTAG, "setAppCachePath=" + appCachePath);
455d6b56ff89338d0b3a6ba0cb413b1fe559d6284e0Mikhail Naganov        mAwSettings.setAppCachePath(appCachePath);
45646f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    }
45746f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)
45846f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    @Override
45946f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    public synchronized void setAppCacheMaxSize(long appCacheMaxSize) {
4605ad9b56f2db23760d3096476916f6ee9ad25747dBen Murdoch        // Intentional no-op.
46146f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    }
46246f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)
46346f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    @Override
46446f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    public synchronized void setDatabaseEnabled(boolean flag) {
465d7ad43dc1ed52dc48532738c950ea825e9b7def0Mikhail Naganov        if (DebugFlags.TRACE_API) Log.d(LOGTAG, "setDatabaseEnabled=" + flag);
466d6b56ff89338d0b3a6ba0cb413b1fe559d6284e0Mikhail Naganov        mAwSettings.setDatabaseEnabled(flag);
46746f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    }
46846f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)
46946f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    @Override
47046f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    public synchronized void setDomStorageEnabled(boolean flag) {
471d7ad43dc1ed52dc48532738c950ea825e9b7def0Mikhail Naganov        if (DebugFlags.TRACE_API) Log.d(LOGTAG, "setDomStorageEnabled=" + flag);
472d6b56ff89338d0b3a6ba0cb413b1fe559d6284e0Mikhail Naganov        mAwSettings.setDomStorageEnabled(flag);
47346f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    }
47446f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)
47546f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    @Override
47646f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    public synchronized boolean getDomStorageEnabled() {
477d6b56ff89338d0b3a6ba0cb413b1fe559d6284e0Mikhail Naganov        return mAwSettings.getDomStorageEnabled();
47846f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    }
47946f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)
48046f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    @Override
48146f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    public synchronized String getDatabasePath() {
482e10a89c002f0d4699bc9ab64f37a3fc62ce2a7b6Ben Murdoch        // Intentional no-op.
483e10a89c002f0d4699bc9ab64f37a3fc62ce2a7b6Ben Murdoch        return "";
48446f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    }
48546f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)
48646f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    @Override
48746f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    public synchronized boolean getDatabaseEnabled() {
488d6b56ff89338d0b3a6ba0cb413b1fe559d6284e0Mikhail Naganov        return mAwSettings.getDatabaseEnabled();
48946f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    }
49046f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)
49146f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    @Override
49246f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    public synchronized void setGeolocationEnabled(boolean flag) {
493d7ad43dc1ed52dc48532738c950ea825e9b7def0Mikhail Naganov        if (DebugFlags.TRACE_API) Log.d(LOGTAG, "setGeolocationEnabled=" + flag);
4945d225eb06da31d8536d5239ad8445bc501d9795dKristian Monsen        mAwSettings.setGeolocationEnabled(flag);
49546f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    }
49646f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)
49746f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    @Override
49846f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    public synchronized boolean getJavaScriptEnabled() {
499d6b56ff89338d0b3a6ba0cb413b1fe559d6284e0Mikhail Naganov        return mAwSettings.getJavaScriptEnabled();
50046f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    }
50146f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)
50246f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    @Override
50346f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    public boolean getAllowUniversalAccessFromFileURLs() {
504d6b56ff89338d0b3a6ba0cb413b1fe559d6284e0Mikhail Naganov        return mAwSettings.getAllowUniversalAccessFromFileURLs();
50546f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    }
50646f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)
50746f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    @Override
50846f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    public boolean getAllowFileAccessFromFileURLs() {
509d6b56ff89338d0b3a6ba0cb413b1fe559d6284e0Mikhail Naganov        return mAwSettings.getAllowFileAccessFromFileURLs();
51046f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    }
51146f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)
51246f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    @Override
51346f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    public synchronized boolean getPluginsEnabled() {
514d6b56ff89338d0b3a6ba0cb413b1fe559d6284e0Mikhail Naganov        return mAwSettings.getPluginsEnabled();
51546f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    }
51646f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)
51746f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    @Override
51846f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    public synchronized PluginState getPluginState() {
519d6b56ff89338d0b3a6ba0cb413b1fe559d6284e0Mikhail Naganov        return mAwSettings.getPluginState();
52046f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    }
52146f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)
52246f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    @Override
52346f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    public synchronized void setJavaScriptCanOpenWindowsAutomatically(boolean flag) {
524d7ad43dc1ed52dc48532738c950ea825e9b7def0Mikhail Naganov        if (DebugFlags.TRACE_API) Log.d(LOGTAG, "setJavaScriptCanOpenWindowsAutomatically=" + flag);
525d6b56ff89338d0b3a6ba0cb413b1fe559d6284e0Mikhail Naganov        mAwSettings.setJavaScriptCanOpenWindowsAutomatically(flag);
52646f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    }
52746f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)
52846f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    @Override
52946f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    public synchronized boolean getJavaScriptCanOpenWindowsAutomatically() {
530d6b56ff89338d0b3a6ba0cb413b1fe559d6284e0Mikhail Naganov        return mAwSettings.getJavaScriptCanOpenWindowsAutomatically();
53146f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    }
53246f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)
53346f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    @Override
53446f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    public synchronized void setDefaultTextEncodingName(String encoding) {
535d7ad43dc1ed52dc48532738c950ea825e9b7def0Mikhail Naganov        if (DebugFlags.TRACE_API) Log.d(LOGTAG, "setDefaultTextEncodingName=" + encoding);
536d6b56ff89338d0b3a6ba0cb413b1fe559d6284e0Mikhail Naganov        mAwSettings.setDefaultTextEncodingName(encoding);
53746f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    }
53846f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)
53946f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    @Override
54046f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    public synchronized String getDefaultTextEncodingName() {
541d6b56ff89338d0b3a6ba0cb413b1fe559d6284e0Mikhail Naganov        return mAwSettings.getDefaultTextEncodingName();
54246f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    }
54346f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)
54446f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    @Override
54546f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    public synchronized void setUserAgentString(String ua) {
546d7ad43dc1ed52dc48532738c950ea825e9b7def0Mikhail Naganov        if (DebugFlags.TRACE_API) Log.d(LOGTAG, "setUserAgentString=" + ua);
547d6b56ff89338d0b3a6ba0cb413b1fe559d6284e0Mikhail Naganov        mAwSettings.setUserAgentString(ua);
54846f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    }
54946f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)
55046f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    @Override
55146f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    public synchronized String getUserAgentString() {
552d6b56ff89338d0b3a6ba0cb413b1fe559d6284e0Mikhail Naganov        return mAwSettings.getUserAgentString();
55346f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    }
55446f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)
55546f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    @Override
55646f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    public void setNeedInitialFocus(boolean flag) {
557d7ad43dc1ed52dc48532738c950ea825e9b7def0Mikhail Naganov        if (DebugFlags.TRACE_API) Log.d(LOGTAG, "setNeedInitialFocus=" + flag);
5584cee3bf50c125a52a49323aa999f4b619fa18c10Ben Murdoch        mAwSettings.setShouldFocusFirstNode(flag);
55946f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    }
56046f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)
56146f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    @Override
56246f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    public synchronized void setRenderPriority(RenderPriority priority) {
56396ee10cad186df4cc46eabf38ef37773eed75fefBen Murdoch        // Intentional no-op.
56446f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    }
56546f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)
56646f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    @Override
56746f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    public void setCacheMode(int mode) {
568d7ad43dc1ed52dc48532738c950ea825e9b7def0Mikhail Naganov        if (DebugFlags.TRACE_API) Log.d(LOGTAG, "setCacheMode=" + mode);
569c9e6245b3f3b6ac5e37cade2bfcda265eaa3e9e2Mikhail Naganov        mAwSettings.setCacheMode(mode);
57046f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    }
57146f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)
57246f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    @Override
57346f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    public int getCacheMode() {
574c9e6245b3f3b6ac5e37cade2bfcda265eaa3e9e2Mikhail Naganov        return mAwSettings.getCacheMode();
57546f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)    }
5767113a884c4b0cf3d78d77648e9724145fa24e82cTao Bai
5777113a884c4b0cf3d78d77648e9724145fa24e82cTao Bai    @Override
5787113a884c4b0cf3d78d77648e9724145fa24e82cTao Bai    public void setMediaPlaybackRequiresUserGesture(boolean require) {
579d7ad43dc1ed52dc48532738c950ea825e9b7def0Mikhail Naganov        if (DebugFlags.TRACE_API) Log.d(LOGTAG, "setMediaPlaybackRequiresUserGesture=" + require);
580d6b56ff89338d0b3a6ba0cb413b1fe559d6284e0Mikhail Naganov        mAwSettings.setMediaPlaybackRequiresUserGesture(require);
5817113a884c4b0cf3d78d77648e9724145fa24e82cTao Bai    }
5827113a884c4b0cf3d78d77648e9724145fa24e82cTao Bai
5837113a884c4b0cf3d78d77648e9724145fa24e82cTao Bai    @Override
5847113a884c4b0cf3d78d77648e9724145fa24e82cTao Bai    public boolean getMediaPlaybackRequiresUserGesture() {
585d6b56ff89338d0b3a6ba0cb413b1fe559d6284e0Mikhail Naganov        return mAwSettings.getMediaPlaybackRequiresUserGesture();
5867113a884c4b0cf3d78d77648e9724145fa24e82cTao Bai    }
58746f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)}
588