Skip to content

Commit 85ccb5b

Browse files
authored
Fix JavaScript interface injection when rotating the screen (#361)
1 parent 550beab commit 85ccb5b

File tree

5 files changed

+15
-8
lines changed

5 files changed

+15
-8
lines changed

.idea/compiler.xml

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/kotlinc.xml

Lines changed: 6 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,10 @@ All notable changes to this project will be documented in this file. Take a look
3030

3131
### Fixed
3232

33+
#### Navigator
34+
35+
* [#360](https://github.com/readium/kotlin-toolkit/issues/360) Fix EPUB JavaScript interface injection when rotating the screen on some devices.
36+
3337
#### Streamer
3438

3539
* Fix issue with the TTS starting from the beginning of the chapter instead of the current position.

readium/navigator/src/main/java/org/readium/r2/navigator/R2BasicWebView.kt

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -173,16 +173,12 @@ open class R2BasicWebView(context: Context, attrs: AttributeSet) : WebView(conte
173173
listener?.onProgressionChanged()
174174
}
175175

176-
override fun onAttachedToWindow() {
177-
super.onAttachedToWindow()
178-
addJavascriptInterface(this, "Android")
179-
}
180-
181-
override fun onDetachedFromWindow() {
182-
super.onDetachedFromWindow()
176+
override fun destroy() {
183177
// Prevent the web view from leaking when detached
184178
// See https://github.com/readium/r2-navigator-kotlin/issues/52
185179
removeJavascriptInterface("Android")
180+
181+
super.destroy()
186182
}
187183

188184
@android.webkit.JavascriptInterface

readium/navigator/src/main/java/org/readium/r2/navigator/pager/R2EpubPageFragment.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -165,6 +165,7 @@ class R2EpubPageFragment : Fragment() {
165165
webView.settings.textZoom = textZoom
166166
webView.resourceUrl = resourceUrl
167167
webView.setPadding(0, 0, 0, 0)
168+
webView.addJavascriptInterface(webView, "Android")
168169

169170
var endReached = false
170171
webView.setOnOverScrolledCallback(object : R2BasicWebView.OnOverScrolledCallback {

0 commit comments

Comments
 (0)