tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

context.py (481B)


      1 import contextlib
      2 
      3 
      4 def set_context(session, context):
      5    session.send_session_command("POST", "moz/context", {"context": context})
      6 
      7 
      8 @contextlib.contextmanager
      9 def using_context(session, context):
     10    orig_context = session.send_session_command("GET", "moz/context")
     11    needs_change = context != orig_context
     12 
     13    if needs_change:
     14        set_context(session, context)
     15 
     16    try:
     17        yield
     18    finally:
     19        if needs_change:
     20            set_context(session, orig_context)