Unverified Commit c98643cb authored by Matthew Finkel's avatar Matthew Finkel
Browse files

Add support for new GeckoView interfaces

Bug 40006: Expose Security Level interface

Bug 40019: Expose spoofEnglish pref

Bug 34439: Isolate Icon loader on Android
parent 247d48f1
Loading
Loading
Loading
Loading
+18 −0
Original line number Diff line number Diff line
@@ -586,6 +586,22 @@ class GeckoEngine(
        override var forceUserScalableContent: Boolean
            get() = runtime.settings.forceUserScalableEnabled
            set(value) { runtime.settings.forceUserScalableEnabled = value }

        override var torSecurityLevel: Int
            get() = runtime.settings.torSecurityLevel
            set(value) {
                value.let {
                    runtime.settings.torSecurityLevel = it
                }
            }
        override var spoofEnglish: Boolean
            get() = runtime.settings.spoofEnglish
            set(value) {
                value.let {
                    runtime.settings.spoofEnglish = it
                    localeUpdater.updateValue()
                }
            }
    }.apply {
        defaultSettings?.let {
            this.javascriptEnabled = it.javascriptEnabled
@@ -603,6 +619,8 @@ class GeckoEngine(
            this.forceUserScalableContent = it.forceUserScalableContent
            this.clearColor = it.clearColor
            this.loginAutofillEnabled = it.loginAutofillEnabled
            this.torSecurityLevel = it.torSecurityLevel
            this.spoofEnglish = it.spoofEnglish
        }
    }

+1 −0
Original line number Diff line number Diff line
@@ -80,6 +80,7 @@ private fun Request.toWebRequest(): WebRequest = WebRequest.Builder(url)
    .addHeadersFrom(this)
    .addBodyFrom(this)
    .cacheMode(if (useCaches) CACHE_MODE_DEFAULT else CACHE_MODE_RELOAD)
    .origin(origin)
    .build()

private fun WebRequest.Builder.addHeadersFrom(request: Request): WebRequest.Builder {
+18 −0
Original line number Diff line number Diff line
@@ -599,6 +599,22 @@ class GeckoEngine(
        override var forceUserScalableContent: Boolean
            get() = runtime.settings.forceUserScalableEnabled
            set(value) { runtime.settings.forceUserScalableEnabled = value }

        override var torSecurityLevel: Int
            get() = runtime.settings.torSecurityLevel
            set(value) {
                value.let {
                    runtime.settings.torSecurityLevel = it
                }
            }
        override var spoofEnglish: Boolean
            get() = runtime.settings.spoofEnglish
            set(value) {
                value.let {
                    runtime.settings.spoofEnglish = it
                    localeUpdater.updateValue()
                }
            }
    }.apply {
        defaultSettings?.let {
            this.javascriptEnabled = it.javascriptEnabled
@@ -616,6 +632,8 @@ class GeckoEngine(
            this.forceUserScalableContent = it.forceUserScalableContent
            this.clearColor = it.clearColor
            this.loginAutofillEnabled = it.loginAutofillEnabled
            this.torSecurityLevel = it.torSecurityLevel
            this.spoofEnglish = it.spoofEnglish
        }
    }

+1 −0
Original line number Diff line number Diff line
@@ -80,6 +80,7 @@ private fun Request.toWebRequest(): WebRequest = WebRequest.Builder(url)
    .addHeadersFrom(this)
    .addBodyFrom(this)
    .cacheMode(if (useCaches) CACHE_MODE_DEFAULT else CACHE_MODE_RELOAD)
    .origin(origin)
    .build()

private fun WebRequest.Builder.addHeadersFrom(request: Request): WebRequest.Builder {
+2 −1
Original line number Diff line number Diff line
@@ -51,7 +51,8 @@ class HttpIconLoader(
            connectTimeout = Pair(CONNECT_TIMEOUT, TimeUnit.SECONDS),
            readTimeout = Pair(READ_TIMEOUT, TimeUnit.SECONDS),
            redirect = Request.Redirect.FOLLOW,
            useCaches = true)
            useCaches = true,
            origin = request.url)

        return try {
            val response = httpClient.fetch(downloadRequest)
Loading