Commit Graph

189 Commits

Author SHA1 Message Date
Andrew McCreight
d3620de16a Bug 1338272 - Require that the return value of MaybeSetPendingException is used. r=bz
Most of the time, the return value of this method should be checked,
because behavior should depend on whether or not an exception is
thrown. However, if it is called immediately after a throw it doesn't
need to be checked because it will always return true. bz said there
is no public API that lets you assume there is an exception because it
would be "too easy to misuse".

MozReview-Commit-ID: CqyicBbcNjW
2017-02-14 16:17:02 -08:00
Ehsan Akhgari
2073e6217a Bug 1344974 - Part 3: Speed up principal access checks in WrapperFactory::Rewrap() by eliminating virtual dispatch and inling; r=bholley 2017-03-07 00:29:44 -05:00
Ehsan Akhgari
053be65e48 Bug 1342719 - Optimize away a virtual function call in AccessCheck::isChrome; r=bholley 2017-02-27 09:39:50 -05:00
Tim Huang
6fd55bd41e Bug 1319773 - Part 3: Making the WrapperFactory ignores the First Party Domain of the originAttributes when rewrapping the wrapper. r=mrbkap 2017-01-18 20:34:31 +08:00
Boris Zbarsky
02f5d54849 Bug 1335654 part 3. Implement actually throwing a SecurityError when cross-origin property accesses are denied. r=bholley 2017-02-02 12:48:49 -05:00
Boris Zbarsky
ce8191abab Bug 1335654 part 2. Change the deny() methods of our wrapper security policies to take a JSContext and a mayThrow boolean. r=bholley 2017-02-02 12:48:49 -05:00
Boris Zbarsky
33f19eef54 Bug 1321299. Cross-origin objects should allow gets of certain symbol-named properties but force the value to be undefined. r=bholley 2016-12-02 15:24:20 -05:00
Tom Tromey
fad2c810d6 Bug 553032 - use MOZ_FORMAT_PRINTF in js; r=evilpie
MozReview-Commit-ID: DD3DJRkOxmC
2016-10-11 12:44:40 -06:00
Sebastian Hengst
ac4e31ada2 Backed out changeset 2bfd163f23f9 (bug 553032) 2016-10-19 18:29:36 +02:00
Tom Tromey
371584f1db Bug 553032 - use MOZ_FORMAT_PRINTF in js; r=evilpie
MozReview-Commit-ID: DD3DJRkOxmC
2016-10-11 12:44:40 -06:00
Tooru Fujisawa
e2afbe3471 Bug 1289050 - Part 2: Use ASCII or Latin1 variants of JS_ReportError in not-simple cases. r=jwalden 2016-08-15 19:20:01 +09:00
Tooru Fujisawa
a5294e0308 Bug 1289050 - Part 1: Use ASCII variant of JS_ReportError in simple case. r=jwalden 2016-08-14 20:39:28 +09:00
Jan de Mooij
21f6f04f90 Bug 1302448 part 2 - Rename XPCJSRuntime to XPCJSContext. r=mrbkap 2016-09-14 15:48:17 +02:00
Andrew McCreight
b87714e574 Bug 1292289, part 1 - Stop unnecessarily using xpcprivate in XPCWrapper.h. r=mrbkap
This file is included in caps/, but it only uses generic JS things,
aside from a macro.

AccessCheck.cpp was bootlegging xpcprivate.h.

MozReview-Commit-ID: C6fGOFxsTvg
2016-08-04 11:14:35 -07:00
Kyle Huey
e95edb30a9 Bug 1241764: Replace nsPIDOMWindow with nsPIDOMWindowInner/Outer. r=mrbkap,smaug 2016-01-30 09:05:36 -08:00
Tom Schuster
8436c3c6c9 Bug 1242214 - Rename JSPropertyDescriptor JS::PropertyDescriptor in js. r=sstangl 2016-01-28 11:28:04 +01:00
Jan de Mooij
eae167fd59 Bug 1125423 part 2 - Rename stopAtOuter argument to *Unwrap functions to stopAtWindowProxy. r=bz 2015-11-06 19:03:52 +01:00
Kyle Huey
8f8794e1c7 Bug 1216401: Eviscerate nsIDOMWindow, move still needed methods to nsPIDOMWindow. r=bz 2015-10-26 14:37:32 -07:00
Bobby Holley
cb491b6ad0 Bug 1212693 - Remove skipCOWCallableChecks. r=bz 2015-10-08 10:22:00 -07:00
Jeff Walden
9399e8c7de Bug 1179003 - Convert the infallible objectClassIs proxy hook into a fallible getBuiltinClass hook that indicates class type via outparam. r=efaust, r=bz on DOM bits, r=billm on IPC bits 2015-08-28 21:55:40 -07:00
Birunthan Mohanathas
a29151dc87 Bug 1182996 - Fix and add missing namespace comments. rs=ehsan
The bulk of this commit was generated by running:

  run-clang-tidy.py \
    -checks='-*,llvm-namespace-comment' \
    -header-filter=^/.../mozilla-central/.* \
    -fix
2015-07-13 08:25:42 -07:00
Juan Gomez
89035d527e Bug 1171931 - Refactor duplicated code using XRE_IsParent/ContentProcess. r=froydnj 2015-07-03 18:29:00 -07:00
Ryan VanderMeulen
7aba9d7002 Backed out changeset 8b4e4083639e (bug 1171931) for B2G debug emulator bustage. 2015-06-25 19:48:42 -04:00
Juan Gomez
7323e89a40 Bug 1171931 - Refactor duplicated code using XRE_IsParent/ContentProcess. r=froydnj 2015-06-24 14:11:00 -04:00
Bobby Holley
b5fd2d7bd9 Bug 1152784 - Be more robust about possible intermediate wrappers in IsFrameId. r=bz
Boris and I debugged this. It looks like we're somehow ending up with an
XrayWaiver on the other end of a CrossOriginXrayWrapper. The specifics of how
this happens are a bit fuzzy to me, but it's presumably happening in all the
brain transplant weirdness we do when recomputing wrappers during document.domain.

Having an XrayWaiver there isn't unsafe - the wrapper computation algorithm
will ignore the waiver if the principals don't allow the caller to waive. But
it does throw a wrench in some brittle code that only expects certain kinds
of wrappers. Let's just do what XrayTraits::getTargetObject does. I don't think
this is really unsafe at all, because the only wrapper with a security boundary
is the CCW, and we're already stripping that off unconditionally with
Wrapper::wrappedObject.
2015-04-10 00:28:05 -07:00
Jan de Mooij
c6596c5fa8 Bug 1144366 - Switch SpiderMonkey and XPConnect style from |T *t| to |T* t|. r=jorendorff 2015-03-28 23:22:11 +01:00
Phil Ringnalda
1a1c158706 Backed out changeset 0c030f97a04f (bug 1144366) for being on top of patches being backed out
CLOSED TREE
2015-03-28 10:39:56 -07:00
Jan de Mooij
369ef1b850 Bug 1144366 - Switch SpiderMonkey and XPConnect style from |T *t| to |T* t|. r=jorendorff 2015-03-28 12:08:37 +01:00
Jason Orendorff
495d3b16a3 Bug 1133081, part 5 - Remove non-asserting PropertyDescriptor accessors in favor of the new PropDesc-inspired asserting accessors. r=efaust.
value() can't assert hasValue() because too many places have plausible reasons for calling it on a PropertyDescriptor they basically know nothing about. One such place is CompartmentChecker::check(Handle<JSPropertyDescriptor>). Another is DefinePropertyByDescriptor. Maybe this will change with time.

In some cases we do things like `desc.hasWritable() && desc.writable() != existing_desc.writable()`. It is OK to write it this way, even though we have not checked existing_desc.hasWritable(), because in these cases we already know existingDesc is a complete property descriptor.
2015-02-15 06:18:30 -06:00
Bill McCloskey
3fdc0539fb Bug 1123461 - Make a real interface for js/ipc (r=dvander) 2015-01-26 13:32:18 -08:00
Tom Schuster
0960601db8 Bug 1094176 - Remove lookup API from browser. r=bholley 2014-12-17 00:28:39 +01:00
Bobby Holley
58ef69ef15 Bug 1081985 - Move checkPassToPrivilegedCode to AccessCheck.cpp where it belongs. r=gabor 2014-10-20 15:52:52 +02:00
Bobby Holley
2d41b4d59e Bug 1081990 - Turn off COWs for Functions. r=gabor 2014-10-18 11:02:10 +02:00
Bobby Holley
040fd3796c Bug 1084245 - Introduce a hacky opt-out of the new security checks for MozTCPSocket. r=bz 2014-10-17 18:02:19 +02:00
Bobby Holley
ccb21ffa2b Bug 1083060 - Refactor the XOW access control code to use an enum rather than a char*. r=bz
Srsly.
2014-10-17 16:17:02 +02:00
Bobby Holley
376d5a88af Bug 1082450 - Deny access to cross-origin callables on COWs. r=gabor 2014-10-15 15:05:10 +02:00
Bobby Holley
c584460f86 Bug 1082450 - Deny access to accessor properties on COWs. r=gabor 2014-10-15 15:05:10 +02:00
Bobby Holley
e3b0179272 Bug 1065185 - Turn off indexed/.length access on COW arrays. r=bz 2014-10-03 10:05:52 +02:00
Bobby Holley
342d0710f0 Bug 1065185 - Expand XrayWrapper console messages for COWs. r=bz 2014-10-03 10:05:51 +02:00
Bobby Holley
7d0c27ef8e Bug 1060521 - Remove infrastructure for Xrayed NewResolve, GetProperty, and SetProperty on XPCWrappedNatives. r=peterv 2014-09-15 14:13:02 +02:00
Chris Peterson
def5e6780e Bug 1063962 - Replace jschar typedef with C++11 char16_t type. r=jandem 2014-07-21 21:43:21 -07:00
Bobby Holley
be4629aef4 Bug 965898 - Handleify more stuff. r=me 2014-07-30 12:23:04 -07:00
Bobby Holley
b1d1a365c7 Bug 965898 - Squelch exceptions during the shadowing detection in isCrossOriginAccessPermitted. r=gabor 2014-07-30 12:23:03 -07:00
Bobby Holley
010d1c0e0a Bug 965898 - Switch policies for get{,Own}PropertyDescriptor. r=gabor 2014-07-30 12:23:03 -07:00
Bobby Holley
b892a36e71 Bug 965898 - Implement proper behavior for [[Enumerate]] And [[OwnPropertyKeys]]. r=gabor 2014-07-30 12:23:02 -07:00
Bobby Holley
24a6a77567 Backed out 16 changesets (bug 965898) for rooting hazards. CLOSED TREE
Backed out changeset ac4abde3579f (bug 965898)
Backed out changeset c4c7ab1a2f70 (bug 965898)
Backed out changeset e0bf3598dfe1 (bug 965898)
Backed out changeset 8f2788a0ba24 (bug 965898)
Backed out changeset 0d1cda4decaa (bug 965898)
Backed out changeset 3d80ffc439fb (bug 965898)
Backed out changeset ad66ab36fe2d (bug 965898)
Backed out changeset dcf7ccf6eff2 (bug 965898)
Backed out changeset d3f02e80355d (bug 965898)
Backed out changeset 212f2d05d9e7 (bug 965898)
Backed out changeset c350a2c0aa6d (bug 965898)
Backed out changeset c75acd0663a9 (bug 965898)
Backed out changeset d68f7ef0ae69 (bug 965898)
Backed out changeset 610e6d6e1a88 (bug 965898)
Backed out changeset 54d40a30f6ad (bug 965898)
Backed out changeset 403a0e1d2324 (bug 965898)
2014-07-29 22:57:59 -07:00
Bobby Holley
27133908a5 Bug 965898 - Squelch exceptions during the shadowing detection in isCrossOriginAccessPermitted. r=gabor 2014-07-29 21:35:32 -07:00
Bobby Holley
4ed05f74bb Bug 965898 - Switch policies for get{,Own}PropertyDescriptor. r=gabor 2014-07-29 21:35:32 -07:00
Bobby Holley
544f901fa4 Bug 965898 - Implement proper behavior for [[Enumerate]] And [[OwnPropertyKeys]]. r=gabor 2014-07-29 21:35:31 -07:00
Bobby Holley
8e59ce5e0a Bug 1036185 - Clean up logic in IsPermitted (bonus fix). r=gabor 2014-07-15 09:04:19 -07:00