Skip to content

Commit 52aa118

Browse files
pocmomergify[bot]
authored andcommitted
Issue mozilla-mobile#10114: (Merge day) browser-engine-gecko-beta (88) -> browser-engine-gecko (88)
1 parent 72d7370 commit 52aa118

File tree

10 files changed

+52
-22
lines changed

10 files changed

+52
-22
lines changed

buildSrc/src/main/java/Gecko.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ internal object GeckoVersions {
1616
/**
1717
* GeckoView Release Version.
1818
*/
19-
const val release_version = "87.0.20210318103112"
19+
const val release_version = "88.0.20210415204500"
2020
}
2121

2222
@Suppress("Unused", "MaxLineLength")

components/browser/engine-gecko/src/main/java/mozilla/components/browser/engine/gecko/GeckoEngine.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -299,9 +299,9 @@ class GeckoEngine(
299299
override fun onInstallPrompt(ext: org.mozilla.geckoview.WebExtension): GeckoResult<AllowOrDeny>? {
300300
val extension = GeckoWebExtension(ext, runtime)
301301
return if (webExtensionDelegate.onInstallPermissionRequest(extension)) {
302-
GeckoResult.ALLOW
302+
GeckoResult.allow()
303303
} else {
304-
GeckoResult.DENY
304+
GeckoResult.deny()
305305
}
306306
}
307307

components/browser/engine-gecko/src/main/java/mozilla/components/browser/engine/gecko/GeckoEngineSession.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -266,7 +266,7 @@ class GeckoEngineSession(
266266
* [TrackingProtectionPolicy.TrackingCategory.SCRIPTS_AND_SUB_RESOURCES].
267267
*/
268268
val shouldBlockContent =
269-
policy.contains(TrackingProtectionPolicy.TrackingCategory.SCRIPTS_AND_SUB_RESOURCES)
269+
policy.contains(TrackingProtectionPolicy.TrackingCategory.SCRIPTS_AND_SUB_RESOURCES)
270270

271271
val enabledInBrowsingMode = if (privateMode) {
272272
policy.useForPrivateSessions

components/browser/engine-gecko/src/main/java/mozilla/components/browser/engine/gecko/NestedGeckoView.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -119,11 +119,11 @@ open class NestedGeckoView(context: Context) : GeckoView(context), NestedScrolli
119119

120120
@VisibleForTesting
121121
internal fun updateInputResult(event: MotionEvent) {
122-
super.onTouchEventForResult(event)
122+
super.onTouchEventForDetailResult(event)
123123
.accept {
124124
// This should never be null.
125125
// Prefer to crash and investigate after rather than not knowing about problems with this.
126-
inputResult = it!!
126+
inputResult = it?.handledResult()!!
127127
startNestedScroll(ViewCompat.SCROLL_AXIS_VERTICAL)
128128
}
129129
}

components/browser/engine-gecko/src/main/java/mozilla/components/browser/engine/gecko/selection/GeckoSelectionActionDelegate.kt

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -58,8 +58,13 @@ open class GeckoSelectionActionDelegate(
5858
}
5959

6060
override fun performAction(id: String, item: MenuItem): Boolean {
61-
val selectedText = mSelection?.text ?: return super.performAction(id, item)
61+
/* Temporary, removed once https://bugzilla.mozilla.org/show_bug.cgi?id=1694983 is fixed */
62+
try {
63+
val selectedText = mSelection?.text ?: return super.performAction(id, item)
6264

63-
return customDelegate.performAction(id, selectedText) || super.performAction(id, item)
65+
return customDelegate.performAction(id, selectedText) || super.performAction(id, item)
66+
} catch (e: SecurityException) {
67+
return false
68+
}
6469
}
6570
}

components/browser/engine-gecko/src/main/java/mozilla/components/browser/engine/gecko/webextension/GeckoWebExtension.kt

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -302,9 +302,9 @@ class GeckoWebExtension(
302302
tabDetails.active == true,
303303
tabDetails.url)
304304
) {
305-
GeckoResult.ALLOW
305+
GeckoResult.allow()
306306
} else {
307-
GeckoResult.DENY
307+
GeckoResult.deny()
308308
}
309309
}
310310

@@ -315,12 +315,12 @@ class GeckoWebExtension(
315315

316316
return if (ext != null) {
317317
if (tabHandler.onCloseTab(this@GeckoWebExtension, session)) {
318-
GeckoResult.ALLOW
318+
GeckoResult.allow()
319319
} else {
320-
GeckoResult.DENY
320+
GeckoResult.deny()
321321
}
322322
} else {
323-
GeckoResult.DENY
323+
GeckoResult.deny()
324324
}
325325
}
326326
}

components/browser/engine-gecko/src/test/java/mozilla/components/browser/engine/gecko/GeckoEngineSessionTest.kt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1127,7 +1127,7 @@ class GeckoEngineSessionTest {
11271127
}
11281128

11291129
@Test
1130-
fun `WHEN updating tracking protection with a recommended policy THEN etpEnabled should be enabled`() {
1130+
fun `WHEN updateing tracking protection with a recommended policy THEN etpEnabled should be enabled`() {
11311131
whenever(runtime.settings).thenReturn(mock())
11321132
whenever(runtime.settings.contentBlocking).thenReturn(mock())
11331133

@@ -1149,7 +1149,7 @@ class GeckoEngineSessionTest {
11491149
}
11501150

11511151
@Test
1152-
fun `WHEN updating tracking protection with a none policy THEN etpEnabled should be enabled`() {
1152+
fun `WHEN calling updateTrackingProtection with a none policy THEN etpEnabled should be disabled`() {
11531153
whenever(runtime.settings).thenReturn(mock())
11541154
whenever(runtime.settings.contentBlocking).thenReturn(mock())
11551155

@@ -1171,7 +1171,7 @@ class GeckoEngineSessionTest {
11711171
}
11721172

11731173
@Test
1174-
fun `WHEN update content blocking with a policy SCRIPTS_AND_SUB_RESOURCES useForPrivateSessions being in privateMode THEN useTrackingProtection should be true`() {
1174+
fun `WHEN updating the contentBlocking with a policy SCRIPTS_AND_SUB_RESOURCES useForPrivateSessions being in privateMode THEN useTrackingProtection should be true`() {
11751175
val geckoSetting = mock<GeckoSessionSettings>()
11761176
val geckoSession = mock<GeckoSession>()
11771177

@@ -1249,7 +1249,7 @@ class GeckoEngineSessionTest {
12491249
}
12501250

12511251
@Test
1252-
fun `changes to enableTrackingProtection will be notified to all new observers`() {
1252+
fun `changes to updateTrackingProtection will be notified to all new observers`() {
12531253
whenever(runtime.settings).thenReturn(mock())
12541254
whenever(runtime.settings.contentBlocking).thenReturn(mock())
12551255
val session = GeckoEngineSession(runtime, geckoSessionProvider = geckoSessionProvider)

components/browser/engine-gecko/src/test/java/mozilla/components/browser/engine/gecko/GeckoEngineTest.kt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -862,15 +862,15 @@ class GeckoEngineTest {
862862
val geckoDelegateCaptor = argumentCaptor<WebExtensionController.PromptDelegate>()
863863
verify(webExtensionController).promptDelegate = geckoDelegateCaptor.capture()
864864

865-
assertEquals(GeckoResult.DENY, geckoDelegateCaptor.value.onInstallPrompt(extension))
865+
assertEquals(GeckoResult.deny(), geckoDelegateCaptor.value.onInstallPrompt(extension))
866866
val extensionCaptor = argumentCaptor<WebExtension>()
867867
verify(webExtensionsDelegate).onInstallPermissionRequest(extensionCaptor.capture())
868868
val capturedExtension =
869869
extensionCaptor.value as mozilla.components.browser.engine.gecko.webextension.GeckoWebExtension
870870
assertEquals(extension, capturedExtension.nativeExtension)
871871

872872
whenever(webExtensionsDelegate.onInstallPermissionRequest(any())).thenReturn(true)
873-
assertEquals(GeckoResult.ALLOW, geckoDelegateCaptor.value.onInstallPrompt(extension))
873+
assertEquals(GeckoResult.allow(), geckoDelegateCaptor.value.onInstallPrompt(extension))
874874
}
875875

876876
@Test
@@ -912,7 +912,7 @@ class GeckoEngineTest {
912912
assertEquals(updatedExtension, updated.nativeExtension)
913913

914914
onPermissionsGrantedCaptor.value.invoke(true)
915-
assertEquals(GeckoResult.ALLOW, result)
915+
assertEquals(GeckoResult.allow(), result)
916916
}
917917

918918
@Test
@@ -953,7 +953,7 @@ class GeckoEngineTest {
953953
assertEquals(updatedExtension, updated.nativeExtension)
954954

955955
onPermissionsGrantedCaptor.value.invoke(true)
956-
assertEquals(GeckoResult.ALLOW, result)
956+
assertEquals(GeckoResult.allow(), result)
957957
}
958958

959959
@Test

components/browser/engine-gecko/src/test/java/mozilla/components/browser/engine/gecko/selection/GeckoSelectionActionDelegateTest.kt

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,11 @@ package mozilla.components.browser.engine.gecko.selection
77
import android.app.Activity
88
import android.app.Application
99
import android.app.Service
10+
import android.view.MenuItem
1011
import mozilla.components.concept.engine.selection.SelectionActionDelegate
1112
import mozilla.components.support.test.mock
1213
import org.junit.Assert
14+
import org.junit.Assert.assertFalse
1315
import org.junit.Assert.assertNotNull
1416
import org.junit.Assert.assertNull
1517
import org.junit.Test
@@ -55,6 +57,25 @@ class GeckoSelectionActionDelegateTest {
5557
Assert.assertTrue(actualActions.contains(it))
5658
}
5759
}
60+
61+
@Test
62+
fun `WHEN perform action triggers a security exception THEN false is returned`() {
63+
val customActions = arrayOf("1", "2", "3")
64+
val customDelegate = object : SelectionActionDelegate {
65+
override fun getAllActions(): Array<String> = customActions
66+
override fun isActionAvailable(id: String, selectedText: String): Boolean = false
67+
override fun getActionTitle(id: String): CharSequence? = ""
68+
override fun performAction(id: String, selectedText: String): Boolean {
69+
throw SecurityException("test")
70+
}
71+
override fun sortedActions(actions: Array<String>): Array<String> {
72+
return actions
73+
}
74+
}
75+
76+
val geckoDelegate = TestGeckoSelectionActionDelegate(mock(), customDelegate)
77+
assertFalse(geckoDelegate.performAction("test", mock()))
78+
}
5879
}
5980

6081
/**
@@ -65,4 +86,7 @@ class TestGeckoSelectionActionDelegate(
6586
customDelegate: SelectionActionDelegate
6687
) : GeckoSelectionActionDelegate(activity, customDelegate) {
6788
public override fun getAllActions() = super.getAllActions()
89+
public override fun performAction(id: String, item: MenuItem): Boolean {
90+
return super.performAction(id, item)
91+
}
6892
}

components/browser/engine-gecko/src/test/java/org/mozilla/geckoview/MockWebExtension.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,9 @@
44

55
package org.mozilla.geckoview
66

7+
import mozilla.components.support.test.mock
78
import org.mozilla.gecko.util.GeckoBundle
89

9-
class MockWebExtension(bundle: GeckoBundle) : WebExtension(bundle)
10+
class MockWebExtension(bundle: GeckoBundle) : WebExtension(DelegateControllerProvider { mock() }, bundle)
1011
class MockCreateTabDetails(bundle: GeckoBundle) : WebExtension.CreateTabDetails(bundle)
1112
class MockUpdateTabDetails(bundle: GeckoBundle) : WebExtension.UpdateTabDetails(bundle)

0 commit comments

Comments
 (0)