Tue, 06 Jan 2015 21:39:09 +0100
Conditionally force memory storage according to privacy.thirdparty.isolate;
This solves Tor bug #9701, complying with disk avoidance documented in
https://www.torproject.org/projects/torbrowser/design/#disk-avoidance.
michael@0 | 1 | /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ |
michael@0 | 2 | /* vim:expandtab:shiftwidth=2:tabstop=2: |
michael@0 | 3 | */ |
michael@0 | 4 | /* This Source Code Form is subject to the terms of the Mozilla Public |
michael@0 | 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this |
michael@0 | 6 | * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ |
michael@0 | 7 | |
michael@0 | 8 | #ifndef _ACCESSIBLE_ACTION_H |
michael@0 | 9 | #define _ACCESSIBLE_ACTION_H |
michael@0 | 10 | |
michael@0 | 11 | #include "nsISupports.h" |
michael@0 | 12 | |
michael@0 | 13 | #include "AccessibleAction.h" |
michael@0 | 14 | |
michael@0 | 15 | namespace mozilla { |
michael@0 | 16 | namespace a11y { |
michael@0 | 17 | |
michael@0 | 18 | class ia2AccessibleAction: public IAccessibleAction |
michael@0 | 19 | { |
michael@0 | 20 | public: |
michael@0 | 21 | |
michael@0 | 22 | // IUnknown |
michael@0 | 23 | STDMETHODIMP QueryInterface(REFIID, void**); |
michael@0 | 24 | |
michael@0 | 25 | // IAccessibleAction |
michael@0 | 26 | virtual HRESULT STDMETHODCALLTYPE nActions( |
michael@0 | 27 | /* [retval][out] */ long *nActions); |
michael@0 | 28 | |
michael@0 | 29 | virtual HRESULT STDMETHODCALLTYPE doAction( |
michael@0 | 30 | /* [in] */ long actionIndex); |
michael@0 | 31 | |
michael@0 | 32 | virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_description( |
michael@0 | 33 | /* [in] */ long actionIndex, |
michael@0 | 34 | /* [retval][out] */ BSTR *description); |
michael@0 | 35 | |
michael@0 | 36 | virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_keyBinding( |
michael@0 | 37 | /* [in] */ long actionIndex, |
michael@0 | 38 | /* [in] */ long nMaxBinding, |
michael@0 | 39 | /* [length_is][length_is][size_is][size_is][out] */ BSTR **keyBinding, |
michael@0 | 40 | /* [retval][out] */ long *nBinding); |
michael@0 | 41 | |
michael@0 | 42 | virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_name( |
michael@0 | 43 | /* [in] */ long actionIndex, |
michael@0 | 44 | /* [retval][out] */ BSTR *name); |
michael@0 | 45 | |
michael@0 | 46 | virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_localizedName( |
michael@0 | 47 | /* [in] */ long actionIndex, |
michael@0 | 48 | /* [retval][out] */ BSTR *localizedName); |
michael@0 | 49 | |
michael@0 | 50 | }; |
michael@0 | 51 | |
michael@0 | 52 | } // namespace a11y |
michael@0 | 53 | } // namespace mozilla |
michael@0 | 54 | |
michael@0 | 55 | #define FORWARD_IACCESSIBLEACTION(Class) \ |
michael@0 | 56 | virtual HRESULT STDMETHODCALLTYPE nActions(long *nActions) \ |
michael@0 | 57 | { \ |
michael@0 | 58 | return Class::nActions(nActions); \ |
michael@0 | 59 | } \ |
michael@0 | 60 | \ |
michael@0 | 61 | virtual HRESULT STDMETHODCALLTYPE doAction(long actionIndex) \ |
michael@0 | 62 | { \ |
michael@0 | 63 | return Class::doAction(actionIndex); \ |
michael@0 | 64 | } \ |
michael@0 | 65 | \ |
michael@0 | 66 | virtual HRESULT STDMETHODCALLTYPE get_description(long actionIndex, \ |
michael@0 | 67 | BSTR *description) \ |
michael@0 | 68 | { \ |
michael@0 | 69 | return Class::get_description(actionIndex, description); \ |
michael@0 | 70 | } \ |
michael@0 | 71 | \ |
michael@0 | 72 | virtual HRESULT STDMETHODCALLTYPE get_keyBinding(long actionIndex, \ |
michael@0 | 73 | long nMaxBinding, \ |
michael@0 | 74 | BSTR **keyBinding, \ |
michael@0 | 75 | long *nBinding) \ |
michael@0 | 76 | { \ |
michael@0 | 77 | return Class::get_keyBinding(actionIndex, nMaxBinding, keyBinding, nBinding);\ |
michael@0 | 78 | } \ |
michael@0 | 79 | \ |
michael@0 | 80 | virtual HRESULT STDMETHODCALLTYPE get_name(long actionIndex, BSTR *name) \ |
michael@0 | 81 | { \ |
michael@0 | 82 | return Class::get_name(actionIndex, name); \ |
michael@0 | 83 | } \ |
michael@0 | 84 | \ |
michael@0 | 85 | virtual HRESULT STDMETHODCALLTYPE get_localizedName(long actionIndex, \ |
michael@0 | 86 | BSTR *localizedName) \ |
michael@0 | 87 | { \ |
michael@0 | 88 | return Class::get_localizedName(actionIndex, localizedName); \ |
michael@0 | 89 | } \ |
michael@0 | 90 | \ |
michael@0 | 91 | |
michael@0 | 92 | #endif |
michael@0 | 93 |