Class: Turbo::ColdBootVisit

Inherits:
Visit
  • Object
show all
Defined in:
lib/turbo/visit/cold_boot_visit.rb

Overview

A “Cold Boot” visit is the initial visit to load the page, including all resources Subsequent visits go through Turbo and use ‘JavaScriptVisit`

Instance Attribute Summary collapse

Attributes inherited from Visit

#bridge, #delegate, #hasCachedSnapshot, #location, #options, #restorationIdentifier, #state, #visitable

Instance Method Summary collapse

Methods inherited from Visit

#cancel, #complete, #fail, #initWithVisitable, #start

Instance Attribute Details

Returns the value of attribute navigation.



5
6
7
# File 'lib/turbo/visit/cold_boot_visit.rb', line 5

def navigation
  @navigation
end

Instance Method Details

#cancelVisitObject



19
20
21
22
23
24
# File 'lib/turbo/visit/cold_boot_visit.rb', line 19

def cancelVisit
  log("cancelVisit")
  removeNavigationDelegate
  webView.stopLoading
  finishRequest
end

#completeVisitObject



26
27
28
29
30
# File 'lib/turbo/visit/cold_boot_visit.rb', line 26

def completeVisit
  log("completeVisit")
  removeNavigationDelegate
  delegate.visitDidInitializeWebView(self) if delegate
end

#failVisitObject



32
33
34
35
36
# File 'lib/turbo/visit/cold_boot_visit.rb', line 32

def failVisit
  log("cancelVisit")
  removeNavigationDelegate
  finishRequest
end

#removeNavigationDelegateObject



38
39
40
41
42
# File 'lib/turbo/visit/cold_boot_visit.rb', line 38

def removeNavigationDelegate
  if webView.navigationDelegate == self
    webView.navigationDelegate = nil
  end
end

#startVisitObject



7
8
9
10
11
12
13
14
15
16
17
# File 'lib/turbo/visit/cold_boot_visit.rb', line 7

def startVisit
  log("startVisit")
  webView.navigationDelegate = self
  bridge.pageLoadDelegate = self

  request = NSURLRequest.alloc.initWithURL(location)
  @navigation = webView.loadRequest(request)

  delegate.visitDidStart(self) if delegate
  startRequest
end

#webView(webView, didLoadPageWithRestorationIdentifier: restorationIdentifier) ⇒ Object

WebViewPageLoadDelegate



101
102
103
104
105
# File 'lib/turbo/visit/cold_boot_visit.rb', line 101

def webView(webView, didFinishNavigation: navigation)
  if navigation == self.navigation
    finishRequest
  end
end