summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeLines
* Bug 1343375: Update RegExp.prototype.replace and .match to call ↵janekptacijarabaci2018-03-24-51/+203
| | | | | | ToLength(lastIndex) for non-global RegExp and handle recompilations [Depends on] Bug 1317397: Implement RegExp.lastIndex changes from ES2017
* Add support for the function `name` property.wolfbeast2018-03-20-222/+1085
|\ | | | | | | | | | | This resolves #78. Merged remote-tracking branch 'janek/js_function_name_1'
| * Follow up: A opening bracket { was added; Added "function()->explicitName()" ↵janekptacijarabaci2018-03-19-2/+2
| | | | | | | | | | | | instead of "function()->name()" Issue #78
| * Part 6: Update browser and dom tests to follow displayName changejanekptacijarabaci2018-03-19-1/+1
| | | | | | | | Issue #78
| * Part 5: Update devtools to follow displayName changejanekptacijarabaci2018-03-19-37/+51
| | | | | | | | Issue #87
| * Part 4: Fix existing testsjanekptacijarabaci2018-03-19-38/+39
| | | | | | | | Issue #87
| * Part 3: Support JSOP_SETFUNNAME in Baseline and Ionjanekptacijarabaci2018-03-19-0/+122
| | | | | | | | Issue #87
| * Part 2: Call NameFunctions after emittingjanekptacijarabaci2018-03-19-14/+15
| | | | | | | | Issue #78
| * Part 1: Implement ES6 function name property semanticsjanekptacijarabaci2018-03-19-81/+750
| | | | | | | | Issue #78
| * Bug 1317309: Throw a TypeError when passing a Symbol value to ToAtomjanekptacijarabaci2018-03-19-3/+45
| | | | | | | | | | | | Issue #78 [Depends on] Bug 883377: Implement ES6 function "name" property semantics
| * Bug 1320042: Rename BytecodeEmitter::emitConditionallyExecuted{SOMETHING} to ↵janekptacijarabaci2018-03-19-19/+18
| | | | | | | | | | | | | | | | BytecodeEmitter::emit{SOMETHING}InBranch Issue #78 [Depends on] Bug 883377: Implement ES6 function "name" property semantics
| * Bug 1320388: Move JSFunction::HAS_REST to JSScript and LazyScriptjanekptacijarabaci2018-03-19-37/+52
| | | | | | | | | | | | Issue #78 [Depends on] Bug 883377: Implement ES6 function "name" property semantics
* | Make RegExp.prototype return a regular object instead of an instance.wolfbeast2018-03-20-81/+152
|\ \ | | | | | | | | | | | | | | | This resolves #77. Merged remote-tracking branch 'janek/js_regexp_ordinary-object_1'
| * | Update RegExp Xray codejanekptacijarabaci2018-03-19-10/+11
| | | | | | | | | | | | Issue #77
| * | Handle RegExp correctly in devtoolsjanekptacijarabaci2018-03-19-5/+0
| | | | | | | | | | | | Issue #77
| * | Testsjanekptacijarabaci2018-03-19-5/+32
| | | | | | | | | | | | Issue #77
| * | Use ordinary object for RegExp prototypejanekptacijarabaci2018-03-19-59/+98
| | | | | | | | | | | | Issue #77
| * | Bug 1323868: Report object allocation failure when running off-main-threadjanekptacijarabaci2018-03-19-2/+11
| |/ | | | | | | | | Issue #77 [Depends on] Bug 1192038: RegExp.prototype should be an ordinary object
* | Merge pull request #81 from janekptacijarabaci/blocklist_update_1Moonchild2018-03-19-2/+2
|\ \ | |/ |/| Blocklist update (follow up for "AntiVirus for Firefox")
| * Blocklist update (follow up for "AntiVirus for Firefox")janekptacijarabaci2018-03-19-2/+2
| | | | | | | | Issue https://github.com/MoonchildProductions/Pale-Moon/issues/1644
* | Prototypes should be regular objects.wolfbeast2018-03-19-144/+274
|\ \ | |/ |/| | | | | | | This resolves #76 Merged remote-tracking branch 'janek/js_error_ordinary-object_1'
| * Add TI for error properties assigned by the initial shape (follow up)janekptacijarabaci2018-03-17-1/+1
| |
| * Bug 1320198: Land additional Error prototype testjanekptacijarabaci2018-03-17-0/+24
| |
| * Bug 1319952: Assertion failure: isNurseryAllocAllowed(), at ↵janekptacijarabaci2018-03-17-1/+2
| | | | | | | | js/src/gc/Allocator.cpp:79
| * Testsjanekptacijarabaci2018-03-17-0/+35
| |
| * Add TI for error properties assigned by the initial shapejanekptacijarabaci2018-03-17-2/+2
| |
| * Simplify Error Xray codejanekptacijarabaci2018-03-17-20/+3
| |
| * Handle the now ordinary error prototype object in stackjanekptacijarabaci2018-03-17-31/+48
| |
| * Use ordinary objects for Error prototypesjanekptacijarabaci2018-03-17-91/+161
| |
* | Merge pull request #70 from janekptacijarabaci/js_dom_performancetiming_2Moonchild2018-03-18-4/+27
|\ \ | | | | | | Set "secureConnectionStart" to 0 for pages with HTTP scheme
| * | Set "secureConnectionStart" to 0 for pages with HTTP schemejanekptacijarabaci2018-03-17-4/+27
| |/ | | | | | | Issue #67
* | Remove strict arguments poison pill for "caller" property per ES2017wolfbeast2018-03-18-18/+18
|\ \ | | | | | | | | | | | | | | | This resolves #79. Merged remote-tracking branch 'janek/js_strict_arguments_caller_removed_1'
| * | Remove strict arguments poison pill for "caller" property per ES2017janekptacijarabaci2018-03-18-18/+18
| |/
* | Correctly tokenize valid JS names when using code points outside of BMP range.wolfbeast2018-03-18-37/+1159
|\ \ | | | | | | | | | | | | | | | This resolves #72. Merged remote-tracking branch 'janek/js_variable_unicode_1'
| * | Correctly tokenize valid JS names when using Unicode mathematical ↵janekptacijarabaci2018-03-18-37/+1159
| |/ | | | | | | | | | | alphanumeric symbols as variable name Issue https://github.com/MoonchildProductions/Pale-Moon/issues/1647
* | Support ES6's "new function" constructwolfbeast2018-03-18-519/+904
|\ \ | | | | | | | | | | | | | | | This resolves #75. Merged remote-tracking branch 'janek/js_function_new_1'
| * | Bug 755821: Function() should use the parser's argument parsing codejanekptacijarabaci2018-03-16-469/+321
| | |
| * | Bug 1318017: Call GetPrototypeFromConstructor for generator/async function ↵janekptacijarabaci2018-03-16-53/+586
| | | | | | | | | | | | | | | | | | | | | and Intl constructors [Depends on] Bug 755821: Function() should use the parser's argument parsing code
* | | Add extra check for path traversal sanity v2.Pale Moon2018-03-18-1/+4
| | |
* | | Merge branch 'ported-upstream'wolfbeast2018-03-18-139/+159
|\ \ \ | |_|/ |/| |
| * | Revert "Add extra check for path traversal sanity."wolfbeast2018-03-18-6/+0
| | | | | | | | | | | | This reverts commit 41bd3e2599696771485c9dc75a7e27b94c0597fb.
| * | Bug 1426002. Bail out of document.open if beforeunload tears things down. ↵wolfbeast2018-03-17-0/+12
| | | | | | | | | | | | r=mystor
| * | Be more explicit with a lock.wolfbeast2018-03-17-2/+3
| | |
| * | Add extra check for path traversal sanity.wolfbeast2018-03-17-0/+6
| | |
| * | Use origin instead of documentURI for WebRTC permission requests, when ↵wolfbeast2018-03-17-1/+8
| | | | | | | | | | | | available.
| * | Handle same-compartment wrappers in TypedArray methods.wolfbeast2018-03-17-40/+55
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | CallTypedArrayMethodIfWrapped (and the CallNonGeneric machinery throughout the engine) unwraps the `this` argument, but the other arguments are only rewrapped for the target compartment. The pattern being used before this patch to get the length of a TypedArray or possible TypedArray wrapper is: `callFunction(CallTypedArrayMethodIfWrapped, O, O, "TypedArrayLength")` The first `O` is the `this` value and the second is an argument. If `O` is a cross-compartment wrapper, this works fine. The first `O` is unwrapped, revealing the actual TypedArray object; the second `O` is rewrapped for that TypedArray's compartment, producing the same TypedArray. However, if `O` is a same-compartment wrapper, this doesn't work. The first `O` is unwrapped, revealing the actual TypedArray object in the same compartment; rewrapping the other `O` does nothing to it, since it is already an object in the target compartment. Thus TypedArrayLength receives a `this` value that's an unwrapped TypedArray, but an argument that is still a wrapper. The fix is to have CallTypedArrayMethodIfWrapped targets only expect `this` to be an unwrapped TypedArray.
| * | Set up the "DRM not available" messages in a saner way.wolfbeast2018-03-17-30/+28
| | |
| * | Bug 1416940; r=snorpwolfbeast2018-03-16-66/+52
| | |
| * | Bug 1426603 - Fallback from audio callback to system clock driver on error ↵Karl Tomlinson2018-03-16-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | only once. r=padenot, a=RyanVM Usually, mShouldFallbackIfError has been reset to false in DataCallback() before Stop() is called. However, if fallback to a system clock driver due to cubeb error had already occurred, then mShouldFallbackIfError would not have been reset, and Stop() is still called. With mShouldFallbackIfError still true, a cubeb error in stop would have created another fallback thread. I expect that resetting mShouldFallbackIfError in Stop() would also be an effective alternative solution, but resetting on StateCallback() happens earlier, which would be an advantage if any additional errors could possibly be reported to StateCallback(). MozReview-Commit-ID: E9j7PQmS3O4
* | | Merge pull request #68 from janekptacijarabaci/js_dom_performancetiming_1Moonchild2018-03-17-6/+2
|\ \ \ | |_|/ |/| | Round down to the nearest 2ms (instead of 1ms) by using timerclamping function