Commit Graph

73 Commits

Author SHA1 Message Date
Boris Zbarsky
16c84b6c1b Bug 1431846 part 2. Rename nsPIDOMWindowInner::GetNavigator() to Navigator(), since it never returns null. r=mystor
Also have it return a dom::Navigator.

MozReview-Commit-ID: 5thGopGWIk9
2018-01-22 12:59:15 -05:00
Nicholas Nethercote
72c884bf74 Bug 1384835 (part 3, attempt 2) - Remove the Preferences::Get*CString() variants that return nsAdoptingCString. r=froydnj.
--HG--
extra : rebase_source : d317b25be2ec21d1a60d25da3689e46cdce0b649
2017-07-31 14:28:48 +10:00
Jan Keromnes
13fee0b758 Bug 1376628 - Use nullptr where possible in dom/base/ (clang-tidy: modernize-use-nullptr). r=ehsan 2017-06-27 17:23:00 -04:00
Kirk Steuber
2844b8cf52 Bug 1336714 - Added a null check to the GetParentDocument call in nsDocument::ComputeFlashClassification. Change nsDocument::GetAllowPlugins to return result rather than using unnecessary outparam. nsPluginArray::AllowPlugins changed to call the GetAllowPlugins method on the inner window's document rather than on the docshell's mContentViewer's document. r=bsmedberg,bz
MozReview-Commit-ID: Crx9v8OBKKq

--HG--
extra : rebase_source : d1c117eb7129b19c72df109f43f129aebd691b30
2017-02-06 12:47:00 -08:00
Mike Conley
899e9b7747 Bug 1312091 - Allow third-party subframes to access navigator.plugins[plugin] if the top-level document has allowed it. r=bsmedberg
MozReview-Commit-ID: 5Ei77KD6qZC

--HG--
extra : rebase_source : d37a15a73135e7dcb7e40d2de8d83342451cc5fb
2017-01-23 11:45:44 -05:00
Boris Zbarsky
d68defe92d Bug 1324044. Add fingerprinting resistance in GetSupportedNames in nsMimeTypeArray and nsPluginArray. r=qdot 2016-12-17 00:25:52 -05:00
Boris Zbarsky
6c52415c65 Bug 1324035 part 4. Change nsContentUtils::ResistFingerprinting to just take a dom::CallerType instead of having all its consumers check it. r=qdot 2016-12-17 00:25:52 -05:00
Boris Zbarsky
e1d25f85a4 Bug 1324035 part 3. Stop using nsContentUtils::ThreadSafeIsCallerChrome in nsPluginArray. r=qdot 2016-12-17 00:25:52 -05:00
Sylvestre Ledru
30ee480275 Bug 1317430 - Avoid a unnecessary copy by passing a const & in dom/base/ r=smaug
MozReview-Commit-ID: A70LY4ekX8E

--HG--
extra : rebase_source : e370a9637d5c57507feb2dee164145a5992b5645
2016-11-14 23:15:46 +01:00
Andi-Bogdan Postelnicu
aaf2063029 Bug 1317241 - Replace default bodies of special member functions with = default in dom/. r=baku
MozReview-Commit-ID: 12AHOhrpaNO

--HG--
extra : rebase_source : 7881277a13fe7389b95635ee9b94f1686f56d142
2016-11-14 11:40:37 +02:00
Brad Lassey
75da566dc9 bug 1298083 - Don't hide blocklisted Flash from navigator.plugins r=bsmedberg 2016-10-05 09:46:45 -04:00
Brad Lassey
750d2949b7 bug 1294341 - add a fake filename to avoid an assertion that plugin filenames have periods in them r=bsmedberg 2016-09-29 12:37:20 -04:00
Brad Lassey
5dec39046b bug 1294341 - pref to control which CTP plugins should be hidden r=bsmedberg 2016-08-26 19:27:43 -04:00
Brad Lassey
92dc8fe4cc bug 1294341 - put dummy plugin in navigator.plugins when a click to play plugin is hidden and its the only plugin r=bsmedberg 2016-08-24 14:02:02 -04:00
Benjamin Smedberg
0e3ecdbee2 Bug 1296004 - Disable bug 1186948 via a new pref, r=mconley
There were no automated tests for this originally, so no test changes are here, but I've verified the correct behavior manually. Definitely need to add some automated tests before this gets flipped on by default again.

MozReview-Commit-ID: FMagXw3WeD9

--HG--
extra : rebase_source : eef395f17b9d200da3663285e5bd20d6bec7ebd4
2016-08-17 15:35:31 -04:00
Brad Lassey
c99449c15a bug 1289670 - Show plugin activation icon when navigator.mimetypes is queried r=mrbkap 2016-07-27 17:45:48 -04:00
Brad Lassey
b3e11b9f98 Bug 1186948 - remove plugins that are click-to-play from navigator.plugins (restricted to Flash). r=jst,mconley,mrbkap 2015-08-03 19:24:35 -04:00
Mike Conley
4cdd10cd4c Backed out changeset 776f0bb21587 for causing bug 1284203.
MozReview-Commit-ID: KtsmLahe1hC

--HG--
extra : rebase_source : a2ae9fbf3bf7b9301c389331ba7f6cbfee3148ba
2016-07-04 13:38:52 -04:00
Arthur Edelstein
2fefe85cca Bug 1281963 - Hide mime types and plugins when resisting fingerprinting. r=blassey 2016-06-30 08:40:00 +02:00
Brad Lassey
e680d73b96 bug 1186948 - remove plugins that are click-to-play from navigator.plugins (restricted to Flash) r=jst 2015-08-03 19:24:35 -04:00
Chris Peterson
0ca60536e0 Backed out changeset 7383d49bc7c8 (Flash click-to-play bug 1186948) 2016-06-05 01:03:36 -07:00
Brad Lassey
4bd9943d04 bug 1186948 - remove plugins that are click-to-play from navigator.plugins (restricted to Flash) r=jst 2015-08-03 19:24:35 -04:00
Boris Zbarsky
59de5a530f Bug 1270349 part 5. Use LegacyUnenumerableNamedProperties instead of passing flags to GetSupportedNames to determine whether named props on DOM proxies should be reflected in ownPropertyKeys. r=peterv 2016-05-09 22:25:40 -04:00
Boris Zbarsky
76180fb5a7 Bug 1270349 part 4. Use LegacyUnenumerableNamedProperties instead of NameIsEnumerable() calls to determine whether named props on DOM proxies should be enumerable. r=peterv 2016-05-09 22:25:40 -04:00
Kyle Huey
91efc5a86c Bug 1241764: Replace nsPIDOMWindow with nsPIDOMWindowInner/Outer. r=mrbkap,smaug 2016-01-30 09:05:36 -08:00
Kyle Huey
c7d3c4e21a Bug 1216401: Eviscerate nsIDOMWindow, move still needed methods to nsPIDOMWindow. r=bz 2015-10-26 14:37:32 -07:00
Nathan Froyd
01583602a9 Bug 1207245 - part 6 - rename nsRefPtr<T> to RefPtr<T>; r=ehsan; a=Tomcat
The bulk of this commit was generated with a script, executed at the top
level of a typical source code checkout.  The only non-machine-generated
part was modifying MFBT's moz.build to reflect the new naming.

CLOSED TREE makes big refactorings like this a piece of cake.

 # The main substitution.
find . -name '*.cpp' -o -name '*.cc' -o -name '*.h' -o -name '*.mm' -o -name '*.idl'| \
    xargs perl -p -i -e '
 s/nsRefPtr\.h/RefPtr\.h/g; # handle includes
 s/nsRefPtr ?</RefPtr</g;   # handle declarations and variables
'

 # Handle a special friend declaration in gfx/layers/AtomicRefCountedWithFinalize.h.
perl -p -i -e 's/::nsRefPtr;/::RefPtr;/' gfx/layers/AtomicRefCountedWithFinalize.h

 # Handle nsRefPtr.h itself, a couple places that define constructors
 # from nsRefPtr, and code generators specially.  We do this here, rather
 # than indiscriminantly s/nsRefPtr/RefPtr/, because that would rename
 # things like nsRefPtrHashtable.
perl -p -i -e 's/nsRefPtr/RefPtr/g' \
     mfbt/nsRefPtr.h \
     xpcom/glue/nsCOMPtr.h \
     xpcom/base/OwningNonNull.h \
     ipc/ipdl/ipdl/lower.py \
     ipc/ipdl/ipdl/builtin.py \
     dom/bindings/Codegen.py \
     python/lldbutils/lldbutils/utils.py

 # In our indiscriminate substitution above, we renamed
 # nsRefPtrGetterAddRefs, the class behind getter_AddRefs.  Fix that up.
find . -name '*.cpp' -o -name '*.h' -o -name '*.idl' | \
    xargs perl -p -i -e 's/nsRefPtrGetterAddRefs/RefPtrGetterAddRefs/g'

if [ -d .git ]; then
    git mv mfbt/nsRefPtr.h mfbt/RefPtr.h
else
    hg mv mfbt/nsRefPtr.h mfbt/RefPtr.h
fi

--HG--
rename : mfbt/nsRefPtr.h => mfbt/RefPtr.h
2015-10-18 01:24:48 -04:00
Aryeh Gregor
0ccef27b6a Bug 1179451 - Part 1: Rewrite some ternary operators as if/else. r=froydnj
--HG--
extra : rebase_source : 161e415b6f518bf2b82e45b6f7f8d21298712d81
2015-08-13 15:22:48 +03:00
John Schoenick
6601080d53 Bug 1178963 part 1. Use nsIPluginTagInternal instead of nsPluginTag in cases where it may be nsFakePluginTag. r=peterv 2015-05-20 15:30:05 +02:00
Chris Peterson
e5b1ce7ce4 Bug 1169945 - Remove unused plugins.enumerable_names whitelist. r=bsmedberg 2015-05-29 22:42:23 -07:00
Andrew McCreight
9e8f4b219e Bug 1152551, part 2 - Fix mode lines in dom/. r=jst 2015-05-03 15:32:37 -04:00
Boris Zbarsky
dc24477d79 Bug 1117172 part 3. Change the wrappercached WrapObject methods to allow passing in aGivenProto. r=peterv
The only manual changes here are to BindingUtils.h, BindingUtils.cpp,
Codegen.py, Element.cpp, IDBFileRequest.cpp, IDBObjectStore.cpp,
dom/workers/Navigator.cpp, WorkerPrivate.cpp, DeviceStorageRequestChild.cpp,
Notification.cpp, nsGlobalWindow.cpp, MessagePort.cpp, nsJSEnvironment.cpp,
Sandbox.cpp, XPCConvert.cpp, ExportHelpers.cpp, and DataStoreService.cpp.  The
rest of this diff was generated by running the following commands:

  find . -name "*.h" -o -name "*.cpp" | xargs perl -pi -e 'BEGIN { $/ = undef } s/(WrapObjectInternal\(JSContext *\* *(?:aCx|cx|aContext|aCtx|js))\)/\1, JS::Handle<JSObject*> aGivenProto)/g'

  find . -name "*.h" -o -name "*.cpp" | xargs perl -pi -e 'BEGIN { $/ = undef } s/(WrapObjectInternal\((?:aCx|cx|aContext|aCtx|js))\)/\1, aGivenProto)/g'

  find . -name "*.h" -o -name "*.cpp" | xargs perl -pi -e 'BEGIN { $/ = undef } s/(WrapNode\(JSContext *\* *(?:aCx|cx|aContext|aCtx|js))\)/\1, JS::Handle<JSObject*> aGivenProto)/g'

  find . -name "*.h" -o -name "*.cpp" | xargs perl -pi -e 'BEGIN { $/ = undef } s/(WrapNode\((?:aCx|cx|aContext|aCtx|js))\)/\1, aGivenProto)/g'

  find . -name "*.h" -o -name "*.cpp" | xargs perl -pi -e 'BEGIN { $/ = undef } s/(WrapObject\(JSContext *\* *(?:aCx|cx|aContext|aCtx|js))\)/\1, JS::Handle<JSObject*> aGivenProto)/g'

  find . -name "*.h" -o -name "*.cpp" | xargs perl -pi -e 'BEGIN { $/ = undef } s/(Binding(?:_workers)?::Wrap\((?:aCx|cx|aContext|aCtx|js), [^,)]+)\)/\1, aGivenProto)/g'
2015-03-19 10:13:33 -04:00
Peter Van der Beken
dcda2ba9bb Bug 1078744 - Replace SetIsDOMBinding with SetIsNonDOMBinding, remove nsWrapperCache::SetIsDOMBinding. r=bz.
--HG--
extra : rebase_source : 89c476cd9436530b2df5acc903909e34188417a0
2014-10-07 11:44:49 +02:00
Chris Peterson
a7c0a7fa6b Bug 793978 - Alphabetize navigator.plugins and navigator.mimeTypes arrays to reduce fingerprintable entropy. r=bsmedberg 2012-09-18 00:56:14 -07:00
Jon Morton
87e5ec13e3 Bug 1032417: Move nsPluginElement's destructor to the implementation file. r=khuey 2014-06-30 16:00:30 -07:00
Trevor Saunders
78966cf36b bug 966059 - add nsIDocShell::GetWindow and GetDocument r=smaug 2014-01-09 21:03:47 -05:00
Birunthan Mohanathas
a85cd37de4 Bug 1001966 - Part 2: Change uses of numbered NS_IMPL_CYCLE_COLLECTION_WRAPPERCACHE macro to the variadic variant. r=smaug 2014-04-29 04:57:00 -04:00
Boris Zbarsky
9c3392475d Bug 843840 part 2. Add a way to ask DOM proxies for only their enumerable property names, and use that in the enumerate hook. r=peterv 2014-04-15 22:58:44 -04:00
Boris Zbarsky
ad59a21b39 Bug 843840 part 1. Add a way to ask DOM proxies with a named getter whether a property is enumerable or not and use that information in getOwnPropertyDescriptor. r=peterv 2014-04-15 22:58:44 -04:00
Boris Zbarsky
79dab91ff6 Bug 991742 part 8. Remove the "aScope" argument of WebIDL/nsWrapperCache WrapObject() methods. r=bholley
This patch was mostly generated with the following command:

find . -name "*.h" -o -name "*.cpp" | xargs sed -e '/WrapObject(JSContext/ {; N; s/\(WrapObject(JSContext *\* *a\{0,1\}[Cc]x\),\n\{0,1\} *JS::Handle<JSObject\*> a\{0,1\}[sS]cope/\1/ ; }' -i ""

and then reverting the changes that made to
dom/bindings/BindingUtils.h, since those WrapObject methods are not
the ones we're trying to change here, plus a bunch of manual fixups
for cases that this command did not catch (including all the callsites
of WrapObject()).
2014-04-08 18:27:18 -04:00
Boris Zbarsky
d4bd64ee2c Bug 991742 part 6. Remove the "aScope" argument of binding Wrap() methods. r=bholley
This patch was mostly generated with this command:

find . -name "*.h" -o -name "*.cpp" | xargs sed -e 's/Binding::Wrap(aCx, aScope, this/Binding::Wrap(aCx, this/' -e 's/Binding_workers::Wrap(aCx, aScope, this/Binding_workers::Wrap(aCx, this/' -e 's/Binding::Wrap(cx, scope, this/Binding::Wrap(cx, this/' -i ""

plus a few manual fixes to dom/bindings/Codegen.py, js/xpconnect/src/event_impl_gen.py, and a few C++ files that were not caught in the search-and-replace above.
2014-04-08 18:27:17 -04:00
Ehsan Akhgari
1b83407ce9 Bug 927728 - Part 1: Replace PRUnichar with char16_t; r=roc
This patch was automatically generated by the following script:

#!/bin/bash
# Command to convert PRUnichar to char16_t

function convert() {
echo "Converting $1 to $2..."
find . ! -wholename "*nsprpub*" \
       ! -wholename "*security/nss*" \
       ! -wholename "*modules/libmar*" \
       ! -wholename "*/.hg*" \
       ! -wholename "obj-ff-dbg*" \
       ! -name prtypes.h \
       ! -name Char16.h \
         -type f \
      \( -iname "*.cpp" \
         -o -iname "*.h" \
         -o -iname "*.c" \
         -o -iname "*.cc" \
         -o -iname "*.idl" \
         -o -iname "*.ipdl" \
         -o -iname "*.ipdlh" \
         -o -iname "*.mm" \) | \
    xargs -n 1 sed -i -e "s/\b$1\b/$2/g"
}

convert PRUnichar char16_t
2014-01-04 10:02:17 -05:00
Chris Peterson
cf1496031d Bug 757726 - Part 6a: Add support for cloaking plugin names in navigator.plugins and navigator.mimeTypes enumeration. r=johns sr=bsmedberg 2013-10-31 22:19:09 -07:00
Chris Peterson
f3f08d8554 Bug 757726 - Part 4: Consolidate duplicate code into EnsurePlugins() and EnsureMimeTypes(). r=johns 2013-10-20 00:05:05 -07:00
Chris Peterson
c0ea0d86d5 Bug 757726 - Part 3: Refactor nsPluginArray::GetPlugins() to GetMimeTypes(). r=johns 2013-10-17 00:19:43 -07:00
Olli Pettay
5f197612f1 Bug 904351, make MimeType/Array, PluginArray/Element to hold strong reference to their parent object, r=mccr8
--HG--
extra : rebase_source : 955958237c5b4dd5a062b5d40ae976f7da31a33f
2013-08-28 23:55:29 +03:00
Ehsan Akhgari
99058b577c Bug 905353 - Minimize the #includes in dom/base; r=jst
--HG--
extra : rebase_source : e7a1d2262bf6d8c9b78057b8eb6cdbfd98262f68
2013-08-15 14:17:48 -04:00
Ms2ger
1a5ae526d9 Bug 901323 - Don't include nsContentUtils.h unnecessarily; r=jlebar 2013-08-14 08:56:21 +02:00
Johnny Stenback
5537c27fe8 Bug 898906. Fix this bug by making nsMimeType objects hold their active plugin alive, and rely on the cycle collector to break the explicit reference cycle. r=mccr8
---
 dom/base/crashtests/898906.html     | 14 ++++++++++++++
 dom/base/crashtests/crashtests.list |  3 ++-
 dom/base/nsMimeTypeArray.cpp        |  2 +-
 dom/base/nsMimeTypeArray.h          | 14 ++++++--------
 dom/base/nsPluginArray.cpp          | 24 +-----------------------
 dom/base/nsPluginArray.h            |  2 --
 6 files changed, 24 insertions(+), 35 deletions(-)
 create mode 100644 dom/base/crashtests/898906.html
2013-07-30 17:46:46 -07:00
Johnny Stenback
dc04284434 Bug 896242. Fix possible crash due to dangling pointer to nsPluginElement. r=mccr8
---
 dom/base/nsPluginArray.cpp |   24 +++++++++++++++++++-----
 dom/base/nsPluginArray.h   |    1 +
 2 files changed, 20 insertions(+), 5 deletions(-)
2013-07-24 23:33:21 -07:00