Ticket #6825: hulahop.2.patch

File hulahop.2.patch, 1.3 KB (added by marco, 6 years ago)
  • python/webview.py

    diff --git a/python/webview.py b/python/webview.py
    index 6b0af57..7e2b582 100644
    a b from xpcom import components 
    2525from xpcom.components import interfaces 
    2626from xpcom.nsError import * 
    2727 
     28_views = [] 
     29 
    2830class _Chrome: 
    2931    _com_interfaces_ = interfaces.nsIWebBrowserChrome,      \ 
    3032                       interfaces.nsIWebBrowserChrome2,     \ 
    class _Chrome: 
    4143 
    4244    def provideWindow(self, parent, flags, position_specified, 
    4345                      size_specified, uri, name, features): 
     46        if size_specified or position_specified or \ 
     47           not flags & interfaces.nsIWebBrowserChrome.CHROME_ALL: 
     48            return None, False 
     49 
    4450        return parent, False 
    4551 
    4652    # nsIWebBrowserChrome 
    class WebView(_hulahop.WebView): 
    223229 
    224230        self.create_window() 
    225231 
     232        self.connect('destroy', self.__destroy_cb) 
     233 
     234        _views.append(self) 
     235 
     236    def __destroy_cb(self): 
     237        _views.remove(self) 
     238 
    226239    def _notify_title_changed(self): 
    227240        self.notify('title') 
    228241 
    class WebView(_hulahop.WebView): 
    267280    web_progress = property(get_web_progress) 
    268281    web_navigation = property(get_web_navigation) 
    269282 
     283def lookup_view(chrome): 
     284    for view in _views: 
     285        if view._chrome == chrome: 
     286            return view 
     287    return None