DescriptionAdd a setting to allow window object reuse across a top-level initial navigation.
r378508 fixed Blink's plumbing to remove the concept failed security context
initialization. This breaks Android WebView though: previously a main frame with
no opener would "fail to initialize", and the window object would be reused in
the initial navigation. Now, a main frame with no opener is just treated as
unique origin: this means it always fails the shouldReuseDefaultView() check and
the window object is not reused across the initial navigation. Unfortunately, a
number of Android apps depend on injecting script into the main frame and having
it persist on the first navigation.
The new setting is essentially an escape hatch for Android WebView: a main frame
that is the only browsing context in its unit of related browsing contexts can
only have script injected by the embedder. In this case, it's OK to allow reuse
(aka universal access) on the initial navigation, since no web content could
have injected script.
BUG=593984
Committed: https://crrev.com/73f32aae5298f6a3779385fc4b6bdb08f6e070a5
Cr-Commit-Position: refs/heads/master@{#385263}
Patch Set 1 #Patch Set 2 : Minor fixes, see if it passes tests. #Patch Set 3 : . #Patch Set 4 : . #Patch Set 5 : Move out unrelated refactoring #Patch Set 6 : . #
Messages
Total messages: 12 (6 generated)
|