~hyperair/listen/mime-type-typo

« back to all changes in this revision

Viewing changes to src/widget/htmlview.py

  • Committer: Abaakouk Mehdi
  • Date: 2010-03-09 14:02:24 UTC
  • Revision ID: theli48@gmail.com-20100309140224-y5m33yx79aqa644o
Use old webkit api for jaunty webkit version

Show diffs side-by-side

added added

removed removed

Lines of Context:
42
42
backend = os.environ.get("LISTEN_BROWSER",None)
43
43
if webkit and backend == "webkit":
44
44
    RENDERING = "webkit"
 
45
elif webkit and backend == "oldwebkit":
 
46
    RENDERING = "oldwebkit"
45
47
elif MozClient and backend == "mozilla":
46
48
    RENDERING = "mozilla"
47
49
else:
55
57
    elif MozClient:
56
58
        RENDERING = "mozilla"
57
59
 
 
60
if RENDERING == "webkit" and not hasattr(webkit,"WindowFeatures"):
 
61
    RENDERING == "oldwebkit"
58
62
 
59
63
mylogger = newLogger("widget.htmlview")
60
64
mylogger.loginfo("html rendering use %s has backend",RENDERING)
61
65
 
62
66
if RENDERING == "webkit":
63
67
    klass = gtk.ScrolledWindow
 
68
elif RENDERING == "oldwebkit":
 
69
    klass = gtk.ScrolledWindow
64
70
elif RENDERING == "mozilla":
65
71
    klass = gtk.Frame
66
72
else:
72
78
 
73
79
        self.__current_uri = ""
74
80
 
75
 
        if RENDERING == "webkit":
 
81
        if RENDERING in [ "webkit", "oldwebkit" ]:
76
82
            self.embed = webkit.WebView()
77
83
            self.set_shadow_type(gtk.SHADOW_IN)
78
84
            self.embed.load_html_string("<html><head></head><body></body></html>", "" )
79
 
            self.embed.connect("navigation-policy-decision-requested", self.__webkit_link_uri_cb)
 
85
            if RENDERING == "webkit":
 
86
                self.embed.connect("navigation-policy-decision-requested", self.__webkit_link_uri_cb)
 
87
            else:
 
88
                self.embed.connect("navigation-requested", self.__oldwebkit_link_uri_cb)
80
89
        elif RENDERING == "mozilla":
81
90
            self.embed = MozClient()
82
91
            self.embed.connect("open-uri",self.__moz_link_uri_cb)
93
102
 
94
103
    def open(self, uri):
95
104
        self.__current_uri = uri
96
 
        if RENDERING == "webkit":
 
105
        if RENDERING in [ "oldwebkit", "webkit" ]:
97
106
            return self.embed.open(uri)
98
107
        elif RENDERING == "mozilla":
99
108
            return self.embed.load_url(uri)
105
114
    def __moz_link_uri_cb(self, view, uri):
106
115
        return self.do_uri_request(uri)
107
116
 
 
117
    def __oldwebkit_link_uri_cb(self, view, frame, networkRequest):
 
118
        # From NavigiationResponse Enum in webkit source code
 
119
        accept = 0
 
120
        ignore = 1
 
121
        download = 2
 
122
 
 
123
        uri = networkRequest.get_uri()
 
124
        ret = False
 
125
        if uri != self.__current_uri:
 
126
            ret = self.do_uri_request(uri)
 
127
        if ret: 
 
128
            res = ignore
 
129
        else: 
 
130
            res = accept
 
131
        return res
 
132
 
108
133
    def __webkit_link_uri_cb(self, view, frame, networkRequest, navigation_action, policy_decision):
109
134
        uri = networkRequest.get_uri()
110
135
        ret = False