     return extensions.contains(fileExtension)
   }
 
-  fileprivate func scrollSubscription(source: Observable<Any>) -> Disposable {
-    return source
-      .observeOn(self.scheduler)
-      .throttle(0.5, latest: true, scheduler: self.scheduler)
-      .filter { $0 is MainWindowComponent.ScrollAction }
-      .subscribe(onNext: { [unowned self] action in
-        guard self.isForwardSearchAutomatically else {
-          return
-        }
-
-        self.forwardSearchAction(nil)
-      })
-  }
-
   fileprivate func subscription(source: Observable<Any>) -> Disposable {
     return source
       .observeOn(self.scheduler)

  fileprivate let refreshOnWriteMenuItem = NSMenuItem(title: "Refresh on Write", action: nil, keyEquivalent: "")

  fileprivate let webview: WKWebView

  fileprivate var currentUrl: URL?
  fileprivate var currentPreviewPosition = Position(row: 0, column: 0)

    refresh.autoPinEdge(.right, to: .left, of: reverse)
  }

  fileprivate func scrollSubscription(source: Observable<Any>) -> Disposable {
    return source
      .throttle(0.5, latest: true, scheduler: MainScheduler.instance)
      .filter { $0 is MainWindowComponent.ScrollAction }
      .subscribe(onNext: { [unowned self] action in
        guard self.isForwardSearchAutomatically && self.ignoreNextForwardSearch == false else {
          self.ignoreNextForwardSearch = false
          return
        }

        self.forwardSearchAction(nil)
      })
  }

  fileprivate func addReactions() {
    self.webviewMessageHandler.flow.sink
      .throttle(0.5, latest: true, scheduler: MainScheduler.instance)
      .filter { $0 is WebviewMessageHandler.Action }
      .map { $0 as! WebviewMessageHandler.Action }
      .subscribe(onNext: { [weak self] action in
