ContentSettingsAdapter.java revision 77a1992a81c32c8f04a2528c7333efb9647aa59c
1/*
2 * Copyright (C) 2012 The Android Open Source Project
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 *      http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
17package com.android.webview.chromium;
18
19import android.webkit.WebSettings.LayoutAlgorithm;
20import android.webkit.WebSettings.PluginState;
21import android.webkit.WebSettings.RenderPriority;
22import android.webkit.WebSettings.TextSize;
23import android.webkit.WebSettings.ZoomDensity;
24
25import org.chromium.content.browser.ContentSettings;
26import org.chromium.android_webview.AwSettings;
27
28public class ContentSettingsAdapter extends android.webkit.WebSettings {
29    ContentSettings mContentSettings;
30    AwSettings mAwSettings;
31
32    public ContentSettingsAdapter(ContentSettings chromeSettings, AwSettings awSettings) {
33        mContentSettings = chromeSettings;
34        mAwSettings = awSettings;
35    }
36
37    @Override
38    @Deprecated
39    public void setNavDump(boolean enabled) {
40        UnimplementedWebViewApi.invoke();
41    }
42
43    @Override
44    @Deprecated
45    public boolean getNavDump() {
46        UnimplementedWebViewApi.invoke();
47        return false;
48    }
49
50    @Override
51    public void setSupportZoom(boolean support) {
52        mContentSettings.setSupportZoom(support);
53    }
54
55    @Override
56    public boolean supportZoom() {
57        return mContentSettings.supportZoom();
58    }
59
60    @Override
61    public void setBuiltInZoomControls(boolean enabled) {
62        mContentSettings.setBuiltInZoomControls(enabled);
63    }
64
65    @Override
66    public boolean getBuiltInZoomControls() {
67        return mContentSettings.getBuiltInZoomControls();
68    }
69
70    @Override
71    public void setDisplayZoomControls(boolean enabled) {
72        mContentSettings.setDisplayZoomControls(enabled);
73    }
74
75    @Override
76    public boolean getDisplayZoomControls() {
77        return mContentSettings.getDisplayZoomControls();
78    }
79
80    @Override
81    public void setAllowFileAccess(boolean allow) {
82        mAwSettings.setAllowFileAccess(allow);
83    }
84
85    @Override
86    public boolean getAllowFileAccess() {
87        return mAwSettings.getAllowFileAccess();
88    }
89
90    @Override
91    public void setAllowContentAccess(boolean allow) {
92        mAwSettings.setAllowContentAccess(allow);
93    }
94
95    @Override
96    public boolean getAllowContentAccess() {
97        return mAwSettings.getAllowContentAccess();
98    }
99
100    @Override
101    public void setLoadWithOverviewMode(boolean overview) {
102        UnimplementedWebViewApi.invoke();
103    }
104
105    @Override
106    public boolean getLoadWithOverviewMode() {
107        UnimplementedWebViewApi.invoke();
108        return false;
109    }
110
111    @Override
112    public void setEnableSmoothTransition(boolean enable) {
113        UnimplementedWebViewApi.invoke();
114    }
115
116    @Override
117    public boolean enableSmoothTransition() {
118        UnimplementedWebViewApi.invoke();
119        return false;
120    }
121
122    @Override
123    public void setUseWebViewBackgroundForOverscrollBackground(boolean view) {
124        UnimplementedWebViewApi.invoke();
125    }
126
127    @Override
128    public boolean getUseWebViewBackgroundForOverscrollBackground() {
129        UnimplementedWebViewApi.invoke();
130        return false;
131    }
132
133    @Override
134    public void setSaveFormData(boolean save) {
135        UnimplementedWebViewApi.invoke();
136    }
137
138    @Override
139    public boolean getSaveFormData() {
140        UnimplementedWebViewApi.invoke();
141        return false;
142    }
143
144    @Override
145    public void setSavePassword(boolean save) {
146        UnimplementedWebViewApi.invoke();
147    }
148
149    @Override
150    public boolean getSavePassword() {
151        UnimplementedWebViewApi.invoke();
152        return false;
153    }
154
155    @Override
156    public synchronized void setTextZoom(int textZoom) {
157        UnimplementedWebViewApi.invoke();
158    }
159
160    @Override
161    public synchronized int getTextZoom() {
162        UnimplementedWebViewApi.invoke();
163        return 0;
164    }
165
166    @Override
167    public synchronized void setTextSize(TextSize t) {
168        UnimplementedWebViewApi.invoke();
169    }
170
171    @Override
172    public synchronized TextSize getTextSize() {
173        UnimplementedWebViewApi.invoke();
174        return null;
175    }
176
177    @Override
178    public void setDefaultZoom(ZoomDensity zoom) {
179        UnimplementedWebViewApi.invoke();
180    }
181
182    @Override
183    public ZoomDensity getDefaultZoom() {
184        UnimplementedWebViewApi.invoke();
185        return null;
186    }
187
188    @Override
189    public void setLightTouchEnabled(boolean enabled) {
190        UnimplementedWebViewApi.invoke();
191    }
192
193    @Override
194    public boolean getLightTouchEnabled() {
195        UnimplementedWebViewApi.invoke();
196        return false;
197    }
198
199    @Override
200    public synchronized void setUseDoubleTree(boolean use) {
201        // Specified to do nothing, so no need for derived classes to override.
202    }
203
204    @Override
205    public synchronized boolean getUseDoubleTree() {
206        // Returns false unconditionally, so no need for derived classes to override.
207        return false;
208    }
209
210    @Override
211    public synchronized void setUserAgent(int ua) {
212        UnimplementedWebViewApi.invoke();
213    }
214
215    @Override
216    public synchronized int getUserAgent() {
217        UnimplementedWebViewApi.invoke();
218        return 0;
219    }
220
221    @Override
222    public synchronized void setUseWideViewPort(boolean use) {
223        UnimplementedWebViewApi.invoke();
224    }
225
226    @Override
227    public synchronized boolean getUseWideViewPort() {
228        UnimplementedWebViewApi.invoke();
229        return false;
230    }
231
232    @Override
233    public synchronized void setSupportMultipleWindows(boolean support) {
234        mContentSettings.setSupportMultipleWindows(support);
235    }
236
237    @Override
238    public synchronized boolean supportMultipleWindows() {
239        return mContentSettings.supportMultipleWindows();
240    }
241
242    @Override
243    public synchronized void setLayoutAlgorithm(LayoutAlgorithm l) {
244        UnimplementedWebViewApi.invoke();
245    }
246
247    @Override
248    public synchronized LayoutAlgorithm getLayoutAlgorithm() {
249        UnimplementedWebViewApi.invoke();
250        return null;
251    }
252
253    @Override
254    public synchronized void setStandardFontFamily(String font) {
255        mContentSettings.setStandardFontFamily(font);
256    }
257
258    @Override
259    public synchronized String getStandardFontFamily() {
260        return mContentSettings.getStandardFontFamily();
261    }
262
263    @Override
264    public synchronized void setFixedFontFamily(String font) {
265        mContentSettings.setFixedFontFamily(font);
266    }
267
268    @Override
269    public synchronized String getFixedFontFamily() {
270        return mContentSettings.getFixedFontFamily();
271    }
272
273    @Override
274    public synchronized void setSansSerifFontFamily(String font) {
275        mContentSettings.setSansSerifFontFamily(font);
276    }
277
278    @Override
279    public synchronized String getSansSerifFontFamily() {
280        return mContentSettings.getSansSerifFontFamily();
281    }
282
283    @Override
284    public synchronized void setSerifFontFamily(String font) {
285        mContentSettings.setSerifFontFamily(font);
286    }
287
288    @Override
289    public synchronized String getSerifFontFamily() {
290        return mContentSettings.getSerifFontFamily();
291    }
292
293    @Override
294    public synchronized void setCursiveFontFamily(String font) {
295        mContentSettings.setCursiveFontFamily(font);
296    }
297
298    @Override
299    public synchronized String getCursiveFontFamily() {
300        return mContentSettings.getCursiveFontFamily();
301    }
302
303    @Override
304    public synchronized void setFantasyFontFamily(String font) {
305        mContentSettings.setFantasyFontFamily(font);
306    }
307
308    @Override
309    public synchronized String getFantasyFontFamily() {
310        return mContentSettings.getFantasyFontFamily();
311    }
312
313    @Override
314    public synchronized void setMinimumFontSize(int size) {
315        mContentSettings.setMinimumFontSize(size);
316    }
317
318    @Override
319    public synchronized int getMinimumFontSize() {
320        return mContentSettings.getMinimumFontSize();
321    }
322
323    @Override
324    public synchronized void setMinimumLogicalFontSize(int size) {
325        mContentSettings.setMinimumLogicalFontSize(size);
326    }
327
328    @Override
329    public synchronized int getMinimumLogicalFontSize() {
330        return mContentSettings.getMinimumLogicalFontSize();
331    }
332
333    @Override
334    public synchronized void setDefaultFontSize(int size) {
335        mContentSettings.setDefaultFontSize(size);
336    }
337
338    @Override
339    public synchronized int getDefaultFontSize() {
340        return mContentSettings.getDefaultFontSize();
341    }
342
343    @Override
344    public synchronized void setDefaultFixedFontSize(int size) {
345        mContentSettings.setDefaultFixedFontSize(size);
346    }
347
348    @Override
349    public synchronized int getDefaultFixedFontSize() {
350        return mContentSettings.getDefaultFixedFontSize();
351    }
352
353    @Override
354    public synchronized void setLoadsImagesAutomatically(boolean flag) {
355        mContentSettings.setLoadsImagesAutomatically(flag);
356    }
357
358    @Override
359    public synchronized boolean getLoadsImagesAutomatically() {
360        return mContentSettings.getLoadsImagesAutomatically();
361    }
362
363    @Override
364    public synchronized void setBlockNetworkImage(boolean flag) {
365        mContentSettings.setImagesEnabled(!flag);
366    }
367
368    @Override
369    public synchronized boolean getBlockNetworkImage() {
370        return !mContentSettings.getImagesEnabled();
371    }
372
373    @Override
374    public synchronized void setBlockNetworkLoads(boolean flag) {
375        mAwSettings.setBlockNetworkLoads(flag);
376    }
377
378    @Override
379    public synchronized boolean getBlockNetworkLoads() {
380        return mAwSettings.getBlockNetworkLoads();
381    }
382
383    @Override
384    public synchronized void setJavaScriptEnabled(boolean flag) {
385        mContentSettings.setJavaScriptEnabled(flag);
386    }
387
388    @Override
389    public void setAllowUniversalAccessFromFileURLs(boolean flag) {
390        UnimplementedWebViewApi.invoke();
391    }
392
393    @Override
394    public void setAllowFileAccessFromFileURLs(boolean flag) {
395        UnimplementedWebViewApi.invoke();
396    }
397
398    @Override
399    public synchronized void setPluginsEnabled(boolean flag) {
400        mContentSettings.setPluginsEnabled(flag);
401    }
402
403    @Override
404    public synchronized void setPluginState(PluginState state) {
405        mContentSettings.setPluginState(state);
406    }
407
408    @Override
409    public synchronized void setPluginsPath(String pluginsPath) {
410        // Specified to do nothing, so no need for derived classes to override.
411    }
412
413    @Override
414    public synchronized void setDatabasePath(String databasePath) {
415        UnimplementedWebViewApi.invoke();
416    }
417
418    @Override
419    public synchronized void setGeolocationDatabasePath(String databasePath) {
420        UnimplementedWebViewApi.invoke();
421    }
422
423    @Override
424    public synchronized void setAppCacheEnabled(boolean flag) {
425        UnimplementedWebViewApi.invoke();
426    }
427
428    @Override
429    public synchronized void setAppCachePath(String appCachePath) {
430        UnimplementedWebViewApi.invoke();
431    }
432
433    @Override
434    public synchronized void setAppCacheMaxSize(long appCacheMaxSize) {
435        UnimplementedWebViewApi.invoke();
436    }
437
438    @Override
439    public synchronized void setDatabaseEnabled(boolean flag) {
440        UnimplementedWebViewApi.invoke();
441    }
442
443    @Override
444    public synchronized void setDomStorageEnabled(boolean flag) {
445        UnimplementedWebViewApi.invoke();
446    }
447
448    @Override
449    public synchronized boolean getDomStorageEnabled() {
450        UnimplementedWebViewApi.invoke();
451        return false;
452    }
453
454    @Override
455    public synchronized String getDatabasePath() {
456        UnimplementedWebViewApi.invoke();
457        return null;
458    }
459
460    @Override
461    public synchronized boolean getDatabaseEnabled() {
462        UnimplementedWebViewApi.invoke();
463        return false;
464    }
465
466    @Override
467    public synchronized void setGeolocationEnabled(boolean flag) {
468        UnimplementedWebViewApi.invoke();
469    }
470
471    @Override
472    public synchronized boolean getJavaScriptEnabled() {
473        return mContentSettings.getJavaScriptEnabled();
474    }
475
476    @Override
477    public boolean getAllowUniversalAccessFromFileURLs() {
478        UnimplementedWebViewApi.invoke();
479        return false;
480    }
481
482    @Override
483    public boolean getAllowFileAccessFromFileURLs() {
484        UnimplementedWebViewApi.invoke();
485        return false;
486    }
487
488    @Override
489    public synchronized boolean getPluginsEnabled() {
490        UnimplementedWebViewApi.invoke();
491        return false;
492    }
493
494    @Override
495    public synchronized PluginState getPluginState() {
496        UnimplementedWebViewApi.invoke();
497        return null;
498    }
499
500    @Override
501    public synchronized String getPluginsPath() {
502        // Unconditionally returns empty string, so no need for derived classes to override.
503        return "";
504    }
505
506    @Override
507    public synchronized void setJavaScriptCanOpenWindowsAutomatically(boolean flag) {
508        mContentSettings.setJavaScriptCanOpenWindowsAutomatically(flag);
509    }
510
511    @Override
512    public synchronized boolean getJavaScriptCanOpenWindowsAutomatically() {
513        return mContentSettings.getJavaScriptCanOpenWindowsAutomatically();
514    }
515
516    @Override
517    public synchronized void setDefaultTextEncodingName(String encoding) {
518        UnimplementedWebViewApi.invoke();
519    }
520
521    @Override
522    public synchronized String getDefaultTextEncodingName() {
523        UnimplementedWebViewApi.invoke();
524        return null;
525    }
526
527    @Override
528    public synchronized void setUserAgentString(String ua) {
529        mContentSettings.setUserAgentString(ua);
530    }
531
532    @Override
533    public synchronized String getUserAgentString() {
534        return mContentSettings.getUserAgentString();
535    }
536
537    @Override
538    public void setNeedInitialFocus(boolean flag) {
539        UnimplementedWebViewApi.invoke();
540    }
541
542    @Override
543    public synchronized void setRenderPriority(RenderPriority priority) {
544        UnimplementedWebViewApi.invoke();
545    }
546
547    @Override
548    public void setCacheMode(int mode) {
549        UnimplementedWebViewApi.invoke();
550    }
551
552    @Override
553    public int getCacheMode() {
554        UnimplementedWebViewApi.invoke();
555        return 0;
556    }
557}
558