Compare commits

...
1861 Commits
Author SHA1 Message Date
wolfbeast e93eae268d Merge branch 'master' into js-modules 2020-01-05 18:39:50 +01:00
Moonchild e30d68b699 Merge pull request #1341 from MoonchildProductions/nss-work
Update NSPR and NSS
2020-01-04 21:06:45 +00:00
wolfbeast b1694ef0a1 Issue #1338 - Part 5: Clobber for NSS update
We usually need this, so just in case.
2020-01-02 21:25:41 +01:00
wolfbeast 24f97a1683 Issue #1338 - Part 4: Initialize NSS with desired run-time values.
This NSS version (and onward) has variables to enable PKDBF rounds for
master password hardening (combating brute-force guessing).
Since we use DBM, we need to explicitly enable iteration counts in DBM
mode, and adjust the rounds used with a lower maximum because the PKDBF
routine for DBM is considerably slower for which the NSS default of
10,000 is debilitatingly high.
The method for this is run-time configuration through environment
variables. We set these prior to NSS initialization from nsAppRunner.cpp
so the NSS lib picks them up and allows us to continue using the DBM
cert/key stores with stored rounds per record.
2020-01-02 21:24:54 +01:00
wolfbeast c097dcf7fa Issue #1338 - Part 3: Update NSS symbols 2020-01-02 21:16:43 +01:00
wolfbeast f4a12fc676 Issue #1338 - Part 2: Update NSS to 3.48-RTM 2020-01-02 21:06:40 +01:00
wolfbeast f7d3013322 Issue #1338 - Part 1: Update NSPR to 4.24 2020-01-02 21:01:38 +01:00
New Tobin Paradigm 26b297510a Merge pull request #1340 from g4jc/mailnews_enhance
OAuth2 updates
2019-12-31 20:17:35 -05:00
Gaming4JC 12eb1554f9 Bug 1599054 - allow callers to ommit sending OAuth2 client_secret parameter. 2019-12-30 20:29:27 -05:00
Gaming4JC fb7de243f8 Bug 1597933 - Use URLSearchParams for setting params for OAuth2 authorization request. 2019-12-30 20:29:26 -05:00
Gaming4JC 8fdd883f7e Bug 1597933 - use fetch + URLSearchParms instead of Http.jsm to request OAuth2 access token. 2019-12-30 20:29:26 -05:00
Gaming4JC fd9d39ac97 Bug 1597933 - don't pass string constants to determine OAuth refresh token or not. 2019-12-30 20:29:26 -05:00
Gaming4JC f532cec976 Bug 1597933 - improve OAuth2 params parsing. 2019-12-30 20:29:25 -05:00
Gaming4JC 3dae851d21 Bug 1597933 - clean up OAuth2 code: remove responseType which is always code.
Response type token is part of the OAuth 2.0 Implicit Flow which is not used in Mail Applications, but also discouraged by the OAuth Working Group: https://developer.okta.com/blog/2019/05/01/is-the-oauth-implicit-flow-dead
2019-12-30 20:29:25 -05:00
Gaming4JC a4ab8fd190 Bug 1453643 - Enable proper retry on oauth2 authenication failure.
This prevents mail applications from  attempting to use an unauthenticated connection to mailbox(s) and avoid unexpected deletion of local mbox files and subsequent re-download of mailbox content over imap.
2019-12-30 20:29:25 -05:00
Gaming4JC 0395a076c8 Bug 1176399 - Multiple requests for master password when GMail OAuth2 is enabled. 2019-12-30 20:29:20 -05:00
Moonchild 357405f635 Merge pull request #1335 from MoonchildProductions/document_open
Align document.open() with the overhauled specification
2019-12-28 10:14:29 +00:00
Moonchild f60bbaf9e4 Merge pull request #1336 from athenian200/html-media-hack
Issue #1332 - Backport promise-based media playback.
2019-12-28 10:05:21 +00:00
athenian200 c3ed7420fd Fix typo. 2019-12-24 06:53:25 -06:00
athenian200 735418fa36 Issue #1332 - Backport promise-based media playback
https://bugzilla.mozilla.org/show_bug.cgi?id=1244768

I happened to find an older version of the promise-based media playback patch in Bugzilla, the one that was originally submitted for review. It had the DocShell changes I already knew how to deal with, and had fewer of the audio wrapper and nsISupports changes that were confusing me in the later patch. I was able to do a better job getting this back into a UXP-appropriate configuration than I could have with the final version.

I'm honestly still a little unsure about some of the minor refactoring done in the patch itself, insisting on already_AddRefed promises and such, but I don't really know how to avoid those completely. Still, I think it's better than it was.
2019-12-23 09:27:09 -06:00
wolfbeast 8b88623463 Issue #1118 - Part 9: Don't allow reuse of unlinked CallbackObjectHolder. 2019-12-23 01:21:32 +01:00
Moonchild 84f4806b46 Merge pull request #1334 from g4jc/bug1333
Don't hang on to pointer from temporary NS_LossyConvertUTF16toASCII.
2019-12-22 23:50:30 +00:00
wolfbeast e0f0b34926 Issue #1118 - Part 8: Remove no-longer-used mDidDocumentOpen and
CheckForOutdatedParent()

This was only used to check for cases when document.open() changed the
global, and elements being inserted into the document needing a new
reflector as a result.

Since document.open() no longer changes the global, this code is no
longer needed.
2019-12-23 00:04:31 +01:00
wolfbeast b1c7cc07c0 Issue #1118 - Part 7: Remove no-longer-used mWillReparent debug code. 2019-12-23 00:00:23 +01:00
wolfbeast f71108680b Issue #1118 - Part 6: Fix various tests that are no longer correct.
The behavior change of document.open() requires these tests to be
changed to account for the new spec behavior.
2019-12-22 23:48:40 +01:00
Gaming4JC 4e6294b248 Bug 1341238 - Don't hang on to pointer from temporary NS_LossyConvertUTF16toASCII.
Resolves #1333
2019-12-22 17:20:23 -05:00
wolfbeast dfa7af70ce Issue #1118 - Part 5: Change the way document.open() works
This changes the work we do for document.open() in the following ways:
- We no longer create a new Window when doing document.open().
  We use the same Window but remove all the event listeners on the
  existing DOM tree and Window before removing the document's existing
  children to provide a clean slate document to use for .write().
- We no longer create a session history entry (previously would be a
  wyciwyg URI). We now replace the current one, effectively losing the
  entry for the original document.
- We now support document.open() on windowless documents.
2019-12-22 19:57:30 +01:00
wolfbeast 54091ecab4 Forward to new tree structure. 2019-12-22 01:26:49 +01:00
wolfbeast 492624a710 Update README 2019-12-21 22:48:48 +01:00
wolfbeast d6baead6c8 Issue #1219 - Align computed DOM styles with mainstream behvior.
This updates our behavior for computed DOM styling to no longer return
null on elements that have no display, but return a 0-length (empty)
style instead and don't throw. For this we stop looking at having a
presentation for the style and just look at the document instead.

This resolves #1219
2019-12-20 23:08:47 +01:00
wolfbeast ce250e9ccf Enable layers acceleration by default on GTK platforms.
"Why is this still `blocked by default for platform`.. Everyone on Linux
forces it on anyway once they are aware of it." -- Tobin

Tag #1319
2019-12-20 17:59:59 +01:00
wolfbeast 368170bdc0 Issue #1316 - Reduce compiler warnings in ICU
This add a few disabled compiler warnings to the compiler flags on MSVC
and specifically filters out the RTTI disabling CL flag to prevent CLI
override warnings.

This resolves #1316
2019-12-19 17:40:52 +01:00
New Tobin Paradigm 3332f584c8 Merge pull request #1330 from MoonchildProductions/DOM-promise-removal
DOM `Promise` removal
2019-12-18 23:07:31 -05:00
wolfbeast c7ae364a88 Issue #1322 - Part 4: Fix WebIDL.py parser for line endings and wrong
IDL name
2019-12-19 03:26:59 +01:00
wolfbeast d461262405 Issue #1322 - Part 3: Remove DOM promise interface gunk
Based on work by Boris Zbarsky
2019-12-19 03:05:45 +01:00
wolfbeast cdea310f17 Issue #1322 - Part 2: Remove --enable-sm-promise buildconfig switch. 2019-12-19 01:36:07 +01:00
wolfbeast fb96b43b5f Issue #1322 - Part 1: Remove the DOM Promise guts.
This removes all the parts guarded by SPIDERMONKEY_PROMISE
2019-12-19 01:35:24 +01:00
wolfbeast 8220776c9b Issue #1328 - Follow-up: Increase font size for changed monospace fonts.
Previously-used `Courier New` was purposefully used at a smaller font
size due to its width. With the font switch this forced downscaling is
no longer needed, although it should still remain somewhat smaller than
variable width for balance (variable width is inherently more compact).
2019-12-18 17:27:22 +01:00
wolfbeast 11ce27f0dd Merge branch 'master' of https://github.com/MoonchildProductions/UXP 2019-12-18 13:38:59 +01:00
Chris Peterson eea149e732 Issue #1328 - Part 3: Add fuzz to reftests and fix misc other tests. 2019-12-18 13:36:53 +01:00
wolfbeast 0f67e7b22c Issue #1328 - Part 2: Change tests that require Courier New explicitly. 2019-12-18 13:22:53 +01:00
wolfbeast 342f942952 Issue #1328 - Part 1: Change default monospace font to Consolas for all
localizations where this would be set to Courier New.
2019-12-18 13:08:39 +01:00
Matt A. Tobin a3e93d08d4 No Issue - Fix indentation and account for system libevent in ipc/chromium/moz.build 2019-12-17 19:06:03 -05:00
Moonchild 07d0bcbf11 Merge pull request #1327 from g4jc/async_iteration
Implement Async Iteration in SpiderMonkey

This resolves #1287
2019-12-17 21:47:18 +00:00
Gaming4JC 6c3e42ac64 Bug 1454285 - Part 2: Disallow using innermostEmitterScope while the value does not match the bytecode environment.
Tag #1287
2019-12-17 06:25:31 -05:00
Gaming4JC c66d255122 Bug 1454285 - Part 1: Specify the current scope when emitting await and .generator.
Tag #1287
2019-12-17 06:25:31 -05:00
Gaming4JC c9bddfca7e Bug 1352312 - Enable Async Iteration.
Tag #1287
2019-12-17 06:25:30 -05:00
Gaming4JC e0eee318c6 Bug 1390082 - Implement AsyncGeneratorQueue with simpler array operations.
Tag #1287

Note: Without ReadableStream implementation
2019-12-17 06:25:30 -05:00
Gaming4JC 4a5ed79c6c Bug 1379525 - Part 2: Properly handle rejection in async-from-sync iteration.
Tag #1287
2019-12-17 06:25:30 -05:00
Gaming4JC 38c1d558af Bug 1379525 - Part 1: Await on the value before yielding or returning inside async generator.
Tag #1287
2019-12-17 06:25:29 -05:00
Gaming4JC dd1cbde156 Bug 1364608 - Stash rval in AsyncIteratorClose.
Tag #1287
2019-12-17 06:25:29 -05:00
Gaming4JC 63eee6325e Bug 1355399 - Switch property retrieval in Async-from-Sync Iterator prototype methods.
Tag #1287
2019-12-17 06:25:29 -05:00
Gaming4JC 55728c964f Bug 1331092 - Part 11: Await on the innerResult.value when innerResult.done is true in yield*.
Tag #1287
2019-12-17 06:25:29 -05:00
Gaming4JC 5bdfdb678d Bug 1331092 - Part 9: Implement for-await-of.
Tag #1287
2019-12-17 06:25:28 -05:00
Gaming4JC 580dfb2afb Bug 1331092 - Part 8: Support JSOP_TOASYNCITER in JIT.
Tag #1287
2019-12-17 06:25:28 -05:00
Gaming4JC ef44324d91 Bug 1331092 - Part 7: Implement Async Generator yield*.
Tag #1287
2019-12-17 06:25:28 -05:00
Gaming4JC bbd1fef784 Bug 1331092 - Part 6: Support JSOP_TOASYNCGEN in JIT.
Tag #1287
2019-12-17 06:25:27 -05:00
Gaming4JC 8e2f6a7599 Bug 1331092 - Part 2: Implement Async Generator except yield*.
Tag #1287
2019-12-17 06:25:27 -05:00
Gaming4JC d5086ac3aa Bug 1331092 - Part 2: Implement Async Generator except yield*.
Tag #1287
2019-12-17 06:25:27 -05:00
Gaming4JC 82f9efff93 Bug 1331092 - Part 1: Add Symbol.asyncIterator.
Tag #1287
2019-12-17 06:25:26 -05:00
Gaming4JC 5e1f00240d Bug 1331092 - Part 0: Define NOMINMAX to avoid compile error from min/max macro on windows.
Tag #1287
2019-12-17 06:25:26 -05:00
Gaming4JC f87b1b8850 Bug 1317389: Change property attributes for generator and async functions to match ES2015/2017.
Tag #1287
2019-12-17 06:25:26 -05:00
Gaming4JC f5fa6cfea7 Bug 1344753 - Update for-of stack depth in ControlFlowGenerator::processWhileOrForInLoop.
Tag #1287
2019-12-17 06:25:25 -05:00
Gaming4JC d0d9a4f43d Bug 1316098 - Optimize out result object allocation for await/return in async function.
Tag #1287
2019-12-17 06:25:25 -05:00
Gaming4JC 79b5eb14bc Bug 1343481 - Part 7: Add BytecodeEmitter::emitDotGenerator and make yield/await nodes unary.
Tag #1287
2019-12-17 06:25:25 -05:00
Gaming4JC cba3f61427 Bug 1343481 - Part 6: Add native functions wrapper for GetInternalError and GetTypeError.
Tag #1287
2019-12-17 06:25:25 -05:00
Gaming4JC 4f88fc8513 Bug 1343481 - Part 5: Rename AsyncFunction-related names in Promise.cpp to explicitly say Async Function.
Tag #1287
2019-12-17 06:25:24 -05:00
Gaming4JC 73c8732000 Bug 1343481 - Part 4: Add Add GeneratorObject.{isAfterYield,isAfterAwait}.
Tag #1287
2019-12-17 06:25:24 -05:00
Gaming4JC 3a3de55aad Bug 1343481 - Part 3: Add JSOP_AWAIT and rename {yieldIndex,yieldOffset} to {yieldAndAwaitIndex,yieldAndAwaitOffset}.
Tag #1287
2019-12-17 06:25:24 -05:00
Gaming4JC f07d5707c7 Bug 1343481 - Part 2: Stop using StarGegerator for async function.
Tag #1287
2019-12-17 06:25:23 -05:00
Gaming4JC 9163aaebb6 Bug 1343481 - Part 1: Remove {JSFunction,JSScript,LazyScript}.isGenerator() method.
Tag #1287
2019-12-17 06:25:23 -05:00
Gaming4JC 1fd726c6b0 Bug 1336705 - Part 2: Add self-hosting intrinsics for resolving/rejecting Promises and adding reactions.
Tag #1287
2019-12-17 06:25:23 -05:00
Gaming4JC cb732e5fdd Bug 336705 - Part 1: Support creating and resolving Promises without resolve/reject functions.
Useful for internally-created Promises that'll only ever be resolved/rejected internally.

Tag #1287
2019-12-17 06:25:22 -05:00
Gaming4JC f589ef8166 Bug 1317376 - Part 2: Detect Promise self-resolution when resolving through the Promise resolving fast path.
Tag #1287
2019-12-17 06:25:22 -05:00
Gaming4JC e23b013adf Bug 1317376 - Part 1: Remove unreachable code and remnants from the self-hosted implementation.
Tag #1287
2019-12-17 06:25:16 -05:00
Matt A. Tobin e2de507e02 Issue #1323 - Move XULRunner back to topsrcdir 2019-12-16 20:09:38 -05:00
Matt A. Tobin 06494f3078 Remove Basilisk from the Unified XUL Platform repository
Development will proceed at https://github.com/MoonchildProductions/Basilisk
2019-12-16 13:57:01 -05:00
wolfbeast e7d4713e07 Update 7z-stub README to reflect the current state of its use. 2019-12-15 01:34:51 +01:00
wolfbeast e6a3515a19 Update metadata in UXP 7z-stub installer 2019-12-15 01:25:32 +01:00
Matt A. Tobin 094e74ff6f Remove Pale Moon 7zstub 2019-12-14 17:31:53 -05:00
Matt A. Tobin 4e34c57467 Remove Pale Moon from the Unified XUL Platform repository
Development will proceed at https://github.com/MoonchildProductions/Pale-Moon
2019-12-14 14:37:24 -05:00
wolfbeast dacb3da00b Issue #1317 - Increase the XML nested depth limit to 2048.
- Converts from macro to static const for the limit.
- Uses a check against the declared type for the counter instead of
  a hard-coded one.

This resolves #1317.
2019-12-12 17:00:08 +01:00
wolfbeast d2a1d638b5 Update default bookmarks toolbar FAQ entry to redirect to forum. 2019-12-12 01:10:24 +01:00
wolfbeast 7758b9a26a New cycle version bump 2019-12-10 15:06:57 +01:00
Matt A. Tobin 647d14de86 No Issue - Execute the precomplete command on *nix AltPackaging
Windows does not need this as mar generation is dependent on the NSIS Installer which already contains the call
2019-12-09 00:02:17 -05:00
wolfbeast 5ba7f92d5a Merge branch 'release' 2019-12-07 08:46:46 +01:00
New Tobin Paradigm ca46bc1f60 Merge pull request #1314 from g4jc/mailnews_patches
Mailnews Nov/Dec Updates
2019-12-06 19:18:39 -05:00
wolfbeast 642032029f Merge branch 'master' into release 2019-12-06 23:39:47 +01:00
wolfbeast 2529b2edec Update NSS version. 2019-12-06 17:13:09 +01:00
wolfbeast c0ab25726d Add missing call to WaitForIsDebuggerRegistered 2019-12-06 17:03:06 +01:00
Craig Disselkoen d927df43e6 [NSS] Bug 1586176 - EncryptUpdate should use maxout not block size. 2019-12-06 16:06:30 +01:00
Christian Holler 9811aa2e15 Check return value of PeerConnectionImpl::GetFingerprint. 2019-12-06 15:53:50 +01:00
J.C. Jones 836e72e96c [NSS] Bug 1508776 - Remove unneeded refcounting from SFTKSession
SFTKSession objects are only ever actually destroyed at PK11 session
closure, as the session is always the final holder -- and asserting
refCount == 1 shows that to be true. Because of that, NSC_CloseSession
can just call `sftk_DestroySession` directly and leave
`sftk_FreeSession` as a no-op to be removed in the future.
2019-12-06 15:36:44 +01:00
wolfbeast d558cf6647 Initialize all fields of GdkEvents in nsClipboard.cpp 2019-12-06 15:08:10 +01:00
wolfbeast e287979b3e Fix incorrect values for saving ordered lists as text. 2019-12-06 14:54:57 +01:00
wolfbeast 5d4c82e092 Update identifier map entries and notify if they get removed.
This can happen through DestroyElementMaps()
Based on work by Markus Stange and Edgar Chen.
2019-12-06 14:07:01 +01:00
Jonathan Kew 44967b330d Check if we're already at the end of the frame's content. 2019-12-06 13:42:37 +01:00
Valentin Gosu d8282a0da1 Use mutex in PACResolver when accessing mRequest from multiple threads. 2019-12-06 13:01:55 +01:00
David Parks 74f15fb2d6 Properly detect failure in receiving plugin NPObjects.
Properly handles NPError reporting and makes sure that, in the case of
failure, it does not return junk for the NPObject.
2019-12-06 12:28:18 +01:00
wolfbeast 246bf49b0d Issue #1313 - Bump Firefox compatMode version to 68.9
This resolves #1313.
2019-12-04 11:04:46 +01:00
Gaming4JC 282cdd6baf Bug 1571481 - Improve multipart/alternative.
w/ Fixup for 1464056 - Follow-up: rename pref to align with mailnews.p7m_external (which was already in 52.x but missing a single line)

Tag #1311
2019-12-02 23:50:23 -05:00
Gaming4JC b797607a8f Bug 1482248 - don't crash on empty file name in nsMsgLocalStoreUtils::nsShouldIgnoreFile.
Tag #1311
2019-12-02 23:50:22 -05:00
Gaming4JC 717be395fd Bug 1509685 - Add more bounds checking in nsMsgDBView::UpdateDisplayMessage() to avoid crashes
Tag #1311
2019-12-02 23:50:22 -05:00
Moonchild b8a16acae8 Merge pull request #1310 from MoonchildProductions/jemalloc_cleanup
Clean up Jemalloc code
2019-12-03 00:36:26 +00:00
wolfbeast fcc84d7b9b Issue #1307 - Part 8: Remove deprecated sysctl.h inclusion. 2019-12-02 09:54:40 +01:00
Matt A. Tobin c8d03b9fec No Issue - Add checking in platform/ for clobber.py because it can only know hardcoded values in comm-style configurations 2019-12-01 06:54:58 -05:00
wolfbeast 2554b96d69 Merge branch 'master' of https://github.com/MoonchildProductions/UXP 2019-12-01 06:31:56 +01:00
wolfbeast cb65f6d10c Issue #1309 - Fix handling of display rows where the elements are not
forming a monotonically increasing sequence (e.g. with position:sticky)

Relative positioning can cause table parts to move, which can cause
issues with the cursor position to know which rows can be skipped.
To make this work, use the max difference between the frame's rect and
the union of the frame's "normal" position and the overflow rect to
cover the area of relatively positioned elements even if they are out of
order.

This resolves #1309.
2019-12-01 06:31:26 +01:00
wolfbeast 0f001155aa Issue #1308 - Create nsDisplayTableBackgroundColor to avoid display
list collisions when processing the background color of a table.

This is effectively #146 Part 3c to go along with the other 2 there.

This resolves #1308.
2019-12-01 06:20:05 +01:00
Matt A. Tobin f6fb48d086 No Issue - Don't use a hard coded path for win_srcdir in comm-style configurations 2019-11-30 14:01:19 -05:00
wolfbeast 75c7e4749f Issue #1307 - Part 7: Add missing MALLOC_STATS 2019-11-30 18:37:15 +01:00
wolfbeast 3b361d8309 Issue #1307 - Part 6: Remove dead code behind PTHREAD_MMAP_UNALIGNED_TSD 2019-11-30 18:36:15 +01:00
wolfbeast 90508a4648 Issue #1307 - Part 5: Remove allocation tracing.
Pointless for debugging and a major performance sink.
2019-11-30 17:32:36 +01:00
wolfbeast b4b589a118 Issue #1307 - Part 4: Stop using variable-length arrays.
"USING VLA'S IS ACTIVELY STUPID! It generates much more code, and much
slower code (and more fragile code), than just using a fixed key size
would have done." -- Linus Torvalds
2019-11-30 15:42:59 +01:00
wolfbeast a954e19ea2 Issue #1307 - Part 3: Assume MOZ_MEMORY is always enabled.
We never use jemalloc without MOZ_MEMORY surrounding code (mostly a
FreeBSD concession which doesn't work anyway). This allows us to get rid
of the "poor man's mutex" (CPU-based spinlock) in mozjemalloc.
2019-11-30 15:30:32 +01:00
Matt A. Tobin 5102aa579d Issue #1306 - Move bundled fonts to toolkit 2019-11-30 09:13:54 -05:00
wolfbeast 388073a039 Issue #1307 - Part 2: Remove disabled code blocks 2019-11-30 15:05:28 +01:00
wolfbeast a7878bacfd Issue #1307 - Part 1: Remove MALLOC_VALIDATE
This basic validation is hard-set to always-on, so no point in keeping
it conditional since we basically always want this rudimentary pointer
validation to be done.
2019-11-30 14:57:44 +01:00
wolfbeast a2a84fcb26 No issue - Clean up libxul mozbuild a little
- Remove delayload dlls from which there are no imports
- Remove leftover MOZ_RUST config bit.
2019-11-30 01:26:45 +01:00
wolfbeast d88f471cbc Issue #1302 followup - Add spec-compliance checks/errors
- Check for undefined/null regex flags (because...)
- Make it throw a typeerror instead of syntax error on non-global
- Generalize JS error messages for these checks.
2019-11-30 00:46:07 +01:00
Mats Palmgren 6ea8e51aaa Remove unnecessary calls to ReparentFloatsForInlineChild in
nsInlineFrame.
2019-11-29 10:48:50 +01:00
wolfbeast 013ef52edd Merge branch 'master' of https://github.com/MoonchildProductions/UXP 2019-11-29 00:19:45 +01:00
Mats Palmgren 7070dddb4b Simplify the overflow child frame reparenting in
nsInlineFrame::DestroyFrom.
2019-11-29 00:19:03 +01:00
New Tobin Paradigm 8f92e61177 Merge pull request #1305 from adeshkp/patch-13
Issue #1258 - Remove remaining chat core bits
2019-11-28 14:13:42 -05:00
adeshkp 997be5d528 Issue #1258 - Remove remaining chat core bits
This fixes Interlink build on Mac.
2019-11-28 23:14:25 +05:30
Matt A. Tobin ea03043bde Issue #1304 - Make the second arg of insertRule optional 2019-11-28 07:54:49 -05:00
Matt A. Tobin 8fea22c958 Allow Solaris to use alt packaging for Pale Moon and Basilisk 2019-11-28 02:23:54 -05:00
Matt A. Tobin 0b92b3e5d3 Fix typo in application./basilisk/build.mk 2019-11-28 02:20:28 -05:00
Matt A. Tobin 064790189c Issue #1303 - Add langpack generation targets for Pale Moon and Basilisk
* The langpack is not generated via the package target but IS for mozpackage target using old behavior
* Add mach command to specifically generate the langpack when needed without the rest of the packaging routine (mach langpack)
2019-11-28 00:17:32 -05:00
Matt A. Tobin 52cb294d2a No Issue - Use alternative packaging for Pale Moon and Basilisk
* This adds what will eventually be a rewritten packaging routine while maintaining backwards compatibility with the original mozilla routine
* Changes the build target and installer makefile to use the alternative packaging
* Adds build target to specifically invoke the original mozilla routine
* Update mach commands accordingly
2019-11-27 13:21:01 -05:00
wolfbeast 185a9a7508 Issue #1302 - Add self-hosted implementation for string regex .matchAll
This resolves #1302.
2019-11-26 13:37:09 +01:00
Moonchild e8c40b0bc2 Merge pull request #1301 from JustOff/PR_mm_script_cache
Clear the message manager script cache when updating and removing add-ons
2019-11-25 14:43:21 +00:00
wolfbeast 1a8fdf3c7f Issue #1254 - Update embedded emoji font to 0.5.0 (Twemoji 12.1.3) for
Emoji 12 support.
2019-11-24 17:08:31 +01:00
wolfbeast 1f36fcbb30 Add crashtest for resolved bug 1558522. 2019-11-24 17:06:39 +01:00
JustOff f703f61eab Issue #1300 - Clear the message manager script cache when updating and removing add-ons 2019-11-22 14:05:53 +02:00
athenian200 21fdc3e93a Issue #1251 - Remove obsolete XP_QSORT reference.
I didn't include this in my initial PR because I assumed this part
was not relevant to UXP. I was asked to submit this while the MailNews rebase
was going on, but I was late with my patch and didn't quite grasp that this
specifically was still needed.

My counterpart at Mozilla, Petr Sumbara, has gotten his version of this
approved.

https://bugzilla.mozilla.org/show_bug.cgi?id=1568473
2019-11-20 00:40:30 -05:00
Moonchild e97cb2f75f Remove duplicate localization note
The note -used- to be where I inserted it but was apparently moved further down by Mozilla, outside of my FoV.
2019-11-19 14:31:52 +01:00
wolfbeast fcea217aac Issue #447 - Update HSTS preload list 2019-11-19 09:46:25 +00:00
wolfbeast 4f6a779e0c Issue #1242 - Reinstate GPU Accelerated Windows entry in about:support
This resolves #1242.
2019-11-19 03:40:50 +01:00
Moonchild 47ca6f108f Merge pull request #1298 from g4jc/b1284
Update js/src/builtin/TestingFunctions.cpp for /s (dotAll) regular expression changes
2019-11-19 02:08:52 +00:00
Gaming4JC 0a6ccfaa9a Issue #1284 - Update js/src/builtin/TestingFunctions.cpp for /s (dotAll) regular expression changes
This fixes debug builds
2019-11-18 19:30:45 -05:00
wolfbeast 122e1ee6cd Issue #1284 - Implement /s (dotAll) for regular expressions, v2.
Resolves #1284.
2019-11-18 16:50:40 +01:00
Moonchild 62a72e3d28 Merge pull request #1297 from athenian200/compiler-warning
Fix a compiler warning in ipc/chromium/src/base/sys_info_posix.cc.
2019-11-18 13:13:38 +00:00
athenian200 35cc4c128d Issue #457 - Fix typo in ipc/chromium/src/base/sys_info_posix.cc
I made a typo in commit 687a789 when updating the ifdef style I used to comply with UXP standards. The typo I made resulted in a compiler warning I failed to notice, so I was asked to tag issue #457 when submitting the PR. I also fixed some trailing whitespace I apparently left behind in the file.
2019-11-18 06:40:09 -06:00
wolfbeast bd529c60c6 Revert "Issue #1284 - Implement /s (dotAll) for regular expressions."
This reverts commit f31b04a303.
2019-11-18 13:34:18 +01:00
wolfbeast f31b04a303 Issue #1284 - Implement /s (dotAll) for regular expressions.
Resolves #1284.
2019-11-18 12:20:44 +01:00
Moonchild 36c81a9786 Merge pull request #1293 from JustOff/PR_widevine_strings
Adjust Widewine strings after removing Adobe Primetime support
2019-11-17 10:05:33 +00:00
Moonchild 8a64845aa5 Merge pull request #1294 from g4jc/bug_1288
Use NS_DECL_THREADSAFE_ISUPPORTS in HttpBaseChannel.cpp
2019-11-17 10:02:57 +00:00
Gaming4JC 2f4fdced51 Issue #1288 - Use NS_DECL_THREADSAFE_ISUPPORTS in HttpBaseChannel.cpp
Fixes a regression in Part 1b which caused HTML5 parser to fall off the main thread.
2019-11-16 19:17:54 -05:00
JustOff d034857122 Issue #1259 - Adjust Widewine strings after removing Adobe Primetime support 2019-11-16 16:01:44 +02:00
Matt A. Tobin 556349010e Merge branch 'master' into mailnews-work 2019-11-15 17:37:54 -05:00
wolfbeast 3492ad6523 Merge branch 'fdlibm-work'
This resolves #1291
2019-11-15 15:25:48 +01:00
wolfbeast 59f4de4c45 Issue #1291 - Part 4: Update patch files 2019-11-15 15:17:37 +01:00
wolfbeast 5e902a4a9a Issue #1291 - Part 3: Update fdlibm to Sept 2019 version 2019-11-15 15:17:01 +01:00
wolfbeast 6ca0b47043 Issue #1291 - Part 2: Stop using the lib's sqrt() function
Use <cmath>'s functions over fdlibm's for performance reasons.
No significant precision loss when doing this.
2019-11-15 14:00:18 +01:00
wolfbeast 85c60f94fb Issue #1291 - Part 1: Ensure exp(1) returns e exactly (use a const) 2019-11-15 13:51:29 +01:00
wolfbeast 2057abd196 Issue #80 - Stop building embedded xz lib unified 2019-11-15 13:02:37 +01:00
wolfbeast 6384cc4b71 Issue #80 - Stop building woff2 lib unified 2019-11-15 13:02:09 +01:00
wolfbeast 3100093f02 Issue #80 - Stop building brotli lib unified 2019-11-15 13:01:47 +01:00
wolfbeast 26ac165863 Add Ekoru to the included search engines.
This provides a charity-supporting search engine option focused on
the planet's health and animal welfare.
Since this engine is based on Bing search, it provides a balancing
alternative to Ecosia (Google-based) with similar eco goals.
2019-11-15 11:06:37 +01:00
New Tobin Paradigm fc28366794 Merge pull request #1290 from g4jc/bug_1279
Update TestingFunctions.cpp for regex lookbehind changes
2019-11-14 22:44:54 -05:00
Gaming4JC e79607a7a6 Issue #1279 - Update js/src/builtin/TestingFunctions.cpp for regex lookbehind changes
This fixes debug builds
2019-11-14 22:40:15 -05:00
Matt A. Tobin f3d462c604 Bug 1592407 - Port OAuth2 decoding fix from gData add-on. 2019-11-14 21:56:13 -05:00
Matt A. Tobin 1d30f6fa84 Merge branch 'master' into mailnews-work 2019-11-14 21:08:43 -05:00
Matt A. Tobin 00573571a2 [Mach] Add stage command to execute stage-package 2019-11-14 21:08:18 -05:00
wolfbeast effff24825 Issue #1289 - Part 4: Update Pale Moon UI.
This swaps the UI choice to using the new boolean pref instead of
enforcement level.
2019-11-14 12:26:32 +01:00
wolfbeast f4cc93fc9e Issue #1289 - Part 3: Update tests. 2019-11-14 12:17:00 +01:00
wolfbeast d5a604bb89 Issue #1289 - Part 2: Clear out the preload list except for test
domains.
2019-11-14 12:16:21 +01:00
wolfbeast 0a8dff5256 Issue #1289 - Part 1: Add a pref to disable HPKP header processing. 2019-11-14 12:13:54 +01:00
wolfbeast c3144281b5 Issue #1288 - Part 5: Pass graphite fonts through OTS.
Since the updated OTS supports proper checking of graphite fonts we no
longer need to rely of harfbuzz for them.
2019-11-14 10:09:50 +01:00
wolfbeast 0f8691a488 Issue #1288 - Part 4: Update the OpenType Sanitizer component to 8.0.0 2019-11-14 10:07:01 +01:00
wolfbeast 36975f3865 Issue #1288 - Part 3: Update woff2 component to 1.0.2 2019-11-14 10:02:36 +01:00
wolfbeast 787b4fe586 Issue #1288 - Part 2: Add a partial LZ4 decompression routine.
This function never writes beyond `aDest` + `aMaxOutputSize`, and is
therefore protexted against malicious datapackets.
It also ignores unconsumed input upon reaching `aMaxOutputSize` and can
therefore be used for parial decompression of LZ4 input up to a desired
resulting size of decompressed data.
2019-11-14 09:51:07 +01:00
wolfbeast 9768733eb7 Issue #1288 - Part 1b: Rewrite nsHTTPCompressConv.
This also includes formatting changes.
2019-11-14 09:46:28 +01:00
wolfbeast 56de283899 Issue #1288 - Part 1a: Update brotli to 1.0.7
This also reorganizes the exports in the build system to use `brotli/`
as include directory.
2019-11-14 09:07:29 +01:00
Matt A. Tobin 9308ec68e8 Merge branch 'master' into mailnews-work 2019-11-13 05:54:58 -05:00
Matt A. Tobin ecdfbc6923 Issue #1258 - Follow up to Part 8: Ifdef MailNews OAuth2 Support
Ifdef second authOAuth2 string in emailWizard.js
2019-11-12 23:39:44 -05:00
Matt A. Tobin f3611104b3 Bug 1494764 - Removed MOZ_ASSERT but now still process line where it would occur.
MOZ_ASSERT changed to NS_WARNING. Also correctly handle case where last chunk ends with \r. Tested to make sure that regression identified in Bug 1494764 comment 10 remains fixed and that non-chunked and chunked messages are handled correctly including when \r\n is split between chunks.

Tag #1273
2019-11-12 23:01:21 -05:00
Matt A. Tobin 9f00e5184a Manually revert Bug 1494764 - Removed MOZ_ASSERT but now still process line where it would occur.
Tag #1273
2019-11-12 22:58:56 -05:00
Matt A. Tobin 6c4ed65046 Issue #1258 - Follow up to Part 8: Ifdef MailNews OAuth2 Support
Fix verifyConfig.js
2019-11-12 22:23:29 -05:00
Matt A. Tobin cc757e4e45 Issue #1258 - Part 10: Remove chat core bits 2019-11-12 21:31:48 -05:00
Matt A. Tobin 73cdfdcf32 Issue #1258 - Follow up to Part 8: Ifdef MailNews OAuth2 Support 2019-11-12 20:13:48 -05:00
wolfbeast ce0dd36a78 Merge branch 'issue-1279' 2019-11-12 17:03:28 +01:00
André Bargull 899be7cedb Issue #1283 - Implement Promise.prototype.finally()
This resolves #1283.
2019-11-12 17:02:16 +01:00
wolfbeast fa473930f4 Issue #1279 - Implement regular expression lookbehind
Based on Tom Schuster's work, with extra minters for unicode.
2019-11-11 23:37:35 +01:00
Matt A. Tobin 6d6759a781 Issue #1258 - Part 9: Add close-icon class to close button in newmailalert.xul 2019-11-11 16:08:49 -05:00
Matt A. Tobin d59e35c94c Bug 1584473 - Follow-up: Remove leftover references to nsIMdbRowCellCursor::MakeCell() in comments.
Tag #1273
2019-11-11 02:13:13 -05:00
Matt A. Tobin 3260f20454 Bug 726655 - Add null check in nsMsgDBView::GetThreadContainingMsgHdr() to avoid crash.
Tag #1273
2019-11-11 02:11:46 -05:00
Matt A. Tobin c6df8fffbc Bug 786683 - check success of GetFilePath() throughout nsMsgBrkMBoxStore.cpp.
Tag #1273
2019-11-11 02:10:24 -05:00
Matt A. Tobin 7406d488b3 Bug 1584473 - Fix several issues
* Fix undefined HRESULT codes in class CMapiApi in MapiApi.cpp.
* Fix doubled up sub-expressions in MIME and MAPI.
* Remove broken/unused morkRowCellCursor::MakeCell()

Tag #1273
2019-11-11 02:08:59 -05:00
Matt A. Tobin 73e14fb704 Bug 1240290
Tag #1273
2019-11-11 01:56:34 -05:00
Matt A. Tobin dc77b707f2 Bug 1580187 - Add null check to avoid crash in nsImapService::NewChannel().
Tag #1273
2019-11-11 01:53:00 -05:00
Matt A. Tobin a081e71bec Bug 1568095 - Make morkAtom::GetYarn() static.
Tag #1273
2019-11-11 01:49:50 -05:00
Matt A. Tobin 64f423eb40 Bugs 1437282, 1438590, 1506587, and 1498795
* strip unnecessary ==== padding in base64 text.
* Extension of the characters to be encoded (quoted-printable) according to RFC2047.
* Remove unwanted characters from headers. Compact extraneous white space in display name to avoid sender address spoofing.
* Be more tolerant of spaces in base64-encoded RFC 2047 tokens.

Tag #1273
2019-11-11 01:48:09 -05:00
Matt A. Tobin 2732b1a0b5 Bug 1558595
Tag #1273
2019-11-11 01:35:01 -05:00
Matt A. Tobin dc46cd9ecc Bug 1315662 - delete SMTP server login credentials when deleting the account or if hostname/username changes.
Tag #1273
2019-11-11 01:26:42 -05:00
Matt A. Tobin 7047b11cf0 Bug 1338715 - Remove Outlook Express import
Tag #1273
2019-11-11 01:22:58 -05:00
Matt A. Tobin 3c41580e71 Bug 1554098 - deduce RSS media enclosures type from extension when missing.
Tag #1273
2019-11-11 01:15:16 -05:00
Matt A. Tobin 20aab9e0c3 Bug 1480063 - Remove mimeEncodeSubject (encodeMimePartIIStr_UTF8) from feeds.
Tag #1273
2019-11-11 01:12:23 -05:00
Matt A. Tobin 43db6faf2a Bug 1528496 - Correctly fix Bug 1023285 and utf8 addressing header display for jsmime.
Tag #1273
2019-11-11 01:08:45 -05:00
Matt A. Tobin 0707a51ead Bug 1423487 - Support multiple authors in RSS feeds.
Tag #1273
2019-11-11 01:04:46 -05:00
Matt A. Tobin 0903ef3561 Bug 1167982 - Do charset detection for all text/* attachments in composition, not just text/plain.
Tag #1273
2019-11-11 00:54:45 -05:00
Matt A. Tobin bca2de131b Bug 522450 - Place mail copy on the correct folder when using Reply to List
This bug never landed in c-c

Tag #1273
2019-11-11 00:43:17 -05:00
Matt A. Tobin 14ef564538 Tails 6156 - Fix outdated error handling in accountcreation and remove buggy debug code
Tag #1273
2019-11-11 00:39:20 -05:00
Matt A. Tobin 4fdd9dac67 Bug 971347 - Fix autoconfig vulnerable to active MITM attacks for all domains (including the ones in ISPDB)
Tag #1273
2019-11-11 00:37:33 -05:00
Matt A. Tobin 359334f1a1 Bug 1020971 - Port bug 1015664: Remove NS_HIDDEN and friends.
Tag #1273
2019-11-11 00:27:30 -05:00
Matt A. Tobin 7922314fa4 Bug 1546840 - Allow GloDa queries for read or unread messages
Tag #1273
2019-11-11 00:22:33 -05:00
Matt A. Tobin 31fea2bc2b Bug 1508054 - reduce exposed API of nsMsgHdr.
Tag #1273
2019-11-11 00:00:30 -05:00
Matt A. Tobin 3d9db9cb38 Bug 1386601 - experimental patch to investigate Thunderbird topcrash, serializes S/MIME verification.
Tag #1273
2019-11-10 23:58:23 -05:00
Matt A. Tobin 4b217ebe51 Bug 1495698 - Fix hang when HTML signature references non-existent image.
Tag #1273
2019-11-10 23:56:17 -05:00
Matt A. Tobin fa711799bf Bug 1525120 - Fix condition for decoding attachments (base64/qp) when saving or forwarding.
Tag #1273
2019-11-10 23:51:05 -05:00
Matt A. Tobin 38fe066bb4 Bugs 1507218 and 1528615
Tag #1273
2019-11-10 23:49:16 -05:00
Matt A. Tobin 544e93daf8 Bugs 1402750 and 1490331 - Declare the character set correctly in the 'PGP add-on is missing' message.
Tag #1273
2019-11-10 23:45:23 -05:00
Matt A. Tobin 05b84061f2 Bug 1523048 - when copying a filter, copy its triggering events too (filterType).
Tag #1273
2019-11-10 23:41:56 -05:00
Matt A. Tobin 1d5ec356b3 Bug 393302 - Correct memory handling in MAPISendMail() and CMapiImp::SendMail() to fix "Send to > Mail Recipient" crash.
Tag #1273
2019-11-10 23:38:54 -05:00
Matt A. Tobin 22973db503 Bug 1517464 - Fix crash in SMTP DTOR by properly initializing/testing pointer.
Tag #1273
2019-11-10 23:34:36 -05:00
Matt A. Tobin d80e610cd5 Bug 906469 - fix maildir crash while parsing a folder.
Tag #1273
2019-11-10 23:09:17 -05:00
Matt A. Tobin 66c5b11050 Bugs 1512557 and 1470716 - Convert nsIStringBundle pointers to nsCOMPtrs and release them when shutting down.
Tag #1273
2019-11-10 23:06:51 -05:00
Matt A. Tobin c5a0af0526 Bug 390721 - When parsing headers to cancel an article, also use folded lines.
Tag #1273
2019-11-10 23:01:33 -05:00
Matt A. Tobin 2fa79c8372 Bug 809513 - Prevent unread Drafts from showing in new mail notification.
Change mainly affects Windows. However, Linux integration also changed so that it also allows new mail notification to occur for folder with SentMail flag.

Tag #1273
2019-11-10 22:59:41 -05:00
Matt A. Tobin 6d5922ba89 Bug 1271353 - check own email addresses case-insensitively in correspondents column and ignore plus addressing part.
Tag #1273
2019-11-10 22:56:15 -05:00
Matt A. Tobin fa9ca98c39 Bug 1401858 - add null check to avoid crash in EncodedHeader()/DecodedHeader().
Tag #1273
2019-11-10 22:54:16 -05:00
Matt A. Tobin 5d21f962db Bug 342632 - Allow defaultAccount to return success with nullptr result when there is no usable account.
Tag #1273
2019-11-10 22:51:10 -05:00
Matt A. Tobin 2fda56a84e Bug 1508046 - return cleanly in LDAP autocomplete search if we are offline.
Tag #1273
2019-11-10 22:21:59 -05:00
Matt A. Tobin 891ca8709a Bug 1507718 - crash in nsImapProtocol::GetMessageSize(). Make m_hostSessionList an nsCOMPtr.
Tag #1273
2019-11-10 22:20:52 -05:00
Matt A. Tobin 0a8849ad68 Bug 1320475 - Fix broken controllers for cmd_printcard and cmd_printcardpreview.
Tag #1273
2019-11-10 22:19:01 -05:00
Matt A. Tobin 43919ab8c7 Bug 344205 - React correctly to NO/BAD tagged response to imap IDLE.
User is notifified and IDLE state is not entered if IDLE command fails.

Tag #1273
2019-11-10 22:13:47 -05:00
Matt A. Tobin 97826b14c7 Bug 1257058 - Distinguish 'empty password' from no password received to avoid shutdown crash.
Tag #1273
2019-11-10 22:01:39 -05:00
Matt A. Tobin cea77b76b3 Bug 1333038 - Use 'modern' pointers to fix crash due to nsMsgLineStreamBuffer object being deleted while still in use.
Suspected "use after free" in nsMsgLineStreamBuffer::ReadNextLine() leading to crash since object may be destroyed while still in use on another thread.

Tag #1273
2019-11-10 21:59:52 -05:00
Matt A. Tobin 05667b0d48 Bug 1494764 - Removed MOZ_ASSERT but now still process line where it would occur.
MOZ_ASSERT changed to NS_WARNING. Also correctly handle case where last chunk ends with \r. Tested to make sure that regression identified in Bug 1494764 comment 10 remains fixed and that non-chunked and chunked messages are handled correctly including when \r\n is split between chunks.

Tag #1273
2019-11-10 21:55:53 -05:00
Matt A. Tobin fdcb166616 Bug 145113 - Make "next chunk starts with newline" flag a member variable to fix MOZ_ASSERT().
Tag #1273
2019-11-10 21:18:30 -05:00
Matt A. Tobin e661493bb0 Bug 1442648 - Fix mismatched types in mingw-w64 builds (const char16_t*/char16ptr_t).
When cross-compiling for Windows on Linux, fix mismatched types in nsMsgImapSearch.cpp. nsString::get() returns a char16ptr_t (with MOZ_USE_CHAR16_WRAPPER) and that causes a mismatch so we cast it to a const char16_t*. usAsciiCharSet is declared as a nsAutoString so we instead declare it as a char16_t* to avoid subsequent type mismatches.

Tag #1273
2019-11-10 21:16:23 -05:00
Matt A. Tobin 1f5f6a4bf0 Bug 1317117 - call msgStore folder deletion during imap/news empty trash.
Also factors out some common code into nsMSgDBFolder::Delete(), and makes a couple of incidental changes to try and clarify the responsibilies of nsIMsgPluggableStore::DeleteFolder().

Tag #1273
2019-11-10 20:27:19 -05:00
Matt A. Tobin 4d20783c0a Bug 1444389 - Fix crash in nsImapProtocol::HandleMessageDownLoadLine().
Tag #1273
2019-11-10 20:22:34 -05:00
Matt A. Tobin 81dd133870 Bug 1216951 - Fix broken handling of split CR and LF between chunks.
Tag #1273
2019-11-10 20:21:01 -05:00
Matt A. Tobin 4d6dbd35f1 Revert "Issue #1273 - Remove Telemetry from Gloda"
This reverts commit 4db1ae892b.
2019-11-10 20:14:28 -05:00
Matt A. Tobin a2a658f885 Bug 1416033 - remove some unneeded includes in mailnews
Tag #1273
2019-11-10 20:14:13 -05:00
Matt A. Tobin 713dca2fd8 Bug 1399756 - (More) Code clean-up: Style nits, typos and trailing spaces
Tag #1273
2019-11-10 19:36:14 -05:00
Matt A. Tobin 9ae2525b9a Bug 1393219 - Code clean-up: Style nits, typos and trailing spaces
Tag #1273
2019-11-10 19:32:24 -05:00
Matt A. Tobin 993a6bc1d5 Bug 825513 - Fix crash in nsImapProtocol::GetMessageSize() by adding null check for m_runningUrl && m_hostSessionList.
Tag #1273
2019-11-10 19:23:39 -05:00
Matt A. Tobin ba48342fa7 Bug 1462316 - fix crash in nsAbView::OnItemAdded().
Tag #1273
2019-11-10 19:18:58 -05:00
Matt A. Tobin 818c1df5ef Bug 646901 - add error checking to fix crash in nsMsgXFVirtualFolderDBView::OnSearchHit().
dbToUse was null

Rag #1273
2019-11-10 19:17:09 -05:00
Matt A. Tobin 201683afe4 Bug 1487082 - Resolve potential for build bustage regarding bad implicit conversion constructors
* Part 1: make conversion CTORs explicit.
  Minor tweaks to conform with new(ish) static analysis rule which flags up implicit single-argument conversion constructors.
* Part 2: fix a couple of double-mRefCnt declaration errors.
* Part 3: Fix unsafe use of NS_ConvertASCIItoUTF16().

Tag #1273
2019-11-10 19:11:03 -05:00
Matt A. Tobin 4db1ae892b Issue #1273 - Remove Telemetry from Gloda 2019-11-10 18:53:43 -05:00
Matt A. Tobin e60090bc9c Bug 1427732 - fix newline handling when copying messages and compacting folders.
Tag #1273
2019-11-10 18:43:43 -05:00
Matt A. Tobin 1ec388b238 Bug 1227761 - Fix logic error in BuildAttachmentList().
First attachment cannot be saved if MIME message has no body part.

Tag #1273
2019-11-10 18:13:59 -05:00
Matt A. Tobin 5393f033bc Bug 1079280 - Don't transmit email when imap append response is bad.
This only applies to non-literal+ appends. Bad response typically occurs when {size} parameter of append command is larger than server can accept. This prevents TB from sending megabytes of data to a server that has already rejected it.

Tag #1273
2019-11-10 18:11:49 -05:00
Matt A. Tobin 02dc2390ee Bug 1404049 - fix that mail.imap.use_literal_plus set to false may have no effect.
This is because it was only used in response to a CAPABILITY imap request. However, often CAPABILITY response occurs without a request so TB sees no need to do a request. Fix by moving the usage of use_literal_plus to where LITERAL+ capability is actually used.

Tag #1273
2019-11-10 18:06:51 -05:00
Matt A. Tobin 58a7cff161 Bug 1461106 - Remove SMTP password from cache when deleted from password manager to prevent stale connection attempts.
Tag #1273
2019-11-10 17:55:10 -05:00
Matt A. Tobin 74e5265d39 Bug 516464 - Remove passwords from cache when password manager contents are changed to prevent stale password attempts.
Tag #1273
2019-11-10 17:53:59 -05:00
Matt A. Tobin bbf10b9097 Bug 1328847 - Change SEC_NORMAL to SEC_ALLOW_CROSS_ORIGIN_DATA_IS_NULL where system principal is used.
Tag #1273
2019-11-10 17:25:51 -05:00
Matt A. Tobin b0e23e79e7 Merge branch 'master' into mailnews-work 2019-11-10 15:43:51 -05:00
New Tobin Paradigm b00601953b Merge pull request #1277 from adeshkp/remove-adobe-primetime
Remove Adobe Primetime support
2019-11-10 15:35:44 -05:00
wolfbeast ccb7e2c646 Issue #618 - Flip on module type scripting. 2019-11-10 13:35:47 +01:00
wolfbeast ceef8b1c92 Issue #618 - Flip on module type scripting. 2019-11-10 13:35:00 +01:00
Moonchild ffd9974336 Merge pull request #1278 from MoonchildProductions/js-modules
Partial solution for JS modules
2019-11-10 13:33:18 +01:00
wolfbeast 406326715d Issue #618 - Misc fixes (merge conflicts) 2019-11-10 13:02:28 +01:00
adeshkp c43b770a03 Issue #1259 - Part 7. Update tests for Adobe EME removal 2019-11-10 06:04:09 -05:00
adeshkp 400f0e2df8 Issue #1259 - Part 6. Remobe Adobe EME from Basilisk frontend 2019-11-10 06:03:50 -05:00
adeshkp 484200b01b Issue #1259 - Part 5. Remove migration path for Adobe GMP storage
As a cleanup task, also remove GMP storage migration for Fx 42 era.
2019-11-10 06:03:32 -05:00
adeshkp a6441a2a84 Issue #1259 - Part 4. Remove Adobe EME from GMPUtils 2019-11-10 06:03:11 -05:00
adeshkp 0aa805d1f5 Issue #1259 - Part 3. Remove Adobe EME as a GMP source 2019-11-10 06:02:47 -05:00
adeshkp c74e21f187 Issue #1259 - Part 2. Remove Adobe Primetime localization strings 2019-11-10 06:02:21 -05:00
adeshkp 0fb5f7a158 Issue #1259 - Part 1. Remove Adobe Primetime support from tree 2019-11-10 06:01:40 -05:00
wolfbeast 974a481d12 Merge branch 'master' into js-modules
# Conflicts:
#	modules/libpref/init/all.js
2019-11-10 11:39:27 +01:00
wolfbeast 736d25cbec Issue #447 - Improve the getHSTSPreloadList script
- Use HEAD instead of GET for probe to avoid loading pages
- Reduce retries to 2
- Reduce timeout to 10 s (since we're just getting a HEAD this is royal)
- Identify ourselves to websites as an automated tool
- Improve performance of list merging (O(n^2) was getting too expensive)
- Add a total counter and perform GC every 200 requests
2019-11-09 13:10:23 +01:00
wolfbeast 78e8ad72f9 Issue #447 - Update HSTS preload list. 2019-11-09 11:02:21 +01:00
wolfbeast 4a0c734e16 Issue #1254 - Update SQLite to 3.30.1 2019-11-08 22:26:31 +01:00
Moonchild 0f3635dc8f Merge pull request #1276 from MoonchildProductions/cairo-work
Update the in-tree cairo code.
2019-11-08 10:54:27 +01:00
Moonchild 8bb208397d Merge pull request #1214 from MoonchildProductions/certexception-work
Fix Certificate Exception dialog logic
2019-11-08 10:54:10 +01:00
wolfbeast eb35cd1085 Issue #1263 - Part 2: Remove DiskSpaceWatcher tests 2019-11-08 10:49:46 +01:00
wolfbeast 60c83971fb Issue #1263 - Part 1: Remove DiskSpaceWatcher 2019-11-08 10:49:03 +01:00
wolfbeast aff468a486 Merge branch 'master' of https://github.com/MoonchildProductions/UXP 2019-11-07 16:53:15 +01:00
wolfbeast 7f5d38150d Issue #1275 - Add pref to disable warning prompts for SuperfluousAuth
and AutomaticAuth, and default to not prompting.

This resolves #1275.
2019-11-07 16:52:33 +01:00
wolfbeast 5f80c286cf Issue #1274 - Part 5: Misc fixes and version update. 2019-11-07 14:54:30 +01:00
wolfbeast 7b8a065ea3 Issue #1274 - Part 4: Remove some unnecessary checks for old Windows versions.
This gets rid of deprecated GetVersionEx() calls as a bonus.
2019-11-07 14:53:12 +01:00
wolfbeast 620fdbdf43 Issue #1274 - Part 3: Update libpixman licensing 2019-11-07 14:51:48 +01:00
wolfbeast 45f665b599 Issue #1274 - Part 2: Update Windows prerequisite defines. 2019-11-07 14:50:49 +01:00
wolfbeast 7efd71616e Issue #1274 - Part 1: Adopt the cairo version as our own.
- Move header licensing from tri-license to MPL 2.0. MPL-compatible
  other licensing has been retained where originally present.
- Remove individual superseded licensing terms.
- Remove patches, outdated readmes & incomplete patch summaries.
- Remove incomplete cairo release notes (only went up to 1.6.4 anyway).
- Rewrite COPYING to indicate the current state of the library in tree.
2019-11-07 14:49:48 +01:00
Matt A. Tobin 03590a6711 Issue #1258 - Part 8: Ifdef MailNews OAuth2 Support
Use --disable-mailnews-oauth2 to exclude it. Confvars won't be respected.
2019-11-05 18:27:14 -05:00
Matt A. Tobin 714afc76f6 Merge branch 'master' into mailnews-work 2019-11-05 11:36:03 -05:00
wolfbeast 6df8aa4953 Issue #1064 - Part 3: Fix notifyObservers() call. 2019-11-04 15:05:23 +01:00
wolfbeast 5f37447acd Issue #1064 - Part 2: Fix shorthand and services module import. 2019-11-04 15:04:12 +01:00
wolfbeast c5c44d1207 Merge branch 'master' into certexception-work 2019-11-04 13:31:30 +01:00
wolfbeast 082670ecb1 Issue #1252 - Remove fragile fast path.
This resolves #1252.
2019-11-04 11:40:18 +00:00
wolfbeast bbc2206a0f Merge branch 'table-sticky-work'
This resolves #146.
2019-11-04 08:41:48 +01:00
Matt A. Tobin 711a5031d0 Issue #1258 - Part 7: UXP Specific fixes
* This includes Bug 1326433 for Janek fallout (ldap already had this fix)
2019-11-03 22:50:47 -05:00
Matt A. Tobin 37fbbd447b Issue #1258 - Part 6: Add MOZ_MOVEMAIL to MOZ_MAILNEWS configure logic 2019-11-03 21:21:22 -05:00
Matt A. Tobin 5d18a70aa4 Issue #1258 - Part 5: Only IceDove cares about Thunderbird's baby mode account creation 2019-11-03 20:22:14 -05:00
Matt A. Tobin 1f23280e6a Issue #1258 - Part 4: Remove Add IM Account from Account Manager 2019-11-03 20:13:04 -05:00
New Tobin Paradigm 22b410f31b Merge pull request #1272 from g4jc/libcubeb
Fix build failure in current in-tree libcubeb sndio module
2019-11-03 19:49:27 -05:00
Gaming4JC ff0f4b11ab Issue #1271 - Fix build failure in current in-tree libcubeb sndio module
Fixes build error due to errant typecast in PTHREAD_MUTEX_INITIALIZER.
2019-11-03 19:19:07 -05:00
wolfbeast ee8c5d3878 Bump Goanna version. 2019-11-03 22:36:56 +01:00
Matt A. Tobin 6e7b3df371 Issue #1258 - Part 3: Make mailnews and friends build 2019-11-03 15:33:58 -05:00
Matt A. Tobin a57983a217 Merge branch 'master' into mailnews-work 2019-11-03 14:35:17 -05:00
Matt A. Tobin 1960d6e08a Revert "Issue #1267 - Part 1: Update libcubeb to a1200c34."
This reverts commit d162ecbaff.
2019-11-03 14:14:26 -05:00
Matt A. Tobin 732fe36241 Revert "Issue #1267 - Part 2: fix libcubeb bindings in dom"
This reverts commit 22b35fa8e9.
2019-11-03 14:14:19 -05:00
wolfbeast 76052e837c Issue #146 - Part 7: Remove no longer relevant reftest. 2019-11-03 19:45:49 +01:00
wolfbeast 5ab2da7004 Issue #146 - Part 6: Allow position: sticky on table elements. 2019-11-03 19:43:51 +01:00
Matt A. Tobin 6513e41cb7 Issue #1258 - Part 2: Use binoc-central version of ldap 2019-11-03 13:17:15 -05:00
wolfbeast ce11d5cae8 Issue #146 - Part 5: Treat table row groups as containing blocks.
This aligns our behavior with Gecko/Blink.
2019-11-03 19:09:47 +01:00
wolfbeast f1b043af1d Issue #146 - Part 4: Adjust tests for fixes.
This also adds a reftest for border radius on collapsed borders (should
be ignored according to the CSS3 standard). We didn't do this before,
except on internal elements.
2019-11-03 18:49:57 +01:00
Matt A. Tobin 2d4aca6d00 Merge branch 'master' into mailnews-work 2019-11-03 11:56:57 -05:00
wolfbeast ee663e2930 Issue #146 - Part 3: Create nsDisplayTableBackgroundImage to avoid
display list collisions when processing the background image of a table.
2019-11-03 17:25:37 +01:00
wolfbeast db98e3efff Issue #146 - Part 3: Create nsDisplayTableFixedPosition to avoid display
list collisions when processing the background image of a table.
2019-11-03 15:12:34 +01:00
Moonchild 6ee3467a6c Merge pull request #1269 from g4jc/sndio
Expose sndio as a build option for any supporting system
2019-11-03 11:21:09 +01:00
Moonchild b7c6c779ee Merge pull request #1270 from g4jc/libcubeb
Update libcubeb
2019-11-03 11:20:08 +01:00
Matt A. Tobin 302bf1b523 Issue #1258 - Part 1: Import mailnews, ldap, and mork from comm-esr52.9.1 2019-11-03 00:17:46 -04:00
Gaming4JC 22b35fa8e9 Issue #1267 - Part 2: fix libcubeb bindings in dom 2019-11-02 23:02:54 -04:00
Gaming4JC d162ecbaff Issue #1267 - Part 1: Update libcubeb to a1200c34. 2019-11-02 23:02:42 -04:00
Gaming4JC 873f2cf8cc Issue #1265 - Expose sndio as a build option for any supporting system 2019-11-02 20:31:13 -04:00
wolfbeast 0de40040f0 Issue #146 - Part 2: Remove custom table painting component.
Since we're now putting table borders and backgrounds properly in the
display lists, we no longer need this custom component to do this work
for us.
2019-11-02 23:10:06 +01:00
wolfbeast 1455272075 Issue #146 - Part 1: Draw each table's background on their own display
list items.

This patch does the following things:
1. Creates nsDisplayTableBorderCollapse that draws all collapse border
of tables.
2. Stops the use of nsDisplayTableBorderBackground.
3. Lets column and column group frames generate display items.
4. When traversing the table, also traverses the column and column group
frames.
5. For each type of table frame (col group, col, row group, row and
cell), draws their own background.
2019-11-02 22:42:07 +01:00
Moonchild 21b3f62474 Merge pull request #1262 from athenian200/solaris-work
Support Modern Solaris
2019-11-02 14:37:22 +01:00
wolfbeast ff881bdb67 #1261 - Update status bar component for the removal of Object.(un)watch
This fixes the regression from #1257 by adding in an
Object.prototype.watch() shim, based on Eli Grey's polyfill.

This resolves #1261.
2019-11-01 21:55:13 +01:00
athenian200 a9dc528a4a Fix nits.
I hope this addresses everything.
2019-10-31 19:35:03 -05:00
wolfbeast 24027f0df9 Issue #1257 - Part 3: Remove/update tests.
This removes a ton of tests that are no longer relevant with (un)watch
removed (e.g. testing stability/bugs in the watchpoint system itself
which has never been the most stable), and updates others that would
previously rely on watch/unwatch, so that they don't unexpectedly fail.
2019-10-27 02:14:16 +01:00
wolfbeast 44a077980a Issue #1257 - Part 2: Remove watch/unwatch and JS watchpoint class. 2019-10-27 02:51:11 +02:00
wolfbeast c59c9682d3 Issue #1257 - Part1: Remove watch class-hook and proxy trap. 2019-10-26 16:19:04 +02:00
wolfbeast 50ef259a2d Force clobber. 2019-10-24 22:43:40 +02:00
wolfbeast e7401c45a5 Update NSS version 2019-10-24 22:43:28 +02:00
Kevin Jacobs 820d6ea6a4 Add length checks for cryptographic primitives
This rollup patch adds additional length checks around cryptographic
primitives.
2019-10-24 22:43:18 +02:00
wolfbeast c6f4af2c51 Support longer (up to RFC maximum) HKDF outputs
HKDF-Expand enforces a maximum output length much shorter than stated in
the RFC. This patch aligns the implementation with the RFC by allocating
more output space when necessary.
2019-10-24 22:43:06 +02:00
wolfbeast fbb5536532 Add size checks to WebGLContext::BufferData()
On MacOS, particularly large allocations within the platform limits
(1.2G+) will fail and crash. This adds a specific size check for that
when working around driver bugs (default).
While there, added a generic size_t limited size check for the
platform, and reporting OOM if too large.
2019-10-24 22:42:34 +02:00
wolfbeast 28238d1ff5 Fix type barrier in IonBuilder::jsop_getimport. 2019-10-24 22:42:21 +02:00
Henri Sivonen 250875046a Adjust tokenization of U+0000 2019-10-24 22:42:09 +02:00
Byron Campen 3cf5b66873 Prevent nr_ice_component_insert_pair from leaking. 2019-10-24 22:41:56 +02:00
wolfbeast 2acc0caa7a Leverage strings to get working dirs in nsUpdateDriver. 2019-10-24 22:41:44 +02:00
wolfbeast 565ae72f5a Merge branch 'nss-work' 2019-10-24 22:41:05 +02:00
wolfbeast fbf84d5155 Force clobber. 2019-10-24 17:58:40 +02:00
wolfbeast 29317adcbc Update NSS version 2019-10-24 16:52:46 +02:00
Kevin Jacobs c525bb7918 Add length checks for cryptographic primitives
This rollup patch adds additional length checks around cryptographic
primitives.
2019-10-24 16:47:28 +02:00
wolfbeast edfba06ce3 Support longer (up to RFC maximum) HKDF outputs
HKDF-Expand enforces a maximum output length much shorter than stated in
the RFC. This patch aligns the implementation with the RFC by allocating
more output space when necessary.
2019-10-24 16:14:41 +02:00
wolfbeast f1308011ae Add size checks to WebGLContext::BufferData()
On MacOS, particularly large allocations within the platform limits
(1.2G+) will fail and crash. This adds a specific size check for that
when working around driver bugs (default).
While there, added a generic size_t limited size check for the
platform, and reporting OOM if too large.
2019-10-24 12:17:39 +02:00
wolfbeast e8c5582bec Fix type barrier in IonBuilder::jsop_getimport. 2019-10-24 12:13:26 +02:00
Henri Sivonen 7bccd87695 Adjust tokenization of U+0000 2019-10-24 11:43:25 +02:00
Byron Campen 8c2501ffe9 Prevent nr_ice_component_insert_pair from leaking. 2019-10-24 10:28:26 +02:00
wolfbeast f9ea088b4f Leverage strings to get working dirs in nsUpdateDriver. 2019-10-23 16:40:29 +02:00
Simon Giesecke a5611d825d Ensure that file actors created after the database was closed are expired. 2019-10-23 13:25:21 +02:00
wolfbeast 51b068dc65 Avoid following the prototype chain
No longer follow the value's prototype chain when creating index updates
in IndexedDB.
2019-10-23 13:25:08 +02:00
wolfbeast 0b2791b56f Issue #1255 - Port upstream fix from libexpat 2019-10-23 13:24:36 +02:00
wolfbeast 1e38568816 Issue #1253 - Reset performance object on navigation
This also addresses clearing of document dependent JS slots which might
get out of sync with innerWindow navigation; relevant comments added.

This resolves #1253
2019-10-23 13:24:20 +02:00
Simon Giesecke 7aaec46911 Ensure that file actors created after the database was closed are expired. 2019-10-23 12:19:15 +02:00
wolfbeast 2e22601d00 Avoid following the prototype chain
No longer follow the value's prototype chain when creating index updates
in IndexedDB.
2019-10-23 11:29:38 +02:00
wolfbeast cb762d71af Add null check in Http2Session::RecvAltSvc 2019-10-23 10:50:55 +02:00
wolfbeast 245bbebbc2 Issue #1255 - Port upstream fix from libexpat 2019-10-23 10:32:13 +02:00
wolfbeast dee457e63a Avoid uint32_t overflow in js shell by checking size of file before
trying to stuff something insanely large into a Uint8Array.

See also: BMO 1571911
2019-10-22 20:57:58 +02:00
wolfbeast a0ab17b210 Issue #1253 - Reset performance object on navigation
This also addresses clearing of document dependent JS slots which might
get out of sync with innerWindow navigation; relevant comments added.

This resolves #1253
2019-10-21 22:29:42 +02:00
athenian200 687a798e6d MoonchildProductions#1251 - Part 27: Fix ifdef style.
This should do it for all the commits to files I changed, but while I'm in here I could probably go ahead and turn ALL the singular if defined statements into ifdef statements by using grep/find on the tree. On the other hand, perhaps we should do that as a separate issue so that this doesn't become a case of scope creep.
2019-10-21 04:53:45 -05:00
athenian200 e4f90cbb56 MoonchildProductions#1251 - Part 26: Oracle Solaris gsed/ICU fix.
OpenIndiana didn't need this for some reason, but on Oracle Solaris, we need this to make sure we're using gsed (GNU sed) here. It's probably a safer bet anyway.
2019-10-21 04:53:44 -05:00
athenian200 21146d0d5e MoonchildProductions#1251 - Part 25: Fix link paths.
This fix is a bit ugly and may need to be changed later if we switch a new GCC version, but the fact is that we use an architecture-specific path for GCC libraries on Solaris, so knowing the right prefix for GCC would only help so much, because it would still need to decide between ${gccdir}/lib and ${gccdir}/lib/amd64. The MOZ_FIX_LINK_PATHS variable puts the search paths into the right order without the need for me to use elfedit on the binaries afterwards.
2019-10-21 04:53:44 -05:00
athenian200 9cd92944e2 MoonchildProductions#1251 - Part 24: Remove temporary GNU M4 workaround.
We finally found where configure was failing. Apparently they just invoked m4 without regard for TOOLCHAIN_PREFIX. Easy to fix, difficult to find.
2019-10-21 04:53:44 -05:00
athenian200 2f4488521d MoonchildProductions#1251 - Part 23: Allow AMD64 build to work.
https://developer.mozilla.org/en-US/docs/Mozilla/Developer_guide/Build_Instructions/Compiling_32-bit_Firefox_on_a_Linux_64-bit_OS

Setting this up turned out to be easier than I thought it would be. All I had to do was apply these instructions in reverse and add the following to my .mozconfig file:

CC="gcc -m64"
CXX="g++ -m64"
AS="gas --64"
ac_add_options --target=x86_64-pc-solaris2.11
export PKG_CONFIG_PATH=/usr/lib/amd64/pkgconfig
ac_add_options --libdir=/usr/lib/amd64
ac_add_options --x-libraries=/usr/lib/amd64

Most of these changes were fairly trivial, just requiring me to make a few of the changes I made earlier conditional on a 32-bit build. The biggest challenge was figuring out why the JavaScript engine triggered a segfault everytime it tried to allocate memory. But this patch fixes it:

https://github.com/OpenIndiana/oi-userland/blob/oi/hipster/components/web/firefox/patches/patch-js_src_gc_Memory.cpp.patch

Turns out that Solaris on AMD64 handles memory management in a fairly unusual way with a segmented memory model, but it's not that different from what we see on other 64-bit processors. In fact, I saw a SPARC crash for a similar reason, and noticed that it looked just like mine except the numbers in the first segment were reversed. Having played around with hex editors before, I had a feeling I might be dealing with a little-endian version of a big-endian problem, but I didn't expect that knowledge to actually yield an easy solution.

https://bugzilla.mozilla.org/show_bug.cgi?id=577056

https://www.oracle.com/technetwork/server-storage/solaris10/solaris-memory-135224.html

As far as I can tell, this was the last barrier to an AMD64 Solaris build of Pale Moon.
2019-10-21 04:53:44 -05:00
athenian200 7d65eb2b3a MoonchildProductions#1251 - Part 22: Remove some unused type declarations from IPC process_util.
https://bugzilla.mozilla.org/show_bug.cgi?id=1397928

Was looking into that _POSIX_PATH_MAX/NAME_MAX issue earlier because it didn't make a lot of sense and I was thinking of other approaches besides char arrays, and I wanted to make sure it didn't cause problems after they did it. Turns out that one commit after this was added, Mozilla determined the code I was working on fixing to be dead code as of Firefox 58. I don't know if it's dead code in Pale Moon as well, but given that it compiles fine without it and I can't find any other references to szExeFile in the IPC code, that seems like a safe bet.

Besides, I determined config/pathsub.c already seems to do what this code looks like it's trying to do, and implements the solution of just defining NAME_MAX to 256 and having done with it that I nearly adopted after realizing that even OS/2 and BeOS, let alone Unix/Linux systems, all basically use that value and there's just disagreement on which system header to check for it.
2019-10-21 04:53:44 -05:00
athenian200 5a4a4990cd MoonchildProductions#1251 - Part 21: Fix Flash player and some extensions being incompatible.
https://github.com/oracle/solaris-userland/blob/82dd4adb0eca729372074d62435e00a783d95b1f/components/desktop/firefox/patches/firefox-49-npapi.patch

The first fix was something I found on Oracle's patchset and allowed me to use the last Flash Player compiled for Solaris, from all the way back in 2012. Still works with most Flash content.

The second is an evolution of what I had to do to get Interlink to compile. For Interlink, I basically had to copy the contents of any boolean values from confvars.sh into the empty moz.configure file, otherwise nothing would get configured. I decided to test whether Pale Moon had the same issue, and it turned out that it wasn't as bad as on Interlink, but it was still pure luck that the browser component built at all, because MOZ_PHOENIX and other important flags were apparently not being defined at all, hence why I couldn't get half the extensions to be compatible at first.

I don't know why this is the case, but apparently configure.in isn't able to import values from confvars.sh. old-configure.in seems immune to the problem that application-specific configure.in files were experiencing, though. confvars.sh itself seems to work fine with values that aren't passed along via configure.in, though. So it's the interface between those two files that is messed up.
2019-10-21 04:53:43 -05:00
athenian200 575f51a27d Fix a bunch of dumb typos and omissions. 2019-10-21 04:53:43 -05:00
athenian200 db34ef993c MoonchildProductions#1251 - Part 20: Add atomic.h to system-headers.
https://bugzilla.mozilla.org/show_bug.cgi?id=1369061

OpenIndiana used a much messier fix for this, but this one was used by Mozilla and looks a lot cleaner. It shouldn't interfere with any other targets, but if it does, the messy version of this fix basically involves rewriting the Solaris version of atomicops_internals_solaris.h to use GCC compiler intrinsics for atomic operations directly. It absolutely works, but it's gross to look at.

https://github.com/OpenIndiana/oi-userland/blob/3b246b0b385735b092a88f58f9baa9799ee34761/components/web/firefox/patches/01-FF43.0b3_OpenSXCE_x86_x64.patch

Another fix may be possible by preventing config/gcc-hidden.h from being included, or possibly using well-placed GCC pragmas to solve the visibility issues.
2019-10-21 04:53:43 -05:00
athenian200 e51afbcc2f MoonchildProductions#1251 - Part 19: Make the unpreprocessed file script work on Solaris.
https://www.tachytelic.net/2019/01/grep-recursively/

During testing, I tried simply replacing grep with ggrep, which was non-portable but worked fine. Using an environment variable with os.getenv set to 'g' also worked, but the problem with that approach is that you have to set it manually and some times the script will mess up if you don't explictly define it to an empty string for platforms that don't need it.

Setting TOOLCHAIN_PREFIX to 'g' seemed to solve all of my problems except this one, and it appears to be the only non-portable use of GNU grep in the whole tree. To understand what I tried to do here, let me present with you with two commands that yield the same output on my machine:

find . -name '*.xul' | xargs grep -E "#include"

ggrep -E -r "#include" --include="*.xul" .

I just tried to make the Python script follow the logic of those two commands, though I'm not sure how well I succeeded since I got no errors. I visualized everything this way:

ggrep -E -r "<strings>" --include="<filesuffixes>" <path>

find <path> -name '<filesuffixes>' | xargs grep -E "<strings>"

And arranged it all accordingly to the best of my ability, though I should point out that Python is not my strong suit.
2019-10-21 04:53:42 -05:00
athenian200 7e5ff857ee MoonchildProductions#1251 - Part 18: (Hopefully) final version of build system fixes.
I hope I can just apply these nice, clean changes and have everything work without having to make a mess again.
2019-10-21 04:53:42 -05:00
athenian200 beea314ffe MoonchildProductions#1251 - Part 17: All the libffi and libxul.so issues, resolved.
https://bugzilla.mozilla.org/show_bug.cgi?id=1185424
http://www.mindfruit.co.uk/2012/06/relocations-relocations.html

The libxul.so fix was implemented by Mozilla in Firefox 57 and personally recommended to me by an Oracle employee on the OpenIndiana mailing list. It can easily be made ifdef XP_SOLARIS, but it seems like the new way is considered a better solution overall by the original author of the code that had it use that null pointer hack to begin with.

I can't link where I found the fix for libffi because I came up with it myself while looking at the way sysv.S does things. Something clicked in my brain while reading that mindfruit link above, though, and gave me enough of a sense of what was going on to be able to fix libffi.

The libffi fix looks a bit hairy because of all the FDE_ENCODE statements, but if you examine the code closely, you should find that it does exactly what it did before on all platforms besides Solaris. I later discovered that people who originally ported Firefox to Solaris never figured this out during the Firefox 52 era and had to use GNU LD for linking libxul.so while using the Sun LD for the rest of the build to make it work. For whatever reason, it works for me now without the GNU LD trick.
2019-10-21 04:53:42 -05:00
athenian200 fca7c45a62 MoonchildProductions#1251 - Part 16: Resolve namespace conflicts with dbm on Solaris.
https://bugzilla.mozilla.org/show_bug.cgi?id=1513913

Mozilla's solution to this is arguably overkill, since the namespace issue on Solaris only required them to change (or temporarily undefine) __log2. Instead they changed ALL the functions to be something along the lines of dbm_log2. They haven't changed the external interface at all, though.

If you're unhappy with this patch, I think I could also use XP_SOLARIS ifdefs to undefine __log2 prior to where it's declared in the dbm headers. The good thing about Mozilla's solution is that it guarantees this namespace issue never occurs again on any platform, though.
2019-10-21 04:53:42 -05:00
athenian200 4f6639a1b3 MoonchildProductions#1251 - Part 15: fdlibm should provide definition for u_int32_t and u_int64_t.
https://bugzilla.mozilla.org/show_bug.cgi?id=1350355

u_int32_t is not an stdint.h type. Windows already requires this, Solaris needs it too. If someone has a nit with this approach, the alternatives include:

1. Just replacing every instance of u_int32_t with uint32_t.

2. Including <sys/types.h> for Solaris only, which does define this.

3. Changing the original ifdef to be WIN32 || XP_SOLARIS

But it really doesn't matter how you solve this problem, all of the approaches are functionally equivalent, and this one has been used in Firefox since version 55. As far as I can tell, all it does is apply a fix that was being done for Windows already to any platform that needs it.
2019-10-21 04:53:42 -05:00
athenian200 e3fb8bd24d MoonchildProductions#1251 - Part 14: libstagefright build should avoid _GLIBCXX_OS_DEFINES.
https://bugzilla.mozilla.org/show_bug.cgi?id=1367775

Windows already requires this ifdef, Solaris needs it too. Not much more to say, but I can do research and follow up on this if asked.
2019-10-21 04:53:41 -05:00
athenian200 5c28f10c14 MoonchildProductions#1251 - Part 13: Redefining abort in C++ requires extern "C"
https://bugzilla.mozilla.org/show_bug.cgi?id=1375467

I would ifdef this, but it's been in Firefox since version of 56, and Petr Sumbara's explanation as to why it's wrong in the first place is so detailed that it's pretty obvious the code wasn't technically doing things properly to begin with.

Basically, they tried to redefine a system function after including the header file that declares it, and it caused problems on Solaris because libc functions are imported into the C++ std namespace in a different way that also complies with standards. So the existing implementation is technically bad code on all platforms, the Solaris implementation just uncovered the lack of standards compliance in the Mozilla code.
2019-10-21 04:53:41 -05:00
athenian200 76c55f747c MoonchildProductions#1251 - Part 12: Add Solaris/illumos support to WasmSignalHandlers.
https://www.illumos.org/issues/5876
https://bugzilla.mozilla.org/show_bug.cgi?id=135050
2019-10-21 04:53:41 -05:00
athenian200 7966d22df3 MoonchildProductions#1251 - Part 11: libpng uses C89 now to avoid buffer overflows.
https://bugzilla.mozilla.org/show_bug.cgi?id=1371266
https://github.com/glennrp/libpng/commit/12e63e91af1378225993b36e25ce3252b54e751a

This sounds absurd, and the fact that we had to change a C++ comment to a C-style comment on account of this may seem hilarious and inconsequential, but this isapparently not a joke and leaving it as it is now may be a bad idea.
2019-10-21 04:53:41 -05:00
athenian200 52f2321cba MoonchildProductions#1251 - Part 10: ipc_channel_posix.cc should use IOV_MAX.
https://bugzilla.mozilla.org/show_bug.cgi?id=1345102

I assess this change to be low-risk for the following reasons:

1. It has been in Firefox since version 55 without issues.

2. The current behavior is not POSIX compliant, and is retained in the one instance where the new functionality causes issues.

3. It makes safer assumptions about implementation details than what we have now.
2019-10-21 04:53:41 -05:00
athenian200 cf75ede0de MoonchildProductions#1251 - Part 9: Look for hypot in the math library (libm).
https://bugzilla.mozilla.org/show_bug.cgi?id=1351309
https://bugzilla.mozilla.org/show_bug.cgi?id=1309157

I assess this change to be low-risk for the following reasons:

1. It has been in Firefox since version 55 without issues.

2. It's nearly identical to the fix for bug 1309157 which is already in our tree, so that one would be causing problems if this one were going to.

3. Linux, Windows, and BSD are known to have a hypot function in their math libraries.

4. Even if it does break something, it should only break a test and not critical functionality.
2019-10-21 04:53:40 -05:00
athenian200 c0d814c1d5 MoonchildProductions#1251 - Part 8: Align pointer for char_16t.
https://bugzilla.mozilla.org/show_bug.cgi?id=1352449

Mozilla patch that's been in the code since Firefox 55. Seems like there have been no ill effects from implementing it, and it would only increase the portability of the UXP code. All the Solaris Firefox repos I've seen implement some variation on the jsexn patch, and this seems to be the cleanest version of it.

I can add ifdefs if needed or there are performance concerns associated with this patch, but I get the impression this alignment backlog issue might affect a few platforms other than Solaris, though none were named. Otherwise I think they wouldn't have used "platforms that need it" in plural form or failed to ifdef it.
2019-10-21 04:53:40 -05:00
athenian200 3647f42c27 MoonchildProductions#1251 - Part 7: All the posix_m* memory-related stuff, gathered together.
https://bugzilla.mozilla.org/show_bug.cgi?id=1158445
https://bugzilla.mozilla.org/show_bug.cgi?id=963983
https://bugzilla.mozilla.org/show_bug.cgi?id=1542758

Solaris madvise and malign don't perfectly map to their POSIX counterparts, and some Linux versions (especially Android) don't define the POSIX counterparts at all, so options are limited. Ideally posix_madvise and posix_malign should be the safer and more portable options for all platforms.
2019-10-21 04:53:40 -05:00
athenian200 57bfda37ae MoonchildProductions#1251 - Part 6: Solaris needs an audio implementation.
Current versions of libcubeb already have a Sun audio implementation, but in Firefox 52 and earlier, this was all they had. I'm not completely happy with this implementation because it has issues like video freezing if the soundcard isn't working, but I think fixing this or pulling in a newer libcubeb would be going too far for too little gain.
2019-10-21 04:53:40 -05:00
athenian200 f105b741e5 MoonchildProductions#1251 - Part 5: Fix POSIX compliance issue in process_util.h.
https://bugzilla.mozilla.org/show_bug.cgi?id=1364865

Solaris doesn't define NAME_MAX because if you read the current POSIX standard literally, no system that supports multiple file systems or networking should be defining it. It's a pedantic choice given that they USED to define NAME_MAX, but Solaris always did take POSIX compliance seriously, for better or worse.
2019-10-21 04:53:40 -05:00
athenian200 4105ebb6ed MoonchildProductions#1251 - Part 4: Core build system changes, lots of libevent/IPC junk.
This is mostly ifdefs, but as you can see, Solaris is actually a lot like Linux. They're both more SysV than BSD at core, and most of the differences have more to do with Solaris not using glibc than anything else.

I still need to audit a lot of these changes and understand why they're needed and what the alternative approaches are. After this patch, most of the core functionality needed to build Solaris is here.
2019-10-21 04:53:39 -05:00
athenian200 64e03d0149 MoonchildProductions#1251 - Part 3: Finally end the long tradition of casting getpid() to int.
https://bugzilla.mozilla.org/show_bug.cgi?id=535106
https://bugzilla.mozilla.org/show_bug.cgi?id=1359841

Like many parts of the busted Solaris support, this one has its origins in the pre-Firefox days. Bug 535106, another Mozilla suite bug. It keeps coming up because the core issue is never addressed, the fact that nsTSubstring doesn't know how to handle pid_t. I think the explicit cast to int is a band-aid they use because they know if they touch that substring header file to make it handle pid_t, they'll probably be asked to fix all the other problems with it. I honestly think it just works by accident on other platforms because it's implicitly cast to signed or unsigned int, even though the POSIX standard says pid_t can be either long or int, and work as either a signed or unsigned integer. Whatever the case may be, it's handled better on Solaris now than it was.

Ironically enough, the main point of having pid_t rather than just having pids be int or something is to hide this little implementation detail so you can just use pid_t for the return type in portable code without having to worry about what it is on a specific platform. The unfortunate way Mozilla implemented string functions turns that on its head and makes the good things about pid_t into liabilities rather than assets.
2019-10-21 04:53:39 -05:00
athenian200 9d449ce614 MoonchildProductions#1251 - Part 2: Make the mozconfig loader POSIX-compliant.
https://bugzilla.mozilla.org/show_bug.cgi?id=1360571

Solaris uses ksh as the default shell, and furthermore bash doesn't seem to support the 'local' keyword feature when invoked as sh on OpenIndiana. We could just change the script to use bash (it is an option even on Solaris), but this fix is available and Mozilla has been using it since Firefox 55 with no issues on any other platforms. It was specfically done this way to avoid any need to change existing mozconfig files, so I feel confident saying the change is totally benign and if anything the way it is now is technically a POSIX compliance issue inherited from Mozilla that we'll hit if we ever try to compile this on any Unix platform where bash isn't sh.
2019-10-21 04:53:39 -05:00
athenian200 afc187cc3f MoonchildProductions#1251 - Part 1: Restore initial Solaris support, fixed up.
Compared with what Pale Moon had for Solaris originally, this is mostly the same zero point I started patching from, but I've made the following changes here after reviewing all this initial code I never looked at closely before.

1. In package-manifest.in for both Basilisk and Pale Moon, I've made the SPARC code for libfreebl not interefere with the x86 code, use the proper build flags, and also updated it to allow a SPARC64 build which is more likely to be used than the 32-bit SPARC code we had there.

2. See Mozilla bug #832272 and the old rules.mk patch from around Firefox 30 in oracle/solaris-userland. I believe they screwed up NSINSTALL on Solaris when they were trying to streamline the NSS buildsystem, because they started having unexplained issues with it around that time after Firefox 22 that they never properly resolved until Mozilla began building NSS with gyp files. I'm actually not even sure how relevant the thing they broke actually is to Solaris at this point, bug 665509 is so old it predates Firefox itself and goes back to the Mozilla suite days. I believe $(INSTALL) -t was wrong, and they meant $(NSINSTALL) -t because that makes more sense and is closer to what was there originally. It's what they have for WINNT, and it's possible a fix more like that could serve for Solaris as well. Alternatively, we could get rid of all these half-broken Makefiles and start building NSS with gyp files like Mozilla did.

3. I've completely cut out support for the Sun compiler and taken into account the reality that everyone builds Firefox (and therefore its forks) with GCC now on Solaris. This alone helped clean up a lot of the uglier parts of the code.

4. I've updated all remaining SOLARIS build flags to the newer XP_SOLARIS, because the SOLARIS flag is no longer set when building Solaris.

5. I've confirmed the workaround in gtxFontconfigFonts.cpp is no longer necessary. The Solaris people got impatient about implementing a half-baked patch for a fontconfig feature that wasn't ready yet back in 2009, and somehow convinced Mozilla to patch their software to work around it when really they should have just fixed or removed their broken fontconfig patch. The feature they wanted has since been implemented properly, and no version of Solaris still uses the broken patch that required this fix. If anyone had ever properly audited this code, it would have been removed a long time ago.
2019-10-21 04:53:39 -05:00
wolfbeast c4c4189933 Issue #1229 - Remove fallback for $INSTDIR
This resolves #1229
2019-10-21 11:16:19 +02:00
Matt A. Tobin adbbcab423 Don't treat format warnings as errors in xpconnect
GCC 9 compiler does not like the way we have it in XPCWrappedNative.cpp
2019-10-21 10:34:28 +02:00
Matt A. Tobin 4f038bf39a Fix build errors with newer glibc versions 2019-10-21 10:34:15 +02:00
wolfbeast 0d6f1e11ba No Issue - Expand HWA over RDP to Windows 8.1 and 10.
When Mozilla implemented this initially, only Windows 8 existed.
Because of the strict equal check, 8.1 and 10 didn't get HWA over RDP
while they are perfectly capable of doing so with RemoteFX. This change
allows any version of Windows from 8.0 onwards to use HWA over RDP.
2019-10-21 10:34:00 +02:00
wolfbeast b374f59ab5 No issue - Update TZ data to 2019c 2019-10-21 10:33:08 +02:00
Moonchild bda981d786 No issue - Add 360 Safeguard to DLL blocklist
360 Safeguard/360 Total Security (Qihoo) causes crashes in a11y components.
This adds the offending dll to the injection blocklist.
See BZ bug 1536227 for details.
2019-10-21 10:32:20 +02:00
Gaming4JC d36d11042e Issue #1243 - Update List of NSS Exported Symbols
Add NSS_CMSSignedData_GetDigestAlgs and NSS_CMSSignedData_hasDigests which are required for security patches in mailnews applications. Ref: m-c bug 1526473
2019-10-21 08:46:25 +02:00
wolfbeast 50b875bff1 Issue #1231 - Correct defines for Mac and keep universal prefs generic. 2019-10-21 08:43:14 +02:00
wolfbeast 38feb30d4e Issue #1231 - Correct defines for Mac and keep universal prefs generic. 2019-10-21 08:42:45 +02:00
adeshkp 5d3b13dbec Issue #1231 - Stop using ICC profiles on Linux.
General consensus seems to be that color management on Linux desktops
is not mature enough to enable by default.
2019-10-21 08:28:23 +02:00
wolfbeast e5488f14db Merge commit '18a2244f5b1e28c2d38dd95bf93d02cef0173178' into release 2019-10-21 08:27:45 +02:00
New Tobin Paradigm 160bd388b6 Merge pull request #1249 from g4jc/nss_exports
Issue #1243 - Update List of NSS Exported Symbols
2019-10-18 01:36:44 -04:00
Gaming4JC fb74b5be30 Issue #1243 - Update List of NSS Exported Symbols
Add NSS_CMSSignedData_GetDigestAlgs and NSS_CMSSignedData_hasDigests which are required for security patches in mailnews applications. Ref: m-c bug 1526473
2019-10-17 19:20:58 -04:00
Matt A. Tobin 201635685c Merge branch 'master' of https://github.com/MoonchildProductions/UXP 2019-10-16 12:44:36 -04:00
Matt A. Tobin b51ff1f692 Don't treat format warnings as errors in xpconnect
GCC 9 compiler does not like the way we have it in XPCWrappedNative.cpp
2019-10-16 12:43:20 -04:00
Matt A. Tobin e31d79e8da Fix build errors with newer glibc versions 2019-10-16 12:37:07 -04:00
Moonchild 5a6f737e17 Merge pull request #1246 from dimag0g/master
Replace calls to undefined functions isMarkable() and toMarkablePointer()
2019-10-12 19:19:50 +02:00
Dmitry Grigoryev a68a096187 Replace calls to undefined functions isMarkable() and toMarkablePointer() 2019-10-10 21:01:01 +02:00
wolfbeast 1a86abc159 No Issue - Expand HWA over RDP to Windows 8.1 and 10.
When Mozilla implemented this initially, only Windows 8 existed.
Because of the strict equal check, 8.1 and 10 didn't get HWA over RDP
while they are perfectly capable of doing so with RemoteFX. This change
allows any version of Windows from 8.0 onwards to use HWA over RDP.
2019-10-08 21:02:28 +02:00
Moonchild 3ae8f139af Merge pull request #1244 from dimag0g/master
Added missing libwebp files to update.sh
2019-10-06 13:30:36 +02:00
Dmitry Grigoryev d43b7d5c8f Added missing libwebp files to update.sh 2019-10-04 21:10:42 +02:00
wolfbeast 924693bdb0 No issue - Update TZ data to 2019c 2019-10-02 14:00:30 +02:00
Moonchild 7ea503ff8f Merge pull request #1238 from dimag0g/master
Add libwebp NEON-specific files
2019-09-30 14:26:53 +02:00
Moonchild 206c149adc Merge pull request #1237 from g4jc/css-work
CSS Grid Improvements
2019-09-29 13:54:29 +02:00
Gaming4JC 30d65c382f Issue #1230 - Part 3: Update Reftests
Ref:
1434478 part 7 - Update tests and enable some previously temporarily disabled Grid reftests from bug 1427608.
2019-09-28 23:47:05 -04:00
Gaming4JC b0ad7679b2 Issue #1230 - Part 2: Align devtools to the changes in css-grid
Ref:
1398537 part 4 - [css-multicol] Implement percentages for 'column-gap' (automated update of devtools).
2019-09-28 23:47:05 -04:00
Gaming4JC 8ff295747e Issue #1230 - Part 1: Fix Back-computing percentages for intrinsic sizing in Layout CSS-Grid
List of relevant patches applied:

1398537 part 2 - [css-multicol] Implement percentages for 'column-gap' (Gecko part).

1434478 part 1 - [css-grid] Stop back-computing percentage grid gaps when the percentage basis is indefinite. Treat them as zero sized instead.

1434478 part 2 - Stop back-computing percentage padding/margin when the percentage basis is indefinite. Treat them as zero sized instead.

1434478 part 3 - Remove IntrinsicISizeOffsetData::hPctPadding/hPctMargin members since they are now unused.

1434478 part 4 - Factor out constants like NS_UNCONSTRAINEDSIZE so they can be used in headers without needing nsIFrame.h (idempotent patch).

1434478 part 5 - Create nsLayoutUtils::ResolveToLength for resolving CSS <length-percentage> (idempotent patch).

1434478 part 6 - Propagate a percentage basis to nsIFrame::IntrinsicISizeOffsets for resolving padding/margin.

This is needed only for CSS Grid since in other cases we're only using IntrinsicISizeOffsets in the inline-axis and the percentage basis is always indefinite for *intrinsic sizing*. When calculating the intrinsic size of grid items in the grid container's block axis however, we do have a definite size for the grid area in the inline-axis and it should be used per: https://drafts.csswg.org/css-grid/#algo-overview "2. Next, the track sizing algorithm resolves the sizes of the grid rows, using the grid column sizes calculated in the previous step." (Percentage padding/margin for grid items is always resolved against the grid area's inline-size nowadays.)
2019-09-28 23:47:05 -04:00
Gaming4JC f1adcd1eee Issue #1233 - Part 2: Update Reftests
List of relevant patches applied:

1425599 part 15 - [css-grid] Test reference fixes + more tests.

1373678 Part 3: Add line number checks to test_grid_implicit.html.

1416350 - Part 3: Add test to verify line numbers of grids with leading implicit tracks.

1416350 - Part 4: Add a reftest of repeat:auto-fit grids with leading implicit tracks.

1417711 - [css-grid] An abs.pos. grid container child that only covers removed 'auto-fit' tracks should not span to the end padding edge.

1416350 - Part 5: Correct the expected results for grids that have leading implicit tracks.

1418727 part 3 - [css-grid] Reftest updates.
2019-09-28 23:47:04 -04:00
Gaming4JC 22851ce36d Issue #1233 - Part 1: Fix grid overflow and rendering issues by improving Layout CSS-Grid API
List of relevant patches applied:

1425599 part 1 - [css-grid] Change the track sizing algorithm for spanning items so that it accumulates individual item contributions to the plan by max() rather than incrementing the planned size directly.

Also, fix a bug when copying back the planned limits after updating it for the first span group. It should only copy back track sizes that were actaully spanned by those items, other content-sized tracks' limits should remain at "infinity".

1425599 part 2 - [css-grid] Factor out the min-sizing parts of the track sizing for spanned items to a templated method (idempotent change).

1425599 part 3 - [css-grid] Factor out most of the max-sizing parts of the track sizing for spanned items to a templated method (idempotent change).

1425599 part 4 - [css-grid] Factor out the starting base/limit size to a templated method (idempotent change).

1425599 part 5 - [css-grid] Make CollectGrowable a templated method so that it works with either base/limit sizes (idempotent change).

1425599 part 6 - [css-grid] Make the size distribution methods templated with the intent of merging them in a later patch (idempotent change).

This patch also introduces an eInfinitelyGrowable bit to help get rid of the 'limits' temporary track sizes in the next patch.

1425599 part 7 - [css-grid] Remove the 'limits' copy of track sizes since they are no longer needed (idempotent change).

1425599 part 8 - [css-grid] Factor out the fit-content clamping function from DistributeToTrackLimits and pass it as a param instead (idempotent change).

1425599 part 9 - [css-grid] Merge DistributeToTrackLimits/Bases (idempotent change).

1425599 part 10 - [css-grid] Make MarkExcludedTracks a static method since it doesn't use 'this' (idempotent change).

1425599 part 11 - [css-grid] Hoist the marking of excluded tracks out from GrowSelectedTracksUnlimited to a separate method (idempotent change).

1425599 part 12 - [css-grid] Merge CopyPlanToBase/Limits into a templated method instead (idempotent change).

1425599 part 13 - [css-grid] Merge Grow[Base|Limits]ForSpanningItems into a templated method instead (idempotent change).

1425599 part 14 - [css-grid] Use iterators instead of an array + start/end index for the item data (idempotent change).

1425599 part 16 - [css-grid] Make SizeContributionForPhase a template.

1425599 - [css-grid] Follow-up bustage fix for stupid compiler warnings.

1378481 - Assign 'roundingError' in the default branch too, to avoid a maybe-uninitialized compiler warning.

1423292 - [css-grid] Add a couple of ItemState bits to Dump(), and make an ItemState assertion stricter (DEBUG-only changes).

1373678 Part 1: Reduce grid line numbers by count of leading implicit lines, minimum 0.

1416350 - Part 1: Correctly account for removed 'auto-fit' tracks also when there are leading implicit tracks.

1416350 - Part 2: Correct logic for Grid API line numbering with leading implicit tracks.

1418727 part 1 - [css-grid] Introduce StateBitsForRange() that collects the union of the state bits for a range of tracks (idempotent change).

1418727 part 2 - [css-grid] Require that an item spans at least one track with an 'auto' min sizing function for Automatic Minimum Size to apply.
2019-09-28 23:47:04 -04:00
Dmitry Grigoryev 70f2d4cce1 Merge branch 'master' of https://github.com/dimag0g/UXP 2019-09-28 10:02:11 +02:00
Dmitry Grigoryev 870375faa3 Added missing libwebp NEON files 2019-09-28 10:00:36 +02:00
Moonchild 81db54a1cb Merge pull request #1232 from adeshkp/disable-color-mgmt-linux
Issue #1231 - Stop using ICC profiles on Linux.
2019-09-24 21:14:54 +02:00
adeshkp 7422dd4fe9 Issue #1231 - Stop using ICC profiles on Linux.
General consensus seems to be that color management on Linux desktops
is not mature enough to enable by default.
2019-09-24 13:59:46 -04:00
Moonchild d59ef87742 No issue - Add 360 Safeguard to DLL blocklist
360 Safeguard/360 Total Security (Qihoo) causes crashes in a11y components.
This adds the offending dll to the injection blocklist.
See BZ bug 1536227 for details.
2019-09-17 11:04:22 +02:00
wolfbeast 18a2244f5b Issue #1226 - Explicitly enable sse2 on x86_64 also.
Although it's enabled by default in gcc (should be, anyway!), we're
being explicit here for 64-bit x86 platforms here also. This matches the
old behavior.
2019-09-10 19:07:28 +02:00
wolfbeast b8a1f57703 Don't assume Intel architecture for compiler optimizations on Linux/gcc.
This only adds SSE2 flags when the CPU architecture is correct for it.
Resolves #1226
2019-09-10 10:44:10 +02:00
wolfbeast 9fdff854eb Merge branch 'master' into release 2019-09-06 10:29:38 +02:00
wolfbeast 6db06749e2 Fix whitelisting of JavaScript-uris by CSP hash. 2019-09-05 18:42:49 +02:00
wolfbeast e3c13af976 Properly implement various HSTS states.
Previously, HSTS preload list values could be overridden temporarily due
to counter-intuitive behavior of the API's removeState function.
This adds an explicit flag to the API for writing knockout values to
the Site Security Service, with the default resetting to whatever the
preload list state is.
2019-09-05 18:23:12 +02:00
wolfbeast 2b223cce08 Use the correct group for JIT constraints.
This fixes a rare crash/CTD in JS.
This adds information about the constraints to a new RAII class so we
can finish all constraints at the end.
Based on changes in BZ 1568397
2019-09-05 13:19:33 +02:00
Olli Pettay d90dd7b0c6 Ensure the right body element is used throughout the method call. 2019-09-05 11:29:47 +02:00
Sebastian Streich 334a892eb5 Add checks to respect CSP-wildcard + Ports. 2019-09-05 09:48:51 +02:00
wolfbeast 4d4924e510 Fix a crash in IndexedDB. 2019-09-04 21:04:07 +02:00
Nathan Froyd 4266966eee Kill newly-spawned threads if we're shutting down. 2019-09-04 17:55:04 +02:00
wolfbeast c6446f1126 Remove HTML5 parser java docs and generation code.
java->C++ automated translation is not something we want to deal with
now or in the future.
2019-09-04 16:33:37 +02:00
wolfbeast abc6b2f3aa Belatedly fix html5 parser attribution for files not covered by the MPL. 2019-09-04 15:28:21 +02:00
wolfbeast 0ce08b418d Fix an issue with the html5 tokenizer and tree builder. 2019-09-04 15:27:40 +02:00
wolfbeast cc60a093cb Merge branch 'master' of https://github.com/MoonchildProductions/UXP 2019-09-04 12:14:54 +02:00
Markus Stange 7c09f0ed7e Correctly return zero vertices if clipping plane 0 or 2 clip away the
entire polygon.

This fixes a bug that was introduced three years ago in BZ bug 1268854.
What happened was that the final pass over the polygon assumed that the
current polygon was living in plane[0]. But due to the double buffering,
the "current" polygon alternates between plane[0] and plane[1].
The bug had also introduced an early exit so that we could hit the final
pass at a time where the current, now empty, polygon was in plane[1]. So
we would incorrectly treat all 32 points in plane[0] as part of the
final polygon.

This bug was responsible for intermittently unreasonable numbers in
CompositorOGL's fill rate / overdraw overlay.

This fixes a regression caused by the fix for CVE-2016-5252.
2019-09-04 12:13:10 +02:00
wolfbeast 69ac633587 Revert "Correctly return zero vertices if clipping plane 0 or 2 clip away the"
This reverts commit 09a8b2f196.
2019-09-04 12:00:36 +02:00
Ascrod 44cfc6d210 Issue #1217 - Add support for (later versions of) the Windows 10 SDK 2019-09-01 17:36:03 -04:00
wolfbeast 7b986188c1 Merge working copy branch 2019-09-01 18:21:41 +02:00
wolfbeast 8f7d40e854 Issue #1222: Don't load plugin instances when they have no src URI.
Favor fallback content in that case (if present). Fallback is always
considered "good" in this case so may end up doing nothing which is what
we'd want for corner cases that hammer this routine with no content.
2019-09-01 18:20:28 +02:00
wolfbeast 09a8b2f196 Correctly return zero vertices if clipping plane 0 or 2 clip away the
entire polygon.

This fixes a regression caused by the fix for CVE-2016-5252
2019-09-01 16:39:40 +02:00
wolfbeast f67e3f054f Issue #1179: fix indentation 2019-09-01 15:15:19 +02:00
wolfbeast 11965adc1d New cycle version bump 2019-08-28 14:49:13 +02:00
wolfbeast b58a8779c0 Issue #1221: Pass the original element into
nsXMLContentSerializer::CheckElementEnd so that we can properly
determine whether it has children.

This resolves #1221
2019-08-28 14:39:17 +02:00
Matt A. Tobin 31def0da05 [MCP Applications] Add %WIDGET_TOOLKIT% to the AUS update url for Pale Moon and Basilisk
Also removes the redundant branding version of app.update.url in Pale Moon that was missed when many prefs were merged back into application preferences
2019-08-22 08:25:44 -04:00
wolfbeast a63272b530 No issue: Clean up exceptionDialog.js
- Fix some quoting, comments and inconsistencies and code style
- Swap manually grabbing service components out for using `Services.*`
2019-08-17 22:33:51 +02:00
wolfbeast 3252e22000 Issue #1064: Don't get certificate details synchronously.
This avoids getting data synchronously on the main thread in an XHR
(which has been deprecated for a long time and _may_ actually be blocked
in our networking) and attempts to be more predictable by always firing
an update request for the dialog from the XHR request handlers.
2019-08-17 22:28:30 +02:00
Moonchild ab6242a93b Merge pull request #1212 from Ascrod/xdg-desktop-portal
Allow the use of Xdg desktop portal dialogs
2019-08-16 06:46:31 +00:00
Ascrod f7fced09da Issue #999 - Disable native file picker by default. 2019-08-15 18:22:56 -04:00
wolfbeast 1e8e5563d8 Issue #1208: Update Sync policies.js getters/setters to prevent race. 2019-08-15 10:40:06 +02:00
wolfbeast 2925fdc3ee Issue #1208: Remove services.sync.enabled pref.
Sync will not do anything unless specifically set up to do so and at
least one engine is enabled, so there's no need for this "master switch"
to force it disabled based on engines being disabled (which was its
previous function to shortcut syncing in that situation).
2019-08-15 10:36:58 +02:00
wolfbeast 8c34d786e4 Issue #1208: Fix jsonLoad in Sync's util.js to handle errors.
- `OS.Path.join` can throw, so we always need to try/catch it.
- Also do a sanity check to make sure `callback` is defined before use
2019-08-15 09:52:38 +02:00
wolfbeast 9d833d769a Issue #1124: [Basilisk] Remove Dev Edition theme. 2019-08-14 21:31:00 +02:00
wolfbeast cdd54fbe13 Issue #1124: [Basilisk] Remove Dev Edition front-end tie-ins. 2019-08-14 20:08:49 +02:00
wolfbeast 9f7b943c1d Issue #1124: Remove Firefox Developer Edition code.
Removes all occurrences of MOZ_DEV_EDITION code and some helpers.
2019-08-14 17:19:40 +02:00
wolfbeast 0cd0854ba8 Update platform version. 2019-08-14 15:55:42 +02:00
wolfbeast b345c82c18 Issue #438: Revert incorrect changes to w3c-css reftests 2019-08-14 15:34:02 +02:00
wolfbeast 203cb72e94 Issue #438: Add reftests. 2019-08-14 15:24:39 +02:00
wolfbeast 0481fa14b4 Issue #438: Make the nsSVGOuterSVGAnonChildFrame a reference frame.
This causes transforms of the <svg> contents to be unaffected by
scrolling / offset changes of the <svg> element.
2019-08-14 15:20:20 +02:00
wolfbeast c67d673d4f Issue #438: Check for non-rectilinear transforms 2019-08-14 15:09:34 +02:00
wolfbeast be12aaf416 Issue #438: Add an IsRectilinear helper method to gfxMatrix. 2019-08-14 14:22:13 +02:00
wolfbeast c8666d1565 Issue #438: Rename coord/coords to originValue/transformOrigin.
For clarity and to prevent typoes.
2019-08-14 13:46:25 +02:00
wolfbeast 4bb5a957fb Issue #438: Pixel-snap subpixel value for outer SVG and anon child.
This doesn't solve the blurriness yet, but is part of the problem.
2019-08-14 13:38:25 +02:00
wolfbeast 0d530b1ca2 Issue #438: Do not round the translation of an SVG frame.
This doesn't solve the blurriness yet, but is part of the problem.
2019-08-14 13:35:08 +02:00
wolfbeast 31c765b050 Issue #1211: Allow the loading of TYPE_FONT from file: URLs.
This bypasses the CORS restriction of unique file: URLs in the case of
fonts loaded through CSS.

Resolves #1211.
2019-08-14 00:29:44 +02:00
wolfbeast c54bbf01fd Enable the JSON View tool by default.
Follow-up to issue #1138.
2019-08-13 13:45:39 +02:00
janekptacijarabaci 7dfb0c2168 Remove "Delete this page" and "Forget about this site" from livemarks.
These context menu entries should not be present on live bookmarks
because they make no sense for feed entries.
This resolves #663.
2019-08-12 23:41:30 +02:00
Moonchild 06a1dd2a28 Merge pull request #1209 from win7-7/FrameProperties-remove-obsolete-comment
FrameProperties remove obsolete comment (no code changes)
2019-08-11 14:21:17 +00:00
Ascrod 47c48dfcb8 Issue #999 - Use xdg-desktop-portal for file selection dialogs on Linux. 2019-08-10 17:26:31 -04:00
wolfbeast b5cbb4d2f8 Issue #1134: Reinstate postDataString for about:home searches. 2019-08-10 12:25:57 +02:00
wolfbeast 2c17aaec1f Remove some leftover snippets code.
follow-up to 3a17b713ef
2019-08-10 12:24:13 +02:00
Moonchild b5b2993103 Merge pull request #1207 from win7-7/nsImageLoadingContent.cpp-AsyncOpen2
Convert dom/base/nsImageLoadingContent.cpp to use AsyncOpen2 and followups along with it (1445670 and 1373780 part 2 and 3)
2019-08-09 08:25:37 +00:00
wolfbeast fa4d569b93 Remove old ANGLE driver bug workaround. 2019-08-08 22:15:33 +02:00
win7-7 deae241f5e Convert dom/base/nsImageLoadingContent.cpp to use AsyncOpen2 and followups along with it (1445670 and 1373780 part 2 and 3)
Convert dom/base/nsImageLoadingContent.cpp to use AsyncOpen2 and followups along with it (1445670 and 1373780 part 2 and 3)
2019-08-08 16:44:51 +03:00
wolfbeast c1013e9122 Issue #1118 Part 4: Allow UpdateURLAndHistory to work even if there's no
root session history.

This can happen when someone does a document.open() on a document that
has no session history.
2019-08-06 09:58:35 +00:00
wolfbeast 80e4577e3b Issue #1118 Part 3: Add a public RemoveAllListeners method on
EventListenerManager.
2019-08-06 09:57:37 +00:00
wolfbeast f5c848aa9b Issue #1118 Part 2: Allow UpdateURLAndHistory to work even if mOSHE is
null, if we're doing a replace.

We're going to end up hitting this if someone does a document.open()
before mOSHE has been set. We shouldn't need to worry about mLSHE,
because the document.open() will cancel the corresponding load.
2019-08-06 08:41:51 +00:00
win7-7 1c53b589c4 Merge branch 'master' into FrameProperties-remove-obsolete-comment 2019-08-04 23:13:48 +03:00
Moonchild 5a957202b7 Merge pull request #1201 from kn-yami/issue1138
Refactor JSON Viewer
2019-08-03 20:56:36 +00:00
win7-7 248476f94e Outdated comment removal (no code changes)
No code changes.
2019-08-02 16:31:54 +03:00
yami 3aeef88170 Issue #1138 - Part 4: fix JSON Viewer save functionality
Saving JSON from the viewer was broken, because the message passed to
the `saveToFile` function contained unneeded data. This bug was
introduced by 23e68227a2.
2019-08-01 02:18:45 +02:00
wolfbeast 027fbae80a Issue #1118 Part 1: Split out part of nsDocShell::AddState into a
separate method.

This implements the "URL and history update steps" from the HTML spec.
See https://html.spec.whatwg.org/multipage/history.html
2019-07-31 14:18:54 +00:00
yami d80d5688e6 Issue #1138 - Part 3: avoid quirks mode in JSON Viewer
Mozilla Bug 1368899
2019-07-30 16:09:52 +02:00
yami f635feec77 Issue #1138 - Part 2: JSON Viewer should ignore BOM
Mozilla Bug 1395313
2019-07-30 15:42:58 +02:00
yami 23e68227a2 Issue #1138 - Part 1: refactor the JSON Viewer stream converter
Mozilla Bug 1367894
2019-07-30 15:27:59 +02:00
wolfbeast 3170ee7692 Hide and disable open_all/cut/copy/delete/properties when opening
bookmarks/history context menu with no selection

This resolves #882 (by not offering options that can't be used)
2019-07-28 21:24:32 +02:00
wolfbeast 1545320721 Update SQLite to 3.29.0 2019-07-28 12:18:12 +02:00
Moonchild a4584c7329 Merge pull request #1200 from flewkey/master
Issue #1156 - Location Bar Preferences Checkboxes
2019-07-27 10:15:38 +00:00
Ryan Fox 93ceb82819 Issue #1156 - Location Bar Preferences Checkboxes
Signed-off-by: Ryan Fox <flewkey@2a03.party>
2019-07-27 08:27:38 +00:00
wolfbeast 9b0ff0e8bc Add UI preference for overall vertical smooth scrolling speed
(as a percentage).

Resolves #1147.
2019-07-26 16:09:05 +02:00
wolfbeast 8c29326d96 Merge branch 'master' of https://github.com/MoonchildProductions/UXP 2019-07-25 12:35:41 +02:00
wolfbeast 365133b9aa Update default bookmark icons. 2019-07-25 12:34:59 +02:00
Moonchild 9c731029ab Merge pull request #1199 from wicknix/master
Add red moon icon to MacOS for unstable builds
2019-07-24 12:55:16 +00:00
wicknix 9cb962ac43 Add red moon icon to MacOS for unstable builds
Replaces grey moon which is supposed to be used for unofficial "New Moon" builds.
2019-07-23 18:43:03 -05:00
Moonchild 50e464efc7 Merge pull request #1198 from wicknix/master
Add space to MOZ_APP_DISPLAYNAME
2019-07-23 13:34:10 +00:00
wicknix 94605c1695 Add space to MOZ_APP_DISPLAYNAME
PaleMoon becomes Pale Moon
2019-07-22 23:58:18 -05:00
wicknix 155a5262d0 Add space to MOZ_APP_DISPLAYNAME
NewMoon now becomes New Moon
2019-07-22 23:57:12 -05:00
wicknix 3dbcd0de3a Add space to MOZ_APP_DISPLAYNAME
PaleMoon now becomes Pale Moon
2019-07-22 23:55:50 -05:00
Moonchild 234c10fd6d Merge pull request #1197 from adeshkp/patch-12
Fix call to macro `MOZ_ASSERT_UNREACHABLE`
2019-07-22 20:59:15 +00:00
adeshkp 039d70f696 Fix call to macro MOZ_ASSERT_UNREACHABLE
Fallout from 227b23606b
2019-07-23 00:30:15 +05:30
wolfbeast 333554821a Remove MOZ_BROWSER_STATUSBAR conditional.
This resolves #1194.
2019-07-22 15:06:15 +02:00
wolfbeast 227b23606b Add CheckedInt check for GL texture uploads. 2019-07-22 12:35:39 +02:00
Moonchild bb3e62fe1e Merge pull request #1196 from g4jc/feed_spidermonkey
Issue #1195 - Fix errant use of JSContext in ErrorNotes
2019-07-22 08:23:47 +00:00
wolfbeast 8cd6a5a336 Remove unused checking function for unboxed types.
Tag #1030
2019-07-22 10:22:35 +02:00
wolfbeast 17a4b4f6db Implement a threadsafe & revised version of http2PushedStream.
This re-applies the patch for this with added typename declaration.
2019-07-22 04:53:44 +02:00
Gaming4JC 04ac84ff56 Issue #1195 - Fix errant use of JSContext in ErrorNotes
We want to ensure that ErrorNotes stays on the main thread to prevent a race condition that was introduced in 1283712 - Part 1. This fixes #1195.
2019-07-21 22:33:19 -04:00
wolfbeast f6a282023e Merge branch 'master' of https://github.com/MoonchildProductions/UXP 2019-07-21 21:35:03 +02:00
wolfbeast 91de3341df Revert "Implement a threadsafe & revised version of http2PushedStream."
Backed out because of gcc build failures.

This reverts commit 66fae1d810.
2019-07-21 21:31:04 +02:00
Moonchild 44455d8b48 Merge pull request #1190 from adeshkp/spaces-mac-appname
Issue #701 - Support spaces in Mac app name
2019-07-21 00:35:25 +00:00
wolfbeast 1dbed95e4c Update platform version and force clobber. 2019-07-20 23:11:27 +02:00
Moonchild 779ef307af Merge pull request #1192 from g4jc/parser_tuneup
Issues #816 / #802 - SpiderMonkey Tuneup
2019-07-20 20:43:11 +00:00
wolfbeast 9dce66f589 Use WeakPtr for extension parent pointer. 2019-07-20 18:08:16 +02:00
wolfbeast f046b91738 Do not allow the ^ character to appear in the hostname. 2019-07-20 17:36:06 +02:00
Lars T Hansen 7e6342a011 Define JumpImmediateRange on ARM64.
There are comments in the code suggesting that we've made plans at some
point to handle very far jumps via patching + indirect jumps, but all of
those comments are TODO/FIXME. Absent such a strategy, the furthest jump
is 2^27-1 bytes, and we need to define JumpImmediateRange to reflect
that.
2019-07-20 15:43:01 +02:00
Honza Bambas b7807cd00b Bug 1548822. 2019-07-20 15:36:09 +02:00
Kyle Machulis 8b7daa5369 Don't allow cross-origin POST redirects on 308 codes.
We already don't allow cross origin POST redirects on 307 redirects;
this adds extra guards to make sure we don't allow them on 308s either.
2019-07-20 15:28:48 +02:00
Henri Sivonen c364377072 Bug 1555523. 2019-07-20 15:23:12 +02:00
wolfbeast 408ca49a02 Clarify comment with security.fileuri.unique_origin 2019-07-20 15:02:04 +02:00
wolfbeast 33b6f178d1 Treat all file: URIs as having a unique origin.
This prevents cross-file access from files loaded into the browser from
the local file system, further restricting the origin policy of file:
URIs.

Added a pref to control this behavior for local file access if required
for certain applications, since this change might break using the
browser to run applications on the local file system that require
access to local files.
2019-07-20 14:56:26 +02:00
wolfbeast aae0bfd5b8 Check port safety for AltSvc 2019-07-20 13:59:45 +02:00
g4jc 4a0061a3e0 Merge pull request #1 from wolfbeast/patch-1
Fix order of OwnProperty check for rest parameters.
2019-07-19 18:20:54 -04:00
wolfbeast 3f9e299b6e Truncate Buffer/Texture on GL_OOM. 2019-07-19 19:08:25 +02:00
Honza Bambas b0a8ed2157 Bug 1550498. 2019-07-19 17:28:56 +02:00
wolfbeast 15aff51ed9 Get RefPtr for IDBOpenDBRequest before using it. (DiD) 2019-07-19 16:25:01 +02:00
Moonchild d2cfd332ac Fix order of OwnProperty check for rest parameters.
This was a small mistake when converting from the `hasOwn()` function format (swapped parameters). Fixing this properly makes rest parameters exclude the parameters that are defined (which is the whole point of `...rest`
2019-07-19 15:48:48 +02:00
Gaming4JC 4a84afdc89 1353691 - Report SyntaxError when arrow function has await-identifier in async function context. 2019-07-18 22:38:49 -04:00
Gaming4JC 28c5b8c058 1344334 - Make DoTypeUpdateFallback infallible. 2019-07-18 22:38:48 -04:00
Gaming4JC 076ad08ac6 1339395 - Part 8: Add separate variables for wasm debugger test. 2019-07-18 22:38:48 -04:00
Gaming4JC 221239a77c 1339395 - Part 7: Remove no longer needed check for jsid strings which are indices from frontend. 2019-07-18 22:38:48 -04:00
Gaming4JC 8b4ee77d34 1339395 - Part 6: Update jit-tests now that object rest/spread properties are a thing. 2019-07-18 22:38:48 -04:00
Gaming4JC 262b1194ff 1339395 - Part 5: Add Reflect.parse tests for object rest and spread properties. 2019-07-18 22:38:47 -04:00
Gaming4JC 3048ff4346 1339395 - Part 3: Add BytecodeEmitter support for object rest and spread properties. 2019-07-18 22:38:47 -04:00
Gaming4JC 091d00f1bd 1339395 - Part 2: Add parser support for rest and spread object properties. 2019-07-18 22:38:47 -04:00
Gaming4JC 638a904d0d Refactor Token& nextToken 2019-07-18 22:38:46 -04:00
Gaming4JC 6444d5d0ef 1339395 - Part 1: Align parse method for object literals to match array literals. 2019-07-18 22:38:46 -04:00
Gaming4JC 85aeff765e 1344477 - Part 2: Optimize Array.prototype.splice with JSOP_NORVCALL. 2019-07-18 22:38:46 -04:00
Gaming4JC 449ea84dcc 1344477 - Part 1: Add JSOP_CALL_IGNORES_RV for function call that ignores return value. 2019-07-18 22:38:45 -04:00
Gaming4JC aa65e8a189 Refactor abortIfSyntaxParser after destructring 2019-07-18 22:38:45 -04:00
Gaming4JC a4b91b5a8f 1303703 - Part 3: Syntax parse destructuring assignment patterns. 2019-07-18 22:38:45 -04:00
Gaming4JC 55c897db3c 1303703 - Part 2: Clean-up bits of destructuring parsing which are no longer needed. 2019-07-18 22:38:45 -04:00
Gaming4JC b02f52f8a7 1303703 - Part 1: Separate binding pattern parsing from object/array literal parsing. 2019-07-18 22:38:44 -04:00
Gaming4JC e93a48121a 420857 - Part 4: Report the position of opening bracket for missing bracket error in array literal. 2019-07-18 22:38:44 -04:00
Gaming4JC 10227d77bf 420857 - Part 3: Report the position of opening brace for missing brace error in object literal. 2019-07-18 22:38:44 -04:00
Gaming4JC 3e1a8a74f2 420857 - Part 2: Report the position of opening brace for missing brace error in block. 2019-07-18 22:38:43 -04:00
Gaming4JC ccb322db6d 420857 - Part 1: Report the position of opening brace for missing brace error in function body. 2019-07-18 22:38:43 -04:00
Gaming4JC 03df00e45f 1367204 - Generate "[sourceless code]" for class constructors when sourceIsLazy and no source hook is set. 2019-07-18 22:38:43 -04:00
Gaming4JC fe80b3d80d 1357506 - Remove assert that constructorBox can only be set once when parsing classes.
Both asm.js and syntax parsing can abort and rewind parsing of an inner function.
The bookkeeping to make sure that a class's constructor FunctionBox is only set once is not worth it -- duplicate constructor definitions already throw an early error.
2019-07-18 22:38:43 -04:00
Gaming4JC 7e510ee9b4 1359622 - Fix assert for calling Function.toString on class constructors when the compartment has had source discarded. 2019-07-18 22:38:42 -04:00
Gaming4JC 7b1c6a022c Bug 1364573 - Don't relazify class default constructors.
Because of the wacko way we handle toString offsets for class default constructors, those offsets cannot be recovered if we relazify the functions.
Luckily there's no reason to relazify them, their JSScripts are very small: either a single 'retrval' for non-derived, and still fairly small for derived.
2019-07-18 22:38:42 -04:00
Gaming4JC 92ca89f5f7 1357483 - Stop changing the end position of parenthesized expression ParseNodes. 2019-07-18 22:38:42 -04:00
Gaming4JC 22dba02b7b 1216630 - Rename preludeStart and postludeEnd to toStringStart and toStringEnd and misc fixes. 2019-07-18 22:38:41 -04:00
Gaming4JC 53e46b1e12 1216630 - Print class source when calling toString on the constructor.
This is accomplished in the following ways.
LazyScripts and JSScripts now have 4 offsets:
- Source begin and end for the actual source. This is used for lazy parsing.

- toString begin and end for toString. Some kinds of functions, like async, only have a different begin offset. Class constructors have different offsets for both begin and end.

For syntactically present (i.e. non-default) constructors, the class source span is remembered directly on the LazyScript or JSScript. The toString implementation then splices out the substring directly. For default constructors, a new SRC_CLASS SrcNote type is added. It's binary and has as its arguments the begin and end offsets of the class expression or statement. MakeDefaultConstructor reads the note and overrides the cloned self-hosted function's source object. This is probably the least intrusive way to accomplish this.
2019-07-18 22:38:41 -04:00
Gaming4JC d1c146adf2 1340148 - Disallow function redeclarations at module top level. 2019-07-18 22:38:41 -04:00
Gaming4JC 147c6d6afa 104442 - Part 5: Add another testcase for devtools and note. 2019-07-18 22:38:40 -04:00
Gaming4JC 5d1f675acd 104442 - Part 4: Update stub. 2019-07-18 22:38:40 -04:00
Gaming4JC 4a14a7b394 104442 - Part 3: Add test input for mocha test. 2019-07-18 22:38:40 -04:00
Gaming4JC f4129b97ca 104442 - Part 2: Add a testcase for devtools and note. 2019-07-18 22:38:39 -04:00
Gaming4JC dab8877c10 104442 - Part 1: Report the position and the kind of previous declaration for redeclaration error. 2019-07-18 22:38:39 -04:00
Gaming4JC 8a4aeb6f58 1342273 - Improve frontend tracelogging. [PARTIAL] Only implemented const to rvalue changes, no tracelogging 2019-07-18 22:38:39 -04:00
Gaming4JC 64fd7ae454 1339963 - Part 3: Check IdentifierName in ExportClause without from. 2019-07-18 22:38:38 -04:00
Gaming4JC d2aa017a88 1339963 - Part 2: Use MUST_MATCH_TOKEN for contextual keyword where it can be used. 2019-07-18 22:38:38 -04:00
Gaming4JC 57a8b65fc0 1339963 - Part 1: Split Parser::exportDeclaration. 2019-07-18 22:38:38 -04:00
Gaming4JC f396401280 Fix a thread assertion in NewCopiedArrayTryUseGroup 2019-07-18 22:38:38 -04:00
Gaming4JC 7252778e37 1332245 - [Basilisk] Move nsScriptError from js/xpconnect to dom/bindings. 2019-07-18 22:38:37 -04:00
Gaming4JC 50de15c3a6 1317387: The intrinsic %ThrowTypeError% function should be frozen. 2019-07-18 22:38:37 -04:00
Gaming4JC c1ba97eeae 1340089 - Check the binding name in comprehensionFor. 2019-07-18 22:38:37 -04:00
Gaming4JC 0f5f3c3049 1336783 - followup: Fix rooting. 2019-07-18 22:38:36 -04:00
Gaming4JC dd0057fbf0 1336783 - Part 3 - Use simpler macro to avoid internal compiler error on SM-tc(H). 2019-07-18 22:38:36 -04:00
Gaming4JC fcdc8929f3 1336783 - Part 2: Remove Parser::checkStrictBinding. 2019-07-18 22:38:36 -04:00
Gaming4JC 05c9c752a3 1336783 - Part 1: Rework on reserved word and remove TokenStream::KeywordIsName. 2019-07-18 22:38:35 -04:00
Gaming4JC 7fb92548e6 1283712 - Part 11.4: Fix assignment 2019-07-18 22:38:35 -04:00
Gaming4JC 1257c3c5d2 1283712 - Part 11.3: Add mocha test. 2019-07-18 22:38:35 -04:00
Gaming4JC a14c9bed8c 1283712 - Part 11.2: Update stub. 2019-07-18 22:38:34 -04:00
Gaming4JC 4dc8efd76c 1283712 - Part 11.1: Show notes in devtools console. 2019-07-18 22:38:34 -04:00
Gaming4JC 8e932efef4 1283712 - Part 10: Support notes in getLastWarning shell-only testing function. 2019-07-18 22:38:34 -04:00
Gaming4JC a781578b41 1283712 - Part 9: Add getErrorNotes testing function to extract error notes from exception. 2019-07-18 22:38:33 -04:00
Gaming4JC c76e66fc3d 1283712 - Part 8: Add WorkerErrorBase, WorkerErrorNote, and WorkerErrorReport. 2019-07-18 22:38:33 -04:00
Gaming4JC 332c1c28ac 1283712 - Part 7: Add nsIScriptErrorNote and nsIScriptError.notes. 2019-07-18 22:38:33 -04:00
Gaming4JC 4a82fdad87 1332245 - Move nsScriptError from js/xpconnect to dom/bindings. 2019-07-18 22:38:33 -04:00
Gaming4JC d7fbf2a9df 1283712 - Part 6: Add xpc::ErrorBase, xpc::ErrorNote, and xpc::ErrorReport.mNotes. 2019-07-18 22:38:32 -04:00
Gaming4JC f4552af8bc 1283712 - Part 5: Support notes in Debugger. 2019-07-18 22:38:32 -04:00
Gaming4JC da77e2c04c 1283712 - Part 4: Print error note in js::PrintError. 2019-07-18 22:38:32 -04:00
Gaming4JC 412f15de44 1283712 - Part 3: Add Parser::errorWithNotes and Parser::errorWithNotesAt. 2019-07-18 22:38:31 -04:00
Gaming4JC c185c2fe72 1283712 - Part 2: Add JSEXN_NOTE. 2019-07-18 22:38:31 -04:00
Gaming4JC 3765f05789 Make JSErrorNotes Single Threaded 2019-07-18 22:38:31 -04:00
Gaming4JC 9a7113f7c8 1283712 - Part 1: Add JSErrorBase, JSErrorNotes, JSErrorNotes::Note, and JSErrorReport.{notes,freeNotes}. 2019-07-18 22:38:30 -04:00
Gaming4JC d275918069 1339137 - Don't do Annex B lexical function behavior when redeclaring a parameter name in a function with parameter expressions. 2019-07-18 22:38:30 -04:00
Gaming4JC d200a2b02e 1337143 - Tweak ExportClause parsing to eliminate a peekToken where a simpler consuming getToken could be performed. 2019-07-18 22:38:30 -04:00
Gaming4JC c75bd3037a 1337143 - Tweak NamedImports parsing to eliminate a complexifying peekToken where getToken could be used. 2019-07-18 22:38:29 -04:00
Gaming4JC 3f8364e4a0 1320408 - Part 26: Remove Shape::set declaration. 2019-07-18 22:38:29 -04:00
Gaming4JC eb6c9ea6bb 1320408 - Part 25: Change NativeObject::toDictionaryMode to static method. 2019-07-18 22:38:29 -04:00
Gaming4JC fe760880b7 1320408 - Part 24: Change NativeObject::{fillInAfterSwap,replaceWithNewEquivalentShape,generateOwnShape,shadowingShapeChange} to static method. 2019-07-18 22:38:29 -04:00
Gaming4JC 72f723f391 1320408 - Part 23: Change RegExpObject::{getShared,createShared,dumpBytecode} to static method. 2019-07-18 22:38:28 -04:00
Gaming4JC 2b0c366344 1320408 - Part 22: Remove JSContext* parameter from ProxyObject::renew and Wrapper::Renew. 2019-07-18 22:38:28 -04:00
Gaming4JC bd68198209 1320408 - Part 21: Change PromiseObject::onSettled to static method. 2019-07-18 22:38:28 -04:00
Gaming4JC e1e313f3b6 1320408 - Part 20: Change PromiseObject::resolve and PromiseObject::reject to static method. 2019-07-18 22:38:27 -04:00
Gaming4JC 31c0c2f9cc 1320408 - Part 19: Remove JSContext* parameter from ModuleObject::fixEnvironmentsAfterCompartmentMerge. 2019-07-18 22:38:27 -04:00
Gaming4JC 761b3afca5 1320408 - Part 18: Change StringObject::init to static method. 2019-07-18 22:38:27 -04:00
Gaming4JC 08aee2f9d9 1320408 - Part 17: Change NativeObject::clearFlag to static method. 2019-07-18 22:38:26 -04:00
Gaming4JC 4c56c51c89 1320408 - Part 16: Change NativeObject::removeProperty to static method. 2019-07-18 22:38:26 -04:00
Gaming4JC caf39feeeb 1320408 - Part 15: Change NativeObject::addDataProperty to static method. 2019-07-18 22:38:26 -04:00
Gaming4JC 3a5176f4b2 1320408 - Part 14: Change some GlobalObject methods to static method. 2019-07-18 22:38:25 -04:00
Gaming4JC 7757e03ccc 1320408 - Part 13: Change DebugEnvironmentProxy::getMaybeSentinelValue to static method. 2019-07-18 22:38:25 -04:00
Gaming4JC fcfaa4fbee 1320408 - Change JSScript::sourceDataWithPrelude to static method
UXP Interdiff
2019-07-18 22:38:25 -04:00
Gaming4JC 93335c3120 1320408 - Part 12: Change JSScript::sourceData to static method. 2019-07-18 22:38:24 -04:00
Gaming4JC 4d88f48fdb 1320408 - Part 10: Change LazyScript::functionDelazifying to static method. 2019-07-18 22:38:24 -04:00
Gaming4JC 1d0ab1c752 1320408 - Part 9: Change JSObject::setFlags and depending methods to static method. 2019-07-18 22:38:24 -04:00
Gaming4JC fe20cd2649 1320408 - Part 8: Change JSObject::reportNotConfigurable and JSObject::reportNotExtensible to static method. 2019-07-18 22:38:24 -04:00
Gaming4JC 549bab83d1 1320408 - Part 7: Remove JSContext* parameter from JSObject::shouldSplicePrototype. 2019-07-18 22:38:23 -04:00
Gaming4JC 6bbc8d6664 1320408 - Part 6: Change JSObject::splicePrototype to static method. 2019-07-18 22:38:23 -04:00
Gaming4JC 2d1d2cefbb 1320408 - Part 5: Change JSObject::constructorDisplayAtom to static method. 2019-07-18 22:38:23 -04:00
Gaming4JC af6768fb1f 1320408 - Part 4: Change JSObject::getGroup to static method. 2019-07-18 22:38:22 -04:00
Gaming4JC c2b1e70b76 1320408 - Part 3: Remove JSContext* parameter from JSFunction::getBoundFunctionArgument. 2019-07-18 22:38:22 -04:00
Gaming4JC 739a819580 1320408 - Part 2: Change JSFunction::getOrCreateScript to static method. 2019-07-18 22:38:22 -04:00
Gaming4JC e5019fd4cf 1320408 - Part 1: Change JSFunction::getLength and JSFunction::getUnresolvedLength to static method. 2019-07-18 22:38:21 -04:00
Gaming4JC 9476f2e018 1175823 - Import test262 mapped arguments tests. 2019-07-18 22:38:21 -04:00
Gaming4JC 2ea840b045 1175823 - Implement [[DefineOwnProperty]] for mapped arguments object. 2019-07-18 22:38:21 -04:00
Gaming4JC 0bc4652690 1333045 - Update Location object properties to current spec.
Specifically, three changes:
1) valueOf should be non-enumerable.
2) valueOf should be === to Object.prototype.valueOf.
3) There should be no toJSON.
2019-07-18 22:38:20 -04:00
Gaming4JC cefee262b7 1333143 - Self-host Object.prototype.valueOf. 2019-07-18 22:38:20 -04:00
Gaming4JC d074844a4e 903389 - Make Make NativeGet[Getter]PureInline handle dense/typed array shapes. 2019-07-18 22:38:20 -04:00
Gaming4JC 668254e2b2 903389 - Fix uses of ClassMethodIsNative. 2019-07-18 22:38:19 -04:00
Gaming4JC afb28a43d4 1317375 - Implement "Template Literals Revision / Lifting Template Literal Restriction" ECMAScript proposal 2019-07-18 22:38:19 -04:00
Gaming4JC adc81d634d 1317374 - Don't do Annex B lexical function behavior when redeclaring a parameter name. 2019-07-18 22:38:19 -04:00
Gaming4JC 52e22e231b 1323324 - Part 1: Make Promise::unforgeable{Resolve,Reject} spec-compliant. 2019-07-18 22:38:18 -04:00
Gaming4JC af32c8553e 1325606 - Return wrapped async function from caller property. 2019-07-18 22:38:18 -04:00
Gaming4JC c6fe420950 1326454 - Don't report an error when SourceCoords::add fails, because it fails only when an underlying Vector::append fails, and that vector handles OOM reporting itself. 2019-07-18 22:38:18 -04:00
Gaming4JC aa2decd154 1326454 - Add assertions to TokenStream::skipChars{,IgnoreEOL} verifying EOF isn't yet hit and that newlines aren't skipped, if appropriate. 2019-07-18 22:38:18 -04:00
Gaming4JC 0ed4cf321f 1326454 - Make TokenStream::skipChars{,IgnoreEOL} accept an unsigned integral number of chars to skip. 2019-07-18 22:38:17 -04:00
Gaming4JC d400e9491c 1326454 - Make TokenStream::peekChar's signature fallible. 2019-07-18 22:38:17 -04:00
Gaming4JC b41de8683d 1326454 - Rename TokenStream::getBracedUnicode to TokenStream::matchBracedUnicode and make its signature fallible. 2019-07-18 22:38:17 -04:00
Gaming4JC 068916b59a 1326454 - Introduce TokenStream::warning that warns at the current offset. 2019-07-18 22:38:16 -04:00
Gaming4JC f6193fd0f4 1326454 - Introduce TokenStream::error that reports an error at the current offset. 2019-07-18 22:38:16 -04:00
Gaming4JC c3e3a917d6 1325157 - Implement a ParserBase class that holds functionality that's identical between syntax parsing and full parsing. 2019-07-18 22:38:16 -04:00
Gaming4JC 7535217e1b 1325473 - A TypeError should be thrown when accessing 'arguments' or 'caller' on any of the new function types. 2019-07-18 22:38:15 -04:00
Gaming4JC 90d999c59a 1320403 - Move JSFunction::EXPR_BODY to JSScript, LazyScript, and FunctionBox. 2019-07-18 22:38:15 -04:00
Gaming4JC 986ae62665 636635 - Do not create named lambda binding for a function created by Function constructor. 2019-07-18 22:38:15 -04:00
Gaming4JC 7ecc50d90d 1317379 - Disallow generator functions and async functions as direct children of if/else. 2019-07-18 22:38:14 -04:00
Gaming4JC 987d6726f3 1296814 - Move FunctionDeclaration-as-consequent/alternative handling out of Parser::functionStmt into Parser::consequentOrAlternative. 2019-07-18 22:38:14 -04:00
Gaming4JC f319f49a52 1317153 - Provide better error message when errornous syntax possibly match "await SOMETHING" outside async function. 2019-07-18 22:38:14 -04:00
Gaming4JC dcb43bda93 1317090: Remove js::FindBody; 2019-07-18 22:38:13 -04:00
Gaming4JC 5e76f72c53 1315815 - Don't treat async or await as a keyword when they contain escapes. 2019-07-18 22:38:09 -04:00
Moonchild bf2610c0cf Merge pull request #1189 from JeroenVreeken/master
Add support for AAC audio in matroska/webm files
2019-07-18 17:34:26 +00:00
wolfbeast 7979df5512 Revert "Capture delayed events and cancel as necessary."
Tag #1052 (backout).
Backed out for creating issues like #1191 and other issue-less problems
with e.g. losing the caret from text boxes. Of note: this was also
backed out from m-c for similar reasons in Bug 1332433.
This fixes #1191.
This reverts commit 3424afccae.
2019-07-18 19:21:07 +02:00
wolfbeast a4f56a43b6 Consider domain when deciding on inner window reuse. 2019-07-18 18:39:06 +02:00
Bryce Van Dyk c1cfd11d6a Use a RefPtr to hold owner element ref when moving media resource load
to background.
2019-07-18 18:10:14 +02:00
wolfbeast 66fae1d810 Implement a threadsafe & revised version of http2PushedStream. 2019-07-18 17:52:46 +02:00
adeshkp 4e464892a2 Issue #701 - Support spaces in Mac app name 2019-07-18 11:21:40 -04:00
wolfbeast 2539ce9251 Merge branch 'nss-work' 2019-07-18 15:58:00 +02:00
Jeroen Vreeken f820636a83 Merge branch 'master' of github.com:JeroenVreeken/UXP 2019-07-18 11:02:12 +02:00
Jeroen Vreeken 6b6aa59ffc Alow AAC audio codec data in matroska/webm streams.
Allow CRC32 elements in matroska cluster elements.
2019-07-18 11:00:46 +02:00
wolfbeast 89bd45bf91 Update NSS version. 2019-07-17 01:55:51 +02:00
wolfbeast 5f7e98fff1 Prohibit the use of RSASSA-PKCS1-v1_5 algorithms in TLS 1.3
This is a spec compliance issue.
2019-07-17 01:44:56 +02:00
wolfbeast 1e560deff8 Don't unnecessarily strip leading 0's from key material during PKCS11 import. 2019-07-17 01:31:34 +02:00
wolfbeast ef189737a3 Apply better input checking discipline. 2019-07-17 01:15:00 +02:00
wolfbeast ca0083022f Don't access gNeckoChild if not on main thread. (DiD)
This patch also makes UDPSocketChild::Bind return NS_ERROR_NOT_AVAILABLE
when mBackgroundManager is null.
2019-07-16 18:59:14 +02:00
Moonchild c4d192b492 Merge pull request #1181 from win7-7/FrameProperties-fix-comments
Fix comments for FrameProperties (no code changes)
2019-07-15 13:53:44 +00:00
Moonchild 3a772b2fcc Merge pull request #1182 from win7-7/fix-one-hang
Dispatch a PluginRemoved event for actual plugins, not images/unknown/iframe-type <objects>
2019-07-15 13:52:52 +00:00
Moonchild b0ab634bd8 Merge pull request #1185 from FranklinDM/bk_newaddon-missing
[BASILISK] A prompt should be shown for new foreign add-ons on startup
2019-07-15 13:50:36 +00:00
Moonchild f4b79463e4 Merge pull request #1184 from FranklinDM/am-discoverpane-fix
Show built-in Get Add-ons error page if there is no network connection.
2019-07-15 13:48:21 +00:00
wolfbeast 45cb5ab729 Block http auth prompt for cross-origin image subresources by default.
Still allow this to be bypassed with a pref for those really rare corner
cases where images are loaded cross-origin by design and the session
hasn't been/can't be authenticated ahead of time.
2019-07-15 14:13:14 +02:00
wolfbeast 4491ec5eac Selectively allow ftp subresources in the blocked mode.
- Allow "Save As..." downloads
- Allow subresource use if the top-level document is also on FTP
2019-07-15 13:20:53 +02:00
FranklinDM c4bd6040ee [BASILISK] A prompt should be shown for new foreign add-ons on start up
- Follow up to: 2cbbc5de45 and #937
- Should be `RecentWindow.getMostRecentBrowserWindow()` instead of `this.getMostRecentBrowserWindow()`.
2019-07-15 14:43:13 +08:00
FranklinDM 818cf20fc4 Issue #1183 - Fix incorrect conditional preventing Discover Error Page from showing up 2019-07-15 13:51:33 +08:00
wolfbeast d9aff90f06 Add preference to allow the loading of FTP subresources for corner cases 2019-07-14 22:41:01 +02:00
win7-7 6b9d8adeb3 Dispatch a PluginRemoved event for actual plugins, not images/unknown/iframe-type <objects>
If a page uses or removes many <object> elements which are not actually plugins, loading the page goes to a crawl because UXP recalculates the plugin UI every time.

Only dispatch a PluginRemoved event for actual plugins.
2019-07-14 23:08:23 +03:00
Matt A. Tobin 609ded8d47 Follow up to #1177 - Clean up package-manifest.in 2019-07-14 09:56:09 -04:00
New Tobin Paradigm 91a27750b3 Merge pull request #1177 from MoonchildProductions/remove_webide
Remove WebIDE devtools component.
2019-07-14 09:12:34 -04:00
Moonchild ee33f35b32 Merge pull request #1175 from MoonchildProductions/deunify_caps
Stop building /caps unified and fix deprot.
2019-07-13 18:56:33 +00:00
Moonchild 65a73f23e8 Merge pull request #1176 from MoonchildProductions/deunify_chrome
Stop building /chrome unified and fix deprot.
2019-07-13 14:33:56 +00:00
wolfbeast 197f4cbaa4 Remove WebIDE devtools component.
This resolves #1123
2019-07-13 02:41:46 +02:00
wolfbeast dd5d075b1a Stop building /chrome unified and fix deprot.
Tag #80
2019-07-12 23:30:59 +02:00
wolfbeast fdd8d6347e Stop building /caps unified and fix deprot.
Tag #80
2019-07-12 16:37:23 +02:00
win7-7 a059b0688b Fix comments for Frameproperties
https://bugzilla.mozilla.org/show_bug.cgi?id=1373884

Fixes comments for Frameproperties.

These comments went unnoticed earlier.

No code changes.
2019-07-12 00:30:22 +03:00
Moonchild 69970c911b Merge pull request #1171 from win7-7/FrameProperties-iterate-once-pr
Iterate the frame property list once to collect which child list properties we have
2019-07-11 14:57:46 +00:00
Moonchild 04a7c6bb4e Merge pull request #1174 from JeroenVreeken/master
Report matroska containers as supported and also support h.264 content in a matroska container file
2019-07-11 14:56:41 +00:00
Jeroen Vreeken 31addeaac8 Make matroska mime type checking more consistent. 2019-07-11 16:36:22 +02:00
Jeroen Vreeken 18f9b185b6 Allow matroska mime types for video element and MSE
Allow avc (h.264) content in matroska/webm containers
2019-07-10 11:08:09 +02:00
wolfbeast dd924323c3 Merge branch 'master' of https://github.com/MoonchildProductions/UXP 2019-07-08 21:47:28 +02:00
wolfbeast f7f7224ded Remove e10s info from about:support
tag #953
2019-07-08 21:46:44 +02:00
win7-7 570cad8279 Iterate the frame property list once to collect which child list properties we have
Look into optimizing out the hashtable lookups from nsContainerFrame
2019-07-08 19:19:56 +03:00
New Tobin Paradigm 4b4d3a9cca Merge pull request #1164 from g4jc/hotfix-removal
Issue #1160 - Remove unused HotFix preferences
2019-07-08 00:24:11 -04:00
wolfbeast 20e3587ef5 Avoid type confusion in ArrayJoinDenseKernel 2019-07-08 02:17:07 +02:00
Moonchild f168c25c0a Merge pull request #1168 from win7-7/DisplayItemData-destructor
Avoid multiple hashtable lookups in DisplayItemData destructor
2019-07-07 18:34:17 +00:00
win7-7 e0598b0ae2 Avoid multiple hashtable lookups in DisplayItemData destructor
UXP has:

MOZ_RELEASE_ASSERT(sAliveDisplayItemDatas && sAliveDisplayItemDatas >Contains(this));
  sAliveDisplayItemDatas->RemoveEntry(this);

and this gets hit during frame destruction.

Combine these checks.
2019-07-07 20:02:35 +03:00
Moonchild 0845614a5e Merge pull request #1163 from win7-7/nsHtml5HtmlAttributes-clear
Introduce a new non-heap-allocated type for holding nsStringBuffer* in the HTML parser
2019-07-07 10:31:28 +00:00
Gaming4JC 24ad244d47 Issue #1160 - Remove HotFix Preferences from Telemetry 2019-07-05 21:18:04 -04:00
Gaming4JC 48060d3484 Issue #1160 - Remove HotFix preferences from testing 2019-07-05 21:17:46 -04:00
Gaming4JC 6741666a9b Issue #1160 - [Basilisk] Remove unused HotFix preferences 2019-07-05 20:59:31 -04:00
win7-7 7c5a0db237 Introduce a new non-heap-allocated type for holding nsStringBuffer* in the HTML parser.
An innerHTML setter profile shows about 10% of the time being spent under nsHtml5HtmlAttributes::clear, mostly deleting nsStrings.
2019-07-05 21:58:21 +03:00
Moonchild a3ed49dde7 Merge pull request #1159 from FranklinDM/bk_alltabslist-fix
Fix broken all tabs menu listing in Basilisk
2019-07-05 14:48:54 +00:00
FranklinDM 51bf4b3df4 Issue #1158 - Reinstate tabcontainer variable
- This was erroneously removed in commit 1f5194b5f1 because it is still being used by surrounding code.
2019-07-05 17:50:00 +08:00
FranklinDM 281b66c7a2 Issue #1158 - Remove extraneous closing brace
- This also adjusts code indentation
2019-07-05 17:32:17 +08:00
Moonchild 28439778f7 Merge pull request #1149 from kbhasi/master
Fix duplicate icons and incorrect capitalisations in GNOME, and disabled startup feedback
2019-07-05 00:58:01 +00:00
wolfbeast 15e8d1c919 Give Mac an Linux (small sizes) the same treatment 2019-07-04 19:39:13 +02:00
wolfbeast 8096258c0c Add adjusted icon for 2k/XP classic grey toolbar backgrounds.
(because otherwise we won't hear the end of it)
2019-07-04 18:50:29 +02:00
wolfbeast 6fce24e0e8 Remove FT's polyfill.io SSUAO now they have fixed their detection.
See also: https://github.com/Financial-Times/polyfill-useragent-normaliser/pull/12
2019-07-04 13:47:47 +02:00
Moonchild 0e54a03262 Merge pull request #1151 from win7-7/FrameProperties
Attach FrameProperties to each frame instead of using a shared hashtable
2019-07-03 15:17:08 +00:00
wolfbeast 8ea1f38f9c Change softoken password rounds to a more conservative number still
within industry standard security, considering our db hashing is more
CPU intensive than anticipated.
2019-07-03 16:22:13 +02:00
wolfbeast 893de15c27 Update 16x16 branding images/icons for improved contrast on grey
backgrounds.
2019-07-03 12:01:25 +02:00
wolfbeast f46e7a46cc Update SSUAO for web.whatsapp.com.
This resolves #1152
2019-07-03 00:05:41 +02:00
wolfbeast c794a79d87 New cycle version bump. 2019-07-02 16:07:31 +02:00
Kevin Bhasi 4f3ec55dd6 Issue #1148 - Part 2: Add StartupWMClass to .desktop for official 2019-07-01 13:24:01 +08:00
Kevin Bhasi a61cca1c15 Issue #1148 - Part 1: Add StartupWMClass to .desktop for unofficial 2019-07-01 13:14:14 +08:00
win7-7 3051056bbb Merge branch 'master' into FrameProperties 2019-06-30 12:38:18 +03:00
Matt A. Tobin 98f7e3b167 Merge branch 'pmpersona-work' 2019-06-29 11:26:40 -04:00
Matt A. Tobin 01af859869 [Pale Moon] Add a configure flag to functionally disable personas at build time 2019-06-29 11:26:21 -04:00
Moonchild f1a68a3aa1 Merge pull request #1146 from g4jc/unboxed_debug_bustage
Issue #1142 - Cleanup unused debug code for unboxed objects
2019-06-29 13:38:05 +00:00
Gaming4JC 35d29c05c5 Issue #1142 - Cleanup unused debug code for unboxed objects
Also fixes an assertion during compile if debug is enabled since unboxed objects have been removed.
2019-06-28 23:02:15 -04:00
g4jc 01e1fcf522 Issue #1142 - Remove uneeded assertion (#1145)
Since unboxed objects were removed, isUnboxed is undefined. This causes a build failure when debuging is enabled. This patch fixes the issue by removing the uneeeded assertion.
2019-06-28 21:35:05 -04:00
wolfbeast e4b2fa17ba [Pale Moon] Remove *.pdf file association in the installer. 2019-06-29 01:37:06 +02:00
wolfbeast 32e6b0f471 Revert "Treat *.jnlp as an executable class file, like *.jar"
Rationale: This was a Mozilla oversight and/or error.
This change has caused harm and is causing users to switch back to
Chrome, Safari or Edge for their WebStart needs.

JNLP is not an executable and should not be treated as such. JNLP should
be treated the same as any (e.g. Word) document and allowed to be opened
with the designated program.
A JNLP file will not cause execution on a system unless it has a valid
signature, and the user explicitly authorizes the launching based on
information provided by the signature. Moreover, there will even be a
check by the Java environment to see if the Java runtime (if there is
one) is current, and prompt the user to update if required.

This reverts commit 21495c5897 and
modifies ApplicationReputation.cpp to keep the list in sync (was a
discrepancy before).
2019-06-28 19:57:38 +02:00
wolfbeast b9acf529ef Re-save wordmark SVG as plain SVG.
Tag #1010
2019-06-28 14:25:04 +02:00
wolfbeast 13b2b9edf5 Update branding. 2019-06-28 13:58:07 +02:00
Moonchild 31a02a022e Merge pull request #1142 from MoonchildProductions/remove-unboxed
Remove unboxed objects
2019-06-28 11:25:09 +00:00
Travis W b8ff1df2c9 Add StoreBuffer-inl.h header to jsobj.cpp
This should fix deprot on the Linux and Macintosh
2019-06-27 18:57:07 -04:00
wolfbeast 610c5fc6ce Installer: Stop trying to read stub installer data from ini file 2019-06-27 13:06:55 +00:00
New Tobin Paradigm 68728c51c4 Update CLOBBER 2019-06-26 22:02:15 -04:00
New Tobin Paradigm 06e4213b00 Merge pull request #1143 from trav90/master
Update HSTS preload list
2019-06-26 21:59:52 -04:00
wolfbeast 95ab8db84c Merge branch 'nss-sftkpwd-update' 2019-06-27 03:37:29 +02:00
wolfbeast 7715dd79c5 Platform version update for large internal changes:
- Removal of a lot of redundant JS code (part pending)
- Addition of more ES standards code
- Change of master password / NSS db password storage (pending)
2019-06-27 03:36:56 +02:00
trav90 fc4dc10d0a Update HSTS preload list
Tag #447
2019-06-26 19:31:51 -05:00
wolfbeast 3c568a5681 Update NSS to 3.41.1 (custom)
This resolves #82
2019-06-27 00:45:42 +02:00
wolfbeast 4b188510af Revert "Update NSS to 3.41.1 (custom)"
This reverts commit fbc2eaacd6.
2019-06-26 23:32:13 +02:00
wolfbeast fbc2eaacd6 Update NSS to 3.41.1 (custom)
This resolves #82
2019-06-26 15:13:18 +02:00
wolfbeast e4ae95acc6 Remove anyNewScript() 2019-06-26 12:00:26 +00:00
wolfbeast 06bf5d769f Clean up MObjectState 2019-06-26 11:44:03 +00:00
wolfbeast 3264f3b738 Remove now-unused parameter (prev. used for unboxed objects). 2019-06-26 09:20:03 +00:00
win7-7 00812e30df Attach FrameProperties to each frame instead of using a shared hashtable
Dispense the shared hashtable and instead attach the frame property list directly to nsIFrame.
2019-06-26 01:51:45 +03:00
wolfbeast 636901a4f5 Remove UnboxedObjects ObjectGroup addendum 2019-06-25 20:24:34 +00:00
wolfbeast 083d840f32 Remove unboxed object tests. 2019-06-25 20:18:14 +00:00
wolfbeast 1cf7e63d99 Remove Unboxed Objects Option Code 2019-06-25 20:17:39 +00:00
wolfbeast c5b0e1f5e1 Remove Unboxed Object code from /vm, Part 3. 2019-06-25 11:15:11 +00:00
wolfbeast e2ab8d5f33 Remove Unboxed Object code from jit, Part 4. 2019-06-25 11:12:26 +00:00
wolfbeast ac97104c52 Remove Unboxed Object code from jit, Part 3. 2019-06-23 21:30:34 +00:00
wolfbeast fd96dac1d2 Fix unified deprot 2019-06-23 19:41:44 +00:00
wolfbeast 6cebf2549e Remove Unboxed Object code from jit, Part 2. 2019-06-23 19:41:16 +00:00
wolfbeast 5f45e2222e Merge branch 'master' into remove-unboxed 2019-06-23 15:21:36 +00:00
wolfbeast a42bed2e9a Merge branch 'master' into remove-unboxed
# Conflicts:
#	js/src/jit/BaselineIC.cpp
#	js/src/jsarray.cpp
2019-06-23 15:20:34 +00:00
wolfbeast d7359c38b1 Clean up the nsis installer script a litte.
- remove stub installer leftovers
- remove maintenance service leftovers
- remove unused macros
2019-06-21 15:47:12 +02:00
wolfbeast 2a5466cfba Merge branch 'master' of https://github.com/MoonchildProductions/UXP 2019-06-20 14:41:46 +02:00
wolfbeast 32d13a1648 Call a more generic function when inlining array natives.
This simplifies the code a bit because
ElementAccessHasExtraIndexedProperty checks for length-overflow
(directly) and sparse-indexes (through TypeCanHaveExtraIndexedProperties)
so the callers don't have to do that anymore.
2019-06-20 12:56:32 +02:00
New Tobin Paradigm a2f961b340 Merge pull request #1139 from g4jc/disable_sync
[Basilisk] Fix packaging when sync is not built
2019-06-19 22:54:24 -04:00
Gaming4JC 9ded0778ee [Basilisk] Fix packaging when sync is not built
Packaging will fail due to missing ifdefs when --disable-sync is passed in .mozconfig. This fixes that issue by including the missing ifdefs.
2019-06-19 22:52:25 -04:00
New Tobin Paradigm 14b635fa52 Merge pull request #1133 from Ascrod/master
Add application executable location to the about:support page
2019-06-19 21:04:45 -04:00
Moonchild 276f6583e0 Merge pull request #1137 from MoonchildProductions/remove-unboxed-checked
Remove unboxed (checked branch)
2019-06-19 10:56:35 +00:00
wolfbeast 77a9720acc Revert "Add Yandex (ru) search plugin"
Since Yandex is greedy and only accepts a partnership if they are the
browser default. They don't deserve the traffic.

This reverts commit c9edf588ed.
2019-06-18 20:07:02 +02:00
wolfbeast fcc11b2fec Tabs -> Spaces (no code change) 2019-06-18 12:59:22 +00:00
wolfbeast ccb3f2b730 Remove/inline CanonicalizeArrayLengthValue. 2019-06-18 10:30:16 +00:00
wolfbeast 772cd4b188 Remove JSOP_SPREADCALLARRAY and just use JSOP_NEWARRAY again. 2019-06-18 10:30:04 +00:00
wolfbeast 6253663210 Update comment 2019-06-18 10:29:54 +00:00
wolfbeast e9aac71c6d Remove and clean up more code. 2019-06-18 10:29:34 +00:00
wolfbeast 85f9a95ddb Replace SetOrExtendBoxedOrUnboxedDenseElements with direct calls. 2019-06-18 10:26:28 +00:00
wolfbeast 8d2929313f Clean up and rename MoveBoxedOrUnboxedDenseElements. 2019-06-18 10:26:06 +00:00
wolfbeast 3c878b1e3b Convert CopyBoxedOrUnboxedDenseElements to something that doesn't crash. 2019-06-17 18:37:23 +00:00
wolfbeast 9153838ea2 Fix typo in ArrayShiftMoveElements 2019-06-17 15:09:05 +00:00
wolfbeast 9a2224a97c Revert "Remove JSOP_SPREADCALLARRAY and just use JSOP_NEWARRAY again."
This reverts commit 912c3f5cbc.
2019-06-17 13:51:02 +00:00
wolfbeast 62311832e9 Fix a typo in ArraySliceOrdinary 2019-06-17 12:47:15 +00:00
wolfbeast 6a8df07385 Fix typo in ArrayShiftMoveElements 2019-06-17 00:38:02 +00:00
wolfbeast f2c8fc62a6 Remove/inline CanonicalizeArrayLengthValue. 2019-06-16 23:17:34 +00:00
wolfbeast 912c3f5cbc Remove JSOP_SPREADCALLARRAY and just use JSOP_NEWARRAY again. 2019-06-16 23:13:47 +00:00
wolfbeast ed98fe0e72 Update comment 2019-06-16 20:06:39 +00:00
wolfbeast 9cfa398a1e Remove and clean up more code. 2019-06-16 19:55:05 +00:00
wolfbeast ca2e36f9cd Force clobber for ICU update 2019-06-16 21:51:56 +02:00
Moonchild 24864f9421 Merge pull request #1136 from MoonchildProductions/Update_ICU
Update ICU
2019-06-15 21:21:52 +00:00
wolfbeast b17a1f211e Update tzdata SpiderMonkey files 2019-06-15 23:03:07 +02:00
wolfbeast 368a684f83 Update tzdata resource files 2019-06-15 23:02:32 +02:00
wolfbeast 59666845bc Update update-tzdata.sh to use git instead of svn, and not try to
auto-commit with hg.
2019-06-15 22:59:50 +02:00
wolfbeast 76c640c28a Update ICU to 58.3
- This adds the new Japanese ascension era (Reiwa)
- This updates timezone data to 2019a
- Updated script for git instead of SVN
- Regenerated locale data
2019-06-15 20:39:39 +02:00
wolfbeast 7d93d4989f Replace SetOrExtendBoxedOrUnboxedDenseElements with direct calls. 2019-06-14 11:33:28 +00:00
wolfbeast e913687dc5 Clean up and rename MoveBoxedOrUnboxedDenseElements. 2019-06-13 11:42:21 +00:00
wolfbeast 7ba3b14487 Convert CopyBoxedOrUnboxedDenseElements to calls to initDenseElement 2019-06-13 10:54:46 +00:00
wolfbeast ef8e0ce607 Remove functors for array natives. 2019-06-12 11:03:35 +00:00
wolfbeast ec96ef3b77 Remove unboxed array context option and shell flag. 2019-06-12 09:56:41 +00:00
wolfbeast 93ce7c7372 Remove unused LIR temp register for unboxed arrays. 2019-06-12 09:09:53 +00:00
wolfbeast e95089d84a Make use of ArrayObjects in favor of generic JS objects.
ArrayObjects has been a thing for years but been under-used. About time
they are used where prudent.
2019-06-12 03:19:09 +00:00
wolfbeast c9edf588ed Add Yandex (ru) search plugin 2019-06-12 03:39:43 +02:00
wolfbeast 284b4cffd7 Add Atomics.notify instead of Atomics.wake according to revised spec.
- Keep .wake as an alias until we're certain it can be removed.
- Enable SAB memory
2019-06-12 03:38:40 +02:00
Ascrod a072b02d93 Issue #1132 - Add application executable location to the about:support page. 2019-06-10 16:34:50 -04:00
wolfbeast e34920575d Inline combined methods for NativeObject and UnboxedArrayObject accesses. 2019-06-10 16:49:47 +00:00
wolfbeast ba9e648ce2 Merge branch 'master' into remove-unboxed 2019-06-08 07:48:28 +00:00
wolfbeast 19c0f5e9ff Remove e10s force-enable/-disable prefs and a11y considerations for
starting in e10s mode.

This resolves #1130
2019-06-07 12:40:36 +02:00
wolfbeast 3f1ef7a67d Improve origin-clean algorithm based on our previous changes.
- Instead of trying the failing refactored Mozilla way, simply add a
check where needed building on what was put in place previously.
2019-06-05 22:11:53 +02:00
wolfbeast f47d45be4b Revert "Improve origin-clean algorithm"
This reverts commit e69b3f567c.
2019-06-04 23:58:47 +02:00
Matt A. Tobin 363bfeb2c0 Merge branch 'master' of https://github.com/MoonchildProductions/UXP 2019-05-29 16:01:50 -04:00
Matt A. Tobin d197e65f44 [Pale Moon] Update the check for updates menu item logic for already staged automatic updates 2019-05-29 16:01:18 -04:00
Matt A. Tobin cee913be91 Show the update UI instantly instead of after 10 minutes of inactivity 2019-05-29 15:59:36 -04:00
wolfbeast 2311552885 [WebGL] Enable size limit on Linux.
Some drivers on Linux are not supportive of very large allocation sizes
(esp. applicable to Linux x86 builds of UXP applications) and could
cause issues. Treat this the same way we already do on Mac/Darwin.
2019-05-29 12:08:40 +02:00
wolfbeast 21495c5897 Treat *.jnlp as an executable class file, like *.jar 2019-05-29 11:53:04 +02:00
wolfbeast d873bd9695 Make nsFind::Find actually use a string type as input.
Futureproofing follow-up to b89570e31c
2019-05-29 11:25:58 +02:00
wolfbeast 50062bdfc0 Fix #1091 deprot 2019-05-29 11:08:31 +02:00
wolfbeast 1fe365eba2 Perform a size check when dealing with clipboard data to be sure.
Follow-up to 0b6d9a4705
2019-05-29 11:05:41 +02:00
wolfbeast 678a41b295 Merge branch 'master' of https://github.com/MoonchildProductions/UXP 2019-05-28 18:14:18 +02:00
wolfbeast 6cc615bbe5 Improve efficiency of (C++) heap allocations related to
BytecodeEmitter::code.

While there, also add some sanity checks and clean up code.
2019-05-28 18:03:08 +02:00
Jed Davis 66b55fbc0a Tweak some NSPR variables for Darwin. 2019-05-28 15:18:54 +02:00
wolfbeast 9b655e3666 Make extra sure Compositables don't refer back to layers after reassignment. 2019-05-28 15:18:04 +02:00
wolfbeast 65991dc1f2 Disallow res external protocol handler. 2019-05-28 14:44:57 +02:00
wolfbeast b3632493a5 Ensure we AddRef prior to early return in MediaType::Assign. 2019-05-28 14:41:20 +02:00
wolfbeast c7138e3b92 Update HSTS preload list
Tag #447
2019-05-28 08:32:43 +00:00
wolfbeast fb1b45e5fc Improve origin-clean algorithm 2019-05-27 19:19:27 +02:00
wolfbeast 47c52f2dc2 Port an upstream Skia fix. 2019-05-27 17:59:55 +02:00
wolfbeast 5b5743eeeb [places] Prevent some abuse of smart queries. 2019-05-26 17:55:44 +02:00
Matt A. Tobin a38cc1a2f5 [Pale Moon] Fix event.stopPropagation is not defined when clicking the show/hide tiles on about:newtab 2019-05-25 18:36:25 -04:00
New Tobin Paradigm 63d6770353 Merge pull request #1122 from adeshkp/remove-newtab-basilisk
Remove code for sponsored "enhanced" tiles in NewTab page
2019-05-25 18:31:02 -04:00
wolfbeast 104cd501aa Bump platform version for primarily #1112 and #1061 2019-05-25 22:21:26 +02:00
adeshkp 97477c1e96 Issue #246 - Remove "enhanced" newtab code from Pale Moon 2019-05-25 15:59:28 -04:00
adeshkp 8db31d5367 Issue #246 - Remove "enhanced" newtab code from toolkit 2019-05-25 15:59:01 -04:00
New Tobin Paradigm a5bef2b46d Add commit message style guidelines (#1117)
* Add commit message style guidelines
* Revise commit message style perposal
* Grammar
* Last bit
* Use a space
2019-05-25 16:15:05 +00:00
Moonchild 02b10f4bd7 Merge pull request #1119 from win7-7/NodeInfoManager-local-cache
NodeInfoManager should use a local cache
2019-05-25 15:57:54 +00:00
Moonchild 1f239f8179 Merge pull request #1121 from win7-7/nsHtml5PortabilitylocalEqualsBuffer-pr
Use memcmp in nsHtml5Portability::localEqualsBuffer
2019-05-25 15:53:41 +00:00
wolfbeast c4e345b6d4 [media] Rewrite AudioConverter::DownmixAudio
- Structure the code better
- Directly downmix to mono from multichannel
2019-05-25 17:45:05 +02:00
adeshkp 73d1087fce Issue #246 - Remove more of compact mode and newtab junk from Basilisk 2019-05-25 11:21:55 -04:00
adeshkp 1eca3c3a63 Issue #246 - Revert "Revert "Remove unwanted newtab page code""
Page thumbnails hiccups seem to have resolved, so it can be landed again.

This reverts commit 51792b31a3.

Conflicts:

	application/basilisk/modules/DirectoryLinksProvider.jsm
2019-05-25 11:19:38 -04:00
win7-7 bf1e5431f0 use memcmp for nsIAtom Equals to improve performance parser/html
issue MoonchildProductions#1113 Use memcmp and not slower string Equals in nsHtml5Portability::localEqualsBuffer
2019-05-25 18:04:02 +03:00
win7-7 733f6b770f use memcmp for nsIAtom Equals to improve performance xpcom/ds
issue #1113 Use memcmp and not slower string Equals in nsHtml5Portability::localEqualsBuffer
2019-05-25 18:02:40 +03:00
wolfbeast 764e2a6247 [Basilisk/Pale Moon] Update region.properties.
- Fix incorrect goanna prefix
- Remove dead/insecure 30boxes service for webcal
- Add preset order for Ecosia
2019-05-25 16:56:51 +02:00
wolfbeast 57e5655e8a Avoid some useless ForgetSkippable handling while we're already dealing
with snow-white objects.
2019-05-25 16:08:16 +02:00
wolfbeast 9dfb9401a5 [IndexedDB] Call SendFailureResult if the actor has been destroyed.
Normally we wouldn't need to send any notifications if the actor was
already destroyed, but it can be a VersionChangeOp which needs to
notify its parent operation (OpenDatabaseOp) about the failure.
So SendFailureResult needs to be called even when the actor was
destroyed.  Normal operations redundantly check if the actor was
destroyed in SendSuccessResult and SendFailureResult, therefore it's
ok to call it in all cases here.
2019-05-25 16:01:39 +02:00
Lars T Hansen a24d621309 [js, ARM] Always check error return from BufferOffset::diffB.
We were missing error checks at two points. In one case an error return
is meaningful; in another case it is not, as the problem should have
been guarded against at a higher level by emitting far jump islands soon
enough during pasteup of compiled code.
2019-05-25 15:41:06 +02:00
win7-7 449cb277d4 NodeInfoManager should use a local cache
issue #1111
2019-05-25 16:22:19 +03:00
wolfbeast 80eb8e08dd [libpng] Backport an upstream libpng patch. 2019-05-25 15:12:24 +02:00
wolfbeast b89570e31c Make nsFind::Find handle empty string searches. 2019-05-25 15:07:51 +02:00
Moonchild 915ffc6600 Merge pull request #1115 from win7-7/NS_Atomize-cache
Add NS_Atomize cache for main thread use
2019-05-25 12:32:37 +00:00
Moonchild 7226072709 Merge pull request #1114 from g4jc/disable-meta-cookie
Disable <meta http-equiv=set-cookie>
2019-05-25 12:29:51 +00:00
win7-7 c0c64138ca change for nsNodeInfoManager.cpp
based to patch for https://bugzilla.mozilla.org/show_bug.cgi?id=1352235 v1 add main thread only cache.
2019-05-25 12:46:50 +03:00
Gaming4JC ca9e6a4fa9 Issue #1102 - Disable <meta http-equiv=set-cookie>
Create a new pref 'dom.meta-set-cookie.enabled' which is set to 'false', disabling http-equiv meta cookies.
2019-05-24 20:14:44 -04:00
wolfbeast e24e6346b7 Fix architecture flag for PPC64
Fixes #1092
2019-05-25 00:31:24 +02:00
win7-7 7214f08148 Add missing NS_AtomizeMainThread(nameToUse);
nsCOMPtr<nsIAtom> nameAtom = NS_AtomizeMainThread(nameToUse);
2019-05-24 22:55:23 +03:00
win7-7 622ad88c5d Lots of time spent maintaining nsDisplayLayerEventRegions (#1116)
* Simplify the dispatch-to-content region

Simplify the dispatch-to-content region in nsDisplayLayerEventRegions::AddFrame() and AddInactiveScrollPort() if it starts to get large.

* tabs to spaces
2019-05-24 17:00:07 +00:00
win7-7 a371a69a73 make HTML parser to use faster atomization in main thread 2019-05-24 14:05:09 +03:00
win7-7 58ff91d97e remove unnecessary spaces 2019-05-24 14:02:32 +03:00
win7-7 ddff63b2d6 add main thread only cache for nsIAtoms to speed up atomization xpcom/ds
add main thread only cache for nsIAtoms to speed up atomization
2019-05-24 13:58:13 +03:00
win7-7 a3434ba005 add main thread only cache for nsIAtoms to speed up atomization dom/base
add main thread only cache for nsIAtoms to speed up atomization
2019-05-24 13:56:08 +03:00
Moonchild 315ffd563c Merge pull request #1099 from adeshkp/remove-telemetry-func
Remove a stubbed telemetry function from app AUS.
2019-05-24 10:38:51 +00:00
Moonchild f0e357608a Merge pull request #1105 from FranklinDM/pm_uri_tabbrowser-work
Clicking a link with a target should open only 1 tab
2019-05-24 10:38:19 +00:00
Moonchild f8157b8a65 Merge pull request #1108 from g4jc/svg_opentype
Support gzip-compressed SVGs in OpenType+SVG fonts
2019-05-24 10:37:40 +00:00
Gaming4JC 73f9b2c70d Issue #1101 - Support gzip-compressed SVGs in OpenType+SVG fonts 2019-05-23 19:47:59 -04:00
wolfbeast c8300fbd6a Remove UnboxedArray code part 2 2019-05-23 10:51:09 +00:00
FranklinDM 10318170bc Issue #1104 - Pass an opener to loadOneTab in the openURI function 2019-05-23 13:39:01 +08:00
FranklinDM 797697e26d Issue #1104 - Set the browser's opener when adding a new tab
- This modifies `loadOneTab` and `addTab` to accept an opener
- This code was adapted from Basilisk's copy of tabbrowser.xml without the refactored code changes (which is a lot more involved as it divides addTab's functions into multiple functions)
2019-05-23 13:29:20 +08:00
wolfbeast c2b5f396eb Remove UnboxedArray code part 1 2019-05-23 02:48:13 +00:00
Moonchild 372fccddf4 Merge pull request #1100 from Ionic/bugfix/xrender-flicker
Enable double buffering when using XRENDER.
2019-05-22 21:58:01 +00:00
Mihai Moldovan 2fd3007864 Enable double buffering when using XRENDER.
This fixes flickering/bars/stripes showing up during quickly-updating
operations on Intel hardware when using XRENDER.

For more information, refer to the code comment.

See #1061
2019-05-22 21:18:15 +02:00
adeshkp bb5e0a1be4 Remove a stubbed telemetry function from app AUS. 2019-05-22 13:34:36 -04:00
Moonchild be8d03cf14 Merge pull request #1091 from MoonchildProductions/remove-unboxed
Remove unboxed objects phase 1
2019-05-22 14:14:18 +00:00
Moonchild a1f96f11d4 Merge pull request #1097 from FranklinDM/pm_external_sametab-work
Issue #971 - Fix browser.link.open_newwindow functionality in Pale Moon
2019-05-22 14:13:04 +00:00
FranklinDM f9dc4e8ccd Issue #971 - Fix browser.link.open_newwindow functionality in Pale Moon 2019-05-22 19:24:30 +08:00
wolfbeast 41731a7f31 Implement Symbol​.prototype​.description
Resolves #1096
2019-05-20 02:50:01 +02:00
wolfbeast 162e22a7de Implement array.flat and array.flatMap
Self-hosted implementation that adds both functions and adds them to
@@unscopables as specced in ES2019.
Resolves #1095
2019-05-19 23:11:17 +02:00
wolfbeast c72afc3c8c Add nullcheck.
This resolves #1088
2019-05-17 01:57:45 +00:00
wolfbeast 354c6dceec Implement String.prototype.trimStart and trimEnd.
This renames our internal function names because *Left and *Right might
be deprecated and have to be removed later, making that trivial.
Resolves #1089
2019-05-17 01:04:30 +00:00
wolfbeast 201d8ee489 Remove Unboxed Objects from vm/ - Part 2 2019-05-16 21:34:42 +00:00
wolfbeast fa8bfa1a00 Remove unboxed object code from jit, Part 1 2019-05-16 19:54:19 +00:00
wolfbeast 543fa1674b Remove Unboxed Objects from vm/ Part 1 + fix deprot 2019-05-16 13:13:36 +00:00
wolfbeast a5c2961c4e Remove array header 2019-05-16 00:50:49 +00:00
wolfbeast 8feffe7079 Remove unboxed object code from iteration. 2019-05-15 20:56:36 +00:00
wolfbeast 5fd4b87267 Remove unboxed objects from GC 2019-05-15 20:37:51 +00:00
wolfbeast d40bcc350c Remove Unboxed Objects in ScalarReplacement
A note about the Scalar Replacement Changes: The M{Load,Store}Unboxed*
instructions in theory could be used to manipulate and analyze typed
arrays. However, TypedArrays should already be excluded from eligibility
because of the potential for cross-thread sharing in a SharedArrayBuffer
world, and so the only support in Scalar Replacement here is for Unboxed
Objects, meaning it can all be removed.
2019-05-15 13:18:33 +00:00
wolfbeast f932fb94d8 Merge branch 'master' of https://github.com/MoonchildProductions/UXP 2019-05-15 12:45:38 +02:00
wolfbeast 34d5483ac3 Map IntersectionObserver rect to the correct viewport.
targetFrame is modified during the intersection computation loop, so
it's not the viewport you want if there are scrollframes around.
This bug triggers when IntersectionObservers are used on frames that
wrap.

Follow-up for #249.
2019-05-15 12:45:10 +02:00
wicknix 06f7a03ffd Fix scroll bar orientation on MacOS 2019-05-15 01:37:09 -04:00
wolfbeast 3b36a43e8e Remove initial chunk of Unboxed Objects machinery part 2 2019-05-15 02:06:04 +00:00
wolfbeast 9a3141515f remove unboxed code chunk (wip1) 2019-05-14 11:44:11 +00:00
wolfbeast 1595ee7da4 Rip broken telemetry out of the app AUS.
Tag #21
2019-05-14 12:16:07 +02:00
wolfbeast 3ded48cbe3 Unhook Unboxed Objects option 2019-05-13 15:45:32 +00:00
Moonchild 413ba3bad1 Merge pull request #1060 from Ionic/bugfix/scrolling-regression
When using XRENDER, create Xlib-based offscreen image surfaces.
2019-05-13 10:49:35 +00:00
Matt A. Tobin c7dc667e61 Remove deprecated appending of #-moz-resolution from Pale Moon and left over from nsMediaFragmentURIParser.h
This also magically makes Aero Peek work properly with Pale Moon thus:

Resolves #809
2019-05-12 21:00:32 -04:00
New Tobin Paradigm 70c5719dc5 Merge pull request #1086 from zootboy/master
Update sync clear history function to use new clear() API call.
2019-05-12 15:43:09 -04:00
Sean Greenslade a53ab3f345 Update sync clear history function to use new clear() API call. 2019-05-11 18:12:11 -07:00
Matt A. Tobin f857efc350 [PALEMOON] buildHelpMenu() is executed by the shared help menu but not all windows have the AppMenu 2019-05-11 12:08:21 -04:00
Franklin DM 8b7d91e514 Issue #1084 - Add null check for URL Bar in the writePlaceholder() method 2019-05-11 11:52:49 -04:00
Matt A. Tobin 1b5c261b80 Issue #968 - Preload the permissions manager with permissions file 2019-05-09 16:57:05 -04:00
Matt A. Tobin 95607bd727 Issue #1081 - Restore "release notes" item in the help menu 2019-05-09 15:54:49 -04:00
Matt A. Tobin 5d119ce85e Issue #1083 - Deprecate FUEL extension helper javascript library 2019-05-09 14:21:18 -04:00
Matt A. Tobin fc937d1eec Issue #1082 - Restore a getBoolPref global shim in utilityOverlay.js for Extension compatibility 2019-05-09 13:26:23 -04:00
Moonchild d0b65e8b38 Merge pull request #1080 from Ascrod/readerview
Reader Updates
2019-05-06 14:17:55 +00:00
Moonchild 12d23fb005 Merge pull request #1078 from Lootyhoof/issue-1072
Don't shrink the tab bar in customize mode
2019-05-05 13:34:04 +00:00
Moonchild d0f1f53e59 Merge pull request #1077 from g4jc/cve_2018_18500
Fix Use-After-Free in the HTML5 Parser (DiD)
2019-05-05 13:33:32 +00:00
Gaming4JC 4ed4303dd1 backport m-c 1510114: Fix Use-After-Free in the HTML5 Parser
Fixes #1076
2019-05-04 18:42:29 -04:00
Ryan C 6458c3464d Don't shrink the tab bar in customize mode 2019-05-04 20:02:38 +01:00
wolfbeast aa4055cb42 Update icon to the new and improved branding.
Many thanks to "browser tech" and "CharmCityCrab" on the forum
for suggesting the elements that make up this much improved design!
2019-05-04 18:37:35 +02:00
Moonchild c40086cfaf Merge pull request #1075 from adeshkp/deunify-accessible-build-2
De-unify accessibility build on Mac.
2019-05-04 14:26:14 +00:00
adeshkp 758663e882 De-unify accessibility build on Mac.
Also fixes Linux build bustage with accessibility enabled.
2019-05-04 09:52:08 -04:00
Matt A. Tobin d9d9d1ed8d Only change the default and hover text color on buttons for Windows 8+ HC Themes (aero-lite) 2019-05-03 14:30:01 -04:00
Moonchild 650585f03c Merge pull request #1071 from win7-7/nsDisplayListBuilder
nsFrameList::GetLength() calls in nsDisplayListBuilder::MarkFramesForDisplayList() are slow
2019-05-03 00:44:28 +00:00
Moonchild d9404b77bb Merge pull request #1070 from win7-7/PresShellPaint-performance-patch
PresShell paint performance patch
2019-05-03 00:43:39 +00:00
win7-7 99d111ad89 unnecessary space at the end removed 2019-05-02 16:53:08 +03:00
win7-7 9b750203d0 patch to Bug 1377329 2019-05-02 16:51:25 +03:00
win7-7 7975665f6a patch to Bug 1363423 2019-05-02 16:47:23 +03:00
wolfbeast aca5eb2cd3 Restore BROWSER_NEW_TAB_URL check in Basilisk.
This resolves #1066
2019-05-02 02:55:53 +02:00
Moonchild 871b926f63 Merge pull request #1065 from win7-7/Improve-dead-compartment-collection
Improve dead compartment collection
2019-04-30 14:11:17 +00:00
win7-7 2ec2389d7f Braces and one more typo fix for comment 2019-04-30 15:07:04 +03:00
win7-7 31ea8c7e93 Whitespaces, typo, tabs to space
Remove whitespaces, correct comment typo, one more tab to space
2019-04-30 13:22:57 +03:00
win7-7 0c8c58314c Remove rest of empty lines. 2019-04-30 12:37:16 +03:00
win7-7 a2dbd23b04 Remove some empty lines 2019-04-30 12:22:51 +03:00
win7-7 53e748f9bd Remaining tabs to spaces JavaScriptShared.cpp 2019-04-30 11:06:55 +03:00
win7-7 4d03ec5c22 remaining tabs to space js/src/jsgc.cpp 2019-04-30 02:43:47 +03:00
win7-7 d59b5441ef tab to spaces js/ipc 2019-04-30 02:40:55 +03:00
win7-7 f8d671ab7c tab to spaces js/src/builtin 2019-04-30 02:39:24 +03:00
win7-7 9fb6b925fb tab to spaces js/src/gc 2019-04-30 02:20:36 +03:00
win7-7 0e70828f2c tab to spaces js/src 2019-04-30 02:16:38 +03:00
win7-7 038d437d74 Add newline at end of files 2019-04-29 15:37:46 +03:00
win7-7 6f15c693f7 Add newline at end of file js/src/builtin 2019-04-29 15:36:04 +03:00
win7-7 22116f9a70 add newline at end of files js/src/gc 2019-04-29 15:33:52 +03:00
win7-7 d57c13c6d8 Add newline at end of files js/src 2019-04-29 15:31:58 +03:00
win7-7 44e59151e3 Space to comment. 2019-04-29 12:32:23 +03:00
win7-7 cf319d581c Improve dead compartment collection js/ipc 2019-04-29 12:08:50 +03:00
win7-7 bb1fad0fa7 Improve dead compartment collection js/src/builtin 2019-04-29 12:05:03 +03:00
win7-7 2cb4d2ee57 Improve dead compartment collection js/src/gc 2019-04-29 12:02:24 +03:00
win7-7 5a65d8739d Improve dead compartment collection js/src 2019-04-29 11:59:46 +03:00
wolfbeast cd296c598a [PALEMOON] Prevent overlapping modal prompts and preserve prompt order. 2019-04-29 08:13:02 +02:00
wolfbeast 722cc90916 Merge branch 'master' of https://github.com/MoonchildProductions/UXP 2019-04-27 16:25:30 +02:00
wolfbeast b630986462 New cycle version bump. 2019-04-27 16:25:02 +02:00
Moonchild 6e8e07e2ce Merge pull request #1059 from g4jc/print_preview_fix
Fix #1058 -  Failure to print when pages contain zero-sized <canvas> element.
2019-04-27 14:15:05 +00:00
monikamaheshwari 5c350eebcd Bug 1429442 - Buttons in "type control" popup in reader mode should have tooltips r=Gijs,MarcoZ 2019-04-27 09:35:59 -04:00
Sonali9 b430def773 Bug 1151735 - Hide font panel when text is being selected r=Gijs 2019-04-27 09:18:44 -04:00
monikamaheshwari 0612246b04 Bug 1422680 - simplify aboutReader.css font-size classes using CSS variables r=Gijs 2019-04-27 09:15:22 -04:00
Ascrod 742f5aa24d Bug 1399616 - add WP emoji styling to reader mode. 2019-04-27 08:49:17 -04:00
Ascrod 2db53003e9 Fix parse node limit preference. Tag #361. 2019-04-27 07:43:14 -04:00
Ascrod 952e655903 Replace explicit pref observer with lazy preference getters. Tag #361. 2019-04-27 07:43:13 -04:00
Ascrod 945b032656 Update surrounding code for new Readerable module. Tag #361. 2019-04-27 07:43:12 -04:00
Ascrod ccc4363462 Update Readability from mozilla-central release branch (FF 66.0.3). Tag #361. 2019-04-27 07:43:11 -04:00
Mihai Moldovan 996887f40f When using XRENDER, create Xlib-based offscreen image surfaces.
Mozilla tried to enable XRENDER support with backends other than Cairo
in 286348:e13aaaaf1962 /
https://hg.mozilla.org/mozilla-central/rev/e13aaaaf1962 - at least until
they decided to completely remove XRENDER support.

The change looked innocent enough, but actually turned out to do exactly
the opposite: it forcefully enabled image offscreen surfaces with GTK2
when it was previously disabled (since
gfxPrefs::UseImageOffscreenSurfaces() will always return true) and, by
extension, disabled the XRENDER-based functionality by creating a
non-Xlib surface.

Interestingly, a previously enabled double buffering check was also
disabled by this, but since the comment for this was diverging with the
code, that behavior just sounds like yet another bug.

Instead of disabling image offscreen surfaces (at least when using the
GTK2 backend), let's force the creation of Xlib-based image surfaces
when XRENDER support is enabled. This will let UXP use the more
common/modern code paths, but also make scrolling much faster again. Too
fast scrolling may induce tearing (if not smoothed), but on the other
hand performs much better in remote computing contexts.

As an added benefit, GTK3-based builds should roughly behave the same
way. Further tests with the GTK3-backend enabled will be required in the
future.
2019-04-27 08:41:50 +02:00
Gaming4JC 1091fcac8e Fix failure to print when pages contain zero-sized <canvas> element.
Fixes #1058
2019-04-26 19:46:37 -04:00
wolfbeast 3424afccae Capture delayed events and cancel as necessary.
Tag #1052
2019-04-26 14:13:32 +02:00
Moonchild ace7f20fa7 Merge pull request #1054 from adeshkp/patch-11
[minor] Fix a variable name in Basilisk error page
2019-04-25 15:08:18 +00:00
wolfbeast 51af3decb9 Remove useless assert.
Resolves #1055.
2019-04-25 16:48:02 +02:00
Matt A. Tobin e86f0e555f [PALEMOON] Remove errent extensions.blocklist.* from shared branding prefs 2019-04-25 08:40:10 -04:00
Matt A. Tobin 9cf2c92c3e Remove UpdateChannel.jsm 2019-04-25 07:50:52 -04:00
Matt A. Tobin c11a0b2762 Use UpdateUtils in GMPInstallManager.jsm 2019-04-25 07:48:05 -04:00
Matt A. Tobin a9ae199570 Don't use UpdateChannel.jsm in nsBlocklistService.js 2019-04-25 06:34:26 -04:00
Matt A. Tobin cb5d20deb7 Add application ID and widget toolkit placeholders to UpdateUtils.jsm 2019-04-25 06:02:08 -04:00
adeshkp 2e781c9982 [minor] Fix a variable name in Basilisk error page
Related commit: https://github.com/MoonchildProductions/UXP/commit/e313e5e2ec19355988c3d59745c202f4604670d3#diff-115f6bd87bbdaa1f6445547dac684c9c
2019-04-24 23:11:24 +05:30
Matt A. Tobin 325b204d26 Issue #1053 - Drop support Android and remove Fennec - Part 1b: Remove MOZ_FENNEC 2019-04-23 15:56:35 -04:00
Matt A. Tobin abe80cc31d Issue #1053 - Drop support Android and remove Fennec - Part 1a: Remove mobile/android 2019-04-23 15:32:23 -04:00
Matt A. Tobin 63295d0087 Sort out search service
The ESR52 implementation is now Basilisk specific and the older implementation is the shared toolkit one
2019-04-23 14:44:40 -04:00
Matt A. Tobin 0c84220a4f Remove tests from search service 2019-04-23 13:38:38 -04:00
New Tobin Paradigm 228e55129b Merge pull request #1048 from Ascrod/geodefaults
Remove geo-specific selection of default search engines.
2019-04-23 13:15:22 -04:00
New Tobin Paradigm 8bd7da130c Merge pull request #1051 from adeshkp/remove-telemetry-security_ui
Remove SecurityUI telemetry.
2019-04-23 12:17:09 -04:00
wolfbeast 7d61305b0f Update Twemoji Mozilla COLR font to 0.4.0 (TweMoji v11.4.0) 2019-04-23 00:43:37 +02:00
wolfbeast 1d7664d3a1 Merge branch 'master' of https://github.com/MoonchildProductions/UXP 2019-04-22 01:21:47 +02:00
wolfbeast 33ebc885e2 Update platform version to reflect major changes in platform.
Slightly belated but there it is.
2019-04-22 01:21:01 +02:00
New Tobin Paradigm 864f1cfdb2 Merge pull request #1045 from ThosRTanner/patch-1
Remove unused parameter from call
2019-04-21 18:02:50 -04:00
Matt A. Tobin ccd86d8c0b Issue #1049 - Show sync status via label of sync-button 2019-04-21 13:10:31 -04:00
adeshkp b10712de87 Remove SecurityUI telemetry. 2019-04-21 13:02:52 -04:00
Matt A. Tobin 5d02c22076 [PHOENIX] Fix missing default from lastSync in browser-syncui.js in Pale Moon and replace the tryblock in Basilisk 2019-04-21 12:59:20 -04:00
Matt A. Tobin bca1943ca7 Fix variable used before being declared in UpdateUtils.jsm
Fall out from #991
2019-04-21 11:28:27 -04:00
wolfbeast bccf86a10d Version bump 2019-04-20 21:15:45 +00:00
Moonchild 550d873885 Merge pull request #1047 from JustOff/PR_css3_url_token
Handle URL token in a closer way to the CSS3 spec
2019-04-20 17:17:11 +02:00
Ascrod a3a34dad18 Remove browser.search.region usage. Tag #245. 2019-04-20 07:35:31 -04:00
Ascrod 60e2837156 Remove geoip lookup for search engine defaults. Tag #245. 2019-04-20 07:31:51 -04:00
Ascrod c78cd6fb97 Remove geo-specific search engine default preferences. Tag #245. 2019-04-20 07:29:59 -04:00
JustOff d9137b4b7a Handle URL token in a closer way to the CSS3 spec 2019-04-20 13:53:46 +03:00
Moonchild e0116ac2b7 Merge pull request #1041 from Ascrod/default-pref
Clean up try/catch blocks for preferences
2019-04-20 11:17:30 +02:00
wolfbeast 32577bdb3d Stop building /accessible unified and fix deprot.
Tag #80

Note: excludes changes to Mac-specific code because I can't build
for OS X to check and fix deprot there.
2019-04-20 11:12:56 +02:00
ThosRTanner b732878110 Remove unused parameter from call
Fixes #1043
2019-04-20 09:14:36 +01:00
Ascrod 21b4cb27ca Remove unused try/catch block. Tag #991. 2019-04-18 20:37:23 -04:00
Ascrod af7e140d4e Merge branch 'master' into default-pref 2019-04-18 20:35:10 -04:00
wolfbeast 51722cd4fe Merge branch 'Sync-weave' 2019-04-19 02:25:38 +02:00
wolfbeast de75f133a7 Remove Firefox Accounts service and tie-ins.
See previous commit for removal of browser identity module.
2019-04-19 02:02:56 +02:00
Moonchild cdc962dca5 Remove various FxA tests 2019-04-18 15:49:19 +00:00
Moonchild 8a68832519 Remove FxAccounts front-end module references 2019-04-18 15:47:35 +00:00
wolfbeast 3eb4310cd8 Merge branch 'Sync-weave' 2019-04-17 20:22:59 +02:00
Matt A. Tobin 1e868fadf9 [BASILISK] Port PM Sync Client - Part 6b: Don't build the sync client ui when it is disabled, duh. 2019-04-17 04:58:14 -04:00
Matt A. Tobin 7008afd8e0 [BASILISK] Port PM Sync Client - Part 6a: Obvious ifdef'ing and clean up 2019-04-17 04:52:39 -04:00
Matt A. Tobin df0c78a8cb Merge branch 'master' into Sync-weave 2019-04-16 21:00:55 -04:00
Matt A. Tobin 868c9b8d7f [BASILISK] Port PM Sync Client - Part 5: Port the original sync toolbar button and create a synced tabs toolbar button 2019-04-16 14:51:15 -04:00
Moonchild 07381c3eda Merge pull request #1042 from wicknix/master
Bug 1408701: Ensure that we continue to show dark scrollbar thumbs on…
2019-04-16 14:17:09 +02:00
Matt A. Tobin 519d0cf552 [BASILISK] Port PM Sync Client - Part 4: Tools menu items (Set Up Sync/Sync Now) 2019-04-16 08:11:41 -04:00
Matt A. Tobin dea5947445 Merge branch 'master' into Sync-weave 2019-04-16 06:59:00 -04:00
wicknix 577ca2cd60 Bug1408701: Ensure that we continue to show dark scrollbar thumbs on..
..macOS 10.13+ when scrollbars are always displayed. r=mstange
2019-04-15 19:04:39 -05:00
wicknix 5a1843c9f9 Merge pull request #1 from MoonchildProductions/master
keep up with mc
2019-04-15 18:58:07 -05:00
wolfbeast 095ea55685 Remove some BEOS 1st party code leftovers. 2019-04-14 15:47:58 +02:00
Ascrod 40fc723764 Pref try/catch block fixup. Tag #991. 2019-04-13 17:27:59 -04:00
Ascrod 8757548a3e Issue #991 Part 8: Toolkit everything else 2019-04-13 11:37:45 -04:00
Ascrod 714e9c9074 Issue #991 Part 7: Toolkit Components 2019-04-13 11:37:45 -04:00
Ascrod 2d3b7717ae Issue #991 Part 6: Services 2019-04-13 11:37:45 -04:00
Ascrod 1d0af8b591 Issue #991 Part 5: DOM and layout 2019-04-13 11:37:45 -04:00
Ascrod c7796280a9 Issue #991 Part 4: Network and URILoader 2019-04-13 11:37:45 -04:00
Ascrod 609a7215e6 Issue #991 Part 3: Devtools 2019-04-13 11:37:45 -04:00
Ascrod 7591326915 Issue #991 Part 2: Basilisk 2019-04-13 11:37:45 -04:00
Ascrod 9a37ab727e Issue #991 Part 1: Pale Moon 2019-04-13 11:37:45 -04:00
Matt A. Tobin 0ea4dabdea [BASILISK] Restore Tabs from Other Devices history menu item and Add First Sync Progress 2019-04-13 06:52:08 -04:00
Matt A. Tobin 8e5056ce2f Merge branch 'master' into Sync-weave 2019-04-13 05:41:07 -04:00
wolfbeast 7d1126fad3 Update code of conduct to be community-encompassing. 2019-04-11 14:50:00 +02:00
wolfbeast 4d20cd601b Add IDCAC 2.9.9 to blocklist for causing severe issues. 2019-04-11 14:47:51 +02:00
Matt A. Tobin dc4c5d4c79 [BASILISK] Fix merge induced error in base jar.mn 2019-04-08 20:00:45 -04:00
Matt A. Tobin 6968a3e402 Merge branch 'master' into Sync-weave 2019-04-08 18:56:39 -04:00
wolfbeast 964c9830fa Add nullcheck in nsSVGUtils::PaintFrameWithEffects
Some SVGs define a mask but an invalid mask frame. Check to make sure
we have a `maskFrame` that isn't null before trying to use it.
This resolves #1034
2019-04-06 22:12:00 +02:00
wolfbeast 81cdb56fa3 Revert "add a nullptr check in nsSVGUtils::PaintFrameWithEffects"
This reverts commit 00baf28362.
2019-04-06 20:35:14 +02:00
wolfbeast a9682a32af Merge branch '816'
This merges both the JS Front-end parser changes to better structure
the parser code, and the TC39 `toString()` revision proposal with
the exception of ES6 classes.
2019-04-06 12:14:14 +02:00
wolfbeast a5d22aa610 Rename TokenStream::reportStrictWarningErrorNumberVA to
TokenStream::reportExtraWarningErrorNumberVA for clarity.

Emit Extra Warnings instead of Strict Warnings from the BCE where
it makes sense.
2019-04-06 11:26:49 +02:00
wolfbeast e88f15157f Remove Parser::reportHelper since it's no longer used. 2019-04-06 11:22:00 +02:00
wolfbeast f38ef66b7b Inline Parser::reportHelper into its callers. 2019-04-06 11:20:43 +02:00
wolfbeast 4f62fda966 Remove Parser::reportWithNode and its remaining callers.
All of the callsites have a full ParseNode* at hand, of which the offset
can be directly accessed.
2019-04-06 11:18:36 +02:00
wolfbeast 7ea8efe0cb Report errors for bad increment/decrement operands using
explicitly-specified offsets.
2019-04-06 11:11:04 +02:00
wolfbeast 74672745e6 Simplify checking of targets within destructuring patterns. 2019-04-06 11:05:22 +02:00
wolfbeast 8580bf233e Simplify increment/decrement operand checking. 2019-04-06 10:56:39 +02:00
wolfbeast 194e615521 Inline Parser::checkAssignmentToCall into its sole caller. 2019-04-06 10:55:02 +02:00
wolfbeast f4fec66e09 Specify an explicit offset when reporting an error for a for-of loop
whose target is an expression that begins with 'let'.
2019-04-06 10:47:27 +02:00
wolfbeast b579e0567c Simplify checking of the left-hand side of assignment and compound
assignment expressions.
2019-04-06 10:46:15 +02:00
wolfbeast 8e8d0ed75c Remove for-in/of loop parsing code that redundantly marks the loop
target as assigned -- Parser::forHeadStart already does this.
2019-04-06 10:44:48 +02:00
wolfbeast 4a62cbec61 Report some errors about invalid left-hand-sides in for-in/of loop heads
using code with an explicitly computed offset.
2019-04-06 10:41:42 +02:00
wolfbeast d60cfce5e4 Report the error for uninitialized const-declaration in for(;;) loop
head using an explicit offset.
2019-04-06 10:37:12 +02:00
wolfbeast 51e2758e02 Remove Parser::reportWithOffset since it's no longer used. 2019-04-06 10:34:17 +02:00
wolfbeast 940a6ceb9a Introduce Parser::warningAt
This reduces reporting an warning at a particular offset to its bare
essentials, simplifying calls.
2019-04-06 10:33:24 +02:00
wolfbeast d7b76a5a52 Report for-loop-decl-with-initializer errors using a specified offset
instead of a node's offset.
2019-04-06 10:31:01 +02:00
wolfbeast f5c293d3e8 Report bad-class-member errors using a specified offset instead of a node's offset. 2019-04-06 07:30:00 +02:00
wolfbeast 4c4f8091e6 Remove Parser::reportBadReturn
Report simpler errors that don't use the offset of a node as location.
2019-04-06 06:54:09 +02:00
wolfbeast 7d56f431cc Introduce Parser::errorAt
This reduces reporting an error at a particular offset to its bare
essentials, simplifying calls.
2019-04-06 06:39:27 +02:00
wolfbeast 386cc5ee17 Inline Parser::checkFunctionDefinition into its sole caller. 2019-04-06 06:36:09 +02:00
wolfbeast 239003468d Inline GeneratorKindFromPropertyType and AsyncKindFromPropertyType.
Trivially inlines these into their sole caller.
2019-04-06 06:26:49 +02:00
wolfbeast 7333618581 Move the Parser::checkFunctionDefinition call into its callers. 2019-04-06 06:22:55 +02:00
wolfbeast 96899aa847 Move part of Parser::functionDefinition into callers. 2019-04-06 04:22:27 +02:00
wolfbeast dcf64bd2ff Track strict mode errors in for...in and for...of correctly when
syntax-parsing.
2019-04-05 21:38:21 +02:00
wolfbeast 11a1f58b9a Track strict mode errors in unary deletions correctly when
syntax-parsing.
2019-04-05 21:32:55 +02:00
wolfbeast 1ee96e39db Specify an explicit offset when warning about "use asm" found in the
directive prologue of a script (rather than a function body).
2019-04-05 21:30:52 +02:00
wolfbeast 2950deb043 Change report at current offset to warning(), extraWarning() and error() 2019-04-05 21:25:28 +02:00
wolfbeast 68c4eea34d Remove the |bool strict| argument from the report-at-current-offset
Parser function (zeport).
zeport => qeport
2019-04-05 21:01:54 +02:00
wolfbeast 8bbd0d556c Split Parser::report into Parser::zeport (a temporary name) that uses
the current offset, and Parser::reportWithNode that derives it from a
Node.
2019-04-05 20:54:29 +02:00
wolfbeast c3b63b831c Merge branch 'master' into 816 2019-04-05 20:01:10 +02:00
wolfbeast cc07da9cb4 CotPM update 2019-04-05 15:13:28 +02:00
wolfbeast 6e4da38d2d Zap the robots.
Resolves #1036
2019-04-05 15:12:51 +02:00
Matt A. Tobin 015f385ecb Merge branch 'master' into Sync-weave 2019-04-03 17:33:37 -04:00
Moonchild a04fdfd890 Merge pull request #1035 from kn-yami/bug1360343
Fix SVG mask crashes
2019-04-03 19:51:52 +02:00
yami 00baf28362 add a nullptr check in nsSVGUtils::PaintFrameWithEffects 2019-04-03 19:10:37 +02:00
Moonchild 352121c2a3 Merge pull request #1033 from Lootyhoof/issue-1025
Only draw a border on the tab bar when on bottom
2019-04-03 17:30:27 +02:00
cku 71c0318322 Bug 1360343 - ensure maskSurface is not null before dereference, since it can be null because of OOM or gfx device reset. r=dvander
MozReview-Commit-ID: HX2qsWLZpMg

--HG--
extra : rebase_source : 046befc11151461a682842c31e2ce39247a5e1d8
2019-04-03 14:55:35 +02:00
Lootyhoof 520f996015 Only draw a border on the tab bar when on bottom 2019-04-01 21:29:49 +01:00
Matt A. Tobin ce3979c721 Merge branch 'master' into Sync-weave 2019-04-01 13:55:00 -04:00
wolfbeast ff2f287f82 Remove crashreporter toolkit files.
Resolves #20
2019-04-01 13:05:24 +02:00
wolfbeast bfc9772806 Unhook CR exception handler.
Tag #20
2019-04-01 13:04:33 +02:00
Matt A. Tobin f6c16cff36 [BASILISK] Port PM Sync Client - Part 2: Basic Integration with glue and preferences 2019-03-31 18:49:29 -04:00
Matt A. Tobin f98cdab7a5 [BASILISK] Port PM Sync Client - Part 1: Initial transfer 2019-03-31 18:48:11 -04:00
Matt A. Tobin 17a54a70da [BASILISK] Port PM Sync Client - Part 0: Add PanelUI sync button static images 2019-03-31 18:47:27 -04:00
wolfbeast a2786c0511 Remove AIX 1st party code OS checks, part 2
Issue #186
2019-04-01 00:11:06 +02:00
wolfbeast b9a8bca64d Remove some HPUX leftovers.
Resolves #185
2019-04-01 00:09:12 +02:00
wolfbeast 5d409fdca9 Remove AIX 1st party code OS checks, part 1
Issue #186
2019-03-31 18:43:10 +02:00
wolfbeast 49a3f5a537 Remove AIX VisualAge C++ compiler bug workaround.
Tag #186
2019-03-31 18:20:08 +02:00
wolfbeast 1bf6a5c7da Remove 18 yo OS/2 and AIX bustage workaround.
Tag #186
2019-03-31 15:27:49 +02:00
Matt A. Tobin 757424eedd [BASILISK] Remove FxA infected Sync - Part 3b: nsModule 2019-03-30 20:23:06 -04:00
Matt A. Tobin 12885d4410 [BASILISK] Remove FxA infected Sync - Part 3: Remove about:accounts 2019-03-30 20:21:40 -04:00
Matt A. Tobin 3face1acfb [BASILISK] Remove FxA infected Sync - Part 2: Sync Client 2019-03-30 20:12:25 -04:00
Matt A. Tobin 349ceffd89 [BASILISK] Remove FxA infected Sync - Part 1: Remove or condition CUI and Integration Points 2019-03-30 20:11:32 -04:00
wolfbeast 6b968b13d9 Issue #187: Remove solaris 1st party code OS checks. 2019-03-30 20:03:33 +01:00
wolfbeast 25779d371c Issue #187: Remove solaris conditional code. 2019-03-30 19:10:17 +01:00
Matt A. Tobin 711c9cd6cd [BASILISK] Remove FxA Synced Tabs Sidebar 2019-03-30 13:28:49 -04:00
Matt A. Tobin 3e466a01e4 [BASILISK] Add configure option to disable sync 2019-03-30 12:22:28 -04:00
Matt A. Tobin 473291f8f0 Merge branch 'master' into Sync-weave 2019-03-30 12:12:01 -04:00
wolfbeast 60d420b0ad Update SQLite to 3.27.2 2019-03-30 02:35:47 +01:00
wolfbeast 88083f8c68 Merge branch 'master' into Sync-weave 2019-03-29 16:04:01 +01:00
wolfbeast 843e4ceffd Replace unsupported null default values with an empty string.
Fixes #1028
2019-03-28 02:44:38 +01:00
wolfbeast 0b999100f6 Simplify some alias sets in IonMonkey. 2019-03-26 18:30:57 +01:00
wolfbeast 91d17efc68 Clean up installer scripts a little. 2019-03-26 14:38:16 +01:00
wolfbeast 1df844b954 Installer: Update 7zstub binaries, add license and readme. 2019-03-26 12:06:15 +01:00
Moonchild 55d249557f Merge pull request #1027 from JustOff/PR_newtab_choice
Prevent mistaken overwriting of browser.newtab.url when using the browser preferences dialog
2019-03-26 11:01:15 +01:00
JustOff d72bcc92f5 Revert "Only write the newtab URL if the machinery for it had previously been"
This reverts commit eb77e289bb.
2019-03-26 01:28:36 +02:00
JustOff a15e49e426 Prevent mistaken overwriting of browser.newtab.url when using the browser preferences dialog 2019-03-26 01:27:46 +02:00
Moonchild aa816b3d84 Merge pull request #834 from g4jc/remove_contextid
Issue #756 - Remove Contextual Identity
2019-03-25 18:03:03 +01:00
wolfbeast 24b1f14e02 Add the customization .diff to the 7z stub.
Tag #1022
2019-03-25 17:54:35 +01:00
wolfbeast f2902217b3 Update the 7z installer stub source to 18.05.
Tag #1022
2019-03-25 17:53:14 +01:00
wolfbeast 917a2c450f Merge branch 'master' of https://github.com/MoonchildProductions/UXP 2019-03-25 17:47:59 +01:00
wolfbeast eb77e289bb Only write the newtab URL if the machinery for it had previously been
initialized.

This prevents the URL being overwritten with e.g. about:logopage.
2019-03-25 17:47:16 +01:00
Moonchild a1ad1d835b Merge pull request #1023 from Ascrod/default-pref
Remove obsolete getPref helpers.
2019-03-25 09:33:03 +01:00
Ascrod c9d2e9bcfb Remove obsolete getPref helpers. 2019-03-24 20:22:03 -04:00
Moonchild 834ea744c2 Merge pull request #1021 from Ascrod/default-pref
Bug 1338306 - nsIPrefBranch.get*Pref should support providing a default value
2019-03-24 11:54:50 +01:00
Florian Quèze cac3f9678d Bug 1338306 - nsIPrefBranch.get*Pref should support providing a default value, r=bsmedberg. 2019-03-23 19:35:32 -04:00
wolfbeast 9fc25801fd WebRTC: Add explicit mutex on callback receiver for cases it's not
already locked.
2019-03-23 13:26:20 +01:00
wolfbeast 1709b8a59c Revert "Unregister ProcessHangMonitor as a hang annotator on shutdown."
This reverts commit 68acc67ddb.
2019-03-23 13:10:32 +01:00
sotaro 5ddaf2aef8 Check if CopyData succeeded. 2019-03-23 13:01:13 +01:00
Nika Layzell 68acc67ddb Unregister ProcessHangMonitor as a hang annotator on shutdown. 2019-03-23 12:56:19 +01:00
wolfbeast 36fbcc6300 Disallow getUserMedia on null principals. 2019-03-23 12:52:39 +01:00
wolfbeast 10982181db Check for osint argument when checking for greomni and appomni arguments.
Specifying both is invalid and unsupported.
2019-03-23 11:10:28 +01:00
Brian Grinstead 3cfdf908cc Escape '!' to '\041' in posix strings ($'...') 2019-03-23 10:56:30 +01:00
wolfbeast 976be87431 Convert UI-dictating FTP errors to console errors. 2019-03-23 10:46:00 +01:00
wolfbeast 89d0316e3d Bump Goanna version for layout handling changes. 2019-03-23 10:27:16 +01:00
wolfbeast 5ea1d913c2 Grab caching capturing content with local variable. 2019-03-23 10:20:01 +01:00
wolfbeast cc3f51ad66 Merge branch 'master' of https://github.com/MoonchildProductions/UXP 2019-03-23 09:59:24 +01:00
Nicolas B. Pierron 054794f8c5 Restrict ExtractLinearSum to monotonous operation in infinite math space.
Thanks to Bruno Keith & Niklas Baumstark from the phoenhex team for
finding this issue and reporting it with a proper analysis.
2019-03-23 09:58:57 +01:00
Nicolas B. Pierron 357ea8cae9 Restrict ExtractLinearSum to monotonous operation in infinite math space.
Thanks to Bruno Keith & Niklas Baumstark from the phoenhex team for
finding this issue and reporting it with a proper analysis.
2019-03-23 09:36:15 +01:00
Moonchild f33a272de2 Merge pull request #1019 from JustOff/PR_nsLayoutUtils_AddPercents
The result of adding any percentage factor to a size that is zero should also be zero
2019-03-23 08:15:18 +01:00
wolfbeast cda6937fc2 Remove leftover updater lines in about box
Resolves #1020.
2019-03-23 07:57:33 +01:00
wolfbeast 0d9f3396af Use ptrdiff_t in RangedPtr. 2019-03-22 21:16:09 +01:00
wolfbeast a401325185 Return proper error if the nss layer encounters an error on the http
tunnel.
2019-03-22 20:11:09 +01:00
wolfbeast 8ca6744b2f Add SSUAO for polyfill.io
Financial Times' polyfill.io service horribly breaks when it finds
anything but a short list of predefined UA strings. We have to send
them a strict Firefox UA or other sites relying on it will break too
(including PayPal!).

An issue has been raised on their repo.
2019-03-22 19:21:52 +01:00
wolfbeast 3403d5f049 Close the transaction if PR_Read/PR_Write failed.
When PR_Read/PR_White returns -1, we have to use ErrorAccordingToNSPR
to get the error code.
We need to close the transaction if a real error happens.
2019-03-22 18:41:22 +01:00
wolfbeast 34939b2d17 Revert "Guard against re-entrancy in nsStringStream."
This reverts commit 411919cca7.
2019-03-22 14:06:07 +01:00
wolfbeast 411919cca7 Guard against re-entrancy in nsStringStream. 2019-03-22 13:28:32 +01:00
Jon Coppeard c53602c802 Reset nursery position when it's disabled. 2019-03-22 13:17:31 +01:00
wolfbeast 8549c7cc31 Extend origin-clean algorithm (DiD). 2019-03-22 13:11:18 +01:00
wolfbeast 3c02dbad94 Clean up nsOSHelperAppService.
About time we stopped looking at Netscape 4.x entries in the registry ;)
Also, assume the application association API is present in Windows
and use that instead of reading from the registry directly.
2019-03-22 12:44:26 +01:00
Brian Birtles 403c0b8708 Check child container count in NotifyRefreshDriverCreated. 2019-03-22 12:10:37 +01:00
wolfbeast a7013083d3 Check for dead wrappers in CallerGetterImpl/CallerSetterImpl.
This also removes code duplication by making CallerSetterImpl call
CallerGetterImpl.
2019-03-22 12:06:40 +01:00
Nicolas B. Pierron ff9877cfe4 Force expected crashes on unexpected magic values. 2019-03-21 21:28:10 +01:00
JustOff 96dfb2e6df The result of adding any percentage factor to a size that is zero should also be zero 2019-03-21 21:45:08 +02:00
wolfbeast 890bb438b0 Pref the use of unboxed plain objects in JS and disable by default.
This should be all that's needed for #1017, but verification of
impact is definitely desired.
2019-03-21 09:53:24 +01:00
Olli Pettay 85e33523c3 Remove harmless assertions by using IgnoredErrorResult. 2019-03-21 09:02:04 +01:00
Gaming4JC 1413b3d6fd Issue #756 - Remove Contextual Identity from DevTools 2019-03-18 20:53:54 -04:00
Gaming4JC 2d20c38f83 Issue #756 - Remove Contextual Identity from UnifiedComplete
reverts m-c 1287866
2019-03-18 20:53:41 -04:00
Gaming4JC 1f5194b5f1 Issue #756 - Remove Contextual Identity from Basilisk 2019-03-18 20:51:28 -04:00
Gaming4JC d0b4eb41bb Issue #756 - Remove contextual identity from BackgroundPageThumbs.jsm
reverts m-c 1279568, 1309699, 1310112
2019-03-18 19:28:33 -04:00
Gaming4JC ad5bbbdb6b Issue #756 - Remove Contextual Identity References from Pale Moon 2019-03-18 19:28:33 -04:00
wolfbeast a36c3f69c8 Merge branch 'master' of https://github.com/MoonchildProductions/UXP 2019-03-18 08:14:23 +01:00
wolfbeast c7c3c8600f Merge branch 'cdm-work' 2019-03-18 08:12:19 +01:00
Moonchild b0c7cca308 Merge pull request #1011 from Lootyhoof/issue-725
Draw a border when hiding the tab bar
2019-03-18 01:59:24 +01:00
wolfbeast e9261d329b Fix build bustage. 2019-03-16 13:54:20 +01:00
Lootyhoof 07122c4454 Don't modify toolbox-after-color in lwthemes 2019-03-15 23:10:59 +00:00
Lootyhoof ca14177824 Draw a border when hiding the tab bar 2019-03-15 22:53:09 +00:00
Moonchild c7b3c68ae9 Merge pull request #1008 from JustOff/PR_flex_align_blocks
Handle the special case of a flex frame being the absolute containing block correctly from the CSS align code
2019-03-15 10:31:51 +01:00
JustOff c427cf64a8 Handle the special case of a flex frame being the absolute containing block correctly from the CSS align code 2019-03-14 19:40:42 +02:00
Moonchild 973b9cace8 Merge pull request #1006 from JustOff/PR_SSUAO_firefox.com
[PALEMOON] Add SSUAO override for firefox.com (native mode)
2019-03-14 17:50:02 +01:00
JustOff 4d7390eaaa [PALEMOON] Add SSUAO override for firefox.com (native mode) 2019-03-14 17:42:08 +02:00
Moonchild 7650a03115 Merge pull request #1005 from adeshkp/compiler-warnings
Fix some compiler warnings
2019-03-14 15:23:17 +01:00
Moonchild 91cbd86a5e Merge pull request #1002 from JustOff/PR_URLSearchParams
Align URLSearchParams with the spec
2019-03-14 15:21:42 +01:00
adeshkp cf36d98629 Fix warnings about unreachable code in cubeb 2019-03-14 09:54:30 -04:00
adeshkp 90d1ee25b1 Remove a couple of unused variables 2019-03-14 09:53:02 -04:00
adeshkp 52be954e59 Fix order of member variables in a couple of initializer lists 2019-03-14 09:52:03 -04:00
adeshkp 6e457e653e Fix a warning about method override 2019-03-14 09:49:51 -04:00
JustOff 0ff4dbff80 Use meaningful error message in URLSearchParams::Constructor 2019-03-14 14:14:45 +02:00
wolfbeast d791dfed61 Remove unused SSL errorReporting prefs
Resolves #1003.
2019-03-14 13:07:00 +01:00
wolfbeast 0b4184ad35 [Palemoon] Disable Microsoft Family Safety support (Windows 8.1).
This is basically a https MitM setup that is unwanted for Pale Moon.
Resolves #1000.
2019-03-14 09:04:52 +01:00
JustOff c00255c355 Align IDL record to C++ conversion with the spec when Symbol-named properties are involved 2019-03-13 21:44:49 +02:00
JustOff cd0e94ceb1 Construct URLSearchParams from record<> 2019-03-13 21:22:29 +02:00
JustOff 04c1684122 Construct URLSearchParams from sequence or from string 2019-03-13 21:20:12 +02:00
JustOff ca23830127 Implement the spec provision for handling repeated keys in records by updating the existing value 2019-03-13 20:19:53 +02:00
JustOff e7c9fa3e15 Actually change the key type of a record, and its corresponding conversion behavior, depending on what the IDL says 2019-03-13 20:17:36 +02:00
JustOff 66ee6fdde4 Rename MozMap.h to Record.h 2019-03-13 20:13:17 +02:00
JustOff 8525a292b0 Add ConvertJSValueTo*String functions that just take a value and hand out a string, without extra complications 2019-03-13 20:07:10 +02:00
JustOff b586a191ec Rename the MozMap C++ type to "record" and give it a template parameter for the key type 2019-03-13 20:04:13 +02:00
JustOff 5890367d30 Rename "MozMap" to "record" in our IDL parser and IDL files 2019-03-13 19:37:03 +02:00
JustOff 3344c564a8 Split up PrimitiveOrStringType into PrimitiveType and StringType in the Web IDL parser 2019-03-13 19:05:08 +02:00
JustOff e17501d5eb Change JS to MozMap conversion to more closely follow the record<> spec 2019-03-13 19:03:07 +02:00
JustOff 7d411777a3 Add some tests for distinguishability of unions 2019-03-13 19:01:09 +02:00
JustOff 50059d734a Disallow mozmap-typed constants 2019-03-13 18:52:13 +02:00
JustOff cfcba2402e Fix up some minor issues with default value handling in codegen 2019-03-13 18:49:40 +02:00
JustOff 5a10462a92 Change the MozMap API and data storage to more what we want record<> to look like 2019-03-13 18:46:01 +02:00
JustOff bcdacfe2df Add a ClearElementAt API to nsTArray 2019-03-13 18:25:55 +02:00
JustOff acfc69ec7e Support string default values for unions containing USVString 2019-03-13 18:15:07 +02:00
wolfbeast f999f544aa Remove fxAccountsEnabled checks.
Tag #812
2019-03-13 16:36:55 +01:00
wolfbeast aa1a39311a Remove some fxa tests.
Tag #812
2019-03-13 16:36:05 +01:00
wolfbeast 4c43148643 Remove CloudSync
Tag #812
2019-03-13 09:50:54 +01:00
Moonchild bf04133592 Merge pull request #998 from MoonchildProductions/master
Merge master into Sync-weave
2019-03-13 07:49:07 +01:00
Moonchild 709bc24e91 Merge pull request #995 from MoonchildProductions/httpaccept-work
Change the way http Accept: headers are used.
2019-03-12 18:29:14 +01:00
wolfbeast 6b4d81521f Prevent loading of document subresources over FTP. 2019-03-09 08:15:36 +01:00
wolfbeast 6e9c60c3b9 [Basilisk] Add SSUAO for WhatsApp Web.
See https://forum.palemoon.org/viewtopic.php?f=61&t=21457
2019-03-09 08:13:30 +01:00
wolfbeast 367d77ee9a Part 2: Add tests
Tag #993.
2019-03-07 14:32:42 +01:00
wolfbeast b00b076377 Remove various hard-coded Accept: headers
Since we're now handling this in the network back-end, there's no
need for this anymore.

Tag #993.
2019-03-07 13:05:13 +01:00
wolfbeast d38ddd92e1 Part 1: network component changes. 2019-03-07 12:45:54 +01:00
Matt A. Tobin 7e0d3b80f1 Don't include nsDownloadManagerUI if the Communicator version is used
Maintain backwards compatibility with MOZ_SUITE
2019-03-06 12:02:27 -05:00
Matt A. Tobin 011610259b Revert "Don't include nsDownloadManagerUI if the Communicator version is used"
This reverts commit 853fe00ba0.
2019-03-06 12:01:25 -05:00
Matt A. Tobin baeec92b6a [PALEMOON] Fix updatesSeparator id mismatch 2019-03-06 11:42:52 -05:00
Matt A. Tobin 853fe00ba0 Don't include nsDownloadManagerUI if the Communicator version is used
Maintain backwards compatibility with MOZ_SUITE
2019-03-06 11:37:20 -05:00
wolfbeast 083d322b74 Remove e10s code from browser widget.
In case there are still callers to it (likely from the FE),
`isRemoteBrowser` is stubbed to always return false for now.

Tag #953.
2019-03-06 13:47:30 +01:00
Moonchild 5dba1ebe84 Merge pull request #985 from MoonchildProductions/aboutbox-redesign
Aboutbox redesign
2019-03-06 04:50:53 +01:00
wolfbeast a49d052afe Adjust Pale Moon™ wordmark for better contrast 2019-03-06 03:39:44 +01:00
wolfbeast 403605efb5 Tweak the about box styling some more and clean up styles. 2019-03-06 00:51:39 +01:00
wolfbeast a7bca40ad5 Tweak the about box layout a bit.
- Put the Licensing link in the center
- Strengthen the "fog" background for the credits text for readability
- Add CSS animation to fade it in.
2019-03-05 14:41:20 +01:00
wolfbeast b55a0dd240 Remove texture layout endian-ness check for Moz2D.
This resolves #986.

This removes endian-based inversion of texture layout aliases when
represented as uint32. This inversion was incorrect and would cause
unknown texture formats as a result on big-endian machines (PPC64).
2019-03-05 01:46:22 +01:00
wolfbeast fd36926570 [Basilisk] Add Netflix SSUAO to work around blocking behavior for
EME DRM-enforcement for later Firefox versions.
2019-03-04 14:05:18 +01:00
wolfbeast 97be0f65cc Fix dynamic addition of build date. 2019-03-04 13:32:11 +01:00
wolfbeast f0c57ac5f2 Update about box design.
Tag #963.
2019-03-04 13:05:45 +01:00
wolfbeast 7f61379833 Replace about box backdrop. 2019-03-04 13:01:54 +01:00
wolfbeast a61164a88d Remove updater gunk from the about box. 2019-03-04 13:00:44 +01:00
wolfbeast c8ef59dae5 Add hover state arrow images.
This fixes #981
2019-03-03 13:41:37 +01:00
wolfbeast e64dae886b Improve the http basic auth DOS protection heuristics.
-> Merge branch 'authprompt-work'
2019-03-01 14:12:02 +01:00
wolfbeast c1ece93c2b Make the Auth prompt DOS protection a browser-element opt-in feature. 2019-03-01 14:01:09 +01:00
wolfbeast f227feb6ef Update Basilisk FE code with HTTP Auth DoS protection. 2019-02-28 14:16:09 +01:00
wolfbeast c08b490c5c Move default-enable pref to application. 2019-02-28 13:58:23 +01:00
wolfbeast c962e2051a WIP fix 1 2019-02-28 10:02:19 +01:00
wolfbeast f89a809df5 Stop building /docshell unified and fix deprot.
Tag #80
2019-02-21 20:01:53 +01:00
wolfbeast 6f78cfb3a4 Remove error table with unspecified errors.
Tag #145
2019-02-21 15:46:51 +01:00
wolfbeast 73551520db Restore building of common-standalone lib for updater.
Tag #145
2019-02-20 19:10:31 +01:00
wolfbeast 26d7c44f17 Remove reference to standalone component.
Tag #145
2019-02-20 15:00:58 +01:00
wolfbeast 303e4314fd Clobber for maintenance service removal
Tag #145
2019-02-20 13:33:12 +01:00
wolfbeast 234648ca87 Remove maintenance service bits from nsUpdateDriver
Tag #145
2019-02-20 12:47:09 +01:00
wolfbeast 664f6385ad Remove toolkit/components/maintenanceservice/
Tag #145
2019-02-20 12:40:02 +01:00
wolfbeast cdc4838922 Remove Non ifdef'd service code from toolkit/mozapps/updater/updater.cpp
Tag #145
2019-02-20 11:46:32 +01:00
wolfbeast e3c88dc644 Remove maintenance service code from nsUpdateService and related.
Tag #145
2019-02-20 11:16:33 +01:00
wolfbeast fc0a0f13ad Remove conditional MOZ_MAINTENANCE_SERVICE code
Tag #145
2019-02-20 10:54:51 +01:00
wolfbeast 833be88a6d Update webplatform tests for multiline placeholder.
Note: MANIFEST updated per the normal procedure using
`mach wpt-manifest-update`

lint.whitelist updated to reflect intentional use of CR in these tests.

Resolves #977
2019-02-20 00:19:09 +01:00
Moonchild c7585afb94 Merge pull request #979 from JustOff/PR_textarea_placeholders
Preserve newlines in textarea placeholders
2019-02-19 21:20:29 +01:00
JustOff b1e78d1db1 Preserve newlines in textarea placeholders 2019-02-19 21:15:35 +02:00
wolfbeast 3029dee77b Add nullcheck for frames in FindNearestCommonAncestorFrame
This resolves #978.
2019-02-18 22:24:29 +01:00
wolfbeast 27f45bc243 Don't trust convexity when applying transforms.
In theory, a convex shape transformed by an affine matrix should still
be convex. However, due to numerical imprecision of floats, when we try
to determine if something is convex, we can get different answers pre
and post a transformation (think of two line segments nearly co-linear).

Convex paths take a faster scan converter, but it is only well behaved
if the path is, in fact, convex. Thus we have to be conservative about
which paths we mark as convex, and cant's trust transformed paths to
retain their convexity. We re-calculate when a transform is applied.
2019-02-18 11:49:00 +01:00
wolfbeast ca3861669b Skia: Validate allocation size in GrBufferAllocPool using SkSafeMath.
Upstream port of commit 7469a9341afab19271b8ef07af5c16a0f2c4ccc1
2019-02-17 22:11:40 +01:00
wolfbeast 91903016bd Skia: Be consistent about int for incReserve.
Upstream port.
2019-02-17 21:31:54 +01:00
wolfbeast c13bd1bba2 Revert "Port several Skia upstream fixes."
This reverts commit 260b06c1c9.

This fixes #976
2019-02-17 14:58:18 +01:00
Andrew Osmond c66d87e6c0 BMPs from the clipboard may include extra padding.
In the original Windows clipboard BMP decoder implementation in
nsImageFromClipboard::ConvertColorBitMap, if the bitmap used bitfields
compression, it always adjusted the offset to the RGB data by 12 bytes.
It did this even for newer BMP header formats which explicitly include
space for the bitfields in their header sizes. This patch updates our
BMP decoder to do the same for clipboard BMPs, since we have observed
pasted BMPs using bitfield compression appearing incorrectly. To the
user this appears as if we read a color mask; completely red, blue,
green pixels at the start of the last row, causing all of the other rows
to start with the last three pixels of the previous row.
2019-02-16 20:21:13 +01:00
wolfbeast 529067c0a2 [Basilisk] Add get more devtools URL pref. 2019-02-16 12:52:12 +01:00
wolfbeast 54f9a14d03 Stop using hard-coded URL for "get more devtools" 2019-02-16 12:46:20 +01:00
wolfbeast 2625ea4425 New cycle version bump. 2019-02-16 10:30:08 +01:00
Matt A. Tobin 66bfad2766 Conform Pale Moon AM preferences to actual locations
Uplift is NOT required
2019-02-15 20:35:58 -05:00
Matt A. Tobin 3b553d5cfc Update Basilisk Search Engines URL preference 2019-02-15 20:02:23 -05:00
Moonchild 3642628942 Merge pull request #967 from Ascrod/master
Pale Moon: Add loop context menu to HTML5 media elements.
2019-02-15 14:06:27 +01:00
Moonchild f475489b64 Merge pull request #972 from MoonchildProductions/issue-971
Treat aContext as a bitfield in openURI.
2019-02-15 14:03:59 +01:00
Moonchild ca662e9780 Merge pull request #975 from JustOff/PR_dictionaries_url
[PALEMOON] Link dictionaries to addons.palemoon.org
2019-02-15 13:58:42 +01:00
JustOff 8b0531b4a1 [PALEMOON] Link dictionaries to addons.palemoon.org 2019-02-15 00:15:06 +02:00
wolfbeast 77e1b07f30 Preserve transparency when copying a DIB to/from the clipboard.
In order to get the alpha channel when encoding BMP images from a
surface, we need to supply bmp=32 in the encoder options.
2019-02-14 22:42:55 +01:00
wolfbeast a6ddde9097 Port several Skia upstream fixes. 2019-02-14 16:59:52 +01:00
wolfbeast 0d88098e38 Update browse URL for AM search to Phoebus 2.0 2019-02-14 12:17:53 +01:00
wolfbeast 71d32272eb Use C++11 thread-safe statics with MSVC. (js) 2019-02-14 12:00:47 +01:00
wolfbeast 4ec8be4ae1 Bump goanna version for updated canvas handling. 2019-02-14 11:52:50 +01:00
wolfbeast 9a090b7941 Disable "helpful" MSVC warning about AVX instructions.
Tag #457.
2019-02-14 11:49:11 +01:00
wolfbeast f595579f07 Use C++11 thread-safe statics with MSVC. 2019-02-14 11:47:40 +01:00
wolfbeast 91799767e1 Implement origin-clean algorithm for ImageBitmap.
This resolves #973.
2019-02-14 11:46:21 +01:00
wolfbeast 0e80d10f4a Fix line endings
Follow-up to dd418226c6
2019-02-14 02:02:00 +01:00
wolfbeast 8e0fdf9318 Move "No proxy for" control down to clarify it is a global effect.
Follow-up to the behavior change in commit
6567bb631a
2019-02-14 01:54:58 +01:00
wolfbeast 1e0da1994d Remove the WebExtension Add-on Manager from our tree.
Tag #936
2019-02-13 19:25:03 +01:00
wolfbeast 43d44975b1 Remove WebExtension support from the platform.
- Conditional code
- WE APIs
- WE toolkit theming
2019-02-13 19:11:37 +01:00
wolfbeast 6bb02d95f7 Remove webextensions conditional code from Basilisk.
Tag issue #936
2019-02-13 11:50:04 +01:00
wolfbeast cb959aec3a Treat aContext as a bitfield in openURI.
Potential fix for #971
2019-02-13 09:23:25 +01:00
wolfbeast 71c81eb900 Restore app.update.url.override preference. 2019-02-12 16:33:11 +01:00
wolfbeast dd418226c6 Add "check for updates" to main menu and AppMenu v2
Tag #963.
2019-02-12 16:13:57 +01:00
wolfbeast 487afe9f45 Allow empty string on location.search setter.
Fixes #970.
2019-02-12 11:05:16 +01:00
Ascrod 4a89b18b31 Rename mediaPlaybackRate to mediaPlaybackRate2. 2019-02-10 11:24:27 -05:00
wolfbeast 8beab28bff Expose TLS 1.3 cipher suite prefs. 2019-02-10 08:51:40 +01:00
Ascrod b9d51d4e31 Clean up localization. 2019-02-09 20:45:04 -05:00
Ascrod 8906ccd05e Pale Moon: Add loop context menu to HTML5 media elements. 2019-02-09 14:05:34 -05:00
trav90 cece1cb715 [EME] Remove WidevineDecryptor::OnLegacySessionError
Not needed for more recent CDM versions.
2019-02-09 07:50:35 -06:00
trav90 05a51611bc Build bustage fixes 2019-02-08 14:40:12 -06:00
trav90 3a6a37ca1b Style fixes 2019-02-08 13:55:14 -06:00
trav90 e1d7634ba0 [EME] Cherry-pick fix for content_decryption_module.h
Fixes build bustage with GCC/clang.
2019-02-08 13:50:27 -06:00
trav90 8279f15d49 [EME] Add content_decryption_module_ext.h 2019-02-08 13:48:02 -06:00
trav90 34bfc1f409 [EME] Update content_decryption_module.h to more recent revision
Adds support for cdm::ContentDecryptionModule_9 and cdm::Host_9 definitions, HDCP definitions, and 10 and 12 bit image format definitions.
2019-02-08 13:47:17 -06:00
trav90 6310310e0a [EME} Hackily implement cdm::Host_9::RequestStorageId
TODO: Implement this properly in the future.
2019-02-08 10:41:49 -06:00
trav90 1fa998d891 [EME] Make WidevineAdapter compatible with CDM version 9
NOTE: this breaks compatibility with CDM version 8.
2019-02-08 10:35:58 -06:00
Matt A. Tobin 4adc409885 [BASILISK] Update AM preferences to point to the Basilisk Add-on Site - Part 2: Add domain to permissions file
Also, remove duplicate comment from app preferences
2019-02-08 07:17:32 -05:00
Matt A. Tobin 5c46e60ad5 [BASILISK] Update AM preferences to point to the Basilisk Add-on Site 2019-02-08 06:56:17 -05:00
wolfbeast d6f9957011 Revert "Increase purple limit triggers for CC."
This reverts commit babedf6c69.
2019-02-07 23:02:22 +01:00
wolfbeast 6992106dc7 Use existing image decoders to handle clipboard BMP data.
This gets rid of the old nsImageClipboard widget code in favor of using
the nsBMPDecoder in imglib.
2019-02-07 22:06:24 +01:00
Alex Gaynor 0b6d9a4705 Handle pasted data of certain types with an odd length. 2019-02-07 14:08:09 +01:00
wolfbeast 6567bb631a Never let "localhost" get sent to a proxy.
Also make "No proxy for" editable always when usable.
2019-02-07 12:58:13 +01:00
wolfbeast 2b1ccf227b Get RefPtr to transaction before using it. (DiD)
Avoid potential use-after-free by getting a RefPtr to a transaction
before calling content code that could cause its de-allocation.
2019-02-07 12:39:42 +01:00
wolfbeast f8db3a89b6 Fix possible data race while updating scope object during compacting GC. 2019-02-07 12:31:57 +01:00
wolfbeast 88db0108b1 Align instanceof with the final ES6 spec. 2019-02-07 10:39:40 +01:00
wolfbeast 8db772d2ca Revert "Add "check for updates" to main menu and AppMenu"
This reverts commit d9a0549880.
2019-02-06 16:15:27 +01:00
wolfbeast d9a0549880 Add "check for updates" to main menu and AppMenu
Tag #963.
2019-02-06 15:59:19 +01:00
wolfbeast e057156093 Make sure Glass doesn't override LWT style for the title bar.
This resolves #965.
2019-02-05 14:09:00 +01:00
wolfbeast f560671b66 Include blankthumb in the correct file. 2019-02-05 11:00:30 +01:00
Moonchild 5fde5ba78e Merge pull request #959 from FranklinDM/fullscreenpatch-v2
Use 'mousemove' events for hiding the Navigation Toolbar in Full Screen
2019-02-04 14:04:03 +01:00
wolfbeast 23f587278a Merge branch 'master' of https://github.com/MoonchildProductions/UXP 2019-02-03 08:34:51 +01:00
Moonchild 4874970d32 Merge pull request #961 from kn-yami/issue908
implement missing parts of CSS mask
2019-02-03 08:34:43 +01:00
wolfbeast 9a8a050294 Merge branch 'cycle_collector-work' 2019-02-03 08:34:08 +01:00
wolfbeast d432e068a2 Stage 1: Fix #960. 2019-02-03 08:23:12 +01:00
Tooru Fujisawa ae4af7b7e5 Stage 1-4: Update tests 2019-02-03 08:21:19 +01:00
yami b241a84d88 issue #908 - implement missing parts of CSS mask 2019-02-02 18:06:10 +01:00
Moonchild fa311a4cae Merge pull request #958 from Ascrod/master
Pale Moon: Use file path for bookmarks import/export.
2019-02-02 17:47:52 +01:00
wolfbeast f8f3dc70b6 Fix build error with JS_HAS_TOSOURCE undefined. 2019-02-02 16:43:45 +01:00
wolfbeast 90f6b27046 Stage 1-3: Generate better source in Object.prototype.toSource.
Tag #960.
2019-02-02 14:29:54 +01:00
wolfbeast 4ee0411274 Stage 1-2: Remove a space after comma in parameter list for generated
function source.
2019-02-02 13:51:57 +01:00
wolfbeast e547de64c8 Stage 1-1: Implement Function.prototype.toString revision proposal.
Tag #960
2019-02-02 12:47:28 +01:00
FranklinDM 74e88de9e9 [Basilisk] Use mousemove events instead of MousePosTracker for hiding the navigation bar in fullscreen
* Tag #336
2019-02-02 14:39:23 +08:00
FranklinDM 192715be57 [Pale Moon] Use mousemove events instead of MousePosTracker for hiding the navigation bar in fullscreen
* Tag #336
2019-02-02 14:22:17 +08:00
Ascrod aaa9fc180a Pale Moon: Use file path for bookmarks import/export. 2019-02-01 21:08:39 -05:00
trav90 a31b9e067c Update HSTS preload list
Tag #447
2019-01-31 08:50:29 -06:00
wolfbeast 278eda6a09 Set incremental GC slice to 20 ms duration 2019-01-31 14:55:30 +01:00
Moonchild 6edfc0a201 Merge pull request #954 from MoonchildProductions/TychoEME-work
[TychoAM] Fix GMP* so that EME works in Basilisk
2019-01-31 14:54:57 +01:00
Moonchild fecab2c542 Merge pull request #952 from adeshkp/remove-telemetry-js
Remove telemetry leftovers from JS engine.
2019-01-31 14:49:35 +01:00
Matt A. Tobin aa28523a55 Only state the stop notification for JSDownloads in nsWebBrowserPersist::EndDownload 2019-01-31 07:35:32 -05:00
wolfbeast dcc5d6a782 Revert "Fix bookmarks backup logic."
This reverts commit 99f5afe64b.
2019-01-30 23:22:11 +01:00
adeshkp 493c956d8d Remove telemetry leftovers from JS engine. 2019-01-30 13:56:07 -05:00
wolfbeast efac6cc1cc [AM] Remove spurious warning for staged cleanup.
This fixes #773.
2019-01-30 13:42:47 +01:00
wolfbeast e4a3b28c80 [AM] Remove spurious warning for staged cleanup.
This fixes #773.
2019-01-30 13:42:09 +01:00
Matt A. Tobin a606410ba9 [TychoAM] Fix GMP* so that EME works in Basilisk
Also, keep WebExAM working for the moment
2019-01-29 10:48:41 -05:00
Andrew McCreight 888fbacfe0 Increase slice time for longer running CCs.
If a CC takes too long (around 50 slices) or gets interrupted by a GC,
we have to finish it synchronously, which can cause a big pause.
This patch tries to avoid that by eagerly increasing the slice budget
the longer a CC goes on. It linearly increases the slice time from 5ms
to 40ms as we approach the halfway point of a CC (1 second), matching
GC pauses, and then leaves it at 40ms.
2019-01-29 13:36:19 +01:00
wolfbeast babedf6c69 Increase purple limit triggers for CC.
Making these much larger to allow more purple buffer buildup
and prevent overzealous cycle collection on purple buffer pressure.
2019-01-29 12:19:14 +01:00
wolfbeast 1a04d73a12 Merge branch 'master' into cycle_collector-work 2019-01-29 09:40:44 +01:00
Moonchild 7f992d50e4 Merge pull request #948 from trav90/media-work
Always treat composition time offsets as signed
2019-01-29 03:26:02 +01:00
David Teller b55d41c240 Reduce number of allocations in AutoStopwatch
This patch fixes two related issues.
1. The AutoStopwatch uses a stack-allocated `mozilla::Vector` to
communicate with its callback during each compartment switch.
This vector was designed to allow its contents to be stack-allocated
but they turned out to be accidentally heap-allocated.

2. During each tick, the stopwatch fills a vector `recentGroups_`.
This vector always started with minimal capacity and had to grow
repeatedly as groups were added, causing repeated reallocations.
This patch preallocates `recentGroups_` to have the same capacity as the
previous tick. We expect that this should eventually reach a stable size
that closely matches the actual needs of the process.
2019-01-29 03:11:39 +01:00
wolfbeast abcaa560fc Revert "Reduce number of allocations in AutoStopwatch"
This reverts commit 3476c1d60e.
2019-01-29 00:40:24 +01:00
David Teller 3476c1d60e Reduce number of allocations in AutoStopwatch
This patch fixes two related issues.
1. The AutoStopwatch uses a stack-allocated `mozilla::Vector` to
communicate with its callback during each compartment switch.
This vector was designed to allow its contents to be stack-allocated
but they turned out to be accidentally heap-allocated.

2. During each tick, the stopwatch fills a vector `recentGroups_`.
This vector always started with minimal capacity and had to grow
repeatedly as groups were added, causing repeated reallocations.
This patch preallocates `recentGroups_` to have the same capacity as the
previous tick. We expect that this should eventually reach a stable size
that closely matches the actual needs of the process.
2019-01-28 23:41:20 +01:00
wolfbeast e82fdef9c7 [PALEMOON] Remove some dead code from browser glue
(plugin update service)
2019-01-28 15:58:01 +01:00
wolfbeast 2cbbc5de45 [BASILISK] Align browser glue with TychoAM for enableable add-ons. 2019-01-28 15:56:37 +01:00
trav90 bed24fdb77 Always treat composition time offsets as signed
Even for version 0 ctts atoms that technically should contain only
unsigned values.
2019-01-28 08:52:36 -06:00
wolfbeast 2e581f48e5 Remove remote add-on debugging control. 2019-01-28 15:36:46 +01:00
wolfbeast d6a2deb0c5 Add nullcheck for addons (pre-installed webextensions return null)
Tag #937.
2019-01-28 15:33:57 +01:00
Moonchild 2d43b6eee4 Merge pull request #945 from FranklinDM/audioindicator-lwtheme-fix
Only use white audio indicator when using a lightweight theme
2019-01-28 01:14:54 +01:00
FranklinDM b39e0b131c Only use white audio indicator when using a lightweight theme [pinned tabs] 2019-01-27 17:02:57 +08:00
FranklinDM 46958a2aa3 Only use white audio indicator when using a lightweight theme 2019-01-26 11:47:53 +08:00
wolfbeast 322d0be583 Fix incorrect file reference in onDownloadDragStart
Follow-up to Janek's port in 462332eee0
where this variable was changed creating a mismatch with surrounding
code.

This fixes #943.
2019-01-25 12:13:24 +01:00
wolfbeast 99f5afe64b Fix bookmarks backup logic.
This is a follow-up to an incomplete patch submitted to Tycho:
https://github.com/MoonchildProductions/Pale-Moon/pull/1082

Also reduces the idle time before attempting to backup in the background
to 10 minutes (was 15).
2019-01-24 17:36:43 +01:00
wolfbeast ef75531aa8 [BASILISK] Disable WebEx support. 2019-01-21 23:32:37 +01:00
wolfbeast 8dd8df90b9 Check for contiguous buffer state.
When we are reading large image data (i.e.: people using webp to stream
video instead of the native webm format; I'm looking at you, Giphy!)
we can run into the situation where the available data is not in a
contiguous buffer, and we need to either buffer additional data or
re-buffer from the start. If we don't do this, we can run into issues
because of buffer over-reading (causing corrupted data if allocated or
more likely crashes if not allocated).
Re-buffering is expensive, but this should be rare and limited to
dealing with unintended use for animated image formats.

This resolves #940.
2019-01-21 15:56:16 +01:00
wolfbeast 87bef3e99e Make Sourcebuffer::AppendFromInputStream handle canceled image loads. 2019-01-21 14:02:56 +01:00
wolfbeast 64d65e096b Make resuming of decoding work for anonymous decoders. 2019-01-21 13:58:20 +01:00
wolfbeast d1a0bfe221 Update libwebp to version 1.0.2
This resolves #939.
2019-01-21 13:09:32 +01:00
wolfbeast 9a954e2d16 Properly camelCase dom.intersectionObserver.enabled pref. 2019-01-19 22:06:35 +01:00
wolfbeast 5ef0018a56 Revert "Disable IntersectionObserver API because of crashes."
This reverts commit ac1beef5c1.
2019-01-19 16:26:35 +01:00
wolfbeast 9adcf4429d Actually unlink targets from registered intersection observers.
When a node is released/removed, and it has an intersection observer
attached to it, that observer should be unlinked at the time of release.

This resolves #935.
2019-01-19 11:36:47 +01:00
wolfbeast ac1beef5c1 Disable IntersectionObserver API because of crashes.
See #934 and #935.
2019-01-19 11:18:41 +01:00
wolfbeast 1f9ab3a6e6 Remove NS_IMPL_CYCLE_COLLECTION_TRAVERSE_SCRIPT_OBJECTS 2019-01-18 22:43:29 +01:00
wolfbeast 978f50dda9 Consolidate tracing and traversing. 2019-01-18 21:09:15 +01:00
wolfbeast 082c0d2185 Merge branch 'master' of https://github.com/MoonchildProductions/UXP 2019-01-18 19:10:12 +01:00
wolfbeast ef8a5dca4f Rewrite IntersectionObserver list handling to be more robust.
Tag #935.
2019-01-18 19:09:30 +01:00
Moonchild 01ad6e7451 Merge pull request #931 from Ascrod/master
Fix option for disabling HSTS in Pale Moon
2019-01-18 05:28:19 +01:00
Ascrod a74b093471 Fix check for HSTS when service is disabled. 2019-01-17 18:18:49 -05:00
wolfbeast f6ef8d8ca7 Add isIntersecting property to IntersectionObserverEntry.
Per updated spec.

This resolves the issue raised in #249.
2019-01-17 19:02:50 +01:00
wolfbeast a20daf64bf New cycle version bump 2019-01-17 12:41:36 +01:00
wolfbeast 58f7552548 Improve toolbar icons for all DPIs
Tag #576.

- Redraw toolbar SVG images, pixel-aligning them as best as possible
  with manual node placement on the pixel grid.
- Reintroduce PNG versions for < 1.33 dppx (with added glow arrow)
- Make the css adaptive around the 1.33 dppx border, using PNG below
  that threshold and SVG above it.
2019-01-17 11:41:50 +01:00
Ascrod 1b9accd6fa [PALEMOON] Fix the option to disable HSTS. 2019-01-16 19:34:23 -05:00
Ascrod 3afb818f20 Add preference for fully disabling HSTS. 2019-01-16 19:33:09 -05:00
wolfbeast db15a3fdb7 [PALEMOON] Add captive portal preference to the UI.
Tag #860
2019-01-16 01:57:41 +01:00
wolfbeast 2ab82d7fc9 Add matching browser.newtab.choice pref to prevent error. 2019-01-16 01:56:19 +01:00
wolfbeast 41e07182f7 [PALEMOON] Move Advanced prefs l10n strings to their proper place 2019-01-16 01:55:31 +01:00
wolfbeast 3e109856af [PALEMOON] Clean up advanced prefs XUL
Remove commented out old Firefox prefs that haven't been used in a
loon while and aren't going to be reinstated.
2019-01-16 01:53:51 +01:00
wolfbeast c80c9cc402 [WebExAM] Use proper application name in WebExtension API error message. 2019-01-14 23:00:32 +01:00
Moonchild fb1d4c9712 Merge pull request #929 from adeshkp/remove-telemetry-stubs
Telemetry: Remove stubs and related code
2019-01-14 20:21:16 +01:00
adeshkp 6335404642 Make AllowExperiments return false as it is not useful without telemetry 2019-01-14 09:37:50 -05:00
adeshkp acf1406e0e Remove a pointless switch after telemetry cleanup 2019-01-14 09:32:12 -05:00
adeshkp 09a81ba9b6 Remove unused telemetry timer from HTMLMediaElement.h 2019-01-14 03:20:28 -05:00
adeshkp 5335681cd2 Telemetry: Remove stubs and related code 2019-01-12 06:20:31 -05:00
wolfbeast f38edc94a3 Update basilisk blocklist header. 2019-01-09 14:44:44 +01:00
wolfbeast c0a05ada18 Align Element.ScrollIntoView() with the spec.
This also removes the (unused) shadow alias from nsIDOMHTMLElement
which used the different calling convention.

This resolves #927
2019-01-08 17:35:24 +01:00
wolfbeast e8cebef9d2 Fix library window reference to SVG toolbar image.
Tag #576.
This needs uplift to the relbranch.
2019-01-07 14:20:21 +01:00
Moonchild 9f4afc2552 Merge pull request #926 from JustOff/PR_WebExAM_addon.name
[WebExAM] Properly handle the add-on name in case it's localized
2019-01-06 15:07:37 +01:00
JustOff 6a97d9db02 [WebExAM] Properly handle the add-on name in case it's localized 2019-01-06 13:38:08 +02:00
wolfbeast 9e2bf83167 Expose hidden preference to disable Page Thumbnail generation.
This resolves #906.
2019-01-06 03:27:44 +01:00
wolfbeast 7fcb7f5446 Remove proprietary constructor on AudioContext.
This is a B2G leftover, was proprietary, and is causing issues
because `AudioContext` can now have a parameter that is a property bag,
per spec (we do not do anything with the property bag now; the audio
back-end will use automatic values for everything).

This resolves #924.
2019-01-04 16:18:03 +01:00
wolfbeast dfce7fa7b6 Make MAX_CSS_VAR_LENGTH unsigned to avoid warnings.
Follow-up for #891. Tag #457.
2019-01-04 16:03:13 +01:00
trav90 483267ba97 Update HSTS preload list
Tag #447
2019-01-02 16:41:46 -06:00
wolfbeast f543892e44 Use getElementBoundingRect and element.ownerGlobal in FormSubmitObserver 2019-01-02 17:15:29 +01:00
wolfbeast da0d462d65 Update UXP Coding Style guideline document (WIP) 2019-01-02 12:42:56 +01:00
wolfbeast 7a22921c2b Update UXP Coding Style guideline document (WIP) 2019-01-02 11:56:11 +01:00
wolfbeast eec3d00bb3 Update UXP Coding Style guideline document (WIP) 2019-01-02 11:05:16 +01:00
wolfbeast 517f502980 Add Comodo IS < 6.3 64-bit to the dll blocklist 2019-01-02 11:04:50 +01:00
wolfbeast 8a10092b53 Dont rely on 'this' staying alive long enough for getting favicons.
This fixes #809.
2019-01-02 00:24:43 +01:00
Moonchild 78ad9498a2 Merge pull request #917 from janekptacijarabaci/_testBranch_pm_downloads_rewrite
Rewrite Pale Moon FE downloads handling
2018-12-31 22:58:47 +01:00
Moonchild bcf3df3627 Merge pull request #920 from JustOff/PR_nsIBrowserSearchService_async_init_2
[PALEMOON] Initialize the search service asynchronously when calling 'BrowserSearch.addEngine()'
2018-12-31 22:57:13 +01:00
Moonchild 626d40774e Merge pull request #922 from trav90/media-work
Avoid redefined macro warning in MediaFormatReader
2018-12-31 22:56:49 +01:00
trav90 7a39cd52e5 Avoid redefined macro warning in MediaFormatReader 2018-12-31 09:16:10 -06:00
Moonchild 5920c1dc65 Merge pull request #921 from trav90/media-work
Use new decode API with recent FFmpeg version
2018-12-29 20:54:57 +01:00
trav90 68acfbb14b [FFmpeg] Don't define AV_CODEC_ID_VPx with libavcodec 58 2018-12-28 19:49:47 -06:00
trav90 515e0794f8 [FFmpeg] Use new decode API with recent FFmpeg version.
In libavcodec 58 and later, the old avcodec_decode_video2 is broken and only return the first visible frame found after a VP9 super-frame.
2018-12-28 17:51:55 -06:00
wolfbeast 83cd9661c2 Add UXP Coding Style guideline document (WIP) 2018-12-26 18:15:20 +01:00
JustOff accd61429e [PALEMOON] Initialize the search service asynchronously when calling 'BrowserSearch.addEngine()' 2018-12-26 13:48:49 +02:00
wolfbeast 202e78b731 Add performance warnings to Deprecated module.
Adds a dedicated handler for performance warnings to be logged to
consoles if known performance-impacting methods are called.
Search service init is changed from a deprecation warning to a
performance warning for synchronous init.
This also re-enables the warning for the Basilisk & Co. search service
initialization which was previously removed in [a930a79]

See also the discussion on #916.
2018-12-24 05:06:54 +01:00
wolfbeast 3cf7e874fe Fix crashiness of IntersectionObservers.
Mozilla hashtables -still- suck.
2018-12-24 01:58:16 +01:00
Moonchild bfedd7d40c Merge pull request #919 from JustOff/nsIBrowserSearchService_async_init
[PALEMOON] Initialize the search service asynchronously from 'about:home' and 'about:newtab'
2018-12-23 22:06:41 +01:00
JustOff cb2f0f6143 [PALEMOON] Initialize the search service asynchronously from 'about:home' and 'about:newtab' 2018-12-23 22:47:45 +02:00
wolfbeast 4319edc1a6 Re-enable intersection observers with WD spec patches.
This resolves #249
2018-12-22 15:02:49 +01:00
wolfbeast 7771a8716d [intersection-observer] Calculate areas using int64_t.
Tag #249
2018-12-22 14:59:46 +01:00
wolfbeast 85d43d68bb Fix singed/unsigned type confusion for intersection threshold.
Tag #249
2018-12-22 14:35:26 +01:00
wolfbeast fa97cddb39 Use content area as the intersection rectangle ...
... for custom root with overflow clip.
Tag #249
2018-12-22 14:34:42 +01:00
wolfbeast 6cfd7509c7 Map intersectionRect to the coordinate space of the target document.
Spec says: "Map intersectionRect to the coordinate space of the
viewport of the Document containing the target."
Tag #249
2018-12-22 14:10:14 +01:00
wolfbeast 0626e1cef0 Use targetFrame->GetRectRelativeToSelf() as the initial intersection rect.
Tag #249.
2018-12-22 07:33:31 +01:00
wolfbeast 107a68cb1d Intersection ratio should be 1.0 for zero-area intersections.
Tag #249
2018-12-22 06:30:39 +01:00
wolfbeast c9d920e9c6 Revise lifetime management of IntersectionObservers.
Tag #249
2018-12-22 02:15:50 +01:00
wolfbeast ba81aaf073 Replace status bar download overlay glow arrow with SVG.
Also remove the now no longer used png.
Resolves #576.
2018-12-21 16:31:00 +01:00
wolfbeast 76c942b1d6 Return an empty set if getting recipes for host fails.
This avoids errors when _recipeManager is not (yet) available.
This resolves #496.
2018-12-21 14:14:15 +01:00
Moonchild e91f221f2e Merge pull request #914 from JustOff/PR_preprocessor_fix
Fix false positives in the preprocessor-checker
2018-12-18 23:44:57 +01:00
wolfbeast aa771e77e2 Update SQLite lib to 3.26.0 2018-12-18 19:00:58 +01:00
wolfbeast d24869a157 Make sure channel-prefs.js is packaged into MAR files. 2018-12-18 14:18:49 +01:00
JustOff b7fac3839a Fix false positives in the preprocessor-checker 2018-12-18 14:08:08 +02:00
wolfbeast 51b821b3fd Merge branch 'master' into Sync-weave 2018-12-17 14:12:04 +01:00
wolfbeast 8e44bbb437 Stub out FxA context menu functions.
Tag #812
2018-12-17 14:11:44 +01:00
wolfbeast 680c3eadb6 Merge branch 'master' of https://github.com/MoonchildProductions/UXP 2018-12-17 03:52:14 +01:00
wolfbeast 6f3a1803c2 Stub out FxA context menu functions.
Tag #812
2018-12-17 03:51:39 +01:00
Moonchild 7457ca4ac1 Merge pull request #911 from trav90/code-cleanup
Remove AndroidMediaDecoder
2018-12-16 19:29:23 +01:00
wolfbeast ff8b573a67 Stop including a dummy dll on Windows for broken old versions of WebSense.
WebSense has moved to an extension solution instead of dll injection, so
this dummy dll (for blocking injection) is no longer necessary.
2018-12-16 16:03:31 +01:00
trav90 5104ad6acf Remove omx-plugin 3rd party libs 2018-12-16 08:06:38 -06:00
trav90 ea6cc74f2e Remove OMX related options from configure 2018-12-16 08:05:21 -06:00
wolfbeast 8b017fb099 Merge branch 'master' of https://github.com/MoonchildProductions/UXP 2018-12-16 15:02:58 +01:00
trav90 ec23469670 Remove AndroidMediaDecoder and friends
They are no longer supported and don't work with newer Android versions anyway.
2018-12-16 08:02:30 -06:00
wolfbeast d0b9276f20 Issue #910 part 3. Throw SyntaxError from Location::SetProtocol on URI parse failures. 2018-12-16 14:50:28 +01:00
wolfbeast 871c1d78ce Issue #910 part 2. Strip ':' and anything following it from the string passed to the location.protocol setter. 2018-12-16 14:37:40 +01:00
wolfbeast aa130641c2 Issue #910 part 1. Don't navigate when location.protocol is set to anything other than http or https. 2018-12-16 13:09:21 +01:00
trav90 f0fe6b69db Update HSTS preload list
Tag #447
2018-12-15 17:51:30 -06:00
wolfbeast c2478b9e14 Clobber for NSPR+NSS update 2018-12-15 01:43:17 +01:00
wolfbeast 74cabf7948 Update NSS to 3.41 2018-12-15 01:42:53 +01:00
wolfbeast 09ef48bd00 Update NSPR to 4.20 2018-12-15 01:40:18 +01:00
wolfbeast 023af95abe Make HTMLOptionsCollection::mSelect into a strong reference.
The cycle collector makes weak references like this obsolete.
2018-12-14 15:08:52 +01:00
wolfbeast fea96b4527 Do not report resource-timing subdocument loads triggered by that subdocument. 2018-12-14 12:50:01 +01:00
wolfbeast 2e69b03ddd Prevent double free in mar_sign.c 2018-12-13 22:15:37 +01:00
wolfbeast e80c736023 Avoid overflow in nsPNGEncoder::WriteCallback. 2018-12-13 19:48:31 +01:00
wolfbeast b62191e06e Bump Goanna version for layout code changes. 2018-12-13 14:08:40 +01:00
wolfbeast a2638c7b2f Clear CanvasShutdownObserver::mCanvas when the canvas goes away.
This is fallout from Bug 1167235 - Use a fast method of double buffering for canvas.

It is possible for the CanvasRenderingContext2D to be destroyed while we're in the
middle of the call to nsObserverService::NotifyObservers() for shutdown.
This leaves the shutdown observer with a dangling pointer to the canvas, so this
patch explicitly clears the pointer when the context goes away.
2018-12-13 14:08:12 +01:00
wolfbeast d2d0044421 Avoid useless FrameNeedsReflow call. 2018-12-13 13:54:51 +01:00
wolfbeast 99b534f23d Restrict ExtractLinearSum to find non-wrapping results. 2018-12-13 12:24:17 +01:00
wolfbeast 195b9d8780 Root parameter dictionaries in AesTask::Init(). 2018-12-13 12:04:18 +01:00
wolfbeast 42766ad06f Use canonical function in TypeNewScript::rollbackPartiallyInitializedObjects. 2018-12-13 11:34:00 +01:00
Moonchild bc8a25f5e3 Merge pull request #898 from MoonchildProductions/Sync-weave
Remove FxA Phase 1
2018-12-12 11:01:48 +01:00
wolfbeast f2d4bd1e39 Fix mistakingly flagged instructions.
This enables optimizations which were wrongly inhibited before by this typo.
2018-12-12 00:49:58 +01:00
wolfbeast 67d5558f1a Clear weak pointers in FT2 font list shutdown observers. 2018-12-12 00:18:43 +01:00
wolfbeast 4f7e431137 Clear weak pointers in VTT shutdown observers. 2018-12-11 23:17:50 +01:00
wolfbeast 5639e1ddd2 Update Dropbox UAO 2018-12-11 21:54:57 +01:00
wolfbeast 9697bfa68f Merge branch 'master' into Sync-weave 2018-12-10 16:59:13 +01:00
wolfbeast 7d398710be Remove non-functional removal summary from quota dialog. 2018-12-10 12:28:06 +01:00
wolfbeast 5df97df2fc Restore quota view/warnings to Basilisk. 2018-12-10 12:27:23 +01:00
Moonchild fbbda481dc Merge pull request #902 from trav90/media-work
Remove the old MP3Parser and reorganize remaining MP3 code
2018-12-09 17:28:47 +01:00
Moonchild d01a5b10f1 Merge pull request #901 from trav90/code-cleanup
Remove unused files from media gtests
2018-12-09 17:27:56 +01:00
Moonchild 1fd53c96ef Merge pull request #903 from trav90/issue900
Only disallow lazy frame construction for direct children of display:…
2018-12-09 17:27:36 +01:00
trav90 96258a022a Only disallow lazy frame construction for direct children of display: contents elements 2018-12-09 09:45:24 -06:00
trav90 45f442a2a0 Add missing #include 2018-12-08 23:13:55 -06:00
trav90 8a9362ff04 Move the MP3 code to it's own directory 2018-12-08 16:30:00 -06:00
trav90 6b6a28ddb0 Remove separate MP3 name space
It is no longer needed.
2018-12-08 16:29:04 -06:00
trav90 eb6fdca18b Remove the old MP3FrameParser
All former users of the old MP3 parsing code are gone, so we can now just remove the parser itself as well.
2018-12-08 16:28:34 -06:00
trav90 9ba2b33da4 Remove files and comments related to MP4Reader
The MP4Reader no longer exists in the tree.
2018-12-08 15:51:28 -06:00
trav90 d6867e583c Remove Rust files from media gtests 2018-12-08 15:43:58 -06:00
wolfbeast 09cf173394 Fix incorrect preference reference in feed reader. 2018-12-07 02:09:34 +01:00
wolfbeast 3411dd5723 Add an option to process favicons.
This optimizes the size for UI display and strips animations.
Default disabled. This resolves #899.
2018-12-06 22:23:58 +01:00
wolfbeast 93705a7d00 Stop feeding a Firefox compat mode to AMO.
Since AMO has removed all "legacy" extensions, they do not offer anything compatible with us any longer.
We send the native UA to them from now on to always have it respond with "Only with Firefox".
2018-12-06 11:52:41 +01:00
wolfbeast dd13d3ac41 Juggle some strings. 2018-12-03 17:12:34 +01:00
wolfbeast b4cc0a062e Revert "Restore missing broadcaster strings"
This reverts commit 11d1af7af1.
2018-12-03 17:08:38 +01:00
Moonchild b07aad3536 Merge pull request #897 from trav90/telemetry-cleanup
Remove MediaTelemetryConstants
2018-12-03 02:29:32 +01:00
Moonchild f7430355ed Merge pull request #896 from trav90/media-work
Clear HAVE_LINUX_PERF_EVENT_H defines in ffvpx config before setting …
2018-12-03 02:28:26 +01:00
Moonchild 8d553fef63 Merge pull request #895 from trav90/code-cleanup
Remove DirectShowReader
2018-12-03 02:26:03 +01:00
wolfbeast aaaa4564b6 [BASILISK] Make CUI's PanelUI work with Weave. 2018-12-02 22:26:33 +01:00
trav90 b78915e46c Remove MediaTelemetryConstants 2018-12-02 09:47:20 -06:00
wolfbeast caba7e406d [BASILISK] Make Basilisk front-end use Weave 2018-12-01 23:40:09 +01:00
Matt A. Tobin d3e5569ee1 [PALEMOON] Complete making Sync optional at build time - Part 2: Packaging 2018-12-01 16:39:51 -05:00
Matt A. Tobin e5e21699ca [PALEMOON] Complete making Sync optional at build time 2018-12-01 16:26:26 -05:00
trav90 1f8a1f3fdb Clear HAVE_LINUX_PERF_EVENT_H defines in ffvpx config before setting them for lib use 2018-12-01 13:42:38 -06:00
trav90 caabbb2a09 Remove DirectShowReader Part 4: Tests 2018-12-01 09:42:39 -06:00
trav90 f2723fc8bf Remove DirectShowReader Part 3: Directories 2018-12-01 09:40:13 -06:00
trav90 b867c50ee6 Remove DirectShowReader Part 2: Build system 2018-12-01 09:38:51 -06:00
trav90 f68b57c0bd Remove DirectShowReader Part 1: Conditional code 2018-12-01 09:35:02 -06:00
wolfbeast f8e83e7e6d Limit the CSS string length for resolved variables to sane values.
This resolves #891
2018-12-01 12:05:45 +01:00
wolfbeast 11d1af7af1 Restore missing broadcaster strings 2018-12-01 10:52:57 +01:00
Moonchild d7bb175713 Merge pull request #892 from binaryoutcast/pmTreeCleanup
PR to resolve #889 - Clean up the Pale Moon tree
2018-11-30 22:02:01 +01:00
Matt A. Tobin 2fa90d9b38 Issue #889 - Clean up the Pale Moon tree - Part 2b: Make jar.mn consistent 2018-11-30 13:35:09 -05:00
Matt A. Tobin 7406a31bca Issue #889 - Clean up the Pale Moon tree - Part 2a: Make moz.build consistent 2018-11-30 12:55:21 -05:00
wolfbeast c09487c09c [BASILISK] Enable the "legacy" panels for the sync preferences. 2018-11-30 18:41:04 +01:00
Matt A. Tobin ac6c6be1ca Issue #889 - Clean up the Pale Moon tree - Part 1d: Move sync to components 2018-11-30 12:06:57 -05:00
wolfbeast 1bfe172f73 Fix status.js 2018-11-30 18:04:47 +01:00
Matt A. Tobin a801955d68 Issue #889 - Clean up the Pale Moon tree - Part 1c: Move pageinfo to components 2018-11-30 11:55:54 -05:00
Matt A. Tobin 6acc5f9128 Issue #889 - Clean up the Pale Moon tree - Part 1b: Move newtab to components 2018-11-30 11:16:26 -05:00
Matt A. Tobin 71737d61f7 Issue #889 - Clean up the Pale Moon tree - Part 1a: Move abouthome to components 2018-11-30 11:02:36 -05:00
Matt A. Tobin 26f7e0ce36 Issue #890 - Port cpp aboutRedirector to javascript 2018-11-30 10:33:08 -05:00
wolfbeast 5ec8aef6cb Remove FxA BrowserIDManager auth 2018-11-30 14:01:51 +01:00
wolfbeast 07f9cb8681 TPS logging: use app name 2018-11-30 11:16:13 +01:00
wolfbeast 9c966a087f Remove fxAccountsEnabled() 2018-11-30 11:15:22 +01:00
wolfbeast c11450651f Remove get/setFxAMigrationSentinel 2018-11-30 11:01:29 +01:00
wolfbeast b3586bb4b7 Remove telemetry calls from sync 2018-11-30 11:00:54 +01:00
wolfbeast 3d2dbf279f Remove healthreport telemetry module from Sync + tests 2018-11-30 08:45:46 +01:00
wolfbeast e156a64a5b Remove FxaMigrator module 2018-11-30 08:36:28 +01:00
wolfbeast f852055159 Bump Weave client version 2018-11-30 06:42:50 +01:00
wolfbeast 9a673b996e Merge branch 'master' into Sync-weave 2018-11-30 06:40:10 +01:00
wolfbeast da447504dd Update GMP AUS URL 2018-11-30 06:39:36 +01:00
wolfbeast 1bf68529f1 Merge branch 'master' of https://github.com/MoonchildProductions/UXP 2018-11-29 16:14:05 +01:00
wolfbeast e2d0c96a97 Fix typo for Firefox compatmode prefs.
Fixes regression from ec2e3bc027
2018-11-29 16:13:32 +01:00
Moonchild b585dad9be Merge pull request #886 from JustOff/PR_sanitize_findbar
[PALEMOON] Make Clear Recent History work with restored global Findbar
2018-11-29 00:47:48 +01:00
wolfbeast 088c3cf890 Merge branch 'master' into Sync-weave 2018-11-28 23:10:30 +01:00
JustOff 3e89a288d7 Revert "[PALEMOON] Sanitize - "Form and search history" sanitize also the Findbar text and history (Ctrl-Z)"
This reverts commit a97887a677.
2018-11-28 17:45:20 +02:00
Matt A. Tobin fe11e14d3c [TychoAM] Give the second <hbox> an ID so it can be targeted in extensions.xul 2018-11-27 17:05:46 -05:00
trav90 3eef7ab260 Update HSTS preload list
Tag #447
2018-11-27 07:32:12 -06:00
wolfbeast 2f954010c4 Remove VR Hardware input support (gamepad type)
This resolves #881
2018-11-27 12:28:56 +01:00
wolfbeast 7504ca8ab4 Remove VR hardware support.
This resolves #881
2018-11-26 16:41:20 +01:00
Moonchild 083c6b7b99 Merge pull request #879 from trav90/code-cleanup
Remove leftover gonk bits in /dom/media
2018-11-24 15:24:12 +01:00
wolfbeast b37e8f87c4 Fix debug assertion.
See: https://github.com/MoonchildProductions/UXP/commit/622098073e132995994fac4d61e3629d08ee1801#commitcomment-31390051
2018-11-22 12:12:58 +01:00
wolfbeast a3da925495 Merge branch 'webp-update' 2018-11-21 16:28:53 +01:00
trav90 4c8c14a712 Remove OMX_PLATFORM_GONK 2018-11-21 08:51:13 -06:00
trav90 513bf1b683 Remove remaining MOZ_GONK_MEDIACODEC code 2018-11-21 08:44:16 -06:00
wolfbeast 25f4c75d68 Fix blank pixel color for truncated GIFs 2018-11-21 14:22:29 +01:00
wolfbeast a51993521f Split out FrameTimeout into its own header file for re-use. 2018-11-21 14:08:47 +01:00
wolfbeast 5b821064f2 Unrefactor mRawVeggies back to mVBuffMeat ;P
(mRawSurface -> mVBuf)
2018-11-21 14:08:00 +01:00
wolfbeast b9003c9c5d Fix pasta error 2018-11-21 14:03:16 +01:00
wolfbeast 3417e581ce Bug 1462355 - Part 1c. Make individual image decoders to use updated Decoder/SurfacePipe methods.
Extend this change to nsWebPDecoder.cpp
2018-11-21 13:34:01 +01:00
wolfbeast 622098073e Bug 1462355 - Part 1b. Update Decoder and SurfacePipe plumbing to use updated imgFrame methods. 2018-11-21 12:57:17 +01:00
wolfbeast 807acf738f Bug 1462355 - Part 1a. Make imgFrame animation parameters threadsafe.
We currently choose to set the animation parameters (blend method, blend
rect, disposal method, timeout) in imgFrame::Finish instead of
imgFrame::InitForDecoder. The decoders themselves already have access to
the necessary information at the time InitForDecoder is called, so there
is no reason to do this. Moving the configuration to initialization will
allow us to relax the mutex protection on these parameters.

This part simply reorganizes imgFrame, and subsequent parts will
introduce the necessary changes to SurfacePipe and decoders.
2018-11-20 20:38:49 +01:00
wolfbeast 238b430ec0 Port WebP decoder changes.
This breaks animated WebP for the moment, but adds QCMS color management and lexer changes.
Tag #831
2018-11-20 19:59:25 +01:00
Moonchild 6a9c2be4ea Update package.json
Update request version dependency
2018-11-20 11:10:18 +01:00
wolfbeast 2c0a30185f Add a nullcheck on pipelined HTTP connections' pushback. 2018-11-20 09:17:31 +01:00
wolfbeast a6b9afbeef Merge branch 'master' of https://github.com/MoonchildProductions/UXP 2018-11-19 21:03:33 +01:00
wolfbeast 9ce2c56e16 Belated new cycle version bump 2018-11-19 21:03:10 +01:00
Moonchild 025b913751 Merge pull request #874 from FranklinDM/sound_indicator-work
Add mute/media playing indicator to tabs
2018-11-19 19:15:48 +01:00
wolfbeast 4fd1385943 Strip Inkscape data from toolbar SVGs and remove obsolete PNGs.
Tag #576
2018-11-19 13:20:07 +01:00
Moonchild be53c078d2 Merge pull request #873 from JustOff/PR_bm_folders_copy_paste
[PALEMOON] Align the places component with the updated PlacesUtils API
2018-11-19 11:49:06 +01:00
Moonchild f4908ce993 Merge pull request #876 from trav90/add-av1-support
Add support for AV1 in MP4 container
2018-11-19 11:48:48 +01:00
Moonchild 181e757283 Merge pull request #877 from trav90/code-cleanup
Cleanup some comments in our media code.
2018-11-19 11:48:28 +01:00
trav90 011ec4885e Cleanup some comments in our media code. 2018-11-18 21:59:15 -06:00
wolfbeast a5bdec9a68 Replace toolbar PNG bitmaps with SVG vectors.
This makes the main toolbar icon set use SVG vector images, so they are prepared for HiDPI use.
The download indicator "attention" state (green arrow) has been folded into the main toolbar image.
This is a direct replacement of the previous images (and not separate icon files) to have a direct drop-in replacement for the previously used files.

Tag #576
2018-11-19 01:47:32 +01:00
trav90 56c26d8674 Add AV1 support to MP4Decoder. 2018-11-18 13:10:11 -06:00
trav90 4d8b7a376f Add support to libstagefright for AV1 FourCCs (part 2) 2018-11-18 13:02:19 -06:00
FranklinDM af0164310d Hide mute menu item and disable mute hotkey with existing pref 2018-11-18 15:38:15 +08:00
FranklinDM a681891e66 Fix undefined isSameDocument 2018-11-17 21:49:36 +08:00
FranklinDM 61b21c8083 Follow-up: Add missing getTabFromAudioEvent method 2018-11-17 19:17:20 +08:00
FranklinDM deb4791e21 Issue #638 - Part 10: Rename all tabs sound icon to be consistent with others
- alltabs => allTabs
2018-11-17 12:11:34 +08:00
FranklinDM fe4c12e2d6 Issue #638 - Part 9: Add sound icon to all tabs menu 2018-11-17 12:09:14 +08:00
FranklinDM a6b250b477 Issue #638 - Part 8: Add overlay sound icon for pinned tabs
- This also moves some styles to tabbrowser.css
2018-11-17 10:55:10 +08:00
FranklinDM 66cc7d91a4 Issue #638 - Part 7: Remove hover and active states for sound indicator 2018-11-17 10:25:16 +08:00
JustOff b32323fae4 [PALEMOON] Align the places component with the updated PlacesUtils API 2018-11-16 21:57:07 +02:00
FranklinDM d56c1ceac5 Issue #638 - Part 6: Fix up remaining references
- Refactor _tabAttrModified to accept two parameters
- Modify consumers of _tabAttrModified to pass details
- Add missing _soundPlayingAttrRemovalTimer field
- Add missing checks for mute/unmute around the tab browser
- Tab sound icon should inherit 'selected' attribute instead of 'visuallyselected'
2018-11-16 23:22:42 +08:00
FranklinDM eff89e1c9d Issue #638 - Part 5: Add mute/unmute option to tab context menu 2018-11-16 22:58:46 +08:00
FranklinDM 719234847e Issue #638 - Part 4: Add tab sound icon to tab drop-down list 2018-11-16 22:40:59 +08:00
FranklinDM 15afe68079 Issue #638 - Part 3: Add a keyboard shortcut for toggling the tab mute state 2018-11-16 21:53:49 +08:00
FranklinDM ae48428aa3 Issue #638 - Part 2: Add tooltip to mute/unmute buttons 2018-11-16 21:40:17 +08:00
FranklinDM becd71a860 Issue #638 - Part 1: Provide a visual indicator for muting/unmuting tabs 2018-11-16 20:59:11 +08:00
trav90 df59d06fd3 Add support to libstagefright for AV1 FourCCs 2018-11-15 07:44:52 -06:00
wolfbeast c94825c861 Tell the cycle collector about nsScriptLoadRequest::mElement.
Not doing this can cause a leak because there is a cycle between the load request and the script element.
2018-11-15 13:32:25 +01:00
wolfbeast a748fde4cd Fix build bustage.
Tag #871
2018-11-15 09:29:51 +01:00
wolfbeast d8e3bde97d Merge branch 'master' of https://github.com/MoonchildProductions/UXP 2018-11-14 16:13:45 +01:00
wolfbeast 2db00388a3 Split the content viewer marking function in CCUncollectable out,
so a document-based marking function can be used separately.

Tag #871
2018-11-14 16:11:30 +01:00
Moonchild 3c342ab201 Merge pull request #869 from FranklinDM/sync_notification-work
[Pale Moon] Fix missing icon for Sync notifications
2018-11-14 13:51:16 +01:00
janekptacijarabaci 16e5a6bc2b [PALEMOON] Re-apply removal of unnecessary code (Findbar is no longer in the gBrowser)
This resolves #793
2018-11-14 13:48:56 +01:00
FranklinDM 46a5c51bf7 [Pale Moon] Sync notification widget's messageImage should inherit the 'type' attribute 2018-11-14 19:07:42 +08:00
Matt A. Tobin b199e3aa09 Issue #861 - The bookmark properties window should focus on the Name Picker text box on init 2018-11-14 04:42:22 -05:00
wolfbeast 3438b20bd7 Merge branch 'master' of https://github.com/MoonchildProductions/UXP 2018-11-14 09:52:37 +01:00
wolfbeast 0cded9cf5a Revert "[PALEMOON] Focus and select the first non-collapsed text element in the bookmark properties dialog"
This reverts commit e9a58eae57.

Tag #867
2018-11-14 09:51:45 +01:00
Matt A. Tobin 81c27113a3 [PALEMOON] Use generic application icon for external applications in about:feeds 2018-11-14 02:54:29 -05:00
Matt A. Tobin e3f4fe530a Revert "[PALEMOON] Use generic application icon for external applications in about:feeds"
This reverts commit c8d90e332f.
2018-11-14 02:50:09 -05:00
Matt A. Tobin c8d90e332f [PALEMOON] Use generic application icon for external applications in about:feeds 2018-11-14 02:41:19 -05:00
wolfbeast 9d2d304a60 Don't build internal updater by default and set default update channel to an inactive one. 2018-11-11 18:13:40 +01:00
wolfbeast f9e1e4639c Enable gamepad support by default in Basilisk.
Necessary because of changed platform default. See #794
2018-11-08 15:50:40 +01:00
wolfbeast ec5be3b4f1 Improve handling of MOZ_GAMEPAD and NECKO_WIFI
- Make gamepad support disabled by default
- Add switch for confvars use for NECKO_WIFI
- Ensure both can be set from confvars.sh

This resolves #794 (bis)
2018-11-08 15:44:08 +01:00
wolfbeast b84d9c12e3 Revert "Move MOZ_GAMEPAD* and NECKO_WIFI up"
This reverts commit 13ee68cbc6.
2018-11-08 15:25:03 +01:00
wolfbeast 13ee68cbc6 Move MOZ_GAMEPAD* and NECKO_WIFI up
This resolves #794
2018-11-08 11:52:41 +01:00
wolfbeast d5a1b34c05 Remove AccumulateCipherSuite()
This resolves #858
2018-11-08 11:32:49 +01:00
wolfbeast 5c83a18cde Update reported Firefox version in compatmode.
This resolves #864
2018-11-07 06:44:17 +01:00
wolfbeast 3c5a34c900 Back out problematic patch causing issue #865.
This reverts commit f62eee7c51.
Verified that a hardening patch landed after this already negates what this patch was a stopgap for, so we no longer need it at all.
2018-11-06 21:58:44 +01:00
wolfbeast a0a37ffd4a #863 Part 3: Add Pale Moon GUI options for Opportunistic Encryption. 2018-11-05 15:58:39 +01:00
wolfbeast d29d1cc84b #863 part 2: Make opportunistic encryption opt-in for UXP
This exposes the new pref and also sets the Alt-Svc pref for OE to false.
Basilisk gets a default opt-in for both to stay close to Firefox.
2018-11-05 15:51:39 +01:00
wolfbeast 512f78874a #863 Part 1: Make sending of http upgrade-insecure-requests optional
Defaults to false if not configured.
2018-11-05 15:48:49 +01:00
wolfbeast 79487a1a05 Backout opportunistic encryption changes.
Apparently there is some functional and naming confusion here.
Backing out to re-land after evaluation and possible changes.
Tag #863.
2018-11-04 23:39:37 +01:00
wolfbeast bb3f5cef32 Add GUI control to Pale Moon for opportunistic encryption.
Pale Moon part for #863.
2018-11-04 17:59:16 +01:00
wolfbeast 801382dd66 Swap default platform state for opportunistic encryption.
Tag #863
2018-11-04 17:50:52 +01:00
wolfbeast 359c9e5467 Change captive portal detection URL to our own. 2018-11-04 16:06:05 +01:00
wolfbeast 4a188c7b99 Make opportunistic encryption configurable.
This adds a pref "network.http.opportunistic-encryption" that controls whether
we send an "Upgrade-Insecure-Requests : 1" header on document navigation or not.
This patch modifies the platform network parts. Default for the platform is "true".
Part 1 for #863
2018-11-04 16:05:27 +01:00
wolfbeast 7eae711faa Clear STDINT_H defines in libvpx config before setting them for lib use. 2018-11-04 15:58:52 +01:00
Moonchild 0750ec552a Merge pull request #862 from JustOff/PR_editBookmarkOverlay_focus
[PALEMOON] Focus and select the first non-collapsed text element in the bookmark properties dialog
2018-11-03 20:06:59 +01:00
JustOff e9a58eae57 [PALEMOON] Focus and select the first non-collapsed text element in the bookmark properties dialog 2018-11-03 18:18:25 +02:00
wolfbeast 1d55939c7c Backport some upstream Skia patches.
Backport of:
https://skia.googlesource.com/skia/+/1e259cda4fb7f12e98dd611bd651f40ebef2d14a
https://skia.googlesource.com/skia/+/73be50da2a1fe8944f2623a511fda1957eed708a
2018-11-02 17:04:54 +01:00
wolfbeast cc234ff430 Add overflow checks for extending nsTArrays.
Surprisingly, this was previously not done.
Also, some of this code seems to be incorrect or,
at the very least, wasn't clear what it was trying to do.
2018-11-02 16:05:57 +01:00
wolfbeast 90a73cfe2a Ensure user input suppression works correctly even after document.open. 2018-11-02 12:14:40 +01:00
wolfbeast 030053f1a4 Backport some upstream Skia patches.
Backport of:
https://skia.googlesource.com/skia/+/c3d8a48f1b27370049aa512019cd726c59354743
https://skia.googlesource.com/skia/+/8051d38358293df1e5b8a1a513f8114147ec9fa3
2018-11-02 11:56:17 +01:00
wolfbeast f42d6c39fe Remove ancient workaround in client certificate code
Apparently a prehistoric server implementation would send a certificate_authorities field
that didn't include the outer DER SEQUENCE tag, so PSM attempted to detect this and
work around it.
This prehistoric server implementation isn't in use anywhere anymore, so this 18-yo
server bug workaround can be removed.
2018-11-02 11:39:21 +01:00
wolfbeast 617eb64830 Apply CheckedInt to infoLength for preventing it from overflowing in the future.
CheckedInt propagates the mIsValid in each add operation so that it avoids needing a bunch of code
for the overflow check in each add operation. Additionally, it avoids mismatching parameters
between the computing result and the additional overflow check.

This patch uses CheckedInt to take advantage of those implicit features of it.
2018-11-02 11:15:40 +01:00
wolfbeast 3b2c342f38 Make sure we remove our RefreshDriver observers in CompleteAsyncScroll.
Follow-up to fdbac09596
2018-11-02 10:47:05 +01:00
wolfbeast deba73b3bc Fix a longstanding IndexedDB correctness issue.
Standards Compliance fix, port of Bug 1492737
2018-11-02 10:32:53 +01:00
wolfbeast 09fec033ec Don't allocate PendingAction twice. 2018-11-02 08:33:16 +01:00
wolfbeast 9dc6bf850a WebRTC: Drop DataChannelListener on Destroy(). 2018-11-02 08:20:46 +01:00
wolfbeast 52b989d535 Make sure nsNSSCertList handling checks for valid certs. 2018-11-02 02:08:44 +01:00
wolfbeast 059397bdd2 Remove Query/Ref from the directory listing URI.
Port of Bug 1488061.
2018-11-01 22:14:07 +01:00
wolfbeast f62eee7c51 Bug 1460538 2018-11-01 20:35:06 +01:00
wolfbeast e8f913da98 Reorder boolean expression to take advantage of short-circuiting. 2018-11-01 20:16:49 +01:00
wolfbeast e0de8181d9 Protect main thread in-process access to WinCompositorWidget transparent surface. 2018-11-01 20:16:11 +01:00
wolfbeast 24a83a8136 Simplify SIMD conversion from Uint64 to Double. 2018-11-01 10:33:07 +01:00
wolfbeast a2a8c71d77 Make HTTP/2 compressor more resilient to bad data. 2018-11-01 07:31:23 +01:00
wolfbeast fdbac09596 Ensure that the scroll frame deregisters its refresh driver observers (mAsyncScroll & mAsyncSmoothMSDScroll) before it's destroyed.
Tag #345
2018-10-31 18:47:29 +01:00
wolfbeast 752311fd47 Origin for about: URL should not contain query or ref parts. 2018-10-31 18:32:00 +01:00
wolfbeast 1cfcf17a10 Don't mark MGetFirstDollarIndex as movable. 2018-10-31 17:30:52 +01:00
wolfbeast ec3829bf72 Prevent form sync error when there's nothing to sync. 2018-10-30 08:34:47 +01:00
wolfbeast 2c045d9c55 Merge branch 'master' of https://github.com/MoonchildProductions/UXP 2018-10-29 22:41:56 +01:00
wolfbeast 3332144211 Set CSS error console reporting default to false for performance.
Dev note needed upon release. This resolves #444.
2018-10-29 22:41:12 +01:00
Moonchild 5069a37597 Merge pull request #857 from JustOff/PR_BackgroundPageThumbs_remote
Use a separate process to generate thumbnails only when multi-process mode is enabled
2018-10-28 00:08:32 +02:00
JustOff 6bdbb9cdf6 Use a separate process to generate thumbnails only when multi-process mode is enabled 2018-10-27 21:35:56 +03:00
trav90 76825544ff Update HSTS preload list
Tag #447
2018-10-27 07:32:12 -05:00
Moonchild 4f59678acd Merge pull request #854 from g4jc/nsuserinfo
Issue #795 - Make nsIUserInfo component optional
2018-10-26 09:04:16 +02:00
Gaming4JC 6a2ff38f0f Issue #795 - Make nsIUserInfo component optional
This allows the nsIUserinfo component to be disabled with --disable-userinfo in mozconfig
at build time, but leaves it on by default to avoid any compatibility issues in existing
applications.
2018-10-25 18:12:58 -04:00
wolfbeast bfc3904054 Update constants. 2018-10-24 16:00:04 +02:00
wolfbeast 768a1b9457 Pass exceptions directly to logger. 2018-10-24 14:13:44 +02:00
wolfbeast 26412bcab4 Merge branch 'master' into Sync-weave 2018-10-24 13:20:10 +02:00
wolfbeast 579881ffb4 Merge branch 'master' into Sync-weave 2018-10-24 11:13:33 +02:00
Moonchild f5b13e91d1 Merge pull request #852 from wicknix/master
Bug 1489785: Remove a workaround for gcc
2018-10-24 08:58:28 +02:00
wicknix 065f6f9e5e Bug 1489785: Remove a workaround for gcc
Introduced in bug 678607, that is no longer needed that causes hangs in modal dialogs on macOS 10.14
https://hg.mozilla.org/mozilla-central/rev/3920c858319d
2018-10-24 01:16:11 -05:00
wicknix 6db23ae65e Bug 1489785: Remove a workaround for gcc
Introduced in bug 678607, that is no longer needed and causes hangs in modal dialogs on macOS 10.14.
https://hg.mozilla.org/mozilla-central/rev/3920c858319d
2018-10-24 01:10:07 -05:00
Moonchild f71c04d814 Merge pull request #851 from MoonchildProductions/revert-796-nsuserinfo
Revert "Make nsIUserInfo component optional with --disable-userinfo at build time"
2018-10-24 06:41:20 +02:00
Moonchild afe69140a8 Revert "Make nsIUserInfo component optional with --disable-userinfo at build time" 2018-10-24 06:40:38 +02:00
Moonchild d07a4f2ba9 Merge pull request #845 from JustOff/PR_notifications_open_settings
Open about:permissions when notification settings are requested in Pale Moon
2018-10-24 06:02:42 +02:00
Moonchild f85840a053 Merge pull request #796 from g4jc/nsuserinfo
Make nsIUserInfo component optional with --disable-userinfo at build time
2018-10-24 06:02:10 +02:00
Moonchild d1a35c3fa6 Merge pull request #850 from trav90/add-av1-support
Add initial support for AV1 video.
2018-10-24 05:58:24 +02:00
Moonchild 81acc4099a Merge pull request #847 from g4jc/debugspam
Don't use NS_ENSURE_SUCCESS where it causes useless logspam.
2018-10-24 05:54:59 +02:00
Gaming4JC e4cc27a0e7 backport m-c bug 1333172 - Avoid 1100 warnings by replacing NS_ENSURE_SUCCESS in nsNetUtilInlines.h:180 2018-10-23 20:28:01 -04:00
Moonchild e4836ec73a Merge pull request #848 from adeshkp/search-btn-border
Show hidden left border of search button on about:newtab page
2018-10-23 22:30:01 +02:00
Moonchild 70c214344f Merge pull request #849 from adeshkp/basilisk-mac-build
Basilisk: Trivial fixes for Mac build
2018-10-23 22:28:52 +02:00
adeshkp d9c5e2b803 Basilisk: Trivial fixes for Mac build 2018-10-23 16:00:35 -04:00
adeshkp 1b50660404 Show hidden left border of search button on about:newtab page 2018-10-23 15:58:11 -04:00
trav90 192199b03f Revert "Add support for AV1 in MP4"
This commit was incomplete. Will re-land AV1 in MP4 support properly at a future date.

This reverts commit 29f718ef78.
2018-10-23 05:47:41 -05:00
wolfbeast b4e78255c0 Code style improvements (no bug). 2018-10-23 09:44:51 +02:00
wolfbeast 980b7e4da5 Improve graph edge resolution code.
This is a follow-up to ca7ecd37c9 further improving the DiD resolution for CVE-2018-12386.
2018-10-23 09:44:24 +02:00
Moonchild 1d3233c49d Merge pull request #844 from kn-yami/issue768
align Basilisk sidebar context menu behaviour with Pale Moon
2018-10-23 07:40:09 +02:00
Gaming4JC dbac7d6914 backport m-c bug 1333174 - Don't use NS_ENSURE_SUCCESS at nsIOService:793
Log spam fix. Suppresses 1,100 instances of NS_ENSURE_SUCCESS(rv, rv) failed with result 0x80520012 emitted from netwerk/base/nsIOService.cpp during linux64 debug testing. Backports [m-c 1333174](https://bugzilla.mozilla.org/show_bug.cgi?id=1333174).
2018-10-22 21:32:16 -04:00
trav90 23013dda60 Ensure we correctly parse the finalized codec string for av1 2018-10-21 10:14:54 -05:00
trav90 29f718ef78 Add support for AV1 in MP4 2018-10-20 17:40:24 -05:00
wolfbeast 61a05da018 Fix reference to undefined property warnings in toolkit's browser.xml. 2018-10-21 00:05:05 +02:00
trav90 47a01617ea Use larger stack for media decoder threads
This increases the thread size for the platform decoder threads (to prevent stack overflows, particularly when decoding av1), while leaving the others at their default values.
2018-10-20 14:53:15 -05:00
trav90 070c2cb24c Downsample av1 images unconditionally
Adding partial support for 10/12-bit video images seems to have broken the native pixel-stride support we were using to pass 8-bit AV1 frame data formatted in 16-bit pixel values, resulting in vertical green lines.

Revert to the earlier behavior of always downsampling to 8 bit data. This is slower, but at least displays correctly.
2018-10-20 14:50:33 -05:00
trav90 e5b30fc95e Fix canPlayType/isTypeSupported for AV1 content 2018-10-20 14:49:17 -05:00
JustOff 4c488cb7f1 [PALEMOON] Open about:permissions when notification settings are requested 2018-10-20 21:41:07 +03:00
JustOff 0d7afa78f0 [PALEMOON] Add filter query to about:permissions 2018-10-20 21:40:07 +03:00
yami 50050aac0b align Basilisk sidebar context menu behaviour with Pale Moon 2018-10-20 19:37:35 +02:00
Moonchild a9fbfba2ad Merge pull request #843 from kn-yami/issue516
fix naming of getStartupChanges function
2018-10-20 18:39:34 +02:00
yami ca4b2c5023 fix naming of getStartupChanges function 2018-10-20 17:21:32 +02:00
Moonchild 38173d9e4a Merge pull request #839 from kn-yami/issue516
remove named function syntax in several TychoAM components
2018-10-20 16:05:41 +02:00
Moonchild 54deaf4437 Merge pull request #841 from JustOff/PR_css_grid_shrink_wrap
[css-grid] Don't shrink-wrap the inline size when we have an available size when measuring block size
2018-10-20 16:03:35 +02:00
JustOff 7110f93fb1 [css-grid] Reftests for 88671bcc36 2018-10-20 16:27:57 +03:00
JustOff 88671bcc36 [css-grid] Don't shrink-wrap the inline size when we have an available size when measuring block size 2018-10-20 16:25:28 +03:00
trav90 6ddf66542b Put AV1 codec behind a pref
Disabled by default.
2018-10-20 08:24:28 -05:00
Moonchild 714ccb6f88 Merge pull request #838 from FranklinDM/notification-work
Pale Moon: Remove message manager property from tabbrowser.xml
2018-10-20 15:19:21 +02:00
Franklin DM f91ab88b98 Remove superfluous message manager property 2018-10-20 14:44:45 +08:00
trav90 d2499ead93 Update libaom to commit ID 1e227d41f0616de9548a673a83a21ef990b62591 2018-10-19 23:05:03 -05:00
trav90 41fbdea457 Update libaom vendor scripts to account for upstream changes 2018-10-19 23:03:09 -05:00
trav90 ba5a1ea60f [aom] Only build stats code if examples are enabled 2018-10-19 23:01:02 -05:00
trav90 b8df135c97 Update libaom to rev b25610052a1398032320008d69b51d2da94f5928 2018-10-19 23:00:02 -05:00
trav90 a4d3c59dca [aom] No longer necessary to run lint_config.sh anymore
Upstream can now code generate the rtcd interface files directly from the aom_config.h header, so we no longer have to generate an intermediate file by running lint_config.sh. This also means we can remove the code for creating a temporary directory.
2018-10-19 22:58:05 -05:00
trav90 9469bc1961 Add missing : to libaom moz.build 2018-10-19 22:48:01 -05:00
trav90 ee1300453e Updates to AOMDecoder for aom v1.0.0
This reflects the API changes to the aom_codec_decode function and the removal of I440. It also sets allow_lowbitdepth to give proper support for 8 bit video, and removes the git version from the mime type.
2018-10-19 22:11:39 -05:00
trav90 4f63fc3bdd [aom] Fixup moz.build 2018-10-19 22:09:20 -05:00
trav90 ab5b4462a2 Do not build aomstats unless examples are enabled
The aomstats library is only used in the code examples, but we assume that all libraries should be linked into libxul, which leads to an unresolved external dependency on fatal at link time. This adds a guard to only build aomstats if we are building the examples.
2018-10-19 21:55:15 -05:00
trav90 bbcc647725 Update aom to v1.0.0
Update aom to commit id d14c5bb4f336ef1842046089849dee4a301fbbf0.
2018-10-19 21:52:20 -05:00
trav90 14805f6ddb Add support for SSE 4.2 to libaom moz.build 2018-10-19 05:31:30 -05:00
trav90 c410f04e88 Add aom_version.h 2018-10-19 05:30:35 -05:00
trav90 b425400e9a Update generate_sources_mozbuild.sh
This changes generate_sources_mozbuild.sh to call generate_sources_mozbuild.py to generate sources.mozbuild and config files and removes the parts of the script that are no longer necessary.
2018-10-19 05:29:27 -05:00
trav90 5c0c6c73aa Add generate_sources_mozbuild.py
This uses the cmakeparser to generate sources.mozbuild and the config files for each platform.
2018-10-19 05:27:28 -05:00
trav90 39e842a831 Add Python cmake parser
Unfortunately, upstream has removed the configure+make build system our import script relies on to generate code and moz.build files.
2018-10-19 05:26:15 -05:00
wolfbeast 56eb74dbed Merge branch 'master' of https://github.com/MoonchildProductions/UXP 2018-10-19 09:16:25 +02:00
wolfbeast 8c3d0aaca0 Fix a test (#670) 2018-10-19 09:15:54 +02:00
trav90 125aff11b7 Fix aom compile errors with VS2015
Import BUG=aomedia:900
2018-10-18 21:56:49 -05:00
trav90 464c3130fc [av1] Fix build issues
This revision of libaom has some conflicts with our vendor script
and build system. A number of new .asm files have the same basename
as .c files, which our build system cannot handle.

To work around this, I manually renamed the conflicting
files in the filesystem and sources.mozbuild.

Also add av1_convolve_scale_sse4.c to sources.mozbuild manually.
This is needed by the build but for some reason isn't picked up
by generate_sources_mozbuild.sh.
2018-10-18 21:55:31 -05:00
trav90 ec910d8140 Update aom to commit id e87fb2378f01103d5d6e477a4ef6892dc714e614 2018-10-18 21:53:44 -05:00
trav90 01eb57073b [aom] Fix win32 debug build
Visual Studio 2015u3 fails to compile reconintra.c for win32
debug targets. It's confused by the #if conditional inside
the assert macro expansion.

The checks are obsolete upstream. Address the issue by
duplicating the assert calls for each branch of the
conditional.
2018-10-18 19:49:57 -05:00
trav90 0c98b71659 [aom] Don't resample 8-bit images
The libaom av1 decoder will return 16 bit per channel aom_image_t structures with only 8 significant bits.

Detect this case and use the mSkip fields of PlanarYCbCrImage to handle the extra data instead of allocating and performing an extra copy to obtain the necessary 8 bit representation.
2018-10-18 19:47:53 -05:00
trav90 4653be9609 [aom] Resample high bit depth frames
The libaom av1 decoder can return high bit depth frame data now. Handle those frames by downsampling them to 8 bits per channel so they can be passed to our normal playback pipeline.
2018-10-18 19:45:59 -05:00
trav90 e394e20493 [aom] Fix stream info peeking
Backport upstream patch by Sebastian Alaiwan fixing
aom_peek_stream_info after changes to the superblock
location.
2018-10-18 19:41:52 -05:00
trav90 21598d1bdd Export aom_config.h
Recent changes made this a public header, so it needs to be available to callers like AOMDecoder.
2018-10-18 19:39:57 -05:00
trav90 7369c7d7a5 Update aom to commit id f5bdeac22930ff4c6b219be49c843db35970b918 2018-10-18 06:04:57 -05:00
trav90 77887af9c4 [aom] Remove unused option 2018-10-17 23:00:43 -05:00
trav90 4121d75713 [aom] Filter out CONFIG_EXT_PARTITION_TYPES
aom_dsp_rtcd_defs.pl checks only whether this key is present in the config, not whether it is set to true or not. Our script sets CONFIG_FOO=no for disabled options, while the upstream build system omits them, resulting in extra symbol declarations the build will never define.

Work around this by stripping the offending disabled config key if it is disabled.
2018-10-17 22:59:33 -05:00
trav90 ecdaf7930e Make aom_config.asm match upstream 2018-10-17 22:58:23 -05:00
trav90 857b86f25c [aom] Add x86-win32-gcc config 2018-10-17 22:57:24 -05:00
trav90 afda5e384c [av1] Clean up duplicate filenames check 2018-10-17 22:56:27 -05:00
trav90 dddc2aa9ec Add missing includes to FFmpegLibWrapper 2018-10-17 22:49:24 -05:00
trav90 4b5e229567 Fix typo (build bustage) 2018-10-17 22:40:32 -05:00
Moonchild c423bdaf03 Merge pull request #837 from Ascrod/readerview
Reader Updates
2018-10-17 19:10:44 +02:00
Moonchild 46eab94c09 Merge pull request #836 from Ascrod/translation
Basilisk: Remove in-browser translation
2018-10-17 19:10:02 +02:00
trav90 df9477dfa6 Update aom to slightly newer commit ID 2018-10-17 05:59:08 -05:00
trav90 0cc51bc106 Add av1 to MediaSource.isTypeSupported
When av1 video playback is enabled, declare it as supported in the webm container in MediaSource.IsTypeSupported.

Also support special mime types of the form video/webm; codecs=vp9.experimental.<git-commit-id> so test sites can verify playback support of particular encodings while the av1 bitstream is under development.
2018-10-17 05:54:22 -05:00
trav90 1036d1fa0b Remove aom_codec_stream_info_t sz field references
Upstream has removed the requirement to set this when initializing the stream_info struct.
2018-10-17 05:46:09 -05:00
trav90 26dc168e35 Make AOMDecoder actually build 2018-10-15 22:47:27 -05:00
trav90 f452789509 [aom] Enable YASM 2018-10-15 22:12:59 -05:00
trav90 08619db141 [aom] Remove 32-bit Mac OS build config 2018-10-15 22:12:36 -05:00
trav90 e8480f8a78 Add aom to the list of thirdparty code 2018-10-15 22:12:11 -05:00
trav90 e5545e10a6 Add missing includes to WebMDemuxer 2018-10-15 22:11:48 -05:00
trav90 ee2cb65e24 Recognize AV1 in WebMDemuxer
Call AOMDecoder to handle AV1 video tracks from the WebM container. The new decoder is very similar to VPXDecoder so we can use parallel calls. This codec is still build-time conditional.
2018-10-15 22:11:24 -05:00
trav90 3e0443e4c1 Add AOMDecoder to AgnosticDecoderModule 2018-10-15 22:10:46 -05:00
trav90 9aea199da0 Add AOMDecoder
Port the VPXDecoder interface to libaom which uses the same api with the names changed.
2018-10-15 22:09:04 -05:00
trav90 99ed16064a Add --enable-av1 configure switch 2018-10-15 21:48:14 -05:00
trav90 a66e91651a Generate build description for libaom 2018-10-15 21:46:29 -05:00
trav90 68569dee14 Import aom library
This is the reference implementation for the Alliance for Open Media's av1 video code.

The commit used was 4d668d7feb1f8abd809d1bca0418570a7f142a36.
2018-10-15 21:45:30 -05:00
trav90 07c17b6b98 Port the libvpx mozbuild generator to aom
This is a port of the libvpx scripts, themselves a port of Chromium's scripts to generate an external build description using hooks in the upstream configure and make scripts. The libaom library is a fork of libvpx so we can use a similar approach.

The upstream source is located in $(topsrc_dir)/third_party/aom but the build description and any patches are under the media directory with the other codecs, similar to how zlib works. Config files and headers generated by the upstream build system are also under $(topsrc_dir)/media/libaom/.
2018-10-15 21:44:18 -05:00
Ascrod f696173b4a Update Readability from mozilla-central release branch (FF 62.0.3). Tag #361. 2018-10-15 13:52:23 -04:00
Ascrod f6db3fa904 Remove unused import from AboutReader module. Tag #361. 2018-10-15 13:51:49 -04:00
Gaming4JC 19b6f2d9b7 Issue #795 - Make nsIUserInfo component optional
This allows the nsIUserinfo component to be disabled with --disable-userinfo in mozconfig
at build time, but leaves it on by default to avoid any compatibility issues in existing
applications.
2018-10-12 23:17:14 -04:00
trav90 b927e0d5ca Update HSTS preload list
Tag #447
2018-10-12 21:07:35 -05:00
Ascrod 69afcc4f12 Issue #832 Part 3: Remove strings. 2018-10-11 23:35:58 -04:00
Ascrod 7dbe6a3b4c Issue #832 Part 2: Remove styling and images. 2018-10-11 23:35:46 -04:00
Ascrod 98bf922150 Issue #832 Part 1: Remove modules, chrome, and preferences. 2018-10-11 23:34:52 -04:00
Moonchild ea5b5766a9 Merge pull request #830 from trav90/media-work
Several WebM/VPX fixes
2018-10-10 06:37:08 +02:00
Moonchild 237f05bcdc Merge pull request #828 from g4jc/outlook_cve
Fix unwanted navigation from D&D of an Outlook mail message.
2018-10-10 06:36:11 +02:00
Gaming4JC 791e7540d3 backport m-c 1435319: CVE-2018-12381 - Dropping an Outlook email message into the browser window will trigger a page navigation when the message's mail columns are incorrectly interpreted as a URL. 2018-10-09 17:41:02 -04:00
Moonchild bea97848f4 Merge pull request #826 from MaxKoll/MaxKoll-patch-1
Fix in-tab close button behavior
2018-10-09 11:46:57 +02:00
Moonchild e0487e94c4 Merge pull request #827 from trav90/code-cleanup
[ffvpx] Remove support for 32-bit Mac
2018-10-09 11:42:56 +02:00
trav90 81c39ba876 [webm] Don't reject seeks with EOS
The MediaDecoderStateMachine treat seek's EOS as fatal errors, so instead we always resolve the seek promise, and let the next GetSample return EOS.
2018-10-08 21:44:23 -05:00
trav90 632b67483c [webm] Treat demuxing errors differently than EOS
Otherwise the WebM demuxer makes no difference between a genuine EOS and encountering an error.
2018-10-08 21:43:06 -05:00
trav90 3ec54eeacb Call VPXDecoder libvpx wrappers for WebM
Use the new helper functions instead of calling libvpx directly. This simplifies adding other codecs in the future.
2018-10-08 21:16:39 -05:00
trav90 55c6aa422d Implement keyframe and framesize VPXDecoder helpers
Encapsulate code from WebMDemuxer to query keyframe and frame resolution inside VPXDecoder, so we have a clean wrapper for all the libvpx functions we use.
2018-10-08 21:14:24 -05:00
trav90 2a00bf1262 Add Span support to MediaRawData 2018-10-08 21:11:58 -05:00
trav90 5a83ed9eba [vpx] Store VPXDecoder codec as an enum
Use the enum we already have here instead of converting to an int when we pass it around, giving us better type checking.
2018-10-08 21:10:31 -05:00
trav90 ae3cdb4be3 [webm] Store LastSeenFrame dimensions as an nsIntSize
This simplifies the comparison and update logic.
2018-10-08 21:05:52 -05:00
trav90 d95f7b60dc [ffvpx] Remove support for 32-bit Mac 2018-10-08 20:07:27 -05:00
MaxKoll 94757e275a Fix in-tab close button behavior
Fixes #775 (non-responsiveness when closing multiple tabs by rapidly clicking in-tab close buttons).
2018-10-08 14:29:20 +02:00
Moonchild 7ad419ece9 Merge pull request #825 from MaxKoll/revert-811-MaxKoll-patch-1
Revert "Fix in-tab close button behavior"
2018-10-08 14:23:04 +02:00
MaxKoll c602588f11 Revert "Fix in-tab close button behavior" 2018-10-08 14:01:46 +02:00
Moonchild 09987b0bad Merge pull request #824 from MoonchildProductions/revert-822-code-cleanup
Revert "[ffvpx] Remove support for 32-bit Mac"
2018-10-08 13:40:07 +02:00
Moonchild 9847f1f640 Revert "[ffvpx] Remove support for 32-bit Mac" 2018-10-08 13:39:38 +02:00
wolfbeast 6efff99edb Expose browser.download.lastDir.savePerSite
Resolves #823 (alternative suggestion)
2018-10-08 08:47:45 +02:00
wolfbeast 8a63a2f417 Merge branch 'master' of https://github.com/MoonchildProductions/UXP 2018-10-08 08:17:47 +02:00
wolfbeast 24fb2aaa35 Bump Goanna/platform version for layout changes. 2018-10-08 08:17:28 +02:00
Moonchild a844a9b08c Merge pull request #814 from Ascrod/nsis-cleanup
Clean up NSIS installer code
2018-10-08 08:15:41 +02:00
Moonchild 7e96154b87 Merge pull request #818 from trav90/mfbt-work
Add mozilla::Span
2018-10-08 08:15:08 +02:00
Moonchild 0357bf9fb6 Merge pull request #822 from trav90/code-cleanup
[ffvpx] Remove support for 32-bit Mac
2018-10-08 08:11:05 +02:00
trav90 2e3eb22a85 [ffvpx] Remove support for 32-bit Mac 2018-10-07 15:11:09 -05:00
wolfbeast 26ec82f16d Use device pixels instead of CSS pixels for table borders.
This resolves #821 (regression).
2018-10-07 20:35:37 +02:00
wolfbeast 6e48f5e140 Make caret width normal/thick behind CJK char configurable.
Fixes #820 (regression).
2018-10-07 19:46:00 +02:00
trav90 a08ef72265 Fix Span.h constexprs for VS2017 2018-10-06 17:33:48 -05:00
trav90 c2fa384d66 Add mozilla::Span 2018-10-06 17:29:50 -05:00
Ascrod 312b0e42cf Basilisk Installer: Remove unused stub defines and strings. 2018-10-06 18:24:41 -04:00
Ascrod 5e95483716 Pale Moon Installer: Remove unused stub defines and strings. 2018-10-06 18:19:27 -04:00
Moonchild 323cb98de1 Merge pull request #813 from JustOff/PR_SessionStorage_principal_origin
[BASILISK] Protect against nsIPrincipal.origin throwing for about:blank iframes and custom protocol urls
2018-10-06 19:34:45 +02:00
Ascrod 727ed27f08 Basilisk Installer: Update Windows ARP URLs. 2018-10-06 12:55:04 -04:00
Ascrod b3b06d0ffd Pale Moon Installer: Update Windows ARP URLs. 2018-10-06 12:54:04 -04:00
wolfbeast 866ea8dfa5 Set the default action to not lock content scrolling when a menu is open.
This resolves issues with the bookmarks and other menus with submenus if scrollable in case of many items displayed.
2018-10-06 17:46:21 +02:00
JustOff 0c3479b8ba [BASILISK] Protect against nsIPrincipal.origin throwing for about:blank iframes and custom protocols 2018-10-06 15:05:00 +03:00
wolfbeast a02c44648a Teach Sync history engine about TRANSITION_RELOAD visit type. 2018-10-06 12:38:04 +02:00
wolfbeast 83e8906aa7 Fix error in locallyModified. 2018-10-06 12:37:06 +02:00
wolfbeast eae3be4cfe Make Everything Work™ 2018-10-06 12:07:35 +02:00
wolfbeast 04ebf989fb Update constants.js for array assignment. 2018-10-06 11:24:36 +02:00
wolfbeast 18473f1844 Update sync client for JS changes. 2018-10-06 07:09:02 +02:00
wolfbeast 0c47c83e1b Import Tycho weave client 2018-10-06 06:57:51 +02:00
Moonchild 8860eddcee Merge pull request #811 from MaxKoll/MaxKoll-patch-1
Fix in-tab close button behavior
2018-10-04 22:52:31 +02:00
MaxKoll d745193724 Fix in-tab close button behavior (#775)
- Fixes #775.
- Coincidentally also fixes a regression that prevented opening new tabs via double click on an empty space in the tab bar.
2018-10-04 22:36:30 +02:00
wolfbeast 95379e3377 Ensure we got an nsISSLStatus when deserializing in TransportSecurityInfo. 2018-10-04 22:24:52 +02:00
yami 6667a10d38 make style of amInstallTrigger.js more consistent 2018-10-04 22:19:55 +02:00
yami dd574ec7b2 remove named function syntax in LightweightThemeManager.jsm 2018-10-04 22:13:50 +02:00
yami d218160bfd remove named function syntax in amWebInstallListener.js 2018-10-04 22:09:09 +02:00
yami 06086f82f7 remove named function syntax in AddonManager.jsm 2018-10-04 22:05:58 +02:00
wolfbeast ca7ecd37c9 Bug 1493900.
DiD fix.
2018-10-04 22:04:26 +02:00
yami 0d97c6ada5 remove named function syntax in addonManager.js 2018-10-04 21:34:23 +02:00
wolfbeast e42166a5ba Make all arguments to init*Event() optional except the first
This resolves #810.
2018-10-04 21:07:48 +02:00
Moonchild 26975ccf56 Merge pull request #808 from trav90/media-work
[ffmpeg] Always allocate memory to pass extradata
2018-10-02 09:39:56 +02:00
trav90 c0d9931cff [ffmpeg] Always allocate memory to pass extradata
Despite wording of the documentation to the contrary, we can't provide a static pointer to an immutable object.
2018-10-01 20:51:17 -05:00
Moonchild 69d83c8fbe Merge pull request #806 from trav90/ffvpx-resync
Update ffvpx code to 4.0.2 (take 2)
2018-10-02 00:21:32 +02:00
trav90 41ccd52bfd Clobber for ffvpx update 2018-10-01 10:29:37 -05:00
trav90 82238ada25 [ffvpx] Remove unneeded libavcodec symbols and dummy functions
Fixes linkage errors on Windows.
2018-10-01 10:29:13 -05:00
trav90 ebc8d7e3ca [ffvpx] Update ffvp9/ffvp8 to release 4.0.2 2018-10-01 10:27:24 -05:00
Moonchild 8e8fcee4a5 Merge pull request #805 from MoonchildProductions/revert-801-update-from-upstream
Revert "Update ffvpx code to 4.0.2"
2018-10-01 15:25:44 +02:00
Moonchild 45c24f05d0 Revert "Update ffvpx code to 4.0.2" 2018-10-01 15:25:04 +02:00
Moonchild 79b00fc33b Merge pull request #801 from trav90/update-from-upstream
Update ffvpx code to 4.0.2
2018-10-01 14:34:26 +02:00
Moonchild ab881a3bf5 Merge pull request #804 from JustOff/PR_s4e_FullScreenVideo
[PALEMOON] Use message manager to detect full-screen HTML5 video in S4E module
2018-10-01 14:34:08 +02:00
JustOff 35a1adb076 [PALEMOON] Use message manager to detect full-screen HTML5 video in S4E module 2018-10-01 15:02:11 +03:00
wolfbeast 38e8ee1e6d Remove telemetry reporting functions from CubebUtils
Tag #21.
2018-10-01 13:23:56 +02:00
wolfbeast ec4c6dd42a Remove telemetry from cache v1 service locking (part2).
- Fold Lock(TelemetryID) into Lock();
- Fold nsCacheServiceAutoLock(TelemetryID) into nsCacheServiceAutoLock();

Tag #21.
2018-10-01 11:31:29 +02:00
wolfbeast d718e32b52 Remove telemetry from cache v1 service locking (part1).
Tag #21.
2018-10-01 11:01:01 +02:00
wolfbeast 7b0f3f2f92 Remove unused telemetry functions/variables.
Tag #21.
2018-10-01 11:00:05 +02:00
trav90 7d1ee0e5e4 Clobber for ffvpx update 2018-09-30 11:44:46 -05:00
trav90 edc124b92b [ffvpx] Update ffvp9/ffvp8 to release 4.0.2 2018-09-30 10:40:30 -05:00
wolfbeast 8ba6dd1bd1 Remove cache I/O telemetry.
Tag #21.
2018-09-30 06:56:29 +02:00
wolfbeast ab9edfb54b Remove telemetry probes to get detailed disk cache hit rate.
Tag #21.
2018-09-30 04:39:37 +02:00
wolfbeast 3343a4b474 Remove telemetry probes for cache file system. 2018-09-29 23:55:49 +02:00
wolfbeast 81b341a9b3 Clean up a number of unused variables.
Tag #21.
2018-09-29 23:20:36 +02:00
wolfbeast ddf29811b2 Update telemetry whitelists.
Tag #21.
2018-09-29 23:07:12 +02:00
wolfbeast 6d9103276b Merge branch 'master' of https://github.com/MoonchildProductions/UXP 2018-09-29 22:56:37 +02:00
wolfbeast 0b16007427 Remove telemetry to find optimal cache entry hash size
Tag #21.
2018-09-29 22:56:15 +02:00
Moonchild c7e12ca399 Merge pull request #800 from trav90/update-from-upstream
Update libnestegg from upstream
2018-09-29 21:44:57 +02:00
trav90 704c935398 Update test files for libnestegg update 2018-09-29 10:06:58 -05:00
trav90 778b3c4d7e Update HSTS preload list
Tag #447
2018-09-29 08:37:22 -05:00
wolfbeast 347aea437f Get rid of the incorrect mechanism to remove insecure fallback hosts.
This fixes #797.
2018-09-29 10:09:13 +02:00
trav90 dad1c31db8 Update libnestegg from upstream 2018-09-28 22:59:06 -05:00
trav90 d8434bf156 Update upstream URL and update script for libnestegg 2018-09-28 22:55:06 -05:00
wolfbeast 77af3f1766 Merge branch 'master' of https://github.com/MoonchildProductions/UXP 2018-09-29 00:50:24 +02:00
wolfbeast 57a7d3e35b Rename address bar back to location bar
Tag Issue #765
2018-09-29 00:50:08 +02:00
Matt A. Tobin 9fe00e826d Only opt-in to esr52 search service for select applications 2018-09-28 18:47:30 -04:00
wolfbeast 097f982b32 Remove IndexedDB for content pref.
Tag Issue #765
2018-09-29 00:16:29 +02:00
wolfbeast bb68f6a437 Update permissions manager strings.
Tag Issue #765
2018-09-28 23:59:19 +02:00
wolfbeast f6d46e3212 Rename "Cookies" to "Cookies and Site Data" in preferences where applicable.
Tag Issue #765
2018-09-28 23:02:21 +02:00
Matt A. Tobin 2b9e0ca0bb Add a conditional to not build the platform so the build system can be exploited for non-binary projects 2018-09-27 02:08:07 -04:00
Moonchild b92dbaf6a1 Merge pull request #791 from g4jc/session_supercookie
Issue #792 - backport mozbug 1334776 - CVE-2017-7797 Header name interning leaks across origins
2018-09-27 00:59:51 +02:00
Moonchild 6387540894 Merge pull request #789 from g4jc/sha256_leakfix
backport mozbug 1444532 - fix a leak in SHA256 in nsHttpConnectionInfo.cpp r=mayhemer
2018-09-27 00:54:34 +02:00
Gaming4JC 475a210a33 backport mozbug 1444532 - fix a leak in SHA256 in nsHttpConnectionInfo.cpp r=mayhemer
The original code (from bug 1200802) declared an XPCOM object as a static bare pointer,
which for future reference is probably never the right thing to do. It might have worked if
it was cleared before shutdown but it never was.
2018-09-26 18:29:45 -04:00
Matt A. Tobin a549e0c4a3 Build nsJSInspector regardless of devtools 2018-09-26 17:49:21 -04:00
Moonchild 6297b563de Merge pull request #790 from g4jc/nsSOCKSIOLayer_nullptr
backport mozbug 1344613 - Avoid possibility of null pointer crash in nsSOCKSIOLayer.cpp r=mayhemer
2018-09-26 14:01:50 +02:00
Moonchild 326611aaae Merge pull request #788 from alaviss/apz-experimental
gfx: add pref for enabling APZ without e10s
2018-09-26 13:55:38 +02:00
Gaming4JC c5c9445e3a backport mozbug 1334776 - CVE-2017-7797 Header name interning leaks across origins
Potential attack: session supercookie.

[Moz Notes](https://bugzilla.mozilla.org/show_bug.cgi?id=1334776#c5):
"The problem is that for unknown header names we store the first one we see and then later we case-insensitively match against that name *globally*. That means you can track if a user agent has already seen a certain header name used (by using a different casing and observing whether it gets normalized). This would allow you to see if a user has used a sensitive service that uses custom header names, or allows you to track a user across sites, by teaching the browser about a certain header case once and then observing if different casings get normalized to that.

What we should do instead is only store the casing for a header name for each header list and not globally. That way it only leaks where it's expected (and necessary) to leak."

[Moz fix note](https://bugzilla.mozilla.org/show_bug.cgi?id=1334776#c8):
"nsHttpAtom now holds the old nsHttpAtom and a string that is case sensitive (only for not standard headers).
So nsHttpAtom holds a pointer to a header name. (header names are store on a static structure). This is how it used to be. I left that part the same but added a nsCString which holds a string that was used to resoled the header name. So when we parse headers we call ResolveHeader with a char*. If it is a new header name the char* will be stored in a HttpHeapAtom, nsHttpAtom::_val will point to HttpHeapAtom::value and the same strings will be stored in mLocalCaseSensitiveHeader. For the first resolve request they will be the same but for the following maybe not. At the end this nsHttpAtom will be stored in nsHttpHeaderArray. For all operation we will used the old char* except when we are returning it to a script using VisitHeaders."
2018-09-25 23:03:28 -04:00
Gaming4JC 5715a00c8c backport mozbug 1344613 - Avoid possibility of null pointer crash in nsSOCKSIOLayer.cpp r=mayhemer 2018-09-25 22:53:09 -04:00
wolfbeast e3508f55be Merge branch 'master' of https://github.com/MoonchildProductions/UXP 2018-09-25 20:44:26 +02:00
wolfbeast 575f07db09 Regression fix: enable ICC v4 profiles by default. 2018-09-25 20:44:04 +02:00
Leorize 1c159bf4dc gfx: add pref for enabling APZ without e10s 2018-09-25 14:55:50 +07:00
Moonchild 8d3931df24 Merge pull request #786 from JustOff/PR_auth_dialog_overflow
Remove window.sizeToContent() from commonDialog.js, as it's useless and leads to overflow in the basic auth dialog
2018-09-24 09:29:11 +02:00
JustOff 43c4091450 Remove window.sizeToContent() from commonDialog.js, as it's useless and leads to overflow in the basic auth dialog 2018-09-23 17:30:43 +03:00
Matt A. Tobin 454110c781 Remove code that prevents binary extensions 2018-09-23 05:14:23 -04:00
Matt A. Tobin 29512806a7 Update list of IDs to never send to AUS in AddonUpdateChecker.jsm 2018-09-23 04:33:22 -04:00
wolfbeast bb81b20763 Use SSM's createCodebasePrincipalFromOrigin() instead of the nonexistent BrowserUtils.principalFromOrigin()
This resolves #734.
2018-09-22 13:37:52 +02:00
Moonchild 3c04affe20 Merge pull request #782 from trav90/class-memaccess-errors
Fix more -Wclass-memaccess warnings (part 3)
2018-09-21 10:33:54 +02:00
Moonchild 07a50b5c52 Merge pull request #781 from JustOff/PR_fileExecutableSecurityWarning
[PALEMOON] Restore strings mistakenly removed from downloads.properties
2018-09-20 21:12:58 +02:00
JustOff 922c13081f [PALEMOON] Restore strings mistakenly removed by [8be0c16be6] 2018-09-20 20:30:24 +03:00
trav90 3b362e9ded Rename TypeSet::clone to TypeSet::cloneIntoUninitialized to indicate that it freshly initializes the TemporaryTypeSet* provided to it.
Also removes existing code that, quite unnecessarily, partly initialized that argument.
2018-09-19 20:31:28 -05:00
trav90 a0737572d4 Don't use PodCopy/PodMove to implement typed-array element-to-element copying
Standard std::copy and std::copy_n are readily optimized to the same thing, and they don't have a non-obvious requirement that the type being copied be trivial.
2018-09-19 19:05:22 -05:00
trav90 33cd07bcee Give uint8_clamped a defaulted (and also trivial) default constructor, copy constructor, and copy-assignment operator.
This also allows uint8_clamped to be permissibly memmove'd and memcpy'd.
2018-09-19 18:59:49 -05:00
Moonchild 4f89ce5af9 Merge pull request #778 from MihailZenkov/master
Fix timer overflow on converting from sec to msec in idleService
2018-09-20 00:37:18 +02:00
Mihail Zenkov 7214d60a12 Fix timer overflow on converting from sec to msec in idleService 2018-09-20 00:13:34 +03:00
wolfbeast 4b90811978 Add a null check in nsHttpTransaction::Close.
This resolves #776.
2018-09-19 15:45:27 +02:00
wolfbeast abb2a2a1d4 Merge branch 'worker-fix' 2018-09-18 16:31:30 +02:00
wolfbeast 89f2f76274 Rewrite the Code of Conduct document.
This is a rewrite of the document by Moonchild. Although the rough layout of the previous document is maintained, it is a significantly expanded and rewritten version no longer related to the contributor-covenant version that was initially used.
2018-09-18 12:02:47 +02:00
JustOff ab47a3a9a6 Use SessionStore.promiseInitialized() to avoid race condition in "about:home" (#774)
* Use SessionStore.promiseInitialized() to avoid race condition in "about:home"

* Improve code style of [d6c3adb91c9f29786f8ed8d93baa14c076494017]
2018-09-17 23:13:21 +02:00
wolfbeast 5bcd1cc228 New cycle version bump. 2018-09-17 09:57:01 +02:00
Moonchild d118d486a6 Merge pull request #770 from JustOff/PR_bgtab_notify
Skip notifications for background tabs when restoring a session in Pale Moon and Basilisk
2018-09-17 01:22:55 +02:00
JustOff c5ea5076e8 [BASILISK] Skip notifications for background tabs when restoring a session 2018-09-16 19:47:19 +03:00
JustOff 465c0a5646 [PALEMOON] Skip notifications for background tabs when restoring a session 2018-09-16 19:46:33 +03:00
Moonchild 08dd8ff760 Merge pull request #767 from trav90/class-memaccess-errors
Fix more -Wclass-memaccess warnings (part 2)
2018-09-16 12:01:55 +02:00
wolfbeast 0384dc34be Send worker-runnables destined for the main thread actually to the main thread.
A case of "one queue too many" here. Instead of worker runnables being sent to the main thread
where they are supposed to run, they are put in a task queue per-worker. This is devastating
for performance if many workers are running.
2018-09-16 11:43:06 +02:00
wolfbeast b2cbc7b654 Stop using the worker MainThreadTaskQueue from dom/fetch. 2018-09-16 10:32:01 +02:00
wolfbeast ad30b92651 Stop using the MainThreadTaskQueue from service workers. 2018-09-16 10:22:11 +02:00
wolfbeast 351ffa462d Fix wrong SVG sizes with non-integer values for viewBox width/height.
Includes a standalone reftest.
2018-09-14 20:54:19 +02:00
trav90 0712ac7f81 Don't memset-zero the BacktrackingAllocator::vregs array of non-trivial VirtualRegister instances 2018-09-12 19:19:12 -05:00
trav90 d902382d8a Call memset on a void*, not a T*, in js_delete_poison to avoid memset-on-nontrivial warnings with gcc that don't matter for an object whose lifetime is about to end 2018-09-12 19:09:07 -05:00
trav90 8bac8c27fa Initialize some asm.js structures using in-class initializers instead of PodZero 2018-09-12 19:07:57 -05:00
trav90 847f12e88f Stop using PodZero in several places to initialize values of non-trivial type 2018-09-12 05:41:41 -05:00
wolfbeast 2fce053e98 Merge branch 'master' of https://github.com/MoonchildProductions/UXP 2018-09-12 07:42:48 +02:00
wolfbeast 2bbbcfc49d Fix clang build bustage.
Follow-up to 9830cd079d
2018-09-12 07:42:09 +02:00
wolfbeast 9f091cf110 Flush some more buildlog output to screen when prudent. 2018-09-12 07:35:53 +02:00
trav90 2f64d5eeec Update HSTS preload list
Tag #447
2018-09-11 17:30:37 -05:00
wolfbeast b07b08f9db Merge branch 'fbgw' 2018-09-11 20:10:59 +02:00
wolfbeast 2713347f0e Merge branch 'ported-upstream' 2018-09-11 20:10:43 +02:00
wolfbeast d086e918b4 Bug 1466991 - Part 2: Reparent nodes when they start being in the XBL scope. 2018-09-11 16:55:24 +02:00
wolfbeast a6d4e65dbf Bug 1466991 - Part 1: Factor out ShouldUseXBLScope. 2018-09-11 15:33:44 +02:00
wolfbeast 9830cd079d Bug 1472925 - Keep a strong reference to MediaStreamGraph from GraphDriver. 2018-09-11 14:48:21 +02:00
wolfbeast a95078a6c6 Bug 1469309 - Remove an unused sensor type. 2018-09-11 14:24:50 +02:00
wolfbeast 6195a2f1e2 Fix build bustage in cbfef7fcdb
- imageDetails.format() needs a cast to SurfaceFormat
- style nit: wrap long lines.
2018-09-11 13:53:06 +02:00
wolfbeast 09319b435f Release mapped surface memory on size check failure to plug a leak. 2018-09-11 12:48:40 +02:00
wolfbeast cbfef7fcdb Move surface data checking to a separate function to make it less "totally nuts" 2018-09-11 12:47:26 +02:00
wolfbeast 6ded94d38c Bug 1467363 - Protect access to mTransparentSurface with a lock. 2018-09-11 11:55:16 +02:00
wolfbeast 1de1ce5770 Bug 1478575 - Unify CamerasChild shutdown paths. 2018-09-11 10:24:52 +02:00
wolfbeast 1bf4a513c8 Remove some unnecessary dependencies from HAL. 2018-09-11 10:18:19 +02:00
wolfbeast e05705fe54 Replace the custom logic in ObserverList with an nsTObserverArray which has all the necessary logic for stable iteration over a potentially changing list of items. 2018-09-11 10:17:37 +02:00
wolfbeast ea86809071 Bug 1473113 - Defer initializing the MAR index until it's needed. 2018-09-11 09:09:21 +02:00
wolfbeast ca36e991ea Cherry-pick libvpx upstream 52add5896661d186dec284ed646a4b33b607d2c7. 2018-09-11 09:02:18 +02:00
wolfbeast 7565513554 Merge branch 'master' into ported-upstream 2018-09-10 23:43:57 +02:00
Moonchild 7bf3d2440e Merge pull request #754 from trav90/class-memaccess-errors
Fix more -Wclass-memaccess warnings (GCC8)
2018-09-10 23:42:44 +02:00
wolfbeast 69b88dfccc Bug 1470260 - Part 2: Make RefreshDriverTimer ref-counted and hold a strong ref on it on the stack when nsRefreshDriver::Tick can be reached. 2018-09-10 22:22:16 +02:00
wolfbeast 4c1f33b169 Bug 1470260 - Part 1: Ensure that 'this' stays alive for the duration of the TickRefreshDriver call. 2018-09-10 22:12:07 +02:00
Ketmar Dark 2e9c525a91 fix mozilla regression in search service (saving user-defined search engines)
this restores some API that is used by search engine management extensions, and
  tells "browser-search-engine-modified"/"engine-changed" signal to save user-defined
  search engines to "%PROFILE%/searchplugins", as it did in Good Old Times.
2018-09-10 18:37:04 +02:00
wolfbeast 7c9b62ee0a Add findbar.termPerTab
Allow the pref to switch between global search term and per-tab search term
2018-09-09 15:41:15 +02:00
wolfbeast a744d76655 Ensure the findbar target content browser follows the active tab. 2018-09-09 10:26:49 +02:00
wolfbeast 1c455d9cb0 Revert "Minimal easy fix -- move findbar getters to tabbrowser."
This reverts commit fb291846a5.
2018-09-09 08:26:13 +02:00
wolfbeast aa9cd0d77d Revert "Transfer findbar data to torn-off tabs."
This reverts commit 333142b5af.
2018-09-09 08:25:50 +02:00
wolfbeast b1a98da753 Revert "[PALEMOON] Findbar - remove unnecessary code (Findbar is no longer in the gBrowser)"
This reverts commit 38f30cdf75.
2018-09-09 08:24:54 +02:00
wolfbeast 95835c0acc Revert "[PALEMOON] Findbar - added the listener also to tabbrowser.xml, remove "_fastFind", a better focus() for the method "updateCurrentBrowser""
This reverts commit 63b10a9b4f.
2018-09-09 08:24:37 +02:00
wolfbeast d9f762df86 Revert "Add tabbrowser findbar styling"
This reverts commit c96d9e5bdd.
2018-09-09 08:23:45 +02:00
wolfbeast 9900def526 Revert "Add tabbrowser findbar styling for Linux and OSX"
This reverts commit e4b01ba844.
2018-09-09 08:23:21 +02:00
Moonchild eb2016063a Merge pull request #758 from trav90/buildsystem-work
Silence the -Wuninitialized warning in mozjemalloc
2018-09-08 18:12:00 +02:00
trav90 41b6745059 Silence the -Wuninitialized warning in mozjemalloc
GCC 7+ warns about too many false positives.
2018-09-08 10:00:10 -05:00
Moonchild a90b6fe53b Merge pull request #755 from g4jc/debugspam
backport mozbug 1350090: Turn off the spammy warning that goes off every time we create an about:blank content viewer; r=mystor
2018-09-08 15:42:46 +02:00
Moonchild 347e6ac31e Merge pull request #757 from trav90/buildsystem-work
RTCCertificate.cpp: output truncated before the last format character
2018-09-08 15:42:16 +02:00
trav90 cb71415364 RTCCertificate.cpp: output truncated before the last format character
Fixes compiler warnings when building with GCC 7+
2018-09-07 22:48:31 -05:00
Gaming4JC 22bb99a322 backport mozbug 1350090: Turn off the spammy warning that goes off every time we create an about:blank content viewer; r=mystor
During a debug session, log spam appears because we are trying to get the origin out of a principal for about:blank, which will throw, which is expected.
2018-09-07 20:31:48 -04:00
Moonchild b728af0225 Merge pull request #753 from trav90/buildsystem-work
[GCC] Add -Wno-noexcept-type to the js build flags
2018-09-07 14:39:36 +02:00
trav90 346ba48dd9 [GCC] Add -Wno-noexcept-type to the js build flags 2018-09-06 22:28:08 -05:00
wolfbeast d31ab5ff44 Merge branch 'master' of https://github.com/MoonchildProductions/UXP 2018-09-07 02:41:04 +02:00
wolfbeast 871530bfe3 Bump goanna version for SVG handling update 2018-09-07 02:40:30 +02:00
Moonchild 6c4be62592 Merge pull request #747 from JustOff/PR_NewtabUrl
Update 'browser.newtab.url' when it's used for new tabs and 'browser.startup.homepage' changes
2018-09-05 19:27:56 +02:00
wolfbeast ddaf09fa2c Merge branch 'Bug_1357432'
Empty code commit (meta only)
Code changes in ae432c6367
2018-09-05 11:23:01 +02:00
wolfbeast bbdd1c9318 Write out serialized search engine files when rebuilding cache.
This makes sure that any in-browser edits of search engines (searchplugins) are made permanent on disk.
Ref: https://forum.palemoon.org/viewtopic.php?f=13&t=20296 (Ketmar)
2018-09-05 11:21:12 +02:00
Moonchild ae432c6367 Bug 1357432 (#750)
* Part 1. Move IsLocalRefURL to nsContentUtils to reuse this function. (port-rewrite)

`IsLocalRefURL` is originally designed to be used by URLValue only.
Since we need this function in SVGUseElement::LookupHref too, move it to nsContentUtils as a util function.

* Revert "Part 1. Move IsLocalRefURL to nsContentUtils to reuse this function. (port-rewrite)"

This reverts commit 19f010c620.

* Part 1. Duplicate IsLocalRefURL to nsContentUtils to reuse this function.

`IsLocalRefURL` is originally designed to be used by URLValue only.
Since we need this function in SVGUseElement::LookupHref too, duplicate it to nsContentUtils as a util function.
This is a duplication because CSSValue uses stringbuffers and not nsStrings.
While Bug 1356060 - "Just use nsString in URLValueData" converts this use from stringbuffer to nsString, it builds on a bunch of vartype refactoring (nsString vs. nsAString, etc.) which is too much of a headache to deal with just to deduplicate this simple function.

* Part 2. Implement nsSVGEffects::GetBaseURLForLocalRef to export local-ref-url-resolving logic.

ResolveURLUsingLocalRef is designed to be internally used by nsSVGEffects::Get-{SVGEffect}-URI functions.
Since we also need it in SVGUseElement::LookupHref, make it public in nsSVGEffects.

* Part 3. Resolve local-ref in SVGUseElement::LookupHref by nsSVGEffects::GetBaseURLForLocalRef.

* Part 4. Reftest for using local-ref as xlink:href value.
2018-09-05 03:20:16 +02:00
wolfbeast 6a7071fdea Part 4. Reftest for using local-ref as xlink:href value. 2018-09-05 02:00:48 +02:00
wolfbeast 246edb5332 Part 3. Resolve local-ref in SVGUseElement::LookupHref by nsSVGEffects::GetBaseURLForLocalRef. 2018-09-05 01:47:58 +02:00
wolfbeast d314fcbcc8 Part 2. Implement nsSVGEffects::GetBaseURLForLocalRef to export local-ref-url-resolving logic.
ResolveURLUsingLocalRef is designed to be internally used by nsSVGEffects::Get-{SVGEffect}-URI functions.
Since we also need it in SVGUseElement::LookupHref, make it public in nsSVGEffects.
2018-09-05 01:44:01 +02:00
wolfbeast 32464a0b97 Part 1. Duplicate IsLocalRefURL to nsContentUtils to reuse this function.
`IsLocalRefURL` is originally designed to be used by URLValue only.
Since we need this function in SVGUseElement::LookupHref too, duplicate it to nsContentUtils as a util function.
This is a duplication because CSSValue uses stringbuffers and not nsStrings.
While Bug 1356060 - "Just use nsString in URLValueData" converts this use from stringbuffer to nsString, it builds on a bunch of vartype refactoring (nsString vs. nsAString, etc.) which is too much of a headache to deal with just to deduplicate this simple function.
2018-09-04 19:37:48 +02:00
wolfbeast b43a1afcd3 Revert "Part 1. Move IsLocalRefURL to nsContentUtils to reuse this function. (port-rewrite)"
This reverts commit 19f010c620.
2018-09-04 17:59:40 +02:00
wolfbeast 19f010c620 Part 1. Move IsLocalRefURL to nsContentUtils to reuse this function. (port-rewrite)
`IsLocalRefURL` is originally designed to be used by URLValue only.
Since we need this function in SVGUseElement::LookupHref too, move it to nsContentUtils as a util function.
2018-09-04 17:55:18 +02:00
JustOff fa764a68de Use the default value from 'browser.startup.homepage' instead of the hardcoded 'http://start.palemoon.org/' 2018-09-03 23:27:30 +03:00
JustOff 5359706e7a Update 'browser.newtab.url' when it's used for new tabs and 'browser.startup.homepage' changes 2018-09-03 21:15:53 +03:00
trav90 47c5bba17a Fix build bustage 2018-09-02 21:01:45 -05:00
trav90 36cb80d1ca Call the relevant scope-data constructor when allocating it, and poison/mark as undefined the memory for the trailing array of BindingNames, ratther than impermissibly PodZero-ing non-trivial classes. 2018-09-02 20:07:47 -05:00
trav90 b4aed63f57 Convert the trailing array of BindingNames at the end of the various kinds of scope data into raw unsigned chars into which those BindingNames are placement-new'd, rather than memcpy-ing non-trivial classes around and failing to comply with the C++ object model 2018-09-02 18:45:56 -05:00
trav90 d79c475021 Make nsScannerIterator a trivial type in order to use memset 2018-09-02 16:45:29 -05:00
wolfbeast 6bd66b1728 Merge branch 'master' into js-modules 2018-08-05 11:35:53 +02:00
janekptacijarabaci 909c3ee13f [PALEMOON] Bug 1135348 - Fix about:downloads by adding missing XPCOMUtils imports 2018-07-29 13:20:49 +02:00
janekptacijarabaci 551c6ff046 [PALEMOON] Bug 1129896 - Part 2 of 2 - Convert the shared front-end code to a JavaScript code module 2018-07-29 13:12:21 +02:00
janekptacijarabaci 0b15a2b89e [PALEMOON] Bug 1129896 - Part 1 of 2 - Keep cached metadata for history downloads indefinitely 2018-07-29 12:58:23 +02:00
janekptacijarabaci 8cc3f36169 [PALEMOON] Bug 1195279 - Fix typo in allDownloadsViewOverlay.js following landing of bug 1127867 2018-07-29 12:42:15 +02:00
janekptacijarabaci beeede6185 [PALEMOON] Bug 1127867 - Use the new back-end property to get the size of downloads asynchronously 2018-07-29 12:41:33 +02:00
janekptacijarabaci 761b6eb255 Fix typos 2018-07-29 12:29:40 +02:00
janekptacijarabaci d6c976bf65 [PALEMOON] Bug 1117141 - Part 2 of 2 - Refactor notifications and remove the DownloadsDataItem object 2018-07-29 11:41:22 +02:00
janekptacijarabaci 462332eee0 [PALEMOON] Bug 1117141 - Part 1 of 2 - Bypass all the DownloadsDataItem properties 2018-07-29 11:13:36 +02:00
janekptacijarabaci df852eca4e [PALEMOON] Bug 1117139 - Move code controlling the "download.xml" binding to a common place (downloadsViewCommon.js) 2018-07-29 11:02:21 +02:00
janekptacijarabaci f2f7005141 [PALEMOON] Bug 1117139 - Move code controlling the "download.xml" binding to a common place 2018-07-29 10:27:51 +02:00
janekptacijarabaci 927853bde5 [PALEMOON] Bug 1115379 - Streamline DownloadsViewItemController construction and remove now unneeded identifiers 2018-07-29 09:59:35 +02:00
janekptacijarabaci ac3159f02f [PALEMOON] Bug 1116176 - Create DownloadsHistoryDataItem and HistoryDownload objects 2018-07-29 09:32:40 +02:00
janekptacijarabaci e666c9a8e0 [PALEMOON] Bug 1115983 - Keep only minimal state information in the DataItem 2018-07-29 08:40:06 +02:00
janekptacijarabaci 81265fae33 [PALEMOON] Bug 1115421 - Simplify download annotations handling in the Library 2018-07-29 07:49:10 +02:00
janekptacijarabaci 1eab01b243 [PALEMOON] Bug 1120429 - Remove unused code handling nodeAnnotationChanged 2018-07-29 07:40:06 +02:00
janekptacijarabaci 8bd13f3a28 [PALEMOON] Bug 1115972 - Don't fall back to the Places icon for downloads without the target file name annotation 2018-07-29 07:33:26 +02:00
janekptacijarabaci 1b414c2b93 [PALEMOON] Bug 1115971 - Don't fall back to the Places title for downloads without the target file name annotation 2018-07-29 07:31:34 +02:00
janekptacijarabaci a970e88a17 [PALEMOON] Bug 1115369 - Use notifications instead of getViewItem for DownloadsView 2018-07-29 07:23:54 +02:00
wolfbeast e0a8dcfed1 Bug 1330900 - Implement <script nomodule>
This patch implements:
- noModule getter/setter for HTMLScriptElement
- the nomodule attribute for HTMLScriptElement
- the logic in nsScriptLoader that denies the loading of a nomodule script
- tests

Tag #618
2018-07-10 13:28:03 +02:00
wolfbeast 100c6a7e95 Bug 1340865 - New tests. (not hooked up) 2018-07-10 11:22:25 +02:00
wolfbeast b3daff7cd0 Bug 1340865 - Handle non-parser-created module scripts. 2018-07-10 11:18:15 +02:00
wolfbeast fb4eb66c14 Merge branch 'master' into js-modules 2018-07-09 08:00:49 +02:00
Moonchild 1af00389df Merge pull request #608 from janekptacijarabaci/_testBranch_js_modules_basic
Merge branch js modules basic
2018-07-07 11:55:43 +02:00
wolfbeast e9f7999427 Make the page visibility API pref-controlled.
This resolves #607.
2018-07-07 11:24:38 +02:00
janekptacijarabaci 941e54654e Merge branch 'master' of https://github.com/MoonchildProductions/UXP into _testBranch_test_1 2018-07-06 15:53:52 +02:00
janekptacijarabaci ad9ee72dcd Bug 1341298 - Relax expected module state when resolving modules and circular module dependencies are present 2018-04-14 09:02:03 +02:00
janekptacijarabaci 8af513a207 Bug 1341411 - Support circular module dependencies through export* per ES2017 2018-04-14 09:00:53 +02:00
janekptacijarabaci c60cefb1b0 Bug 1339986 - Handle export* when checking for duplicate export 2018-04-14 08:59:22 +02:00
janekptacijarabaci 3bd16c9080 Bug 1341256 - Fix module namespace object get handler 2018-04-14 08:57:05 +02:00
janekptacijarabaci 05505d2e83 Bug 1340268 - [[HasProperty]] on module namespace object should work even when binding is uninitialized 2018-04-14 08:56:17 +02:00
janekptacijarabaci ba6602b2de Bug 1326453 - Part 5: Remove no longer used ListIterator implementation 2018-04-14 08:55:29 +02:00
janekptacijarabaci 6452e3c978 Bug 1326453 - Part 4: Return @@toStringTag in [[OwnPropertyKeys]] trap for module namespace objects 2018-04-14 08:52:37 +02:00
janekptacijarabaci e2719e1dbf Bug 1326453 - Part 3: Don't throw a TypeError when SetPrototypeOf for module namespace objects is called with null 2018-04-14 08:51:05 +02:00
janekptacijarabaci a7f7a22319 Bug 1326453 - Part 2: Change @@toStringTag for module namespace objects to non-configurable 2018-04-14 08:50:17 +02:00
janekptacijarabaci b2ec36808a Bug 1326453 - Part 1: Remove @@iterator method from module namespace objects per ES2017 2018-04-14 08:49:15 +02:00
janekptacijarabaci 7d38fbd5e1 Bug 1330682 - Use CORS when loading modules as per current spec 2018-04-14 08:46:05 +02:00
janekptacijarabaci 700c322d37 Bug 1330657 - Enable <script type="module"> behind a pref 2018-04-14 08:45:16 +02:00
janekptacijarabaci 87e4f43be0 Bug 1320993 - Fix exporting default class expression 2018-04-14 08:40:37 +02:00
19206 changed files with 3051181 additions and 1729827 deletions

No files matched your search

+2 -1
View File
@@ -22,4 +22,5 @@
# changes to stick? As of bug 928195, this shouldn't be necessary! Please
# don't change CLOBBER for WebIDL changes any more.
Clobber required for updating NSS to 3.38 (poly1305 symbol changes)
Clobber for NSS Update
+8 -7
View File
@@ -6,11 +6,10 @@ with an ESR-52 fork point.
In addition to further development based on the Mozilla upstream code, and
selective cherry-picking of directly-applicable patches, this repository has its
own development and holds the base for a future platform to be used by XUL
own development and holds the base for a maintained platform to be used by XUL
applications.
This repository will contain at least one application to demonstrate and make use
of the platform: The Basilisk web browser, a close twin to Mozilla's Firefox.
For a list of active projects making use of the Unified XUL Platform, checkout http://thereisonlyxul.org/.
## Additional documentation
@@ -20,6 +19,7 @@ using and distributing this code and its binaries.
If you are interested in the development and building side of things, some
information will be available on the [Pale Moon developer wiki](http://developer.palemoon.org).
You are also always welcome to get in touch with our community on the [Pale Moon forum](https://forum.palemoon.org/).
### A note about trademarks and branding
@@ -29,7 +29,8 @@ owners. For more details, please see the notifications in the respective directo
### Foundation and maintainership
This repository has been founded and is maintained by Moonchild (M.C. Straver).
If you fork this repository to perform your own work on it, please consider
offering improvement patches upstream to its origin to mutually improve the
platform and build a future for XUL.
This repository has been founded by Moonchild (M.C. Straver) and is maintained by him
and other community members.
If you fork this repository to perform your own work on it, please consider offering
improvement patches upstream to its origin to mutually improve the platform and build
a future for XUL.
+1 -1
View File
@@ -8,7 +8,7 @@ EXPORTS.mozilla.dom += [
'AccessibleNode.h',
]
UNIFIED_SOURCES += [
SOURCES += [
'AccessibleNode.cpp',
]
-4
View File
@@ -60,11 +60,7 @@ struct GnomeAccessibilityModule
};
static GnomeAccessibilityModule sAtkBridge = {
#ifdef AIX
"libatk-bridge.a(libatk-bridge.so.0)", nullptr,
#else
"libatk-bridge.so", nullptr,
#endif
"gnome_accessibility_module_init", nullptr,
"gnome_accessibility_module_shutdown", nullptr
};
+3
View File
@@ -5,6 +5,9 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#include "AccessibleOrProxy.h"
#include "DocAccessible.h"
using namespace mozilla::a11y;
AccessibleOrProxy
AccessibleOrProxy::Parent() const
+3
View File
@@ -8,6 +8,9 @@
#include "Accessible-inl.h"
#include "nsEventShell.h"
#include "DocAccessible.h"
#include "DocAccessible-inl.h"
#include "EmbeddedObjCollector.h"
#include "NotificationController.h"
#ifdef A11Y_LOG
#include "Logging.h"
#endif
+1
View File
@@ -8,6 +8,7 @@
#include "AccEvent.h"
#include "Accessible.h"
#include "DocAccessible.h"
#include "mozilla/RefPtr.h"
#include "mozilla/UniquePtr.h"
+2
View File
@@ -5,6 +5,8 @@
#ifndef mozilla_a11y_FocusManager_h_
#define mozilla_a11y_FocusManager_h_
#include "mozilla/RefPtr.h"
class nsINode;
class nsIDocument;
class nsISupports;
+2
View File
@@ -9,6 +9,7 @@
#include "Accessible-inl.h"
#include "AccEvent.h"
#include "DocAccessible.h"
#include "DocAccessible-inl.h"
#include "nsAccessibilityService.h"
#include "nsCoreUtils.h"
#include "OuterDocAccessible.h"
@@ -23,6 +24,7 @@
#include "nsIDocShellTreeItem.h"
#include "nsIURI.h"
#include "mozilla/dom/Element.h"
#include "mozilla/dom/HTMLBodyElement.h"
using namespace mozilla;
using namespace mozilla::a11y;
@@ -7,6 +7,7 @@
#include "DocAccessible-inl.h"
#include "DocAccessibleChild.h"
#include "nsEventShell.h"
#include "TextLeafAccessible.h"
#include "TextUpdater.h"
@@ -16,6 +17,7 @@
using namespace mozilla;
using namespace mozilla::a11y;
using namespace mozilla::dom;
////////////////////////////////////////////////////////////////////////////////
// NotificationCollector
-39
View File
@@ -1,39 +0,0 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim: set ts=2 et sw=2 tw=80: */
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#ifndef A11Y_STATISTICS_H_
#define A11Y_STATISTICS_H_
#include "mozilla/Telemetry.h"
namespace mozilla {
namespace a11y {
namespace statistics {
inline void A11yInitialized()
{ /* STUB */ }
inline void A11yConsumers(uint32_t aConsumer)
{ /* STUB */ }
/**
* Report that ISimpleDOM* has been used.
*/
inline void ISimpleDOMUsed()
{ /* STUB */ }
/**
* Report that IAccessibleTable has been used.
*/
inline void IAccessibleTableUsed()
{ /* STUB */ }
} // namespace statistics
} // namespace a11y
} // namespace mozilla
#endif
+1
View File
@@ -6,6 +6,7 @@
#include "TreeWalker.h"
#include "Accessible.h"
#include "Accessible-inl.h"
#include "AccIterator.h"
#include "nsAccessibilityService.h"
#include "DocAccessible.h"
+2 -2
View File
@@ -25,7 +25,7 @@ if CONFIG['MOZ_DEBUG']:
'Logging.h',
]
UNIFIED_SOURCES += [
SOURCES += [
'AccessibleOrProxy.cpp',
'AccEvent.cpp',
'AccGroupInfo.cpp',
@@ -55,7 +55,7 @@ UNIFIED_SOURCES += [
]
if CONFIG['A11Y_LOG']:
UNIFIED_SOURCES += [
SOURCES += [
'Logging.cpp',
]
@@ -32,7 +32,6 @@
#include "RootAccessibleWrap.h"
#endif
#include "States.h"
#include "Statistics.h"
#include "TextLeafAccessibleWrap.h"
#include "TreeWalker.h"
#include "xpcAccessibleApplication.h"
@@ -1288,8 +1287,6 @@ nsAccessibilityService::Init()
if (XRE_IsParentProcess())
PlatformInit();
statistics::A11yInitialized();
return true;
}
+2
View File
@@ -9,6 +9,7 @@
#include "nsIBaseWindow.h"
#include "nsIDocShellTreeOwner.h"
#include "nsIContentInlines.h"
#include "nsIDocument.h"
#include "nsIDOMHTMLDocument.h"
#include "nsIDOMHTMLElement.h"
@@ -23,6 +24,7 @@
#include "nsISelectionPrivate.h"
#include "nsISelectionController.h"
#include "nsISimpleEnumerator.h"
#include "nsXBLPrototypeBinding.h"
#include "mozilla/dom/TouchEvent.h"
#include "mozilla/EventListenerManager.h"
#include "mozilla/EventStateManager.h"
+4
View File
@@ -9,6 +9,10 @@
#include "mozilla/StaticPtr.h"
#ifdef A11Y_LOG
#include "Logging.h"
#endif
using namespace mozilla;
using namespace mozilla::a11y;
+2
View File
@@ -10,9 +10,11 @@
#include "Accessible-inl.h"
#include "AccIterator.h"
#include "nsCoreUtils.h"
#include "nsStyleConsts.h"
#include "nsIDOMXULLabeledControlEl.h"
using namespace mozilla::a11y;
using namespace mozilla;
/**
* The accessible for which we are computing a text equivalent. It is useful
+1
View File
@@ -47,6 +47,7 @@
#include "nsDeckFrame.h"
#include "nsLayoutUtils.h"
#include "nsIPersistentProperties2.h"
#include "nsIPresShell.h"
#include "nsIStringBundle.h"
#include "nsPresContext.h"
@@ -11,6 +11,7 @@
#include "nsIAccessibleTypes.h"
#include "DocAccessible.h"
#include "HTMLListAccessible.h"
#include "Relation.h"
#include "Role.h"
#include "States.h"
#include "TextAttrs.h"
+2
View File
@@ -27,8 +27,10 @@
#include "nsIDocShellTreeItem.h"
#include "nsIDocShellTreeOwner.h"
#include "mozilla/a11y/DocAccessibleParent.h"
#include "mozilla/dom/Event.h"
#include "mozilla/dom/EventTarget.h"
#include "mozilla/dom/TabParent.h"
#include "nsIDOMCustomEvent.h"
#include "nsIDOMXULMultSelectCntrlEl.h"
#include "nsIDocument.h"
+1 -1
View File
@@ -10,7 +10,7 @@ EXPORTS.mozilla.a11y += [
'HyperTextAccessible.h',
]
UNIFIED_SOURCES += [
SOURCES += [
'Accessible.cpp',
'ApplicationAccessible.cpp',
'ARIAGridAccessible.cpp',
+1
View File
@@ -10,6 +10,7 @@
#include "nsAccUtils.h"
#include "Role.h"
#include "States.h"
#include "EventTree.h"
#include "nsBlockFrame.h"
#include "nsBulletFrame.h"
+1 -1
View File
@@ -4,7 +4,7 @@
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
UNIFIED_SOURCES += [
SOURCES += [
'HTMLCanvasAccessible.cpp',
'HTMLElementAccessibles.cpp',
'HTMLFormControlAccessible.cpp',
+1 -1
View File
@@ -44,7 +44,7 @@ if CONFIG['ACCESSIBILITY']:
'ProxyAccessibleShared.h',
]
UNIFIED_SOURCES += [
SOURCES += [
'DocAccessibleChildBase.cpp',
'DocAccessibleParent.cpp',
'ProxyAccessibleBase.cpp',
+1 -1
View File
@@ -13,7 +13,7 @@ EXPORTS.mozilla.a11y += [
'HyperTextAccessibleWrap.h',
]
UNIFIED_SOURCES += [
SOURCES += [
'AccessibleWrap.mm',
'DocAccessibleWrap.mm',
'MacUtils.mm',
-36
View File
@@ -49,42 +49,6 @@ using namespace mozilla::a11y;
// - NSAccessibilityMathPrescriptsAttribute @"AXMathPrescripts"
// - NSAccessibilityMathPostscriptsAttribute @"AXMathPostscripts"
// convert an array of Gecko accessibles to an NSArray of native accessibles
static inline NSMutableArray*
ConvertToNSArray(nsTArray<Accessible*>& aArray)
{
NSMutableArray* nativeArray = [[NSMutableArray alloc] init];
// iterate through the list, and get each native accessible.
size_t totalCount = aArray.Length();
for (size_t i = 0; i < totalCount; i++) {
Accessible* curAccessible = aArray.ElementAt(i);
mozAccessible* curNative = GetNativeFromGeckoAccessible(curAccessible);
if (curNative)
[nativeArray addObject:GetObjectOrRepresentedView(curNative)];
}
return nativeArray;
}
// convert an array of Gecko proxy accessibles to an NSArray of native accessibles
static inline NSMutableArray*
ConvertToNSArray(nsTArray<ProxyAccessible*>& aArray)
{
NSMutableArray* nativeArray = [[NSMutableArray alloc] init];
// iterate through the list, and get each native accessible.
size_t totalCount = aArray.Length();
for (size_t i = 0; i < totalCount; i++) {
ProxyAccessible* curAccessible = aArray.ElementAt(i);
mozAccessible* curNative = GetNativeFromProxy(curAccessible);
if (curNative)
[nativeArray addObject:GetObjectOrRepresentedView(curNative)];
}
return nativeArray;
}
#pragma mark -
@implementation mozAccessible
+2
View File
@@ -12,6 +12,8 @@
#import "nsCocoaUtils.h"
using namespace mozilla::a11y;
@implementation mozHeadingAccessible
- (NSString*)title
+41
View File
@@ -5,9 +5,50 @@
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#import "Accessible-inl.h"
#import "mozTableAccessible.h"
#import "TableAccessible.h"
#import "TableCellAccessible.h"
#import "nsCocoaUtils.h"
using namespace mozilla::a11y;
// convert an array of Gecko accessibles to an NSArray of native accessibles
static inline NSMutableArray*
ConvertToNSArray(nsTArray<Accessible*>& aArray)
{
NSMutableArray* nativeArray = [[NSMutableArray alloc] init];
// iterate through the list, and get each native accessible.
size_t totalCount = aArray.Length();
for (size_t i = 0; i < totalCount; i++) {
Accessible* curAccessible = aArray.ElementAt(i);
mozAccessible* curNative = GetNativeFromGeckoAccessible(curAccessible);
if (curNative)
[nativeArray addObject:GetObjectOrRepresentedView(curNative)];
}
return nativeArray;
}
// convert an array of Gecko proxy accessibles to an NSArray of native accessibles
static inline NSMutableArray*
ConvertToNSArray(nsTArray<ProxyAccessible*>& aArray)
{
NSMutableArray* nativeArray = [[NSMutableArray alloc] init];
// iterate through the list, and get each native accessible.
size_t totalCount = aArray.Length();
for (size_t i = 0; i < totalCount; i++) {
ProxyAccessible* curAccessible = aArray.ElementAt(i);
mozAccessible* curNative = GetNativeFromProxy(curAccessible);
if (curNative)
[nativeArray addObject:GetObjectOrRepresentedView(curNative)];
}
return nativeArray;
}
@implementation mozTablePartAccessible
- (BOOL)isLayoutTablePart;
{
+1
View File
@@ -12,6 +12,7 @@
#import "mozTextAccessible.h"
using namespace mozilla;
using namespace mozilla::a11y;
inline bool
+3
View File
@@ -6,6 +6,9 @@
#include "AccessibleWrap.h"
#include "Accessible.h"
#include "Accessible-inl.h"
#include "Accessible2_i.c"
#include "Accessible2_2_i.c"
#include "Accessible2_3_i.c"
@@ -13,7 +13,6 @@
#include "AccessibleWrap.h"
#include "IUnknownImpl.h"
#include "Statistics.h"
#include "TableAccessible.h"
#include "nsCOMPtr.h"
@@ -32,7 +31,6 @@ ia2AccessibleTable::QueryInterface(REFIID iid, void** ppv)
*ppv = nullptr;
if (IID_IAccessibleTable == iid) {
statistics::IAccessibleTableUsed();
*ppv = static_cast<IAccessibleTable*>(this);
(reinterpret_cast<IUnknown*>(*ppv))->AddRef();
return S_OK;
@@ -15,6 +15,7 @@
#include "ProxyWrappers.h"
#include "mozilla/ClearOnShutdown.h"
using namespace mozilla;
using namespace mozilla::a11y;
StaticRefPtr<HyperTextAccessibleWrap> ia2AccessibleText::sLastTextChangeAcc;
@@ -11,6 +11,8 @@
#include "nsIAccessibleText.h"
#include "AccessibleText.h"
#include "nsString.h"
#include "mozilla/StaticPtr.h"
namespace mozilla {
namespace a11y {
+1 -1
View File
@@ -15,7 +15,7 @@ EXPORTS += [
'ia2AccessibleValue.h',
]
UNIFIED_SOURCES += [
SOURCES += [
'ia2Accessible.cpp',
'ia2AccessibleAction.cpp',
'ia2AccessibleComponent.cpp',
-12
View File
@@ -7,7 +7,6 @@
#include "Compatibility.h"
#include "nsWinUtils.h"
#include "Statistics.h"
#include "mozilla/Preferences.h"
@@ -52,8 +51,6 @@ uint32_t Compatibility::sConsumers = Compatibility::UNKNOWN;
void
Compatibility::Init()
{
// Note we collect some AT statistics/telemetry here for convenience.
HMODULE jawsHandle = ::GetModuleHandleW(L"jhook");
if (jawsHandle)
sConsumers |= (IsModuleVersionLessThan(jawsHandle, 8, 2173)) ?
@@ -92,15 +89,6 @@ Compatibility::Init()
if (sConsumers != Compatibility::UNKNOWN)
sConsumers ^= Compatibility::UNKNOWN;
// Gather telemetry
uint32_t temp = sConsumers;
for (int i = 0; temp; i++) {
if (temp & 0x1)
statistics::A11yConsumers(i);
temp >>= 1;
}
// Turn off new tab switching for Jaws and WE.
if (sConsumers & (JAWS | OLDJAWS | WE)) {
// Check to see if the pref for disallowing CtrlTab is already set. If so,
@@ -12,7 +12,6 @@
#include "Role.h"
#include "RootAccessible.h"
#include "sdnDocAccessible.h"
#include "Statistics.h"
#include "nsIDocShell.h"
#include "nsIInterfaceRequestorUtils.h"
@@ -36,7 +35,6 @@ DocAccessibleWrap::~DocAccessibleWrap()
IMPL_IUNKNOWN_QUERY_HEAD(DocAccessibleWrap)
if (aIID == IID_ISimpleDOMDocument) {
statistics::ISimpleDOMUsed();
*aInstancePtr = static_cast<ISimpleDOMDocument*>(new sdnDocAccessible(this));
static_cast<IUnknown*>(*aInstancePtr)->AddRef();
return S_OK;
+1 -1
View File
@@ -83,7 +83,7 @@ private:
} // namespace detail
constexpr MsaaIdGenerator::MsaaIdGenerator()
MsaaIdGenerator::MsaaIdGenerator()
: mIDSet(kNumUniqueIDBits)
{}
+1 -1
View File
@@ -30,7 +30,7 @@ class AccessibleWrap;
class MsaaIdGenerator
{
public:
constexpr MsaaIdGenerator();
MsaaIdGenerator();
uint32_t GetID();
void ReleaseID(AccessibleWrap* aAccWrap);
+3
View File
@@ -6,6 +6,9 @@
#include "Platform.h"
#include "Accessible.h"
#include "Accessible-inl.h"
#include "AccEvent.h"
#include "Compatibility.h"
#include "HyperTextAccessibleWrap.h"
@@ -7,13 +7,11 @@
#include "TextLeafAccessibleWrap.h"
#include "sdnTextAccessible.h"
#include "Statistics.h"
using namespace mozilla::a11y;
IMPL_IUNKNOWN_QUERY_HEAD(TextLeafAccessibleWrap)
if (aIID == IID_ISimpleDOMText) {
statistics::ISimpleDOMUsed();
*aInstancePtr = static_cast<ISimpleDOMText*>(new sdnTextAccessible(this));
static_cast<IUnknown*>(*aInstancePtr)->AddRef();
return S_OK;
+3 -7
View File
@@ -16,7 +16,7 @@ EXPORTS.mozilla.a11y += [
'MsaaIdGenerator.h',
]
UNIFIED_SOURCES += [
SOURCES += [
'AccessibleWrap.cpp',
'ApplicationAccessibleWrap.cpp',
'ARIAGridAccessibleWrap.cpp',
@@ -32,16 +32,12 @@ UNIFIED_SOURCES += [
'nsWinUtils.cpp',
'Platform.cpp',
'RootAccessibleWrap.cpp',
'ServiceProvider.cpp',
'TextLeafAccessibleWrap.cpp',
]
# This file cannot be built in unified mode because it includes ISimpleDOMNode_i.c.
SOURCES += [
'ServiceProvider.cpp',
]
if CONFIG['MOZ_XUL']:
UNIFIED_SOURCES += [
SOURCES += [
'XULListboxAccessibleWrap.cpp',
'XULMenuAccessibleWrap.cpp',
'XULTreeGridAccessibleWrap.cpp',
+1 -1
View File
@@ -4,7 +4,7 @@
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
UNIFIED_SOURCES += [
SOURCES += [
'sdnAccessible.cpp',
'sdnDocAccessible.cpp',
'sdnTextAccessible.cpp',
+1 -1
View File
@@ -4,7 +4,7 @@
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
UNIFIED_SOURCES += [
SOURCES += [
'nsAccessibleRelation.cpp',
'xpcAccessibilityService.cpp',
'xpcAccessible.cpp',
@@ -3,6 +3,7 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#include "xpcAccessibilityService.h"
#include "xpcAccessibleDocument.h"
#include "nsAccessiblePivot.h"
#include "nsAccessibilityService.h"
@@ -7,6 +7,9 @@
#include "nsIAccessibilityService.h"
#include "nsCOMPtr.h"
#include "nsITimer.h"
class xpcAccessibilityService : public nsIAccessibleRetrieval
{
@@ -7,6 +7,7 @@
#include "xpcAccessibleHyperText.h"
#include "Accessible-inl.h"
#include "mozilla/a11y/DocAccessibleParent.h"
#include "HyperTextAccessible-inl.h"
#include "TextRange.h"
#include "xpcAccessibleDocument.h"
+1 -1
View File
@@ -4,7 +4,7 @@
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
UNIFIED_SOURCES += [
SOURCES += [
'XULAlertAccessible.cpp',
'XULColorPickerAccessible.cpp',
'XULComboboxAccessible.cpp',
-15
View File
@@ -1,15 +0,0 @@
"use strict";
module.exports = {
"extends": [
"../toolkit/.eslintrc.js"
],
"rules": {
"no-unused-vars": ["error", {
"vars": "local",
"varsIgnorePattern": "^Cc|Ci|Cu|Cr|EXPORTED_SYMBOLS",
"args": "none",
}]
}
};
-13
View File
@@ -1,13 +0,0 @@
Please see the file ../toolkit/content/license.html for the copyright
licensing conditions attached to this codebase, including copies of the
licenses concerned.
You are not granted rights or licenses to the trademarks of Moonchild
Productions or any other party, including without limitation the
Basilisk name or logo.
The Serpent logo in branding/unofficial is derived from "Sea Serpent"
by Lorc, licensed under the Creative Commons license CC-BY 3.0
For individual licensing restrictions on branding, see the LICENSE
files in the appropriate branding directories.
-16
View File
@@ -1,16 +0,0 @@
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
include $(topsrcdir)/config/rules.mk
ifdef MAKENSISU
# For Windows build the uninstaller during the application build since the
# uninstaller is included with the application for mar file generation.
libs::
$(MAKE) -C installer/windows uninstaller
ifdef MOZ_MAINTENANCE_SERVICE
$(MAKE) -C installer/windows maintenanceservice_installer
endif
endif
-1
View File
@@ -1 +0,0 @@
PURGECACHES_DIRS = $(DIST)/bin/browser
-15
View File
@@ -1,15 +0,0 @@
# vim: set filetype=python:
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
include('/toolkit/toolkit.mozbuild')
if CONFIG['MOZ_EXTENSIONS']:
DIRS += ['/extensions']
DIRS += ['/%s' % CONFIG['MOZ_BRANDING_DIRECTORY']]
# Never add dirs after the browser root because they apparently won't
# get packaged properly on Mac.
DIRS += ['/application/basilisk']
-94
View File
@@ -1,94 +0,0 @@
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
dist_dest = $(DIST)/$(MOZ_MACBUNDLE_NAME)
# hardcode en-US for the moment
AB_CD = en-US
# Build a binary bootstrapping with XRE_main
ifndef MOZ_WINCONSOLE
ifneq (,$(MOZ_DEBUG)$(MOZ_ASAN))
MOZ_WINCONSOLE = 1
else
MOZ_WINCONSOLE = 0
endif
endif
# This switches $(INSTALL) to copy mode, like $(SYSINSTALL), so things that
# shouldn't get 755 perms need $(IFLAGS1) for either way of calling nsinstall.
NSDISTMODE = copy
include $(topsrcdir)/config/config.mk
ifeq ($(OS_ARCH),WINNT)
# Rebuild firefox.exe if the manifest changes - it's included by splash.rc.
# (this dependency should really be just for firefox.exe, not other targets)
# Note the manifest file exists in the tree, so we use the explicit filename
# here.
EXTRA_DEPS += basilisk.exe.manifest
endif
PROGRAMS_DEST = $(DIST)/bin
include $(topsrcdir)/config/rules.mk
ifneq (,$(filter-out WINNT,$(OS_ARCH)))
ifdef COMPILE_ENVIRONMENT
libs::
cp -p $(MOZ_APP_NAME)$(BIN_SUFFIX) $(DIST)/bin/$(MOZ_APP_NAME)-bin$(BIN_SUFFIX)
endif
GARBAGE += $(addprefix $(FINAL_TARGET)/defaults/pref/, basilisk.js)
endif
# channel-prefs.js is handled separate from other prefs due to bug 756325
libs:: $(srcdir)/profile/channel-prefs.js
$(NSINSTALL) -D $(DIST)/bin/defaults/pref
$(call py_action,preprocessor,-Fsubstitution $(PREF_PPFLAGS) $(ACDEFINES) $^ -o $(DIST)/bin/defaults/pref/channel-prefs.js)
ifeq (cocoa,$(MOZ_WIDGET_TOOLKIT))
MAC_APP_NAME = $(MOZ_APP_DISPLAYNAME)
ifdef MOZ_DEBUG
MAC_APP_NAME := $(MAC_APP_NAME)Debug
endif
AB_CD = $(MOZ_UI_LOCALE)
ifeq (zh-TW,$(AB_CD))
LPROJ_ROOT := $(subst -,_,$(AB_CD))
else
LPROJ_ROOT := $(firstword $(subst -, ,$(AB_CD)))
endif
LPROJ := Contents/Resources/$(LPROJ_ROOT).lproj
clean clobber repackage::
$(RM) -r $(dist_dest)
MAC_BUNDLE_VERSION = $(shell $(PYTHON) $(srcdir)/macversion.py --version=$(MOZ_APP_VERSION) --buildid=$(DEPTH)/buildid.h)
.PHONY: repackage
tools repackage:: $(DIST)/bin/$(MOZ_APP_NAME)
$(MKDIR) -p $(dist_dest)/Contents/MacOS
$(MKDIR) -p $(dist_dest)/$(LPROJ)
rsync -a --exclude '*.in' $(srcdir)/macbuild/Contents $(dist_dest) --exclude English.lproj
rsync -a --exclude '*.in' $(srcdir)/macbuild/Contents/Resources/English.lproj/ $(dist_dest)/$(LPROJ)
sed -e 's/%APP_VERSION%/$(MOZ_APP_VERSION)/' -e 's/%MAC_APP_NAME%/$(MAC_APP_NAME)/' -e 's/%MOZ_MACBUNDLE_ID%/$(MOZ_MACBUNDLE_ID)/' -e 's/%MAC_BUNDLE_VERSION%/$(MAC_BUNDLE_VERSION)/' $(srcdir)/macbuild/Contents/Info.plist.in > $(dist_dest)/Contents/Info.plist
sed -e 's/%MAC_APP_NAME%/$(MAC_APP_NAME)/' $(srcdir)/macbuild/Contents/Resources/English.lproj/InfoPlist.strings.in | iconv -f UTF-8 -t UTF-16 > $(dist_dest)/$(LPROJ)/InfoPlist.strings
rsync -a --exclude-from='$(srcdir)/macbuild/Contents/MacOS-files.in' $(DIST)/bin/ $(dist_dest)/Contents/Resources
rsync -a --include-from='$(srcdir)/macbuild/Contents/MacOS-files.in' --exclude '*' $(DIST)/bin/ $(dist_dest)/Contents/MacOS
$(RM) $(dist_dest)/Contents/MacOS/$(MOZ_APP_NAME)
rsync -aL $(DIST)/bin/$(MOZ_APP_NAME) $(dist_dest)/Contents/MacOS
cp -RL $(DIST)/branding/firefox.icns $(dist_dest)/Contents/Resources/firefox.icns
cp -RL $(DIST)/branding/document.icns $(dist_dest)/Contents/Resources/document.icns
$(MKDIR) -p $(dist_dest)/Contents/Library/LaunchServices
mv -f $(dist_dest)/Contents/MacOS/updater.app/Contents/MacOS/org.mozilla.updater $(dist_dest)/Contents/Library/LaunchServices
ln -s ../../../../Library/LaunchServices/org.mozilla.updater $(dist_dest)/Contents/MacOS/updater.app/Contents/MacOS/org.mozilla.updater
printf APPLMOZB > $(dist_dest)/Contents/PkgInfo
endif
-50
View File
@@ -1,50 +0,0 @@
#if MOZ_APP_STATIC_INI
#ifdef MOZ_BUILD_APP_IS_BROWSER
; This file is not used. If you modify it and want the application to use
; your modifications, move it under the browser/ subdirectory and start with
; the "-app /path/to/browser/application.ini" argument.
#else
; This file is not used. If you modify it and want the application to use
; your modifications, start with the "-app /path/to/application.ini"
; argument.
#endif
#endif
#if 0
; This Source Code Form is subject to the terms of the Mozilla Public
; License, v. 2.0. If a copy of the MPL was not distributed with this
; file, You can obtain one at http://mozilla.org/MPL/2.0/.
#endif
#filter substitution
#include @TOPOBJDIR@/buildid.h
#include @TOPOBJDIR@/source-repo.h
[App]
# Vendor=@MOZ_APP_VENDOR@
Vendor=Moonchild Productions
# Name=@MOZ_APP_BASENAME@
Name=Basilisk
RemotingName=@MOZ_APP_REMOTINGNAME@
#ifdef MOZ_APP_DISPLAYNAME
CodeName=@MOZ_APP_DISPLAYNAME@
#endif
Version=@MOZ_APP_VERSION@
#ifdef MOZ_APP_PROFILE
Profile=@MOZ_APP_PROFILE@
#endif
BuildID=@MOZ_BUILDID@
#ifdef MOZ_SOURCE_REPO
SourceRepository=@MOZ_SOURCE_REPO@
#endif
#ifdef MOZ_SOURCE_STAMP
SourceStamp=@MOZ_SOURCE_STAMP@
#endif
ID=@MOZ_APP_ID@
[Gecko]
MinVersion=@GRE_MILESTONE@
MaxVersion=@GRE_MILESTONE@
[XRE]
#ifdef MOZ_PROFILE_MIGRATOR
EnableProfileMigrator=1
#endif
@@ -1,42 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity
version="1.0.0.0"
processorArchitecture="*"
name="Basilisk"
type="win32"
/>
<description>Firefox</description>
<dependency>
<dependentAssembly>
<assemblyIdentity
type="win32"
name="Microsoft.Windows.Common-Controls"
version="6.0.0.0"
processorArchitecture="*"
publicKeyToken="6595b64144ccf1df"
language="*"
/>
</dependentAssembly>
</dependency>
<ms_asmv3:trustInfo xmlns:ms_asmv3="urn:schemas-microsoft-com:asm.v3">
<ms_asmv3:security>
<ms_asmv3:requestedPrivileges>
<ms_asmv3:requestedExecutionLevel level="asInvoker" uiAccess="false" />
</ms_asmv3:requestedPrivileges>
</ms_asmv3:security>
</ms_asmv3:trustInfo>
<ms_asmv3:application xmlns:ms_asmv3="urn:schemas-microsoft-com:asm.v3">
<ms_asmv3:windowsSettings xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">
<dpiAware>True/PM</dpiAware>
</ms_asmv3:windowsSettings>
</ms_asmv3:application>
<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
<application>
<supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}"/>
<supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}"/>
<supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}"/>
<supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"/>
</application>
</compatibility>
</assembly>
File diff suppressed because it is too large. Load diff
@@ -1,229 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleDocumentTypes</key>
<array>
<dict>
<key>CFBundleTypeExtensions</key>
<array>
<string>html</string>
<string>htm</string>
<string>shtml</string>
<string>xht</string>
<string>xhtml</string>
</array>
<key>CFBundleTypeIconFile</key>
<string>document.icns</string>
<key>CFBundleTypeName</key>
<string>HTML Document</string>
<key>CFBundleTypeOSTypes</key>
<array>
<string>HTML</string>
</array>
<key>CFBundleTypeRole</key>
<string>Viewer</string>
</dict>
<dict>
<key>CFBundleTypeExtensions</key>
<array>
<string>svg</string>
</array>
<key>CFBundleTypeIconFile</key>
<string>document.icns</string>
<key>CFBundleTypeMIMETypes</key>
<array>
<string>image/svg+xml</string>
</array>
<key>CFBundleTypeName</key>
<string>SVG document</string>
<key>CFBundleTypeOSTypes</key>
<array>
<string>TEXT</string>
</array>
<key>CFBundleTypeRole</key>
<string>Viewer</string>
<key>NSDocumentClass</key>
<string>BrowserDocument</string>
</dict>
<dict>
<key>CFBundleTypeExtensions</key>
<array>
<string>text</string>
<string>txt</string>
<string>js</string>
<string>log</string>
<string>css</string>
<string>xul</string>
<string>rdf</string>
</array>
<key>CFBundleTypeIconFile</key>
<string>document.icns</string>
<key>CFBundleTypeName</key>
<string>Text Document</string>
<key>CFBundleTypeOSTypes</key>
<array>
<string>TEXT</string>
<string>utxt</string>
</array>
<key>CFBundleTypeRole</key>
<string>Viewer</string>
</dict>
<dict>
<key>CFBundleTypeExtensions</key>
<array>
<string>jpeg</string>
<string>jpg</string>
<string>png</string>
<string>gif</string>
</array>
<key>CFBundleTypeIconFile</key>
<string>fileBookmark.icns</string>
<key>CFBundleTypeName</key>
<string>document.icns</string>
<key>CFBundleTypeOSTypes</key>
<array>
<string>GIFf</string>
<string>JPEG</string>
<string>PNGf</string>
</array>
<key>CFBundleTypeRole</key>
<string>Viewer</string>
</dict>
<dict>
<key>CFBundleTypeExtensions</key>
<array>
<string>oga</string>
<string>ogg</string>
</array>
<key>CFBundleTypeIconFile</key>
<string>document.icns</string>
<key>CFBundleTypeMIMETypes</key>
<array>
<string>audio/ogg</string>
</array>
<key>CFBundleTypeName</key>
<string>HTML5 Audio (Ogg)</string>
<key>CFBundleTypeRole</key>
<string>Viewer</string>
</dict>
<dict>
<key>CFBundleTypeExtensions</key>
<array>
<string>ogv</string>
</array>
<key>CFBundleTypeIconFile</key>
<string>document.icns</string>
<key>CFBundleTypeMIMETypes</key>
<array>
<string>video/ogg</string>
</array>
<key>CFBundleTypeName</key>
<string>HTML5 Video (Ogg)</string>
<key>CFBundleTypeRole</key>
<string>Viewer</string>
</dict>
<dict>
<key>CFBundleTypeExtensions</key>
<array>
<string>webm</string>
</array>
<key>CFBundleTypeIconFile</key>
<string>document.icns</string>
<key>CFBundleTypeMIMETypes</key>
<array>
<string>video/webm</string>
</array>
<key>CFBundleTypeName</key>
<string>HTML5 Video (WebM)</string>
<key>CFBundleTypeRole</key>
<string>Viewer</string>
</dict>
</array>
<key>CFBundleExecutable</key>
<string>basilisk</string>
<key>CFBundleGetInfoString</key>
<string>%MAC_APP_NAME% %APP_VERSION%</string>
<key>CFBundleIconFile</key>
<string>firefox.icns</string>
<key>CFBundleIdentifier</key>
<string>%MOZ_MACBUNDLE_ID%</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>%MAC_APP_NAME%</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>%APP_VERSION%</string>
<key>CFBundleSignature</key>
<string>MOZB</string>
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleURLIconFile</key>
<string>document.icns</string>
<key>CFBundleURLName</key>
<string>http URL</string>
<key>CFBundleURLSchemes</key>
<array>
<string>http</string>
</array>
</dict>
<dict>
<key>CFBundleURLIconFile</key>
<string>document.icns</string>
<key>CFBundleURLName</key>
<string>https URL</string>
<key>CFBundleURLSchemes</key>
<array>
<string>https</string>
</array>
</dict>
<dict>
<key>CFBundleURLName</key>
<string>ftp URL</string>
<key>CFBundleURLSchemes</key>
<array>
<string>ftp</string>
</array>
</dict>
<dict>
<key>CFBundleURLName</key>
<string>file URL</string>
<key>CFBundleURLSchemes</key>
<array>
<string>file</string>
</array>
</dict>
</array>
<key>CFBundleVersion</key>
<string>%MAC_BUNDLE_VERSION%</string>
<key>NSAppleScriptEnabled</key>
<true/>
<key>LSApplicationCategoryType</key>
<string>public.app-category.productivity</string>
<key>LSEnvironment</key>
<dict>
<key>MallocNanoZone</key>
<string>0</string>
</dict>
<key>LSFileQuarantineEnabled</key>
<true/>
<key>LSMinimumSystemVersion</key>
<string>10.7.0</string>
<key>NSSupportsAutomaticGraphicsSwitching</key>
<true/>
<key>NSPrincipalClass</key>
<string>GeckoNSApplication</string>
<key>SMPrivilegedExecutables</key>
<dict>
<key>org.mozilla.updater</key>
<string>identifier "org.mozilla.updater" and ((anchor apple generic and certificate leaf[field.1.2.840.113635.100.6.1.9]) or (anchor apple generic and certificate 1[field.1.2.840.113635.100.6.2.6] and certificate leaf[field.1.2.840.113635.100.6.1.13] and certificate leaf[subject.OU] = "43AQ936H96"))</string>
</dict>
<key>NSDisablePersistence</key>
<true/>
</dict>
</plist>
@@ -1,9 +0,0 @@
/*.app/***
/*.dylib
/certutil
/firefox-bin
/gtest/***
/pk12util
/ssltunnel
/xpcshell
/XUL
@@ -1,5 +0,0 @@
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
CFBundleName = "%MAC_APP_NAME%";
-44
View File
@@ -1,44 +0,0 @@
#!/usr/bin/python
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
from optparse import OptionParser
import sys
import re
o = OptionParser()
o.add_option("--buildid", dest="buildid")
o.add_option("--version", dest="version")
(options, args) = o.parse_args()
if not options.buildid:
print >>sys.stderr, "--buildid is required"
sys.exit(1)
if not options.version:
print >>sys.stderr, "--version is required"
sys.exit(1)
# We want to build a version number that matches the format allowed for
# CFBundleVersion (nnnnn[.nn[.nn]]). We'll incorporate both the version
# number as well as the date, so that it changes at least daily (for nightly
# builds), but also so that newly-built older versions (e.g. beta build) aren't
# considered "newer" than previously-built newer versions (e.g. a trunk nightly)
define, MOZ_BUILDID, buildid = open(options.buildid, 'r').read().split()
# extract only the major version (i.e. "14" from "14.0b1")
majorVersion = re.match(r'^(\d+)[^\d].*', options.version).group(1)
# last two digits of the year
twodigityear = buildid[2:4]
month = buildid[4:6]
if month[0] == '0':
month = month[1]
day = buildid[6:8]
if day[0] == '0':
day = day[1]
print '%s.%s.%s' % (majorVersion + twodigityear, month, day)
-8
View File
@@ -1,8 +0,0 @@
WIN32_MODULE_COMPANYNAME=Moonchild Productions
WIN32_MODULE_COPYRIGHT=©Basilisk and Mozilla Developers; available under the MPL 2 license.
WIN32_MODULE_PRODUCTVERSION=@MOZ_APP_WINVERSION@
WIN32_MODULE_PRODUCTVERSION_STRING=@MOZ_APP_VERSION@
WIN32_MODULE_TRADEMARKS=Basilisk is a Trademark of Moonchild Productions.
WIN32_MODULE_DESCRIPTION=@MOZ_APP_DISPLAYNAME@
WIN32_MODULE_PRODUCTNAME=@MOZ_APP_DISPLAYNAME@
WIN32_MODULE_NAME=@MOZ_APP_DISPLAYNAME@
-75
View File
@@ -1,75 +0,0 @@
# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
# vim: set filetype=python:
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
DIRS += ['profile/extensions']
GeckoProgram(CONFIG['MOZ_APP_NAME'])
JS_PREFERENCE_PP_FILES += [
'profile/basilisk.js',
]
SOURCES += [
'nsBrowserApp.cpp',
]
FINAL_TARGET_FILES += ['blocklist.xml']
FINAL_TARGET_FILES.defaults.profile += ['profile/prefs.js']
FINAL_TARGET_FILES.defaults += ['permissions']
DEFINES['APP_VERSION'] = CONFIG['MOZ_APP_VERSION']
LOCAL_INCLUDES += [
'!/build',
'/toolkit/xre',
'/xpcom/base',
'/xpcom/build',
]
USE_LIBS += [
'mozglue',
]
if CONFIG['LIBFUZZER']:
USE_LIBS += [ 'fuzzer' ]
if CONFIG['_MSC_VER']:
# Always enter a Windows program through wmain, whether or not we're
# a console application.
WIN32_EXE_LDFLAGS += ['-ENTRY:wmainCRTStartup']
if CONFIG['OS_ARCH'] == 'WINNT':
RCINCLUDE = 'splash.rc'
DEFINES['MOZ_PHOENIX'] = True
for cdm in CONFIG['MOZ_EME_MODULES']:
DEFINES['MOZ_%s_EME' % cdm.upper()] = True
# Control the default heap size.
# This is the heap returned by GetProcessHeap().
# As we use the CRT heap, the default size is too large and wastes VM.
#
# The default heap size is 1MB on Win32.
# The heap will grow if need be.
#
# Set it to 256k. See bug 127069.
if CONFIG['OS_ARCH'] == 'WINNT' and not CONFIG['GNU_CC']:
LDFLAGS += ['/HEAP:0x40000']
DISABLE_STL_WRAPPING = True
if CONFIG['MOZ_LINKER']:
OS_LIBS += CONFIG['MOZ_ZLIB_LIBS']
if CONFIG['HAVE_CLOCK_MONOTONIC']:
OS_LIBS += CONFIG['REALTIME_LIBS']
if CONFIG['MOZ_GPSD']:
DEFINES['MOZ_GPSD'] = True
for icon in ('firefox', 'document', 'newwindow', 'newtab', 'pbmode'):
DEFINES[icon.upper() + '_ICO'] = '"%s/dist/branding/%s.ico"' % (
TOPOBJDIR, icon)
-393
View File
@@ -1,393 +0,0 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#include "nsXULAppAPI.h"
#include "mozilla/AppData.h"
#include "application.ini.h"
#include "nsXPCOMGlue.h"
#if defined(XP_WIN)
#include <windows.h>
#include <stdlib.h>
#elif defined(XP_UNIX)
#include <sys/resource.h>
#include <unistd.h>
#endif
#include <stdio.h>
#include <stdarg.h>
#include <time.h>
#include "nsCOMPtr.h"
#include "nsIFile.h"
#include "nsStringGlue.h"
#ifdef XP_WIN
#define XRE_WANT_ENVIRON
#define strcasecmp _stricmp
#endif
#include "BinaryPath.h"
#include "nsXPCOMPrivate.h" // for MAXPATHLEN and XPCOM_DLL
#include "mozilla/Sprintf.h"
#include "mozilla/Telemetry.h"
#include "mozilla/WindowsDllBlocklist.h"
#if !defined(MOZ_WIDGET_COCOA) && !defined(MOZ_WIDGET_ANDROID)
#define MOZ_BROWSER_CAN_BE_CONTENTPROC
#include "../../ipc/contentproc/plugin-container.cpp"
#endif
using namespace mozilla;
#ifdef XP_MACOSX
#define kOSXResourcesFolder "Resources"
#endif
#define kDesktopFolder "browser"
static void Output(const char *fmt, ... )
{
va_list ap;
va_start(ap, fmt);
#ifndef XP_WIN
vfprintf(stderr, fmt, ap);
#else
char msg[2048];
vsnprintf_s(msg, _countof(msg), _TRUNCATE, fmt, ap);
wchar_t wide_msg[2048];
MultiByteToWideChar(CP_UTF8,
0,
msg,
-1,
wide_msg,
_countof(wide_msg));
#if MOZ_WINCONSOLE
fwprintf_s(stderr, wide_msg);
#else
// Linking user32 at load-time interferes with the DLL blocklist (bug 932100).
// This is a rare codepath, so we can load user32 at run-time instead.
HMODULE user32 = LoadLibraryW(L"user32.dll");
if (user32) {
decltype(MessageBoxW)* messageBoxW =
(decltype(MessageBoxW)*) GetProcAddress(user32, "MessageBoxW");
if (messageBoxW) {
messageBoxW(nullptr, wide_msg, L"Basilisk", MB_OK
| MB_ICONERROR
| MB_SETFOREGROUND);
}
FreeLibrary(user32);
}
#endif
#endif
va_end(ap);
}
/**
* Return true if |arg| matches the given argument name.
*/
static bool IsArg(const char* arg, const char* s)
{
if (*arg == '-')
{
if (*++arg == '-')
++arg;
return !strcasecmp(arg, s);
}
#if defined(XP_WIN)
if (*arg == '/')
return !strcasecmp(++arg, s);
#endif
return false;
}
XRE_GetFileFromPathType XRE_GetFileFromPath;
XRE_CreateAppDataType XRE_CreateAppData;
XRE_FreeAppDataType XRE_FreeAppData;
XRE_TelemetryAccumulateType XRE_TelemetryAccumulate;
XRE_StartupTimelineRecordType XRE_StartupTimelineRecord;
XRE_mainType XRE_main;
XRE_StopLateWriteChecksType XRE_StopLateWriteChecks;
XRE_XPCShellMainType XRE_XPCShellMain;
XRE_GetProcessTypeType XRE_GetProcessType;
XRE_SetProcessTypeType XRE_SetProcessType;
XRE_InitChildProcessType XRE_InitChildProcess;
XRE_EnableSameExecutableForContentProcType XRE_EnableSameExecutableForContentProc;
#ifdef LIBFUZZER
XRE_LibFuzzerSetMainType XRE_LibFuzzerSetMain;
XRE_LibFuzzerGetFuncsType XRE_LibFuzzerGetFuncs;
#endif
static const nsDynamicFunctionLoad kXULFuncs[] = {
{ "XRE_GetFileFromPath", (NSFuncPtr*) &XRE_GetFileFromPath },
{ "XRE_CreateAppData", (NSFuncPtr*) &XRE_CreateAppData },
{ "XRE_FreeAppData", (NSFuncPtr*) &XRE_FreeAppData },
{ "XRE_TelemetryAccumulate", (NSFuncPtr*) &XRE_TelemetryAccumulate },
{ "XRE_StartupTimelineRecord", (NSFuncPtr*) &XRE_StartupTimelineRecord },
{ "XRE_main", (NSFuncPtr*) &XRE_main },
{ "XRE_StopLateWriteChecks", (NSFuncPtr*) &XRE_StopLateWriteChecks },
{ "XRE_XPCShellMain", (NSFuncPtr*) &XRE_XPCShellMain },
{ "XRE_GetProcessType", (NSFuncPtr*) &XRE_GetProcessType },
{ "XRE_SetProcessType", (NSFuncPtr*) &XRE_SetProcessType },
{ "XRE_InitChildProcess", (NSFuncPtr*) &XRE_InitChildProcess },
{ "XRE_EnableSameExecutableForContentProc", (NSFuncPtr*) &XRE_EnableSameExecutableForContentProc },
#ifdef LIBFUZZER
{ "XRE_LibFuzzerSetMain", (NSFuncPtr*) &XRE_LibFuzzerSetMain },
{ "XRE_LibFuzzerGetFuncs", (NSFuncPtr*) &XRE_LibFuzzerGetFuncs },
#endif
{ nullptr, nullptr }
};
#ifdef LIBFUZZER
int libfuzzer_main(int argc, char **argv);
/* This wrapper is used by the libFuzzer main to call into libxul */
void libFuzzerGetFuncs(const char* moduleName, LibFuzzerInitFunc* initFunc,
LibFuzzerTestingFunc* testingFunc) {
return XRE_LibFuzzerGetFuncs(moduleName, initFunc, testingFunc);
}
#endif
static int do_main(int argc, char* argv[], char* envp[], nsIFile *xreDirectory)
{
nsCOMPtr<nsIFile> appini;
nsresult rv;
uint32_t mainFlags = 0;
// Allow basilisk.exe to launch XULRunner apps via -app <application.ini>
// Note that -app must be the *first* argument.
const char *appDataFile = getenv("XUL_APP_FILE");
if (appDataFile && *appDataFile) {
rv = XRE_GetFileFromPath(appDataFile, getter_AddRefs(appini));
if (NS_FAILED(rv)) {
Output("Invalid path found: '%s'", appDataFile);
return 255;
}
}
else if (argc > 1 && IsArg(argv[1], "app")) {
if (argc == 2) {
Output("Incorrect number of arguments passed to -app");
return 255;
}
rv = XRE_GetFileFromPath(argv[2], getter_AddRefs(appini));
if (NS_FAILED(rv)) {
Output("application.ini path not recognized: '%s'", argv[2]);
return 255;
}
char appEnv[MAXPATHLEN];
SprintfLiteral(appEnv, "XUL_APP_FILE=%s", argv[2]);
if (putenv(strdup(appEnv))) {
Output("Couldn't set %s.\n", appEnv);
return 255;
}
argv[2] = argv[0];
argv += 2;
argc -= 2;
} else if (argc > 1 && IsArg(argv[1], "xpcshell")) {
for (int i = 1; i < argc; i++) {
argv[i] = argv[i + 1];
}
return XRE_XPCShellMain(--argc, argv, envp);
}
if (appini) {
nsXREAppData *appData;
rv = XRE_CreateAppData(appini, &appData);
if (NS_FAILED(rv)) {
Output("Couldn't read application.ini");
return 255;
}
#if defined(HAS_DLL_BLOCKLIST)
// The dll blocklist operates in the exe vs. xullib. Pass a flag to
// xullib so automated tests can check the result once the browser
// is up and running.
appData->flags |=
DllBlocklist_CheckStatus() ? NS_XRE_DLL_BLOCKLIST_ENABLED : 0;
#endif
// xreDirectory already has a refcount from NS_NewLocalFile
appData->xreDirectory = xreDirectory;
int result = XRE_main(argc, argv, appData, mainFlags);
XRE_FreeAppData(appData);
return result;
}
ScopedAppData appData(&sAppData);
nsCOMPtr<nsIFile> exeFile;
rv = mozilla::BinaryPath::GetFile(argv[0], getter_AddRefs(exeFile));
if (NS_FAILED(rv)) {
Output("Couldn't find the application directory.\n");
return 255;
}
nsCOMPtr<nsIFile> greDir;
exeFile->GetParent(getter_AddRefs(greDir));
#ifdef XP_MACOSX
greDir->SetNativeLeafName(NS_LITERAL_CSTRING(kOSXResourcesFolder));
#endif
nsCOMPtr<nsIFile> appSubdir;
greDir->Clone(getter_AddRefs(appSubdir));
appSubdir->Append(NS_LITERAL_STRING(kDesktopFolder));
SetStrongPtr(appData.directory, static_cast<nsIFile*>(appSubdir.get()));
// xreDirectory already has a refcount from NS_NewLocalFile
appData.xreDirectory = xreDirectory;
#if defined(HAS_DLL_BLOCKLIST)
appData.flags |=
DllBlocklist_CheckStatus() ? NS_XRE_DLL_BLOCKLIST_ENABLED : 0;
#endif
#ifdef LIBFUZZER
if (getenv("LIBFUZZER"))
XRE_LibFuzzerSetMain(argc, argv, libfuzzer_main);
#endif
return XRE_main(argc, argv, &appData, mainFlags);
}
static bool
FileExists(const char *path)
{
#ifdef XP_WIN
wchar_t wideDir[MAX_PATH];
MultiByteToWideChar(CP_UTF8, 0, path, -1, wideDir, MAX_PATH);
DWORD fileAttrs = GetFileAttributesW(wideDir);
return fileAttrs != INVALID_FILE_ATTRIBUTES;
#else
return access(path, R_OK) == 0;
#endif
}
static nsresult
InitXPCOMGlue(const char *argv0, nsIFile **xreDirectory)
{
char exePath[MAXPATHLEN];
nsresult rv = mozilla::BinaryPath::Get(argv0, exePath);
if (NS_FAILED(rv)) {
Output("Couldn't find the application directory.\n");
return rv;
}
char *lastSlash = strrchr(exePath, XPCOM_FILE_PATH_SEPARATOR[0]);
if (!lastSlash ||
(size_t(lastSlash - exePath) > MAXPATHLEN - sizeof(XPCOM_DLL) - 1))
return NS_ERROR_FAILURE;
strcpy(lastSlash + 1, XPCOM_DLL);
if (!FileExists(exePath)) {
Output("Could not find the Mozilla runtime.\n");
return NS_ERROR_FAILURE;
}
// We do this because of data in bug 771745
XPCOMGlueEnablePreload();
rv = XPCOMGlueStartup(exePath);
if (NS_FAILED(rv)) {
Output("Couldn't load XPCOM.\n");
return rv;
}
rv = XPCOMGlueLoadXULFunctions(kXULFuncs);
if (NS_FAILED(rv)) {
Output("Couldn't load XRE functions.\n");
return rv;
}
// This will set this thread as the main thread.
NS_LogInit();
if (xreDirectory) {
// chop XPCOM_DLL off exePath
*lastSlash = '\0';
#ifdef XP_MACOSX
lastSlash = strrchr(exePath, XPCOM_FILE_PATH_SEPARATOR[0]);
strcpy(lastSlash + 1, kOSXResourcesFolder);
#endif
#ifdef XP_WIN
rv = NS_NewLocalFile(NS_ConvertUTF8toUTF16(exePath), false,
xreDirectory);
#else
rv = NS_NewNativeLocalFile(nsDependentCString(exePath), false,
xreDirectory);
#endif
}
return rv;
}
int main(int argc, char* argv[], char* envp[])
{
mozilla::TimeStamp start = mozilla::TimeStamp::Now();
#ifdef HAS_DLL_BLOCKLIST
DllBlocklist_Initialize();
#ifdef DEBUG
// In order to be effective against AppInit DLLs, the blocklist must be
// initialized before user32.dll is loaded into the process (bug 932100).
if (GetModuleHandleA("user32.dll")) {
fprintf(stderr, "DLL blocklist was unable to intercept AppInit DLLs.\n");
}
#endif
#endif
#ifdef MOZ_BROWSER_CAN_BE_CONTENTPROC
// We are launching as a content process, delegate to the appropriate
// main
if (argc > 1 && IsArg(argv[1], "contentproc")) {
nsresult rv = InitXPCOMGlue(argv[0], nullptr);
if (NS_FAILED(rv)) {
return 255;
}
int result = content_process_main(argc, argv);
// InitXPCOMGlue calls NS_LogInit, so we need to balance it here.
NS_LogTerm();
return result;
}
#endif
nsIFile *xreDirectory;
nsresult rv = InitXPCOMGlue(argv[0], &xreDirectory);
if (NS_FAILED(rv)) {
return 255;
}
XRE_StartupTimelineRecord(mozilla::StartupTimeline::START, start);
#ifdef MOZ_BROWSER_CAN_BE_CONTENTPROC
XRE_EnableSameExecutableForContentProc();
#endif
int result = do_main(argc, argv, envp, xreDirectory);
NS_LogTerm();
#ifdef XP_MACOSX
// Allow writes again. While we would like to catch writes from static
// destructors to allow early exits to use _exit, we know that there is
// at least one such write that we don't control (see bug 826029). For
// now we enable writes again and early exits will have to use exit instead
// of _exit.
XRE_StopLateWriteChecks();
#endif
return result;
}
-15
View File
@@ -1,15 +0,0 @@
# This file has default permissions for the permission manager.
# The file-format is strict:
# * matchtype \t type \t permission \t host
# * "origin" should be used for matchtype, "host" is supported for legacy reasons
# * type is a string that identifies the type of permission (e.g. "cookie")
# * permission is an integer between 1 and 15
# See nsPermissionManager.cpp for more...
# XPInstall
origin install 1 https://addons.mozilla.org
origin install 1 https://testpilot.firefox.com
# Remote troubleshooting
origin remote-troubleshooting 1 https://input.mozilla.org
origin remote-troubleshooting 1 https://support.mozilla.org
File diff suppressed because it is too large. Load diff
@@ -1,5 +0,0 @@
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
pref("app.update.channel", "@MOZ_UPDATE_CHANNEL@");
@@ -1,7 +0,0 @@
# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
# vim: set filetype=python:
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
DIRS += ['{972ce4c6-7e08-4474-a285-3208198ce6fd}']
@@ -1,40 +0,0 @@
<?xml version="1.0"?>
<!-- This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this
- file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
#filter substitution
<RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:em="http://www.mozilla.org/2004/em-rdf#">
<Description about="urn:mozilla:install-manifest">
<em:id>{972ce4c6-7e08-4474-a285-3208198ce6fd}</em:id>
<em:version>@MOZ_APP_VERSION@</em:version>
<!-- Target Application this theme can install into,
with minimum and maximum supported versions. -->
<em:targetApplication>
<Description>
<em:id>@MOZ_APP_ID@</em:id>
<em:minVersion>@MOZ_APP_VERSION@</em:minVersion>
<em:maxVersion>@MOZ_APP_VERSION@</em:maxVersion>
</Description>
</em:targetApplication>
<!-- Front End MetaData -->
<em:name>Default</em:name>
<em:description>The default theme.</em:description>
<!-- Front End Integration Hooks (used by Theme Manager)-->
<em:creator>Mozilla</em:creator>
<em:contributor>Mozilla Contributors</em:contributor>
<!-- Allow lightweight themes to apply to this theme -->
<em:skinnable>true</em:skinnable>
<em:internalName>classic/1.0</em:internalName>
</Description>
</RDF>
@@ -1,14 +0,0 @@
# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
# vim: set filetype=python:
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
DEFINES['MOZ_APP_VERSION'] = CONFIG['MOZ_APP_VERSION']
DEFINES['MOZ_APP_ID'] = CONFIG['MOZ_APP_ID']
FINAL_TARGET = 'dist/bin/browser/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}'
FINAL_TARGET_PP_FILES += [
'install.rdf.in',
]
@@ -1,7 +0,0 @@
<?xml version="1.0"?> <!-- -*- Mode: SGML -*- -->
<!-- This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this
- file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
<RDF:RDF xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#"/>
-13
View File
@@ -1,13 +0,0 @@
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
# Mozilla User Preferences
/* Do not edit this file.
*
* If you make changes to this file while the browser is running,
* the changes will be overwritten when the browser exits.
*
* To make a manual change to preferences, you can visit the URL about:config
*/
-21
View File
@@ -1,21 +0,0 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#include <windows.h>
#include "nsNativeAppSupportWin.h"
1 24 "basilisk.exe.manifest"
IDI_APPICON ICON FIREFOX_ICO
IDI_DOCUMENT ICON DOCUMENT_ICO
IDI_APPLICATION ICON FIREFOX_ICO
IDI_NEWWINDOW ICON NEWWINDOW_ICO
IDI_NEWTAB ICON NEWTAB_ICO
IDI_PBMODE ICON PBMODE_ICO
STRINGTABLE DISCARDABLE
BEGIN
IDS_STARTMENU_APPNAME, "@MOZ_APP_DISPLAYNAME@"
END
-11
View File
@@ -1,11 +0,0 @@
"use strict";
module.exports = {
"rules": {
"no-unused-vars": ["error", {
"vars": "local",
"varsIgnorePattern": "^Cc|Ci|Cu|Cr|EXPORTED_SYMBOLS",
"args": "none",
}]
}
};
@@ -1,428 +0,0 @@
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
// Note: this file is included in aboutDialog.xul if MOZ_UPDATER is defined.
Components.utils.import("resource://gre/modules/XPCOMUtils.jsm");
Components.utils.import("resource://gre/modules/DownloadUtils.jsm");
XPCOMUtils.defineLazyModuleGetter(this, "UpdateUtils",
"resource://gre/modules/UpdateUtils.jsm");
const PREF_APP_UPDATE_CANCELATIONS_OSX = "app.update.cancelations.osx";
const PREF_APP_UPDATE_ELEVATE_NEVER = "app.update.elevate.never";
var gAppUpdater;
function onUnload(aEvent) {
if (gAppUpdater.isChecking)
gAppUpdater.checker.stopChecking(Components.interfaces.nsIUpdateChecker.CURRENT_CHECK);
// Safe to call even when there isn't a download in progress.
gAppUpdater.removeDownloadListener();
gAppUpdater = null;
}
function appUpdater()
{
XPCOMUtils.defineLazyServiceGetter(this, "aus",
"@mozilla.org/updates/update-service;1",
"nsIApplicationUpdateService");
XPCOMUtils.defineLazyServiceGetter(this, "checker",
"@mozilla.org/updates/update-checker;1",
"nsIUpdateChecker");
XPCOMUtils.defineLazyServiceGetter(this, "um",
"@mozilla.org/updates/update-manager;1",
"nsIUpdateManager");
this.updateDeck = document.getElementById("updateDeck");
// Hide the update deck when the update window is already open and it's not
// already applied, to avoid syncing issues between them. Applied updates
// don't have any information to sync between the windows as they both just
// show the "Restart to continue"-type button.
if (Services.wm.getMostRecentWindow("Update:Wizard") &&
!this.isApplied) {
this.updateDeck.hidden = true;
return;
}
this.bundle = Services.strings.
createBundle("chrome://browser/locale/browser.properties");
let manualURL = Services.urlFormatter.formatURLPref("app.update.url.manual");
let manualLink = document.getElementById("manualLink");
manualLink.value = manualURL;
manualLink.href = manualURL;
document.getElementById("failedLink").href = manualURL;
if (this.updateDisabledAndLocked) {
this.selectPanel("adminDisabled");
return;
}
if (this.isPending || this.isApplied) {
this.selectPanel("apply");
return;
}
if (this.aus.isOtherInstanceHandlingUpdates) {
this.selectPanel("otherInstanceHandlingUpdates");
return;
}
if (this.isDownloading) {
this.startDownload();
// selectPanel("downloading") is called from setupDownloadingUI().
return;
}
// Honor the "Never check for updates" option by not only disabling background
// update checks, but also in the About dialog, by presenting a
// "Check for updates" button.
// If updates are found, the user is then asked if he wants to "Update to <version>".
if (!this.updateEnabled ||
Services.prefs.prefHasUserValue(PREF_APP_UPDATE_ELEVATE_NEVER)) {
this.selectPanel("checkForUpdates");
return;
}
// That leaves the options
// "Check for updates, but let me choose whether to install them", and
// "Automatically install updates".
// In both cases, we check for updates without asking.
// In the "let me choose" case, we ask before downloading though, in onCheckComplete.
this.checkForUpdates();
}
appUpdater.prototype =
{
// true when there is an update check in progress.
isChecking: false,
// true when there is an update already staged / ready to be applied.
get isPending() {
if (this.update) {
return this.update.state == "pending" ||
this.update.state == "pending-service" ||
this.update.state == "pending-elevate";
}
return this.um.activeUpdate &&
(this.um.activeUpdate.state == "pending" ||
this.um.activeUpdate.state == "pending-service" ||
this.um.activeUpdate.state == "pending-elevate");
},
// true when there is an update already installed in the background.
get isApplied() {
if (this.update)
return this.update.state == "applied" ||
this.update.state == "applied-service";
return this.um.activeUpdate &&
(this.um.activeUpdate.state == "applied" ||
this.um.activeUpdate.state == "applied-service");
},
// true when there is an update download in progress.
get isDownloading() {
if (this.update)
return this.update.state == "downloading";
return this.um.activeUpdate &&
this.um.activeUpdate.state == "downloading";
},
// true when updating is disabled by an administrator.
get updateDisabledAndLocked() {
return !this.updateEnabled &&
Services.prefs.prefIsLocked("app.update.enabled");
},
// true when updating is enabled.
get updateEnabled() {
try {
return Services.prefs.getBoolPref("app.update.enabled");
}
catch (e) { }
return true; // Firefox default is true
},
// true when updating in background is enabled.
get backgroundUpdateEnabled() {
return this.updateEnabled &&
gAppUpdater.aus.canStageUpdates;
},
// true when updating is automatic.
get updateAuto() {
try {
return Services.prefs.getBoolPref("app.update.auto");
}
catch (e) { }
return true; // Firefox default is true
},
/**
* Sets the panel of the updateDeck.
*
* @param aChildID
* The id of the deck's child to select, e.g. "apply".
*/
selectPanel: function(aChildID) {
let panel = document.getElementById(aChildID);
let button = panel.querySelector("button");
if (button) {
if (aChildID == "downloadAndInstall") {
let updateVersion = gAppUpdater.update.displayVersion;
button.label = this.bundle.formatStringFromName("update.downloadAndInstallButton.label", [updateVersion], 1);
button.accessKey = this.bundle.GetStringFromName("update.downloadAndInstallButton.accesskey");
}
this.updateDeck.selectedPanel = panel;
if (!document.commandDispatcher.focusedElement || // don't steal the focus
document.commandDispatcher.focusedElement.localName == "button") // except from the other buttons
button.focus();
} else {
this.updateDeck.selectedPanel = panel;
}
},
/**
* Check for updates
*/
checkForUpdates: function() {
// Clear prefs that could prevent a user from discovering available updates.
if (Services.prefs.prefHasUserValue(PREF_APP_UPDATE_CANCELATIONS_OSX)) {
Services.prefs.clearUserPref(PREF_APP_UPDATE_CANCELATIONS_OSX);
}
if (Services.prefs.prefHasUserValue(PREF_APP_UPDATE_ELEVATE_NEVER)) {
Services.prefs.clearUserPref(PREF_APP_UPDATE_ELEVATE_NEVER);
}
this.selectPanel("checkingForUpdates");
this.isChecking = true;
this.checker.checkForUpdates(this.updateCheckListener, true);
// after checking, onCheckComplete() is called
},
/**
* Handles oncommand for the "Restart to Update" button
* which is presented after the download has been downloaded.
*/
buttonRestartAfterDownload: function() {
if (!this.isPending && !this.isApplied) {
return;
}
gAppUpdater.selectPanel("restarting");
// Notify all windows that an application quit has been requested.
let cancelQuit = Components.classes["@mozilla.org/supports-PRBool;1"].
createInstance(Components.interfaces.nsISupportsPRBool);
Services.obs.notifyObservers(cancelQuit, "quit-application-requested", "restart");
// Something aborted the quit process.
if (cancelQuit.data) {
gAppUpdater.selectPanel("apply");
return;
}
let appStartup = Components.classes["@mozilla.org/toolkit/app-startup;1"].
getService(Components.interfaces.nsIAppStartup);
// If already in safe mode restart in safe mode (bug 327119)
if (Services.appinfo.inSafeMode) {
appStartup.restartInSafeMode(Components.interfaces.nsIAppStartup.eAttemptQuit);
return;
}
appStartup.quit(Components.interfaces.nsIAppStartup.eAttemptQuit |
Components.interfaces.nsIAppStartup.eRestart);
},
/**
* Implements nsIUpdateCheckListener. The methods implemented by
* nsIUpdateCheckListener are in a different scope from nsIIncrementalDownload
* to make it clear which are used by each interface.
*/
updateCheckListener: {
/**
* See nsIUpdateService.idl
*/
onCheckComplete: function(aRequest, aUpdates, aUpdateCount) {
gAppUpdater.isChecking = false;
gAppUpdater.update = gAppUpdater.aus.
selectUpdate(aUpdates, aUpdates.length);
if (!gAppUpdater.update) {
gAppUpdater.selectPanel("noUpdatesFound");
return;
}
if (gAppUpdater.update.unsupported) {
if (gAppUpdater.update.detailsURL) {
let unsupportedLink = document.getElementById("unsupportedLink");
unsupportedLink.href = gAppUpdater.update.detailsURL;
}
gAppUpdater.selectPanel("unsupportedSystem");
return;
}
if (!gAppUpdater.aus.canApplyUpdates) {
gAppUpdater.selectPanel("manualUpdate");
return;
}
if (gAppUpdater.updateAuto) // automatically download and install
gAppUpdater.startDownload();
else // ask
gAppUpdater.selectPanel("downloadAndInstall");
},
/**
* See nsIUpdateService.idl
*/
onError: function(aRequest, aUpdate) {
// Errors in the update check are treated as no updates found. If the
// update check fails repeatedly without a success the user will be
// notified with the normal app update user interface so this is safe.
gAppUpdater.isChecking = false;
gAppUpdater.selectPanel("noUpdatesFound");
},
/**
* See nsISupports.idl
*/
QueryInterface: function(aIID) {
if (!aIID.equals(Components.interfaces.nsIUpdateCheckListener) &&
!aIID.equals(Components.interfaces.nsISupports))
throw Components.results.NS_ERROR_NO_INTERFACE;
return this;
}
},
/**
* Starts the download of an update mar.
*/
startDownload: function() {
if (!this.update)
this.update = this.um.activeUpdate;
this.update.QueryInterface(Components.interfaces.nsIWritablePropertyBag);
this.update.setProperty("foregroundDownload", "true");
this.aus.pauseDownload();
let state = this.aus.downloadUpdate(this.update, false);
if (state == "failed") {
this.selectPanel("downloadFailed");
return;
}
this.setupDownloadingUI();
},
/**
* Switches to the UI responsible for tracking the download.
*/
setupDownloadingUI: function() {
this.downloadStatus = document.getElementById("downloadStatus");
this.downloadStatus.value =
DownloadUtils.getTransferTotal(0, this.update.selectedPatch.size);
this.selectPanel("downloading");
this.aus.addDownloadListener(this);
},
removeDownloadListener: function() {
if (this.aus) {
this.aus.removeDownloadListener(this);
}
},
/**
* See nsIRequestObserver.idl
*/
onStartRequest: function(aRequest, aContext) {
},
/**
* See nsIRequestObserver.idl
*/
onStopRequest: function(aRequest, aContext, aStatusCode) {
switch (aStatusCode) {
case Components.results.NS_ERROR_UNEXPECTED:
if (this.update.selectedPatch.state == "download-failed" &&
(this.update.isCompleteUpdate || this.update.patchCount != 2)) {
// Verification error of complete patch, informational text is held in
// the update object.
this.removeDownloadListener();
this.selectPanel("downloadFailed");
break;
}
// Verification failed for a partial patch, complete patch is now
// downloading so return early and do NOT remove the download listener!
break;
case Components.results.NS_BINDING_ABORTED:
// Do not remove UI listener since the user may resume downloading again.
break;
case Components.results.NS_OK:
this.removeDownloadListener();
if (this.backgroundUpdateEnabled) {
this.selectPanel("applying");
let self = this;
Services.obs.addObserver(function (aSubject, aTopic, aData) {
// Update the UI when the background updater is finished
let status = aData;
if (status == "applied" || status == "applied-service" ||
status == "pending" || status == "pending-service" ||
status == "pending-elevate") {
// If the update is successfully applied, or if the updater has
// fallen back to non-staged updates, show the "Restart to Update"
// button.
self.selectPanel("apply");
} else if (status == "failed") {
// Background update has failed, let's show the UI responsible for
// prompting the user to update manually.
self.selectPanel("downloadFailed");
} else if (status == "downloading") {
// We've fallen back to downloading the full update because the
// partial update failed to get staged in the background.
// Therefore we need to keep our observer.
self.setupDownloadingUI();
return;
}
Services.obs.removeObserver(arguments.callee, "update-staged");
}, "update-staged", false);
} else {
this.selectPanel("apply");
}
break;
default:
this.removeDownloadListener();
this.selectPanel("downloadFailed");
break;
}
},
/**
* See nsIProgressEventSink.idl
*/
onStatus: function(aRequest, aContext, aStatus, aStatusArg) {
},
/**
* See nsIProgressEventSink.idl
*/
onProgress: function(aRequest, aContext, aProgress, aProgressMax) {
this.downloadStatus.value =
DownloadUtils.getTransferTotal(aProgress, aProgressMax);
},
/**
* See nsISupports.idl
*/
QueryInterface: function(aIID) {
if (!aIID.equals(Components.interfaces.nsIProgressEventSink) &&
!aIID.equals(Components.interfaces.nsIRequestObserver) &&
!aIID.equals(Components.interfaces.nsISupports))
throw Components.results.NS_ERROR_NO_INTERFACE;
return this;
}
};
@@ -1,97 +0,0 @@
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#aboutDialog {
width: 620px;
/* Set an explicit line-height to avoid discrepancies in 'auto' spacing
across screens with different device DPI, which may cause font metrics
to round differently. */
line-height: 1.5;
}
#rightBox {
background-image: url("chrome://branding/content/about-wordmark.png");
background-repeat: no-repeat;
/* padding-top creates room for the wordmark */
padding-top: 38px;
margin-top:20px;
}
#rightBox:-moz-locale-dir(rtl) {
background-position: 100% 0;
}
#bottomBox {
padding: 15px 10px 0;
}
#version {
font-weight: bold;
margin-top: 10px;
margin-left: 0;
-moz-user-select: text;
-moz-user-focus: normal;
cursor: text;
}
#version:-moz-locale-dir(rtl) {
direction: ltr;
text-align: right;
margin-left: 5px;
margin-right: 0;
}
#releasenotes {
margin-top: 10px;
}
#distribution,
#distributionId {
display: none;
margin-top: 0;
margin-bottom: 0;
}
.text-blurb {
margin-bottom: 10px;
margin-inline-start: 0;
padding-inline-start: 0;
}
#updateButton,
#updateDeck > hbox > label {
margin-inline-start: 0;
padding-inline-start: 0;
}
.update-throbber {
width: 16px;
min-height: 16px;
margin-inline-end: 3px;
list-style-image: url("chrome://global/skin/icons/loading.png");
}
@media (min-resolution: 1.1dppx) {
.update-throbber {
list-style-image: url("chrome://global/skin/icons/loading@2x.png");
}
}
description > .text-link,
description > .text-link:focus {
margin: 0px;
padding: 0px;
}
.bottom-link,
.bottom-link:focus {
text-align: center;
margin: 0 40px;
}
#currentChannel {
margin: 0;
padding: 0;
font-weight: bold;
}
@@ -1,91 +0,0 @@
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
"use strict";
// Services = object with smart getters for common XPCOM services
Components.utils.import("resource://gre/modules/Services.jsm");
Components.utils.import("resource://gre/modules/AppConstants.jsm");
function init(aEvent)
{
if (aEvent.target != document)
return;
try {
var distroId = Services.prefs.getCharPref("distribution.id");
if (distroId) {
var distroVersion = Services.prefs.getCharPref("distribution.version");
var distroIdField = document.getElementById("distributionId");
distroIdField.value = distroId + " - " + distroVersion;
distroIdField.style.display = "block";
try {
// This is in its own try catch due to bug 895473 and bug 900925.
var distroAbout = Services.prefs.getComplexValue("distribution.about",
Components.interfaces.nsISupportsString);
var distroField = document.getElementById("distribution");
distroField.value = distroAbout;
distroField.style.display = "block";
}
catch (ex) {
// Pref is unset
Components.utils.reportError(ex);
}
}
}
catch (e) {
// Pref is unset
}
// Include the build ID
let versionField = document.getElementById("version");
let version = Services.appinfo.version;
let buildID = Services.appinfo.appBuildID;
let year = buildID.slice(0, 4);
let month = buildID.slice(4, 6);
let day = buildID.slice(6, 8);
let hour = buildID.slice(8, 10);
let minute = buildID.slice(10, 12);
if (Services.prefs.getBoolPref("general.useragent.appVersionIsBuildID")) {
versionField.textContent = `${year}.${month}.${day}`;
} else {
versionField.textContent = `v` + version + ` (${year}-${month}-${day})`;
}
// Display warning if this is an "a#" (nightly or aurora) build
if (/a\d+$/.test(version)) {
document.getElementById("experimental").hidden = false;
document.getElementById("communityDesc").hidden = true;
}
// Append "(32-bit)" or "(64-bit)" build architecture to the version number:
let bundle = Services.strings.createBundle("chrome://browser/locale/browser.properties");
let archResource = Services.appinfo.is64Bit
? "aboutDialog.architecture.sixtyFourBit"
: "aboutDialog.architecture.thirtyTwoBit";
let arch = bundle.GetStringFromName(archResource);
versionField.textContent += ` (${arch})`;
// Get Release Notes URL from Preferences
let releaseNotesURL = Services.prefs.getCharPref("app.releaseNotesURL");
document.getElementById("releasenotes").setAttribute("href", releaseNotesURL);
if (AppConstants.MOZ_UPDATER) {
gAppUpdater = new appUpdater();
let channelLabel = document.getElementById("currentChannel");
let currentChannelText = document.getElementById("currentChannelText");
channelLabel.value = UpdateUtils.UpdateChannel;
if (/^release($|\-)/.test(channelLabel.value))
currentChannelText.hidden = true;
}
if (AppConstants.platform == "macosx") {
// it may not be sized at this point, and we need its width to calculate its position
window.sizeToContent();
window.moveTo((screen.availWidth / 2) - (window.outerWidth / 2), screen.availHeight / 5);
}
}
@@ -1,157 +0,0 @@
<?xml version="1.0"?> <!-- -*- Mode: HTML -*- -->
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
<?xml-stylesheet href="chrome://browser/content/aboutDialog.css" type="text/css"?>
<?xml-stylesheet href="chrome://branding/content/aboutDialog.css" type="text/css"?>
<!DOCTYPE window [
<!ENTITY % brandDTD SYSTEM "chrome://branding/locale/brand.dtd" >
%brandDTD;
<!ENTITY % aboutDialogDTD SYSTEM "chrome://browser/locale/aboutDialog.dtd" >
%aboutDialogDTD;
]>
#ifdef XP_MACOSX
<?xul-overlay href="chrome://browser/content/macBrowserOverlay.xul"?>
#endif
<window xmlns:html="http://www.w3.org/1999/xhtml"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
id="aboutDialog"
windowtype="Browser:About"
onload="init(event);"
#ifdef MOZ_UPDATER
onunload="onUnload(event);"
#endif
#ifdef XP_MACOSX
inwindowmenu="false"
#else
title="&aboutDialog.title;"
#endif
role="dialog"
aria-describedby="version distribution distributionId communityDesc contributeDesc trademark"
>
<script type="application/javascript" src="chrome://browser/content/aboutDialog.js"/>
#ifdef MOZ_UPDATER
<script type="application/javascript" src="chrome://browser/content/aboutDialog-appUpdater.js"/>
#endif
<vbox id="aboutDialogContainer">
<hbox id="clientBox">
<vbox id="leftBox" flex="1"/>
<vbox id="rightBox" flex="1">
<hbox align="baseline">
#expand <label id="version"></label>
#ifndef NIGHTLY_BUILD
<label id="releasenotes" class="text-link">&releaseNotes.link;</label>
#endif
</hbox>
<label id="distribution" class="text-blurb"/>
<label id="distributionId" class="text-blurb"/>
<vbox id="detailsBox">
<vbox id="updateBox">
#ifdef MOZ_UPDATER
<deck id="updateDeck" orient="vertical">
<hbox id="checkForUpdates" align="center">
<button id="checkForUpdatesButton" align="start"
label="&update.checkForUpdatesButton.label;"
accesskey="&update.checkForUpdatesButton.accesskey;"
oncommand="gAppUpdater.checkForUpdates();"/>
<spacer flex="1"/>
</hbox>
<hbox id="downloadAndInstall" align="center">
<button id="downloadAndInstallButton" align="start"
oncommand="gAppUpdater.startDownload();"/>
<!-- label and accesskey will be filled by JS -->
<spacer flex="1"/>
</hbox>
<hbox id="apply" align="center">
<button id="updateButton" align="start"
label="&update.updateButton.label2;"
accesskey="&update.updateButton.accesskey;"
oncommand="gAppUpdater.buttonRestartAfterDownload();"/>
<spacer flex="1"/>
</hbox>
<hbox id="checkingForUpdates" align="center">
<image class="update-throbber"/><label>&update.checkingForUpdates;</label>
</hbox>
<hbox id="downloading" align="center">
<image class="update-throbber"/><label>&update.downloading.start;</label><label id="downloadStatus"/><label>&update.downloading.end;</label>
</hbox>
<hbox id="applying" align="center">
<image class="update-throbber"/><label>&update.applying;</label>
</hbox>
<hbox id="downloadFailed" align="center">
<label>&update.failed.start;</label><label id="failedLink" class="text-link">&update.failed.linkText;</label><label>&update.failed.end;</label>
</hbox>
<hbox id="adminDisabled" align="center">
<label>&update.adminDisabled;</label>
</hbox>
<hbox id="noUpdatesFound" align="center">
<label>&update.noUpdatesFound;</label>
</hbox>
<hbox id="otherInstanceHandlingUpdates" align="center">
<label>&update.otherInstanceHandlingUpdates;</label>
</hbox>
<hbox id="manualUpdate" align="center">
<label>&update.manual.start;</label><label id="manualLink" class="text-link"/><label>&update.manual.end;</label>
</hbox>
<hbox id="unsupportedSystem" align="center">
<label>&update.unsupported.start;</label><label id="unsupportedLink" class="text-link">&update.unsupported.linkText;</label><label>&update.unsupported.end;</label>
</hbox>
<hbox id="restarting" align="center">
<label>&update.restarting;</label>
</hbox>
</deck>
#endif
</vbox>
#ifdef MOZ_UPDATER
<description class="text-blurb" id="currentChannelText">
&channel.description.start;<label id="currentChannel"/>&channel.description.end;
</description>
#endif
<vbox id="experimental" hidden="true">
<description class="text-blurb" id="warningDesc">
&warningDesc.version;
</description>
</vbox>
#ifdef MC_PRIVATE_BUILD
<description class="text-blurb" id="communityDesc">
This is a private build of Basilisk. If you did not manually build this copy from source yourself, then please download an official version from the <label class="text-link" href="http://www.basilisk-browser.org/">Basilisk website</label>.
</description>
#else
<description class="text-blurb" id="communityDesc">
Basilisk is community software released by <label class="text-link" href="http://www.palemoon.org/">the Pale Moon team</label> and Mozilla developers. Learn <label class="text-link" useoriginprincipal="true" href="about:credits">who contributed</label> to this software.
</description>
<description class="text-blurb" id="contributeDesc">
Want to help? Please consider <label class="text-link" href="https://www.palemoon.org/donations.shtml">donating</label> or get involved with our <label class="text-link" href="https://github.com/MoonchildProductions/UXP">development</label> of the Unified XUL Platform.
</description>
#endif
</vbox>
</vbox>
</hbox>
<vbox id="bottomBox">
<hbox pack="center">
<label class="text-link bottom-link" useoriginprincipal="true" href="about:license">&bottomLinks.license;</label>
<label class="text-link bottom-link" useoriginprincipal="true" href="about:rights">&bottomLinks.rights;</label>
<label class="text-link bottom-link" href="https://www.palemoon.org/privacy.shtml">&bottomLinks.privacy;</label>
</hbox>
<description id="trademark">&trademarkInfo.part1;</description>
</vbox>
</vbox>
<keyset>
<key keycode="VK_ESCAPE" oncommand="window.close();"/>
</keyset>
#ifdef XP_MACOSX
#include browserMountPoints.inc
#endif
</window>
@@ -1,573 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html [
<!ENTITY % htmlDTD
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"DTD/xhtml1-strict.dtd">
%htmlDTD;
<!ENTITY % netErrorDTD
SYSTEM "chrome://global/locale/netError.dtd">
%netErrorDTD;
<!ENTITY % globalDTD
SYSTEM "chrome://global/locale/global.dtd">
%globalDTD;
]>
<!-- This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this
- file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>&loadError.label;</title>
<link rel="stylesheet" href="chrome://browser/skin/aboutNetError.css" type="text/css" media="all" />
<!-- If the location of the favicon is changed here, the FAVICON_ERRORPAGE_URL symbol in
toolkit/components/places/src/nsFaviconService.h should be updated. -->
<link rel="icon" type="image/png" id="favicon" href="chrome://global/skin/icons/warning-16.png"/>
<script type="application/javascript"><![CDATA[
// The following parameters are parsed from the error URL:
// e - the error code
// s - custom CSS class to allow alternate styling/favicons
// d - error description
// captive - "true" to indicate we're behind a captive portal.
// Any other value is ignored.
// Note that this file uses document.documentURI to get
// the URL (with the format from above). This is because
// document.location.href gets the current URI off the docshell,
// which is the URL displayed in the location bar, i.e.
// the URI that the user attempted to load.
let searchParams = new URLSearchParams(document.documentURI.split("?")[1]);
// Set to true on init if the error code is nssBadCert.
let gIsCertError;
function getErrorCode()
{
return searchParams.get("e");
}
function getCSSClass()
{
return searchParams.get("s");
}
function getDescription()
{
return searchParams.get("d");
}
function isCaptive() {
return searchParams.get("captive") == "true";
}
function retryThis(buttonEl)
{
// Note: The application may wish to handle switching off "offline mode"
// before this event handler runs, but using a capturing event handler.
// Session history has the URL of the page that failed
// to load, not the one of the error page. So, just call
// reload(), which will also repost POST data correctly.
try {
location.reload();
} catch (e) {
// We probably tried to reload a URI that caused an exception to
// occur; e.g. a nonexistent file.
}
buttonEl.disabled = true;
}
function doOverride(buttonEl) {
var event = new CustomEvent("AboutNetErrorOverride", {bubbles:true});
document.dispatchEvent(event);
retryThis(buttonEl);
}
function toggleDisplay(node) {
const toggle = {
"": "block",
"none": "block",
"block": "none"
};
return (node.style.display = toggle[node.style.display]);
}
function showPrefChangeContainer() {
const panel = document.getElementById("prefChangeContainer");
panel.style.display = "block";
document.getElementById("netErrorButtonContainer").style.display = "none";
document.getElementById("prefResetButton").addEventListener("click", function resetPreferences(e) {
const event = new CustomEvent("AboutNetErrorResetPreferences", {bubbles:true});
document.dispatchEvent(event);
});
addAutofocus("prefResetButton", "beforeend");
}
function setupAdvancedButton(allowOverride) {
// Get the hostname and add it to the panel
var panelId = gIsCertError ? "badCertAdvancedPanel" : "weakCryptoAdvancedPanel";
var panel = document.getElementById(panelId);
for (var span of panel.querySelectorAll("span.hostname")) {
span.textContent = document.location.hostname;
}
if (!gIsCertError) {
panel.replaceChild(document.getElementById("errorLongDesc"),
document.getElementById("advancedLongDesc"));
}
// Register click handler for the weakCryptoAdvancedPanel
document.getElementById("advancedButton")
.addEventListener("click", function togglePanelVisibility() {
toggleDisplay(panel);
if (panel.style.display == "block") {
// send event to trigger telemetry ping
var event = new CustomEvent("AboutNetErrorUIExpanded", {bubbles:true});
document.dispatchEvent(event);
}
});
if (allowOverride) {
document.getElementById("overrideWeakCryptoPanel").style.display = "flex";
var overrideLink = document.getElementById("overrideWeakCrypto");
overrideLink.addEventListener("click", () => doOverride(overrideLink), false);
}
if (!gIsCertError) {
return;
}
if (getCSSClass() == "expertBadCert") {
toggleDisplay(document.getElementById("badCertAdvancedPanel"));
}
disallowCertOverridesIfNeeded();
document.getElementById("badCertTechnicalInfo").textContent = getDescription();
}
function disallowCertOverridesIfNeeded() {
var cssClass = getCSSClass();
// Disallow overrides if this is a Strict-Transport-Security
// host and the cert is bad (STS Spec section 7.3) or if the
// certerror is in a frame (bug 633691).
if (cssClass == "badStsCert" || window != top) {
document.getElementById("exceptionDialogButton").setAttribute("hidden", "true");
}
if (cssClass == "badStsCert") {
document.getElementById("badStsCertExplanation").removeAttribute("hidden");
}
}
function initPage()
{
var err = getErrorCode();
gIsCertError = (err == "nssBadCert");
// Only worry about captive portals if this is a cert error.
let showCaptivePortalUI = isCaptive() && gIsCertError;
if (showCaptivePortalUI) {
err = "captivePortal";
}
// if it's an unknown error or there's no title or description
// defined, get the generic message
var errTitle = document.getElementById("et_" + err);
var errDesc = document.getElementById("ed_" + err);
if (!errTitle || !errDesc)
{
errTitle = document.getElementById("et_generic");
errDesc = document.getElementById("ed_generic");
}
document.querySelector(".title-text").innerHTML = errTitle.innerHTML;
var sd = document.getElementById("errorShortDescText");
if (sd) {
if (gIsCertError) {
sd.innerHTML = errDesc.innerHTML;
}
else {
sd.textContent = getDescription();
}
}
if (showCaptivePortalUI) {
initPageCaptivePortal();
return;
}
if (gIsCertError) {
initPageCertError();
return;
}
addAutofocus("errorTryAgain");
document.body.className = "neterror";
var ld = document.getElementById("errorLongDesc");
if (ld)
{
ld.innerHTML = errDesc.innerHTML;
}
if (err == "sslv3Used") {
document.body.className = "certerror";
}
if (err == "weakCryptoUsed") {
document.body.className = "certerror";
}
// remove undisplayed errors to avoid bug 39098
var errContainer = document.getElementById("errorContainer");
errContainer.parentNode.removeChild(errContainer);
var className = getCSSClass();
if (className && className != "expertBadCert") {
// Associate a CSS class with the root of the page, if one was passed in,
// to allow custom styling.
// Not "expertBadCert" though, don't want to deal with the favicon
document.documentElement.className = className;
// Also, if they specified a CSS class, they must supply their own
// favicon. In order to trigger the browser to repaint though, we
// need to remove/add the link element.
var favicon = document.getElementById("favicon");
var faviconParent = favicon.parentNode;
faviconParent.removeChild(favicon);
favicon.setAttribute("href", "chrome://global/skin/icons/" + className + "_favicon.png");
faviconParent.appendChild(favicon);
}
if (err == "remoteXUL") {
// Remove the "Try again" button for remote XUL errors given that
// it is useless.
document.getElementById("netErrorButtonContainer").style.display = "none";
}
if (err == "cspBlocked") {
// Remove the "Try again" button for CSP violations, since it's
// almost certainly useless. (Bug 553180)
document.getElementById("netErrorButtonContainer").style.display = "none";
}
window.addEventListener("AboutNetErrorOptions", function(evt) {
// Pinning errors are of type nssFailure2
if (getErrorCode() == "nssFailure2" || getErrorCode() == "weakCryptoUsed") {
const hasPrefStyleError = [
"interrupted", // This happens with subresources that are above the max tls
"SSL_ERROR_PROTOCOL_VERSION_ALERT",
"SSL_ERROR_UNSUPPORTED_VERSION",
"SSL_ERROR_NO_CYPHER_OVERLAP",
"SSL_ERROR_NO_CIPHERS_SUPPORTED"
].some((substring) => getDescription().includes(substring));
// If it looks like an error that is user config based
if (getErrorCode() == "nssFailure2" && hasPrefStyleError && options && options.changedCertPrefs) {
showPrefChangeContainer();
}
}
if (getErrorCode() == "weakCryptoUsed" || getErrorCode() == "sslv3Used") {
setupAdvancedButton(getErrorCode() == "weakCryptoUsed");
}
}.bind(this), true, true);
var event = new CustomEvent("AboutNetErrorLoad", {bubbles:true});
document.dispatchEvent(event);
if (err == "inadequateSecurityError") {
// Remove the "Try again" button for HTTP/2 inadequate security as it
// is useless.
document.getElementById("errorTryAgain").style.display = "none";
var container = document.getElementById("errorLongDesc");
for (var span of container.querySelectorAll("span.hostname")) {
span.textContent = document.location.hostname;
}
}
addDomainErrorLink();
}
function initPageCaptivePortal()
{
document.body.className = "captiveportal";
document.title = document.getElementById("captivePortalPageTitle").textContent;
document.getElementById("openPortalLoginPageButton")
.addEventListener("click", () => {
let event = new CustomEvent("AboutNetErrorOpenCaptivePortal", {bubbles:true});
document.dispatchEvent(event);
});
addAutofocus("openPortalLoginPageButton");
setupAdvancedButton(true);
addDomainErrorLink();
// When the portal is freed, an event is generated by the frame script
// that we can pick up and attempt to reload the original page.
window.addEventListener("AboutNetErrorCaptivePortalFreed", () => {
document.location.reload();
});
}
function initPageCertError() {
document.body.className = "certerror";
document.title = document.getElementById("certErrorPageTitle").textContent;
for (let host of document.querySelectorAll(".hostname")) {
host.textContent = document.location.hostname;
}
addAutofocus("returnButton");
setupAdvancedButton(true);
let event = new CustomEvent("AboutNetErrorLoad", {bubbles:true});
document.getElementById("advancedButton").dispatchEvent(event);
addDomainErrorLink();
}
/* Only do autofocus if we're the toplevel frame; otherwise we
don't want to call attention to ourselves! The key part is
that autofocus happens on insertion into the tree, so we
can remove the button, add @autofocus, and reinsert the
button.
*/
function addAutofocus(buttonId, position = "afterbegin") {
if (window.top == window) {
var button = document.getElementById(buttonId);
var parent = button.parentNode;
button.remove();
button.setAttribute("autofocus", "true");
parent.insertAdjacentElement(position, button);
}
}
/* In the case of SSL error pages about domain mismatch, see if
we can hyperlink the user to the correct site. We don't want
to do this generically since it allows MitM attacks to redirect
users to a site under attacker control, but in certain cases
it is safe (and helpful!) to do so. Bug 402210
*/
function addDomainErrorLink() {
// Rather than textContent, we need to treat description as HTML
var sdid = gIsCertError ? "badCertTechnicalInfo" : "errorShortDescText";
var sd = document.getElementById(sdid);
if (sd) {
var desc = getDescription();
// sanitize description text - see bug 441169
// First, find the index of the <a> tag we care about, being
// careful not to use an over-greedy regex.
var re = /<a id="cert_domain_link" title="([^"]+)">/;
var result = domainRe.exec(desc);
if (!result)
return;
// Remove sd's existing children
sd.textContent = "";
// Everything up to the link should be text content.
sd.appendChild(document.createTextNode(desc.slice(0, result.index)));
// Now create the link itself.
var anchorEl = document.createElement("a");
anchorEl.setAttribute("id", "cert_domain_link");
anchorEl.setAttribute("title", result[1]);
anchorEl.appendChild(document.createTextNode(result[1]));
sd.appendChild(anchorEl);
// Finally, append text for anything after the closing </a>.
sd.appendChild(document.createTextNode(desc.slice(desc.indexOf("</a>") + "</a>".length)));
}
// Initialize the cert domain link.
var link = document.getElementById("cert_domain_link");
if (!link)
return;
var okHost = link.getAttribute("title");
var thisHost = document.location.hostname;
var proto = document.location.protocol;
// If okHost is a wildcard domain ("*.example.com") let's
// use "www" instead. "*.example.com" isn't going to
// get anyone anywhere useful. bug 432491
okHost = okHost.replace(/^\*\./, "www.");
/* case #1:
* example.com uses an invalid security certificate.
*
* The certificate is only valid for www.example.com
*
* Make sure to include the "." ahead of thisHost so that
* a MitM attack on paypal.com doesn't hyperlink to "notpaypal.com"
*
* We'd normally just use a RegExp here except that we lack a
* library function to escape them properly (bug 248062), and
* domain names are famous for having '.' characters in them,
* which would allow spurious and possibly hostile matches.
*/
if (okHost.endsWith("." + thisHost))
link.href = proto + okHost;
/* case #2:
* browser.garage.maemo.org uses an invalid security certificate.
*
* The certificate is only valid for garage.maemo.org
*/
if (thisHost.endsWith("." + okHost))
link.href = proto + okHost;
// If we set a link, meaning there's something helpful for
// the user here, expand the section by default
if (link.href && getCSSClass() != "expertBadCert") {
var panelId = gIsCertError ? "badCertAdvancedPanel" : "weakCryptoAdvancedPanel"
toggleDisplay(document.getElementById(panelId));
}
}
]]></script>
</head>
<body dir="&locale.dir;">
<!-- Contains an alternate page title set on page init for cert errors. -->
<div id="certErrorPageTitle" style="display: none;">&certerror.pagetitle1;</div>
<div id="captivePortalPageTitle" style="display: none;">&captivePortal.title;</div>
<!-- ERROR ITEM CONTAINER (removed during loading to avoid bug 39098) -->
<div id="errorContainer">
<div id="errorTitlesContainer">
<h1 id="et_generic">&generic.title;</h1>
<h1 id="et_captivePortal">&captivePortal.title;</h1>
<h1 id="et_dnsNotFound">&dnsNotFound.title;</h1>
<h1 id="et_fileNotFound">&fileNotFound.title;</h1>
<h1 id="et_fileAccessDenied">&fileAccessDenied.title;</h1>
<h1 id="et_malformedURI">&malformedURI.title;</h1>
<h1 id="et_unknownProtocolFound">&unknownProtocolFound.title;</h1>
<h1 id="et_connectionFailure">&connectionFailure.title;</h1>
<h1 id="et_netTimeout">&netTimeout.title;</h1>
<h1 id="et_redirectLoop">&redirectLoop.title;</h1>
<h1 id="et_unknownSocketType">&unknownSocketType.title;</h1>
<h1 id="et_netReset">&netReset.title;</h1>
<h1 id="et_notCached">&notCached.title;</h1>
<h1 id="et_netOffline">&netOffline.title;</h1>
<h1 id="et_netInterrupt">&netInterrupt.title;</h1>
<h1 id="et_deniedPortAccess">&deniedPortAccess.title;</h1>
<h1 id="et_proxyResolveFailure">&proxyResolveFailure.title;</h1>
<h1 id="et_proxyConnectFailure">&proxyConnectFailure.title;</h1>
<h1 id="et_contentEncodingError">&contentEncodingError.title;</h1>
<h1 id="et_unsafeContentType">&unsafeContentType.title;</h1>
<h1 id="et_nssFailure2">&nssFailure2.title;</h1>
<h1 id="et_nssBadCert">&certerror.longpagetitle1;</h1>
<h1 id="et_cspBlocked">&cspBlocked.title;</h1>
<h1 id="et_remoteXUL">&remoteXUL.title;</h1>
<h1 id="et_corruptedContentErrorv2">&corruptedContentErrorv2.title;</h1>
<h1 id="et_sslv3Used">&sslv3Used.title;</h1>
<h1 id="et_weakCryptoUsed">&weakCryptoUsed.title;</h1>
<h1 id="et_inadequateSecurityError">&inadequateSecurityError.title;</h1>
</div>
<div id="errorDescriptionsContainer">
<div id="ed_generic">&generic.longDesc;</div>
<div id="ed_captivePortal">&captivePortal.longDesc;</div>
<div id="ed_dnsNotFound">&dnsNotFound.longDesc;</div>
<div id="ed_fileNotFound">&fileNotFound.longDesc;</div>
<div id="ed_fileAccessDenied">&fileAccessDenied.longDesc;</div>
<div id="ed_malformedURI">&malformedURI.longDesc;</div>
<div id="ed_unknownProtocolFound">&unknownProtocolFound.longDesc;</div>
<div id="ed_connectionFailure">&connectionFailure.longDesc;</div>
<div id="ed_netTimeout">&netTimeout.longDesc;</div>
<div id="ed_redirectLoop">&redirectLoop.longDesc;</div>
<div id="ed_unknownSocketType">&unknownSocketType.longDesc;</div>
<div id="ed_netReset">&netReset.longDesc;</div>
<div id="ed_notCached">&notCached.longDesc;</div>
<div id="ed_netOffline">&netOffline.longDesc2;</div>
<div id="ed_netInterrupt">&netInterrupt.longDesc;</div>
<div id="ed_deniedPortAccess">&deniedPortAccess.longDesc;</div>
<div id="ed_proxyResolveFailure">&proxyResolveFailure.longDesc;</div>
<div id="ed_proxyConnectFailure">&proxyConnectFailure.longDesc;</div>
<div id="ed_contentEncodingError">&contentEncodingError.longDesc;</div>
<div id="ed_unsafeContentType">&unsafeContentType.longDesc;</div>
<div id="ed_nssFailure2">&nssFailure2.longDesc2;</div>
<div id="ed_nssBadCert">&certerror.introPara;</div>
<div id="ed_cspBlocked">&cspBlocked.longDesc;</div>
<div id="ed_remoteXUL">&remoteXUL.longDesc;</div>
<div id="ed_corruptedContentErrorv2">&corruptedContentErrorv2.longDesc;</div>
<div id="ed_sslv3Used">&sslv3Used.longDesc2;</div>
<div id="ed_weakCryptoUsed">&weakCryptoUsed.longDesc2;</div>
<div id="ed_inadequateSecurityError">&inadequateSecurityError.longDesc;</div>
</div>
</div>
<!-- PAGE CONTAINER (for styling purposes only) -->
<div id="errorPageContainer" class="container">
<!-- Error Title -->
<div class="title">
<h1 class="title-text"/>
</div>
<!-- LONG CONTENT (the section most likely to require scrolling) -->
<div id="errorLongContent">
<!-- Short Description -->
<div id="errorShortDesc">
<p id="errorShortDescText" />
</div>
<p id="badStsCertExplanation" hidden="true">&certerror.whatShouldIDo.badStsCertExplanation;</p>
<div id="wrongSystemTimePanel" style="display: none;">
&certerror.wrongSystemTime;
</div>
<!-- Long Description (Note: See netError.dtd for used XHTML tags) -->
<div id="errorLongDesc" />
<div id="prefChangeContainer" class="button-container">
<p>&prefReset.longDesc;</p>
<button id="prefResetButton" class="primary" autocomplete="off">&prefReset.label;</button>
</div>
<div id="certErrorAndCaptivePortalButtonContainer" class="button-container">
<button id="returnButton" class="primary" autocomplete="off">&returnToPreviousPage.label;</button>
<button id="openPortalLoginPageButton" class="primary" autocomplete="off">&openPortalLoginPage.label;</button>
<div class="button-spacer"></div>
<button id="advancedButton" autocomplete="off">&advanced.label;</button>
</div>
</div>
<div id="netErrorButtonContainer" class="button-container">
<button id="errorTryAgain" class="primary" autocomplete="off" onclick="retryThis(this);">&retry.label;</button>
</div>
<div id="advancedPanelContainer">
<div id="weakCryptoAdvancedPanel" class="advanced-panel">
<div id="weakCryptoAdvancedDescription">
<p>&weakCryptoAdvanced.longDesc;</p>
</div>
<div id="advancedLongDesc" />
<div id="overrideWeakCryptoPanel">
<a id="overrideWeakCrypto" href="#">&weakCryptoAdvanced.override;</a>
</div>
</div>
<div id="badCertAdvancedPanel" class="advanced-panel">
<p id="badCertTechnicalInfo"/>
<button id="exceptionDialogButton">&securityOverride.exceptionButtonLabel;</button>
</div>
</div>
</div>
<!--
- Note: It is important to run the script this way, instead of using
- an onload handler. This is because error pages are loaded as
- LOAD_BACKGROUND, which means that onload handlers will not be executed.
-->
<script type="application/javascript">
initPage();
</script>
</body>
</html>
Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 KiB

@@ -1,108 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this
- file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
<!DOCTYPE html [
<!ENTITY % htmlDTD
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"DTD/xhtml1-strict.dtd">
%htmlDTD;
<!ENTITY % netErrorDTD
SYSTEM "chrome://global/locale/netError.dtd">
%netErrorDTD;
<!ENTITY % globalDTD
SYSTEM "chrome://global/locale/global.dtd">
%globalDTD;
<!ENTITY % aboutrobotsDTD
SYSTEM "chrome://browser/locale/aboutRobots.dtd">
%aboutrobotsDTD;
]>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>&robots.pagetitle;</title>
<link rel="stylesheet" href="chrome://global/skin/netError.css" type="text/css" media="all" />
<link rel="icon" type="image/png" id="favicon" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8%2F9hAAAACGFjVEwAAAASAAAAAJNtBPIAAAAaZmNUTAAAAAAAAAAQAAAAEAAAAAAAAAAALuAD6AABhIDeugAAALhJREFUOI2Nk8sNxCAMRDlGohauXFOMpfTiAlxICqAELltHLqlgctg1InzMRhpFAc%2BLGWTnmoeZYamt78zXdZmaQtQMADlnU0OIAlbmJUBEcO4bRKQY2rUXIPmAGnDuG%2FBx3%2FfvOPVaDUg%2BoAPUf1PArIMCSD5glMEsUGaG%2BkyAFWIBaCsKuA%2BHGCNijLgP133XgOEtaPFMy2vUolEGJoCIzBmoRUR9%2B7rxj16DZaW%2FmgtmxnJ8V3oAnApQwNS5zpcAAAAaZmNUTAAAAAEAAAAQAAAAEAAAAAAAAAAAAB4D6AIB52fclgAAACpmZEFUAAAAAjiNY2AYBVhBc3Pzf2LEcGreqcbwH1kDNjHauWAUjAJyAADymxf9WF%2Bu8QAAABpmY1RMAAAAAwAAABAAAAAQAAAAAAAAAAAAHgPoAgEK8Q9%2FAAAAFmZkQVQAAAAEOI1jYBgFo2AUjAIIAAAEEAAB0xIn4wAAABpmY1RMAAAABQAAABAAAAAQAAAAAAAAAAAAHgPoAgHnO30FAAAAQGZkQVQAAAAGOI1jYBieYKcaw39ixHCC%2F6cwFWMTw2rz%2F1MM%2F6Vu%2Ff%2F%2F%2FxTD%2F51qEIwuRjsXILuEGLFRMApgAADhNCsVfozYcAAAABpmY1RMAAAABwAAABAAAAAQAAAAAAAAAAAAHgPoAgEKra7sAAAAFmZkQVQAAAAIOI1jYBgFo2AUjAIIAAAEEAABM9s3hAAAABpmY1RMAAAACQAAABAAAAAQAAAAAAAAAAAAHgPoAgHn3p%2BwAAAAKmZkQVQAAAAKOI1jYBgFWEFzc%2FN%2FYsRwat6pxvAfWQM2Mdq5YBSMAnIAAPKbF%2F1BhPl6AAAAGmZjVEwAAAALAAAAEAAAABAAAAAAAAAAAAAeA%2BgCAQpITFkAAAAWZmRBVAAAAAw4jWNgGAWjYBSMAggAAAQQAAHaszpmAAAAGmZjVEwAAAANAAAAEAAAABAAAAAAAAAAAAAeA%2BgCAeeCPiMAAABAZmRBVAAAAA44jWNgGJ5gpxrDf2LEcIL%2FpzAVYxPDavP%2FUwz%2FpW79%2F%2F%2F%2FFMP%2FnWoQjC5GOxcgu4QYsVEwCmAAAOE0KxUmBL0KAAAAGmZjVEwAAAAPAAAAEAAAABAAAAAAAAAAAAAeA%2BgCAQoU7coAAAAWZmRBVAAAABA4jWNgGAWjYBSMAggAAAQQAAEpOBELAAAAGmZjVEwAAAARAAAAEAAAABAAAAAAAAAAAAAeA%2BgCAeYVWtoAAAAqZmRBVAAAABI4jWNgGAVYQXNz839ixHBq3qnG8B9ZAzYx2rlgFIwCcgAA8psX%2FWvpAecAAAAaZmNUTAAAABMAAAAQAAAAEAAAAAAAAAAAAB4D6AIBC4OJMwAAABZmZEFUAAAAFDiNY2AYBaNgFIwCCAAABBAAAcBQHOkAAAAaZmNUTAAAABUAAAAQAAAAEAAAAAAAAAAAAB4D6AIB5kn7SQAAAEBmZEFUAAAAFjiNY2AYnmCnGsN%2FYsRwgv%2BnMBVjE8Nq8%2F9TDP%2Blbv3%2F%2F%2F8Uw%2F%2BdahCMLkY7FyC7hBixUTAKYAAA4TQrFc%2BcEoQAAAAaZmNUTAAAABcAAAAQAAAAEAAAAAAAAAAAAB4D6AIBC98ooAAAABZmZEFUAAAAGDiNY2AYBaNgFIwCCAAABBAAASCZDI4AAAAaZmNUTAAAABkAAAAQAAAAEAAAAAAAAAAAAB4D6AIB5qwZ%2FAAAACpmZEFUAAAAGjiNY2AYBVhBc3Pzf2LEcGreqcbwH1kDNjHauWAUjAJyAADymxf9cjJWbAAAABpmY1RMAAAAGwAAABAAAAAQAAAAAAAAAAAAHgPoAgELOsoVAAAAFmZkQVQAAAAcOI1jYBgFo2AUjAIIAAAEEAAByfEBbAAAABpmY1RMAAAAHQAAABAAAAAQAAAAAAAAAAAAHgPoAgHm8LhvAAAAQGZkQVQAAAAeOI1jYBieYKcaw39ixHCC%2F6cwFWMTw2rz%2F1MM%2F6Vu%2Ff%2F%2F%2FxTD%2F51qEIwuRjsXILuEGLFRMApgAADhNCsVlxR3%2FgAAABpmY1RMAAAAHwAAABAAAAAQAAAAAAAAAAAAHgPoAgELZmuGAAAAFmZkQVQAAAAgOI1jYBgFo2AUjAIIAAAEEAABHP5cFQAAABpmY1RMAAAAIQAAABAAAAAQAAAAAAAAAAAAHgPoAgHlgtAOAAAAKmZkQVQAAAAiOI1jYBgFWEFzc%2FN%2FYsRwat6pxvAfWQM2Mdq5YBSMAnIAAPKbF%2F0%2FMvDdAAAAAElFTkSuQmCC"/>
<script type="application/javascript"><![CDATA[
var buttonClicked = false;
function robotButton()
{
var button = document.getElementById('errorTryAgain');
if (buttonClicked) {
button.style.visibility = "hidden";
} else {
var newLabel = button.getAttribute("label2");
button.textContent = newLabel;
buttonClicked = true;
}
}
]]></script>
<style type="text/css"><![CDATA[
#errorPageContainer {
background-image: none;
}
#errorPageContainer:before {
content: url('chrome://browser/content/aboutRobots-icon.png');
position: absolute;
}
body[dir=rtl] #icon,
body[dir=rtl] #errorPageContainer:before {
transform: scaleX(-1);
}
]]></style>
</head>
<body dir="&locale.dir;">
<!-- PAGE CONTAINER (for styling purposes only) -->
<div id="errorPageContainer">
<!-- Error Title -->
<div id="errorTitle">
<h1 id="errorTitleText">&robots.errorTitleText;</h1>
</div>
<!-- LONG CONTENT (the section most likely to require scrolling) -->
<div id="errorLongContent">
<!-- Short Description -->
<div id="errorShortDesc">
<p id="errorShortDescText">&robots.errorShortDescText;</p>
</div>
<!-- Long Description (Note: See netError.dtd for used XHTML tags) -->
<div id="errorLongDesc">
<ul>
<li>&robots.errorLongDesc1;</li>
<li>&robots.errorLongDesc2;</li>
<li>&robots.errorLongDesc3;</li>
<li>&robots.errorLongDesc4;</li>
</ul>
</div>
<!-- Short Description -->
<div id="errorTrailerDesc">
<p id="errorTrailerDescText">&robots.errorTrailerDescText;</p>
</div>
</div>
<!-- Button -->
<button id="errorTryAgain"
label2="&robots.dontpress;"
onclick="robotButton();">&retry.label;</button>
<img src="chrome://browser/content/aboutRobots-widget-left.png"
style="position: absolute; bottom: -12px; left: -10px;"/>
<img src="chrome://browser/content/aboutRobots-widget-left.png"
style="position: absolute; bottom: -12px; right: -10px; transform: scaleX(-1);"/>
</div>
</body>
</html>
@@ -1,11 +0,0 @@
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
html:not(.crashDumpSubmitted) #reportSent,
html:not(.crashDumpAvailable) #reportBox,
.container[multiple="true"] > .offers > #offerHelpMessageSingle,
.container[multiple="false"] > .offers > #offerHelpMessageMultiple,
.container[multiple="false"] > .button-container > #restoreAll {
display: none;
}
@@ -1,309 +0,0 @@
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
var AboutTabCrashed = {
/**
* This can be set to true once this page receives a message from the
* parent saying whether or not a crash report is available.
*/
hasReport: false,
/**
* The messages that we might receive from the parent.
*/
MESSAGES: [
"SetCrashReportAvailable",
"CrashReportSent",
"UpdateCount",
],
/**
* Items for which we will listen for click events.
*/
CLICK_TARGETS: [
"closeTab",
"restoreTab",
"restoreAll",
"sendReport",
],
/**
* Returns information about this crashed tab.
*
* @return (Object) An object with the following properties:
* title (String):
* The title of the page that crashed.
* URL (String):
* The URL of the page that crashed.
*/
get pageData() {
delete this.pageData;
let URL = document.documentURI;
let queryString = URL.replace(/^about:tabcrashed?e=tabcrashed/, "");
let titleMatch = queryString.match(/d=([^&]*)/);
let URLMatch = queryString.match(/u=([^&]*)/);
return this.pageData = {
title: titleMatch && titleMatch[1] ? decodeURIComponent(titleMatch[1]) : "",
URL: URLMatch && URLMatch[1] ? decodeURIComponent(URLMatch[1]) : "",
};
},
init() {
this.MESSAGES.forEach((msg) => addMessageListener(msg, this.receiveMessage.bind(this)));
addEventListener("DOMContentLoaded", this);
document.title = this.pageData.title;
},
receiveMessage(message) {
switch (message.name) {
case "UpdateCount": {
this.setMultiple(message.data.count > 1);
break;
}
case "SetCrashReportAvailable": {
this.onSetCrashReportAvailable(message);
break;
}
case "CrashReportSent": {
this.onCrashReportSent();
break;
}
}
},
handleEvent(event) {
switch (event.type) {
case "DOMContentLoaded": {
this.onDOMContentLoaded();
break;
}
case "click": {
this.onClick(event);
break;
}
case "input": {
this.onInput(event);
break;
}
}
},
onDOMContentLoaded() {
this.CLICK_TARGETS.forEach((targetID) => {
let el = document.getElementById(targetID);
el.addEventListener("click", this);
});
// For setting "emailMe" checkbox automatically on email value change.
document.getElementById("email").addEventListener("input", this);
// Error pages are loaded as LOAD_BACKGROUND, so they don't get load events.
let event = new CustomEvent("AboutTabCrashedLoad", {bubbles:true});
document.dispatchEvent(event);
sendAsyncMessage("Load");
},
onClick(event) {
switch (event.target.id) {
case "closeTab": {
this.sendMessage("closeTab");
break;
}
case "restoreTab": {
this.sendMessage("restoreTab");
break;
}
case "restoreAll": {
this.sendMessage("restoreAll");
break;
}
case "sendReport": {
this.showCrashReportUI(event.target.checked);
break;
}
}
},
onInput(event) {
switch (event.target.id) {
case "email": {
document.getElementById("emailMe").checked = !!event.target.value;
break;
}
}
},
/**
* After this page tells the parent that it has loaded, the parent
* will respond with whether or not a crash report is available. This
* method handles that message.
*
* @param message
* The message from the parent, which should contain a data
* Object property with the following properties:
*
* hasReport (bool):
* Whether or not there is a crash report.
*
* sendReport (bool):
* Whether or not the the user prefers to send the report
* by default.
*
* includeURL (bool):
* Whether or not the user prefers to send the URL of
* the tab that crashed.
*
* emailMe (bool):
* Whether or not to send the email address of the user
* in the report.
*
* email (String):
* The email address of the user (empty if emailMe is false).
*
* requestAutoSubmit (bool):
* Whether or not we should ask the user to automatically
* submit backlogged crash reports.
*
*/
onSetCrashReportAvailable(message) {
let data = message.data;
if (data.hasReport) {
this.hasReport = true;
document.documentElement.classList.add("crashDumpAvailable");
document.getElementById("sendReport").checked = data.sendReport;
document.getElementById("includeURL").checked = data.includeURL;
if (data.requestEmail) {
document.getElementById("requestEmail").hidden = false;
document.getElementById("emailMe").checked = data.emailMe;
if (data.emailMe) {
document.getElementById("email").value = data.email;
}
}
this.showCrashReportUI(data.sendReport);
} else {
this.showCrashReportUI(false);
}
if (data.requestAutoSubmit) {
document.getElementById("requestAutoSubmit").hidden = false;
}
let event = new CustomEvent("AboutTabCrashedReady", {bubbles:true});
document.dispatchEvent(event);
},
/**
* Handler for when the parent reports that the crash report associated
* with this about:tabcrashed page has been sent.
*/
onCrashReportSent() {
document.documentElement.classList.remove("crashDumpAvailable");
document.documentElement.classList.add("crashDumpSubmitted");
},
/**
* Toggles the display of the crash report form.
*
* @param shouldShow (bool)
* True if the crash report form should be shown
*/
showCrashReportUI(shouldShow) {
let options = document.getElementById("options");
options.hidden = !shouldShow;
},
/**
* Toggles whether or not the page is one of several visible pages
* showing the crash reporter. This controls some of the language
* on the page, along with what the "primary" button is.
*
* @param hasMultiple (bool)
* True if there are multiple crash report pages being shown.
*/
setMultiple(hasMultiple) {
let main = document.getElementById("main");
main.setAttribute("multiple", hasMultiple);
let restoreTab = document.getElementById("restoreTab");
// The "Restore All" button has the "primary" class by default, so
// we only need to modify the "Restore Tab" button.
if (hasMultiple) {
restoreTab.classList.remove("primary");
} else {
restoreTab.classList.add("primary");
}
},
/**
* Sends a message to the parent in response to the user choosing
* one of the actions available on the page. This might also send up
* crash report information if the user has chosen to submit a crash
* report.
*
* @param messageName (String)
* The message to send to the parent
*/
sendMessage(messageName) {
let comments = "";
let email = "";
let URL = "";
let sendReport = false;
let emailMe = false;
let includeURL = false;
let autoSubmit = false;
if (this.hasReport) {
sendReport = document.getElementById("sendReport").checked;
if (sendReport) {
comments = document.getElementById("comments").value.trim();
includeURL = document.getElementById("includeURL").checked;
if (includeURL) {
URL = this.pageData.URL.trim();
}
if (!document.getElementById("requestEmail").hidden) {
emailMe = document.getElementById("emailMe").checked;
if (emailMe) {
email = document.getElementById("email").value.trim();
}
}
}
}
let requestAutoSubmit = document.getElementById("requestAutoSubmit");
if (requestAutoSubmit.hidden) {
// The checkbox is hidden if the user has already opted in to sending
// backlogged crash reports.
autoSubmit = true;
} else {
autoSubmit = document.getElementById("autoSubmit").checked;
}
sendAsyncMessage(messageName, {
sendReport,
comments,
email,
emailMe,
includeURL,
URL,
autoSubmit,
hasReport: this.hasReport,
});
},
};
AboutTabCrashed.init();
@@ -1,97 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this
- file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
<!DOCTYPE html [
<!ENTITY % htmlDTD
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"DTD/xhtml1-strict.dtd">
%htmlDTD;
<!ENTITY % globalDTD
SYSTEM "chrome://global/locale/global.dtd">
%globalDTD;
<!ENTITY % brandDTD SYSTEM "chrome://branding/locale/brand.dtd" >
%brandDTD;
<!ENTITY % tabCrashedDTD
SYSTEM "chrome://browser/locale/aboutTabCrashed.dtd">
%tabCrashedDTD;
]>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<link rel="stylesheet" type="text/css" media="all"
href="chrome://global/skin/in-content/info-pages.css"/>
<link rel="stylesheet" type="text/css" media="all"
href="chrome://browser/content/aboutTabCrashed.css"/>
<link rel="stylesheet" type="text/css" media="all"
href="chrome://browser/skin/aboutTabCrashed.css"/>
</head>
<body dir="&locale.dir;">
<div id="main" class="container" multiple="false">
<div class="title">
<h1 class="title-text">&tabCrashed.header2;</h1>
</div>
<div class="offers">
<h2>&tabCrashed.offerHelp;</h2>
<p id="offerHelpMessageSingle">&tabCrashed.single.offerHelpMessage;</p>
<p id="offerHelpMessageMultiple">&tabCrashed.multiple.offerHelpMessage;</p>
</div>
<div id="reportBox">
<h2>&tabCrashed.requestHelp;</h2>
<p>&tabCrashed.requestHelpMessage;</p>
<h2>&tabCrashed.requestReport;</h2>
<div class="checkbox-with-label">
<input type="checkbox" id="sendReport"/>
<label for="sendReport">&tabCrashed.sendReport2;</label>
</div>
<ul id="options">
<li>
<textarea id="comments" placeholder="&tabCrashed.commentPlaceholder2;" rows="4"></textarea>
</li>
<li class="checkbox-with-label">
<input type="checkbox" id="includeURL"/>
<label for="includeURL">&tabCrashed.includeURL2;</label>
</li>
<li id="requestEmail" hidden="true">
<div class="checkbox-with-label">
<input type="checkbox" id="emailMe"/>
<label for="emailMe">&tabCrashed.emailMe;</label>
</div>
<input type="text" id="email" placeholder="&tabCrashed.emailPlaceholder;"/>
</li>
</ul>
<div id="requestAutoSubmit" hidden="true">
<h2>&tabCrashed.requestAutoSubmit2;</h2>
<div class="checkbox-with-label">
<input type="checkbox" id="autoSubmit"/>
<label for="autoSubmit">&tabCrashed.autoSubmit;</label>
</div>
</div>
</div>
<p id="reportSent">&tabCrashed.reportSent;</p>
<div class="button-container">
<button id="closeTab">
&tabCrashed.closeTab;</button>
<button id="restoreTab" class="primary">
&tabCrashed.restoreTab;</button>
<button id="restoreAll" autofocus="true" class="primary">
&tabCrashed.restoreAll;</button>
</div>
</div>
</body>
<script type="text/javascript;version=1.8" src="chrome://browser/content/aboutTabCrashed.js"/>
</html>
@@ -1,24 +0,0 @@
html, body {
height: 100%;
}
#remote {
width: 100%;
height: 100%;
border: 0;
display: none;
}
#networkError, #manage, #intro, #stage, #configError {
display: none;
}
#oldsync {
background: none;
border: 0;
color: #0095dd;
}
#oldsync:focus {
outline: 1px dotted #0095dd;
}
@@ -1,543 +0,0 @@
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
"use strict";
var {classes: Cc, interfaces: Ci, utils: Cu} = Components;
Cu.import("resource://gre/modules/Services.jsm");
Cu.import("resource://gre/modules/FxAccounts.jsm");
var fxAccountsCommon = {};
Cu.import("resource://gre/modules/FxAccountsCommon.js", fxAccountsCommon);
// for master-password utilities
Cu.import("resource://services-sync/util.js");
const PREF_LAST_FXA_USER = "identity.fxaccounts.lastSignedInUserHash";
const PREF_SYNC_SHOW_CUSTOMIZATION = "services.sync-setup.ui.showCustomizationDialog";
const ACTION_URL_PARAM = "action";
const OBSERVER_TOPICS = [
fxAccountsCommon.ONVERIFIED_NOTIFICATION,
fxAccountsCommon.ONLOGOUT_NOTIFICATION,
];
function log(msg) {
// dump("FXA: " + msg + "\n");
}
function error(msg) {
console.log("Firefox Account Error: " + msg + "\n");
}
function getPreviousAccountNameHash() {
try {
return Services.prefs.getComplexValue(PREF_LAST_FXA_USER, Ci.nsISupportsString).data;
} catch (_) {
return "";
}
}
function setPreviousAccountNameHash(acctName) {
let string = Cc["@mozilla.org/supports-string;1"]
.createInstance(Ci.nsISupportsString);
string.data = sha256(acctName);
Services.prefs.setComplexValue(PREF_LAST_FXA_USER, Ci.nsISupportsString, string);
}
function needRelinkWarning(acctName) {
let prevAcctHash = getPreviousAccountNameHash();
return prevAcctHash && prevAcctHash != sha256(acctName);
}
// Given a string, returns the SHA265 hash in base64
function sha256(str) {
let converter = Cc["@mozilla.org/intl/scriptableunicodeconverter"]
.createInstance(Ci.nsIScriptableUnicodeConverter);
converter.charset = "UTF-8";
// Data is an array of bytes.
let data = converter.convertToByteArray(str, {});
let hasher = Cc["@mozilla.org/security/hash;1"]
.createInstance(Ci.nsICryptoHash);
hasher.init(hasher.SHA256);
hasher.update(data, data.length);
return hasher.finish(true);
}
function promptForRelink(acctName) {
let sb = Services.strings.createBundle("chrome://browser/locale/syncSetup.properties");
let continueLabel = sb.GetStringFromName("continue.label");
let title = sb.GetStringFromName("relinkVerify.title");
let description = sb.formatStringFromName("relinkVerify.description",
[acctName], 1);
let body = sb.GetStringFromName("relinkVerify.heading") +
"\n\n" + description;
let ps = Services.prompt;
let buttonFlags = (ps.BUTTON_POS_0 * ps.BUTTON_TITLE_IS_STRING) +
(ps.BUTTON_POS_1 * ps.BUTTON_TITLE_CANCEL) +
ps.BUTTON_POS_1_DEFAULT;
let pressed = Services.prompt.confirmEx(window, title, body, buttonFlags,
continueLabel, null, null, null,
{});
return pressed == 0; // 0 is the "continue" button
}
// If the last fxa account used for sync isn't this account, we display
// a modal dialog checking they really really want to do this...
// (This is sync-specific, so ideally would be in sync's identity module,
// but it's a little more seamless to do here, and sync is currently the
// only fxa consumer, so...
function shouldAllowRelink(acctName) {
return !needRelinkWarning(acctName) || promptForRelink(acctName);
}
function updateDisplayedEmail(user) {
let emailDiv = document.getElementById("email");
if (emailDiv && user) {
emailDiv.textContent = user.email;
}
}
var wrapper = {
iframe: null,
init: function (url, urlParams) {
// If a master-password is enabled, we want to encourage the user to
// unlock it. Things still work if not, but the user will probably need
// to re-auth next startup (in which case we will get here again and
// re-prompt)
Utils.ensureMPUnlocked();
let iframe = document.getElementById("remote");
this.iframe = iframe;
this.iframe.QueryInterface(Ci.nsIFrameLoaderOwner);
let docShell = this.iframe.frameLoader.docShell;
docShell.QueryInterface(Ci.nsIWebProgress);
docShell.addProgressListener(this.iframeListener, Ci.nsIWebProgress.NOTIFY_STATE_DOCUMENT);
iframe.addEventListener("load", this);
// Ideally we'd just merge urlParams with new URL(url).searchParams, but our
// URLSearchParams implementation doesn't support iteration (bug 1085284).
let urlParamStr = urlParams.toString();
if (urlParamStr) {
url += (url.includes("?") ? "&" : "?") + urlParamStr;
}
this.url = url;
// Set the iframe's location with loadURI/LOAD_FLAGS_REPLACE_HISTORY to
// avoid having a new history entry being added. REPLACE_HISTORY is used
// to replace the current entry, which is `about:blank`.
let webNav = iframe.frameLoader.docShell.QueryInterface(Ci.nsIWebNavigation);
webNav.loadURI(url, Ci.nsIWebNavigation.LOAD_FLAGS_REPLACE_HISTORY, null, null, null);
},
retry: function () {
let webNav = this.iframe.frameLoader.docShell.QueryInterface(Ci.nsIWebNavigation);
webNav.loadURI(this.url, Ci.nsIWebNavigation.LOAD_FLAGS_BYPASS_HISTORY, null, null, null);
},
iframeListener: {
QueryInterface: XPCOMUtils.generateQI([Ci.nsIWebProgressListener,
Ci.nsISupportsWeakReference,
Ci.nsISupports]),
onStateChange: function(aWebProgress, aRequest, aState, aStatus) {
let failure = false;
// Captive portals sometimes redirect users
if ((aState & Ci.nsIWebProgressListener.STATE_REDIRECTING)) {
failure = true;
} else if ((aState & Ci.nsIWebProgressListener.STATE_STOP)) {
if (aRequest instanceof Ci.nsIHttpChannel) {
try {
failure = aRequest.responseStatus != 200;
} catch (e) {
failure = aStatus != Components.results.NS_OK;
}
}
}
// Calling cancel() will raise some OnStateChange notifications by itself,
// so avoid doing that more than once
if (failure && aStatus != Components.results.NS_BINDING_ABORTED) {
aRequest.cancel(Components.results.NS_BINDING_ABORTED);
setErrorPage("networkError");
}
},
onLocationChange: function(aWebProgress, aRequest, aLocation, aFlags) {
if (aRequest && aFlags & Ci.nsIWebProgressListener.LOCATION_CHANGE_ERROR_PAGE) {
aRequest.cancel(Components.results.NS_BINDING_ABORTED);
setErrorPage("networkError");
}
},
onProgressChange: function() {},
onStatusChange: function() {},
onSecurityChange: function() {},
},
handleEvent: function (evt) {
switch (evt.type) {
case "load":
this.iframe.contentWindow.addEventListener("FirefoxAccountsCommand", this);
this.iframe.removeEventListener("load", this);
break;
case "FirefoxAccountsCommand":
this.handleRemoteCommand(evt);
break;
}
},
/**
* onLogin handler receives user credentials from the jelly after a
* sucessful login and stores it in the fxaccounts service
*
* @param accountData the user's account data and credentials
*/
onLogin: function (accountData) {
log("Received: 'login'. Data:" + JSON.stringify(accountData));
if (accountData.customizeSync) {
Services.prefs.setBoolPref(PREF_SYNC_SHOW_CUSTOMIZATION, true);
}
delete accountData.customizeSync;
// sessionTokenContext is erroneously sent by the content server.
// https://github.com/mozilla/fxa-content-server/issues/2766
// To avoid having the FxA storage manager not knowing what to do with
// it we delete it here.
delete accountData.sessionTokenContext;
// We need to confirm a relink - see shouldAllowRelink for more
let newAccountEmail = accountData.email;
// The hosted code may have already checked for the relink situation
// by sending the can_link_account command. If it did, then
// it will indicate we don't need to ask twice.
if (!accountData.verifiedCanLinkAccount && !shouldAllowRelink(newAccountEmail)) {
// we need to tell the page we successfully received the message, but
// then bail without telling fxAccounts
this.injectData("message", { status: "login" });
// after a successful login we return to preferences
openPrefs();
return;
}
delete accountData.verifiedCanLinkAccount;
// Remember who it was so we can log out next time.
setPreviousAccountNameHash(newAccountEmail);
// A sync-specific hack - we want to ensure sync has been initialized
// before we set the signed-in user.
let xps = Cc["@mozilla.org/weave/service;1"]
.getService(Ci.nsISupports)
.wrappedJSObject;
xps.whenLoaded().then(() => {
updateDisplayedEmail(accountData);
return fxAccounts.setSignedInUser(accountData);
}).then(() => {
// If the user data is verified, we want it to immediately look like
// they are signed in without waiting for messages to bounce around.
if (accountData.verified) {
openPrefs();
}
this.injectData("message", { status: "login" });
// until we sort out a better UX, just leave the jelly page in place.
// If the account email is not yet verified, it will tell the user to
// go check their email, but then it will *not* change state after
// the verification completes (the browser will begin syncing, but
// won't notify the user). If the email has already been verified,
// the jelly will say "Welcome! You are successfully signed in as
// EMAIL", but it won't then say "syncing started".
}, (err) => this.injectData("message", { status: "error", error: err })
);
},
onCanLinkAccount: function(accountData) {
// We need to confirm a relink - see shouldAllowRelink for more
let ok = shouldAllowRelink(accountData.email);
this.injectData("message", { status: "can_link_account", data: { ok: ok } });
},
/**
* onSignOut handler erases the current user's session from the fxaccounts service
*/
onSignOut: function () {
log("Received: 'sign_out'.");
fxAccounts.signOut().then(
() => this.injectData("message", { status: "sign_out" }),
(err) => this.injectData("message", { status: "error", error: err })
);
},
handleRemoteCommand: function (evt) {
log('command: ' + evt.detail.command);
let data = evt.detail.data;
switch (evt.detail.command) {
case "login":
this.onLogin(data);
break;
case "can_link_account":
this.onCanLinkAccount(data);
break;
case "sign_out":
this.onSignOut(data);
break;
default:
log("Unexpected remote command received: " + evt.detail.command + ". Ignoring command.");
break;
}
},
injectData: function (type, content) {
return fxAccounts.promiseAccountsSignUpURI().then(authUrl => {
let data = {
type: type,
content: content
};
this.iframe.contentWindow.postMessage(data, authUrl);
})
.catch(e => {
console.log("Failed to inject data", e);
setErrorPage("configError");
});
},
};
// Button onclick handlers
function handleOldSync() {
let chromeWin = window
.QueryInterface(Ci.nsIInterfaceRequestor)
.getInterface(Ci.nsIWebNavigation)
.QueryInterface(Ci.nsIDocShellTreeItem)
.rootTreeItem
.QueryInterface(Ci.nsIInterfaceRequestor)
.getInterface(Ci.nsIDOMWindow)
.QueryInterface(Ci.nsIDOMChromeWindow);
let url = Services.urlFormatter.formatURLPref("app.support.baseURL") + "old-sync";
chromeWin.switchToTabHavingURI(url, true);
}
function getStarted() {
show("remote");
}
function retry() {
show("remote");
wrapper.retry();
}
function openPrefs() {
// Bug 1199303 calls for this tab to always be replaced with Preferences
// rather than it opening in a different tab.
window.location = "about:preferences#sync";
}
function init() {
fxAccounts.getSignedInUser().then(user => {
// tests in particular might cause the window to start closing before
// getSignedInUser has returned.
if (window.closed) {
return Promise.resolve();
}
updateDisplayedEmail(user);
// Ideally we'd use new URL(document.URL).searchParams, but for about: URIs,
// searchParams is empty.
let urlParams = new URLSearchParams(document.URL.split("?")[1] || "");
let action = urlParams.get(ACTION_URL_PARAM);
urlParams.delete(ACTION_URL_PARAM);
switch (action) {
case "signin":
if (user) {
// asking to sign-in when already signed in just shows manage.
show("stage", "manage");
} else {
return fxAccounts.promiseAccountsSignInURI().then(url => {
show("remote");
wrapper.init(url, urlParams);
});
}
break;
case "signup":
if (user) {
// asking to sign-up when already signed in just shows manage.
show("stage", "manage");
} else {
return fxAccounts.promiseAccountsSignUpURI().then(url => {
show("remote");
wrapper.init(url, urlParams);
});
}
break;
case "reauth":
// ideally we would only show this when we know the user is in a
// "must reauthenticate" state - but we don't.
// As the email address will be included in the URL returned from
// promiseAccountsForceSigninURI, just always show it.
return fxAccounts.promiseAccountsForceSigninURI().then(url => {
show("remote");
wrapper.init(url, urlParams);
});
default:
// No action specified.
if (user) {
show("stage", "manage");
} else {
// Attempt a migration if enabled or show the introductory page
// otherwise.
return migrateToDevEdition(urlParams).then(migrated => {
if (!migrated) {
show("stage", "intro");
// load the remote frame in the background
return fxAccounts.promiseAccountsSignUpURI().then(uri =>
wrapper.init(uri, urlParams));
}
return Promise.resolve();
});
}
break;
}
return Promise.resolve();
}).catch(err => {
console.log("Configuration or sign in error", err);
setErrorPage("configError");
});
}
function setErrorPage(errorType) {
show("stage", errorType);
}
// Causes the "top-level" element with |id| to be shown - all other top-level
// elements are hidden. Optionally, ensures that only 1 "second-level" element
// inside the top-level one is shown.
function show(id, childId) {
// top-level items are either <div> or <iframe>
let allTop = document.querySelectorAll("body > div, iframe");
for (let elt of allTop) {
if (elt.getAttribute("id") == id) {
elt.style.display = 'block';
} else {
elt.style.display = 'none';
}
}
if (childId) {
// child items are all <div>
let allSecond = document.querySelectorAll("#" + id + " > div");
for (let elt of allSecond) {
if (elt.getAttribute("id") == childId) {
elt.style.display = 'block';
} else {
elt.style.display = 'none';
}
}
}
}
// Migrate sync data from the default profile to the dev-edition profile.
// Returns a promise of a true value if migration succeeded, or false if it
// failed.
function migrateToDevEdition(urlParams) {
let defaultProfilePath;
try {
defaultProfilePath = window.getDefaultProfilePath();
} catch (e) {} // no default profile.
let migrateSyncCreds = false;
if (defaultProfilePath) {
try {
migrateSyncCreds = Services.prefs.getBoolPref("identity.fxaccounts.migrateToDevEdition");
} catch (e) {}
}
if (!migrateSyncCreds) {
return Promise.resolve(false);
}
Cu.import("resource://gre/modules/osfile.jsm");
let fxAccountsStorage = OS.Path.join(defaultProfilePath, fxAccountsCommon.DEFAULT_STORAGE_FILENAME);
return OS.File.read(fxAccountsStorage, { encoding: "utf-8" }).then(text => {
let accountData = JSON.parse(text).accountData;
updateDisplayedEmail(accountData);
return fxAccounts.setSignedInUser(accountData);
}).then(() => {
return fxAccounts.promiseAccountsForceSigninURI().then(url => {
show("remote");
wrapper.init(url, urlParams);
});
}).then(null, error => {
log("Failed to migrate FX Account: " + error);
show("stage", "intro");
// load the remote frame in the background
fxAccounts.promiseAccountsSignUpURI().then(uri => {
wrapper.init(uri, urlParams)
}).catch(e => {
console.log("Failed to load signup page", e);
setErrorPage("configError");
});
}).then(() => {
// Reset the pref after migration.
Services.prefs.setBoolPref("identity.fxaccounts.migrateToDevEdition", false);
return true;
}).then(null, err => {
Cu.reportError("Failed to reset the migrateToDevEdition pref: " + err);
return false;
});
}
// Helper function that returns the path of the default profile on disk. Will be
// overridden in tests.
function getDefaultProfilePath() {
let defaultProfile = Cc["@mozilla.org/toolkit/profile-service;1"]
.getService(Ci.nsIToolkitProfileService)
.defaultProfile;
return defaultProfile.rootDir.path;
}
document.addEventListener("DOMContentLoaded", function onload() {
document.removeEventListener("DOMContentLoaded", onload, true);
init();
var buttonGetStarted = document.getElementById('buttonGetStarted');
buttonGetStarted.addEventListener('click', getStarted);
var buttonRetry = document.getElementById('buttonRetry');
buttonRetry.addEventListener('click', retry);
var oldsync = document.getElementById('oldsync');
oldsync.addEventListener('click', handleOldSync);
var buttonOpenPrefs = document.getElementById('buttonOpenPrefs')
buttonOpenPrefs.addEventListener('click', openPrefs);
}, true);
function initObservers() {
function observe(subject, topic, data) {
log("about:accounts observed " + topic);
if (topic == fxAccountsCommon.ONLOGOUT_NOTIFICATION) {
// All about:account windows get changed to action=signin on logout.
window.location = "about:accounts?action=signin";
return;
}
// must be onverified - we want to open preferences.
openPrefs();
}
for (let topic of OBSERVER_TOPICS) {
Services.obs.addObserver(observe, topic, false);
}
window.addEventListener("unload", function(event) {
log("about:accounts unloading")
for (let topic of OBSERVER_TOPICS) {
Services.obs.removeObserver(observe, topic);
}
});
}
initObservers();
@@ -1,112 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this
- file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
<!DOCTYPE html [
<!ENTITY % htmlDTD PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "DTD/xhtml1-strict.dtd">
%htmlDTD;
<!ENTITY % brandDTD SYSTEM "chrome://branding/locale/brand.dtd">
%brandDTD;
<!ENTITY % globalDTD SYSTEM "chrome://global/locale/global.dtd">
%globalDTD;
<!ENTITY % aboutAccountsDTD SYSTEM "chrome://browser/locale/aboutAccounts.dtd">
%aboutAccountsDTD;
<!ENTITY % syncBrandDTD SYSTEM "chrome://browser/locale/syncBrand.dtd">
%syncBrandDTD;
]>
<html xmlns="http://www.w3.org/1999/xhtml" dir="&locale.dir;">
<head>
<title>&syncBrand.fullName.label;</title>
<meta name="viewport" content="width=device-width"/>
<link rel="icon" type="image/png" id="favicon"
href="chrome://branding/content/icon32.png"/>
<link rel="stylesheet"
href="chrome://browser/content/aboutaccounts/normalize.css"
type="text/css" />
<link rel="stylesheet"
href="chrome://browser/content/aboutaccounts/main.css"
type="text/css" />
<link rel="stylesheet"
href="chrome://browser/content/aboutaccounts/aboutaccounts.css"
type="text/css" />
</head>
<body>
<div id="stage">
<div id="manage">
<header>
<h1>&aboutAccounts.connected;</h1>
<div id="email"></div>
</header>
<section>
<div class="graphic graphic-sync-intro"> </div>
<div class="button-row">
<button id="buttonOpenPrefs" class="button" href="#" tabindex="0">&aboutAccountsConfig.syncPreferences.label;</button>
</div>
</section>
</div>
<div id="intro">
<header>
<h1>&aboutAccounts.welcome;</h1>
</header>
<section>
<div class="graphic graphic-sync-intro"> </div>
<div class="description">&aboutAccountsConfig.description;</div>
<div class="button-row">
<button id="buttonGetStarted" class="button" tabindex="1">&aboutAccountsConfig.startButton.label;</button>
</div>
<div class="links">
<button id="oldsync" tabindex="2">&aboutAccountsConfig.useOldSync.label;</button>
</div>
</section>
</div>
<div id="networkError">
<header>
<h1>&aboutAccounts.noConnection.title;</h1>
</header>
<section>
<div class="graphic graphic-sync-intro"> </div>
<div class="description">&aboutAccounts.noConnection.description;</div>
<div class="button-row">
<button id="buttonRetry" class="button" tabindex="3">&aboutAccounts.noConnection.retry;</button>
</div>
</section>
</div>
<div id="configError">
<header>
<h1>&aboutAccounts.badConfig.title;</h1>
</header>
<section>
<div class="graphic graphic-sync-intro"> </div>
<div class="description">&aboutAccounts.badConfig.description;</div>
</section>
</div>
</div>
<iframe mozframetype="content" id="remote" />
<script type="application/javascript;version=1.8"
src="chrome://browser/content/utilityOverlay.js"/>
<script type="text/javascript;version=1.8"
src="chrome://browser/content/aboutaccounts/aboutaccounts.js" />
</body>
</html>
Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

@@ -1,166 +0,0 @@
*,
*:before,
*:after {
box-sizing: border-box;
}
html {
background-color: #F2F2F2;
height: 100%;
}
body {
color: #424f59;
font: message-box;
font-size: 14px;
height: 100%;
}
a {
color: #0095dd;
cursor: pointer; /* Use the correct cursor for anchors without an href */
}
a:active {
outline: none;
}
a:focus {
outline: 1px dotted #0095dd;
}
a.no-underline {
text-decoration: none;
}
#stage {
background:#fff;
border-radius: 5px;
box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.25);
margin: 0 auto;
min-height: 300px;
padding: 60px 40px 40px 40px;
position: relative;
text-align: center;
top: 80px;
width: 420px;
}
header h1
{
font-size: 24px;
font-weight: 200;
line-height: 1em;
}
#intro header h1 {
margin: 0 0 32px 0;
}
#manage header h1 {
margin: 0 0 12px 0;
}
#manage header #email {
margin-bottom: 23px;
color: rgb(138, 155, 168);
font-size: 19px;
text-overflow: ellipsis;
overflow: hidden;
white-space: nowrap;
}
.description {
font-size: 18px;
}
.button-row {
margin-top: 45px;
margin-bottom:20px;
}
.button-row button,
.button-row a.button {
background: #0095dd;
border: none;
border-radius: 5px;
color: #FFFFFF;
cursor: pointer;
font-size: 24px;
padding: 15px 0;
transition-duration: 150ms;
transition-property: background-color;
width: 100%;
}
.button-row a.button {
display: inline-block;
text-decoration: none;
}
.button-row a.button:active,
.button-row a.button:hover,
.button-row a.button:focus,
.button-row button:active,
.button-row button:hover,
.button-row button:focus {
background: #08c;
}
.graphic-sync-intro {
background-image: url(images/graphic_sync_intro.png);
background-repeat: no-repeat;
background-size: 150px 195px;
height: 195px;
margin: 0 auto;
overflow: hidden;
text-indent: 100%;
white-space: nowrap;
width: 150px;
}
.description,
.button-row {
margin-top: 30px;
}
.links {
margin: 20px 0;
}
@media only screen and (max-width: 500px) {
html {
background: #fff;
}
#stage {
box-shadow: none;
margin: 30px auto 0 auto;
min-height: none;
min-width: 320px;
padding: 0 10px;
width: 100%;
}
.button-row {
margin-top: 20px;
}
.button-row button,
.button-row a.button {
padding: 10px 0;
}
}
/* Retina */
@media
only screen and (min-device-pixel-ratio: 2),
only screen and ( min-resolution: 192dpi),
only screen and ( min-resolution: 2dppx) {
.graphic-sync-intro {
background-image: url(images/graphic_sync_intro@2x.png);
}
}
@@ -1,402 +0,0 @@
/*! normalize.css v2.1.3 | MIT License | git.io/normalize */
/* ==========================================================================
HTML5 display definitions
========================================================================== */
/**
* Correct `block` display not defined in IE 8/9.
*/
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
nav,
section,
summary {
display: block;
}
/**
* Correct `inline-block` display not defined in IE 8/9.
*/
audio,
canvas,
video {
display: inline-block;
}
/**
* Prevent modern browsers from displaying `audio` without controls.
* Remove excess height in iOS 5 devices.
*/
audio:not([controls]) {
display: none;
height: 0;
}
/**
* Address `[hidden]` styling not present in IE 8/9.
* Hide the `template` element in IE, Safari, and Firefox < 22.
*/
[hidden],
template {
display: none;
}
/* ==========================================================================
Base
========================================================================== */
/**
* 1. Set default font family to sans-serif.
* 2. Prevent iOS text size adjust after orientation change, without disabling
* user zoom.
*/
html {
font-family: sans-serif; /* 1 */
-ms-text-size-adjust: 100%; /* 2 */
-webkit-text-size-adjust: 100%; /* 2 */
}
/**
* Remove default margin.
*/
body {
margin: 0;
}
/* ==========================================================================
Links
========================================================================== */
/**
* Remove the gray background color from active links in IE 10.
*/
a {
background: transparent;
}
/**
* Address `outline` inconsistency between Chrome and other browsers.
*/
a:focus {
outline: thin dotted;
}
/**
* Improve readability when focused and also mouse hovered in all browsers.
*/
a:active,
a:hover {
outline: 0;
}
/* ==========================================================================
Typography
========================================================================== */
/**
* Address variable `h1` font-size and margin within `section` and `article`
* contexts in Firefox 4+, Safari 5, and Chrome.
*/
h1 {
font-size: 2em;
margin: 0.67em 0;
}
/**
* Address styling not present in IE 8/9, Safari 5, and Chrome.
*/
abbr[title] {
border-bottom: 1px dotted;
}
/**
* Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome.
*/
b,
strong {
font-weight: bold;
}
/**
* Address styling not present in Safari 5 and Chrome.
*/
dfn {
font-style: italic;
}
/**
* Address differences between Firefox and other browsers.
*/
hr {
box-sizing: content-box;
height: 0;
}
/**
* Address styling not present in IE 8/9.
*/
mark {
background: #ff0;
color: #000;
}
/**
* Correct font family set oddly in Safari 5 and Chrome.
*/
code,
kbd,
pre,
samp {
font-family: monospace, serif;
font-size: 1em;
}
/**
* Improve readability of pre-formatted text in all browsers.
*/
pre {
white-space: pre-wrap;
}
/**
* Set consistent quote types.
*/
q {
quotes: "\201C" "\201D" "\2018" "\2019";
}
/**
* Address inconsistent and variable font size in all browsers.
*/
small {
font-size: 80%;
}
/**
* Prevent `sub` and `sup` affecting `line-height` in all browsers.
*/
sub,
sup {
font-size: 75%;
line-height: 0;
position: relative;
vertical-align: baseline;
}
sup {
top: -0.5em;
}
sub {
bottom: -0.25em;
}
/* ==========================================================================
Embedded content
========================================================================== */
/**
* Remove border when inside `a` element in IE 8/9.
*/
img {
border: 0;
}
/**
* Correct overflow displayed oddly in IE 9.
*/
svg:not(:root) {
overflow: hidden;
}
/* ==========================================================================
Figures
========================================================================== */
/**
* Address margin not present in IE 8/9 and Safari 5.
*/
figure {
margin: 0;
}
/* ==========================================================================
Forms
========================================================================== */
/**
* Define consistent border, margin, and padding.
*/
fieldset {
border: 1px solid #c0c0c0;
margin: 0 2px;
padding: 0.35em 0.625em 0.75em;
}
/**
* 1. Correct `color` not being inherited in IE 8/9.
* 2. Remove padding so people aren't caught out if they zero out fieldsets.
*/
legend {
border: 0; /* 1 */
padding: 0; /* 2 */
}
/**
* 1. Correct font family not being inherited in all browsers.
* 2. Correct font size not being inherited in all browsers.
* 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome.
*/
button,
input,
select,
textarea {
font-family: inherit; /* 1 */
font-size: 100%; /* 2 */
margin: 0; /* 3 */
}
/**
* Address Firefox 4+ setting `line-height` on `input` using `!important` in
* the UA stylesheet.
*/
button,
input {
line-height: normal;
}
/**
* Address inconsistent `text-transform` inheritance for `button` and `select`.
* All other form control elements do not inherit `text-transform` values.
* Correct `button` style inheritance in Chrome, Safari 5+, and IE 8+.
* Correct `select` style inheritance in Firefox 4+ and Opera.
*/
button,
select {
text-transform: none;
}
/**
* 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
* and `video` controls.
* 2. Correct inability to style clickable `input` types in iOS.
* 3. Improve usability and consistency of cursor style between image-type
* `input` and others.
*/
button,
html input[type="button"], /* 1 */
input[type="reset"],
input[type="submit"] {
-webkit-appearance: button; /* 2 */
cursor: pointer; /* 3 */
}
/**
* Re-set default cursor for disabled elements.
*/
button[disabled],
html input[disabled] {
cursor: default;
}
/**
* 1. Address box sizing set to `content-box` in IE 8/9/10.
* 2. Remove excess padding in IE 8/9/10.
*/
input[type="checkbox"],
input[type="radio"] {
box-sizing: border-box; /* 1 */
padding: 0; /* 2 */
}
/**
* 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome.
* 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome.
*/
input[type="search"] {
-webkit-appearance: textfield; /* 1 */
box-sizing: content-box; /* 2 */
}
/**
* Remove inner padding and search cancel button in Safari 5 and Chrome
* on OS X.
*/
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
-webkit-appearance: none;
}
/**
* Remove inner padding and border in Firefox 4+.
*/
button::-moz-focus-inner,
input::-moz-focus-inner {
border: 0;
padding: 0;
}
/**
* 1. Remove default vertical scrollbar in IE 8/9.
* 2. Improve readability and alignment in all browsers.
*/
textarea {
overflow: auto; /* 1 */
vertical-align: top; /* 2 */
}
/* ==========================================================================
Tables
========================================================================== */
/**
* Remove most spacing between table cells.
*/
table {
border-collapse: collapse;
border-spacing: 0;
}
@@ -1,15 +0,0 @@
* {
margin: 0;
padding: 0;
}
html, body {
height: 100%;
}
#remote-report {
width: 100%;
height: 100%;
border: 0;
display: flex;
}
@@ -1,180 +0,0 @@
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
"use strict";
var {classes: Cc, interfaces: Ci, utils: Cu} = Components;
Cu.import("resource://gre/modules/Preferences.jsm");
Cu.import("resource://gre/modules/Services.jsm");
const prefs = new Preferences("datareporting.healthreport.");
const PREF_UNIFIED = "toolkit.telemetry.unified";
const PREF_REPORTING_URL = "datareporting.healthreport.about.reportUrl";
var healthReportWrapper = {
init: function () {
let iframe = document.getElementById("remote-report");
iframe.addEventListener("load", healthReportWrapper.initRemotePage, false);
iframe.src = this._getReportURI().spec;
prefs.observe("uploadEnabled", this.updatePrefState, healthReportWrapper);
},
uninit: function () {
prefs.ignore("uploadEnabled", this.updatePrefState, healthReportWrapper);
},
_getReportURI: function () {
let url = Services.urlFormatter.formatURLPref(PREF_REPORTING_URL);
return Services.io.newURI(url, null, null);
},
setDataSubmission: function (enabled) {
MozSelfSupport.healthReportDataSubmissionEnabled = enabled;
this.updatePrefState();
},
updatePrefState: function () {
try {
let prefs = {
enabled: MozSelfSupport.healthReportDataSubmissionEnabled,
};
healthReportWrapper.injectData("prefs", prefs);
}
catch (ex) {
healthReportWrapper.reportFailure(healthReportWrapper.ERROR_PREFS_FAILED);
}
},
sendTelemetryPingList: function () {
console.log("AboutHealthReport: Collecting Telemetry ping list.");
MozSelfSupport.getTelemetryPingList().then((list) => {
console.log("AboutHealthReport: Sending Telemetry ping list.");
this.injectData("telemetry-ping-list", list);
}).catch((ex) => {
console.log("AboutHealthReport: Collecting ping list failed: " + ex);
});
},
sendTelemetryPingData: function (pingId) {
console.log("AboutHealthReport: Collecting Telemetry ping data.");
MozSelfSupport.getTelemetryPing(pingId).then((ping) => {
console.log("AboutHealthReport: Sending Telemetry ping data.");
this.injectData("telemetry-ping-data", {
id: pingId,
pingData: ping,
});
}).catch((ex) => {
console.log("AboutHealthReport: Loading ping data failed: " + ex);
this.injectData("telemetry-ping-data", {
id: pingId,
error: "error-generic",
});
});
},
sendCurrentEnvironment: function () {
console.log("AboutHealthReport: Sending Telemetry environment data.");
MozSelfSupport.getCurrentTelemetryEnvironment().then((environment) => {
this.injectData("telemetry-current-environment-data", environment);
}).catch((ex) => {
console.log("AboutHealthReport: Collecting current environment data failed: " + ex);
});
},
sendCurrentPingData: function () {
console.log("AboutHealthReport: Sending current Telemetry ping data.");
MozSelfSupport.getCurrentTelemetrySubsessionPing().then((ping) => {
this.injectData("telemetry-current-ping-data", ping);
}).catch((ex) => {
console.log("AboutHealthReport: Collecting current ping data failed: " + ex);
});
},
injectData: function (type, content) {
let report = this._getReportURI();
// file URIs can't be used for targetOrigin, so we use "*" for this special case
// in all other cases, pass in the URL to the report so we properly restrict the message dispatch
let reportUrl = report.scheme == "file" ? "*" : report.spec;
let data = {
type: type,
content: content
}
let iframe = document.getElementById("remote-report");
iframe.contentWindow.postMessage(data, reportUrl);
},
handleRemoteCommand: function (evt) {
// Do an origin check to harden against the frame content being loaded from unexpected locations.
let allowedPrincipal = Services.scriptSecurityManager.getCodebasePrincipal(this._getReportURI());
let targetPrincipal = evt.target.nodePrincipal;
if (!allowedPrincipal.equals(targetPrincipal)) {
Cu.reportError(`Origin check failed for message "${evt.detail.command}": ` +
`target origin is "${targetPrincipal.origin}", expected "${allowedPrincipal.origin}"`);
return;
}
switch (evt.detail.command) {
case "DisableDataSubmission":
this.setDataSubmission(false);
break;
case "EnableDataSubmission":
this.setDataSubmission(true);
break;
case "RequestCurrentPrefs":
this.updatePrefState();
break;
case "RequestTelemetryPingList":
this.sendTelemetryPingList();
break;
case "RequestTelemetryPingData":
this.sendTelemetryPingData(evt.detail.id);
break;
case "RequestCurrentEnvironment":
this.sendCurrentEnvironment();
break;
case "RequestCurrentPingData":
this.sendCurrentPingData();
break;
default:
Cu.reportError("Unexpected remote command received: " + evt.detail.command + ". Ignoring command.");
break;
}
},
initRemotePage: function () {
let iframe = document.getElementById("remote-report").contentDocument;
iframe.addEventListener("RemoteHealthReportCommand",
function onCommand(e) { healthReportWrapper.handleRemoteCommand(e); },
false);
healthReportWrapper.updatePrefState();
},
// error handling
ERROR_INIT_FAILED: 1,
ERROR_PAYLOAD_FAILED: 2,
ERROR_PREFS_FAILED: 3,
reportFailure: function (error) {
let details = {
errorType: error,
}
healthReportWrapper.injectData("error", details);
},
handleInitFailure: function () {
healthReportWrapper.reportFailure(healthReportWrapper.ERROR_INIT_FAILED);
},
handlePayloadFailure: function () {
healthReportWrapper.reportFailure(healthReportWrapper.ERROR_PAYLOAD_FAILED);
},
}
window.addEventListener("load", function () { healthReportWrapper.init(); });
window.addEventListener("unload", function () { healthReportWrapper.uninit(); });
@@ -1,31 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this
- file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
<!DOCTYPE html [
<!ENTITY % htmlDTD PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "DTD/xhtml1-strict.dtd">
%htmlDTD;
<!ENTITY % brandDTD SYSTEM "chrome://branding/locale/brand.dtd">
%brandDTD;
<!ENTITY % securityPrefsDTD SYSTEM "chrome://browser/locale/preferences/security.dtd">
%securityPrefsDTD;
<!ENTITY % aboutHealthReportDTD SYSTEM "chrome://browser/locale/aboutHealthReport.dtd">
%aboutHealthReportDTD;
]>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>&abouthealth.pagetitle;</title>
<link rel="icon" type="image/png" id="favicon"
href="chrome://branding/content/icon32.png"/>
<link rel="stylesheet"
href="chrome://browser/content/abouthealthreport/abouthealth.css"
type="text/css" />
<script type="text/javascript;version=1.8"
src="chrome://browser/content/abouthealthreport/abouthealth.js" />
</head>
<body>
<iframe id="remote-report"/>
</body>
</html>
@@ -1,397 +0,0 @@
%if 0
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
%endif
html {
font: message-box;
font-size: 100%;
background-color: hsl(0,0%,95%);
color: #000;
height: 100%;
}
body {
margin: 0;
display: -moz-box;
-moz-box-orient: vertical;
width: 100%;
height: 100%;
}
input,
button {
font-size: inherit;
font-family: inherit;
}
a {
color: -moz-nativehyperlinktext;
text-decoration: none;
}
.spacer {
-moz-box-flex: 1;
}
#topSection {
text-align: center;
}
#brandLogo {
height: 192px;
width: 192px;
margin: 22px auto 31px;
background-image: url("chrome://branding/content/about-logo.png");
background-size: 192px auto;
background-position: center center;
background-repeat: no-repeat;
}
#searchIconAndTextContainer {
width: 470px;
}
#searchIconAndTextContainer {
display: -moz-box;
height: 36px;
position: relative;
}
#searchIcon {
border: 1px transparent;
padding: 0;
margin: 0;
width: 36px;
height: 36px;
background: url("chrome://browser/skin/search-indicator-magnifying-glass.svg") center center no-repeat;
position: absolute;
}
#searchText {
margin-left: 0;
-moz-box-flex: 1;
padding-top: 6px;
padding-bottom: 6px;
padding-inline-start: 34px;
padding-inline-end: 8px;
background: hsla(0,0%,100%,.9) padding-box;
border: 1px solid;
border-radius: 2px 0 0 2px;
border-color: hsla(210,54%,20%,.15) hsla(210,54%,20%,.17) hsla(210,54%,20%,.2);
box-shadow: 0 1px 0 hsla(210,65%,9%,.02) inset,
0 0 2px hsla(210,65%,9%,.1) inset,
0 1px 0 hsla(0,0%,100%,.2);
color: inherit;
unicode-bidi: plaintext;
}
#searchText:dir(rtl) {
border-radius: 0 2px 2px 0;
}
#searchText[aria-expanded="true"] {
border-radius: 2px 0 0 0;
}
#searchText[aria-expanded="true"]:dir(rtl) {
border-radius: 0 2px 0 0;
}
#searchText[keepfocus],
#searchText:focus,
#searchText[autofocus] {
border-color: hsla(206,100%,60%,.6) hsla(206,76%,52%,.6) hsla(204,100%,40%,.6);
}
#searchSubmit {
margin-inline-start: -1px;
color: transparent;
background: url("chrome://browser/skin/search-arrow-go.svg#search-arrow-go") center center no-repeat, linear-gradient(hsla(0,0%,100%,.8), hsla(0,0%,100%,.1)) padding-box;
padding: 0;
border: 1px solid;
border-color: hsla(210,54%,20%,.15) hsla(210,54%,20%,.17) hsla(210,54%,20%,.2);
border-radius: 0 2px 2px 0;
border-inline-start: 1px solid transparent;
box-shadow: 0 0 2px hsla(0,0%,100%,.5) inset,
0 1px 0 hsla(0,0%,100%,.2);
cursor: pointer;
transition-property: background-color, border-color, box-shadow;
transition-duration: 150ms;
width: 50px;
}
#searchSubmit:dir(rtl) {
border-radius: 2px 0 0 2px;
background-image: url("chrome://browser/skin/search-arrow-go.svg#search-arrow-go-rtl"), linear-gradient(hsla(0,0%,100%,.8), hsla(0,0%,100%,.1));
}
#searchText:focus + #searchSubmit,
#searchText[keepfocus] + #searchSubmit,
#searchText + #searchSubmit:hover,
#searchText[autofocus] + #searchSubmit {
border-color: #59b5fc #45a3e7 #3294d5;
}
#searchText:focus + #searchSubmit,
#searchText[keepfocus] + #searchSubmit,
#searchText[autofocus] + #searchSubmit {
background-image: url("chrome://browser/skin/search-arrow-go.svg#search-arrow-go-inverted"), linear-gradient(#4cb1ff, #1793e5);
box-shadow: 0 1px 0 hsla(0,0%,100%,.2) inset,
0 0 0 1px hsla(0,0%,100%,.1) inset,
0 1px 0 hsla(210,54%,20%,.03);
}
#searchText:focus + #searchSubmit:dir(rtl),
#searchText[keepfocus] + #searchSubmit:dir(rtl),
#searchText[autofocus] + #searchSubmit:dir(rtl) {
background-image: url("chrome://browser/skin/search-arrow-go.svg#search-arrow-go-rtl-inverted"), linear-gradient(#4cb1ff, #1793e5);
}
#searchText + #searchSubmit:hover {
background-image: url("chrome://browser/skin/search-arrow-go.svg#search-arrow-go-inverted"), linear-gradient(#66bdff, #0d9eff);
box-shadow: 0 1px 0 hsla(0,0%,100%,.2) inset,
0 0 0 1px hsla(0,0%,100%,.1) inset,
0 1px 0 hsla(210,54%,20%,.03),
0 0 4px hsla(206,100%,20%,.2);
}
#searchText + #searchSubmit:dir(rtl):hover {
background-image: url("chrome://browser/skin/search-arrow-go.svg#search-arrow-go-rtl-inverted"), linear-gradient(#66bdff, #0d9eff);
}
#searchText + #searchSubmit:hover:active {
box-shadow: 0 1px 1px hsla(211,79%,6%,.1) inset,
0 0 1px hsla(211,79%,6%,.2) inset;
transition-duration: 0ms;
}
#launcher {
display: -moz-box;
-moz-box-align: center;
-moz-box-pack: center;
width: 100%;
background-color: hsla(0,0%,0%,.03);
border-top: 1px solid hsla(0,0%,0%,.03);
box-shadow: 0 1px 2px hsla(0,0%,0%,.02) inset,
0 -1px 0 hsla(0,0%,100%,.25);
}
#launcher:not([session]),
body[narrow] #launcher[session] {
display: block; /* display separator and restore button on separate lines */
text-align: center;
white-space: nowrap; /* prevent navigational buttons from wrapping */
}
.launchButton {
display: -moz-box;
-moz-box-orient: vertical;
margin: 16px 1px;
padding: 14px 6px;
min-width: 88px;
max-width: 176px;
max-height: 85px;
vertical-align: top;
white-space: normal;
background: transparent padding-box;
border: 1px solid transparent;
border-radius: 2px;
color: #525c66;
font-size: 75%;
cursor: pointer;
transition-property: background-color, border-color, box-shadow;
transition-duration: 150ms;
}
body[narrow] #launcher[session] > .launchButton {
margin: 4px 1px;
}
.launchButton:hover {
background-color: hsla(211,79%,6%,.03);
border-color: hsla(210,54%,20%,.15) hsla(210,54%,20%,.17) hsla(210,54%,20%,.2);
}
.launchButton:hover:active {
background-image: linear-gradient(hsla(211,79%,6%,.02), hsla(211,79%,6%,.05));
border-color: hsla(210,54%,20%,.2) hsla(210,54%,20%,.23) hsla(210,54%,20%,.25);
box-shadow: 0 1px 1px hsla(211,79%,6%,.05) inset,
0 0 1px hsla(211,79%,6%,.1) inset;
transition-duration: 0ms;
}
.launchButton[hidden],
#launcher:not([session]) > #restorePreviousSessionSeparator,
#launcher:not([session]) > #restorePreviousSession {
display: none;
}
#restorePreviousSessionSeparator {
width: 3px;
height: 116px;
margin: 0 10px;
background-image: linear-gradient(hsla(0,0%,100%,0), hsla(0,0%,100%,.35), hsla(0,0%,100%,0)),
linear-gradient(hsla(211,79%,6%,0), hsla(211,79%,6%,.2), hsla(211,79%,6%,0)),
linear-gradient(hsla(0,0%,100%,0), hsla(0,0%,100%,.35), hsla(0,0%,100%,0));
background-position: left top, center, right bottom;
background-size: 1px auto;
background-repeat: no-repeat;
}
body[narrow] #restorePreviousSessionSeparator {
margin: 0 auto;
width: 512px;
height: 3px;
background-image: linear-gradient(to right, hsla(0,0%,100%,0), hsla(0,0%,100%,.35), hsla(0,0%,100%,0)),
linear-gradient(to right, hsla(211,79%,6%,0), hsla(211,79%,6%,.2), hsla(211,79%,6%,0)),
linear-gradient(to right, hsla(0,0%,100%,0), hsla(0,0%,100%,.35), hsla(0,0%,100%,0));
background-size: auto 1px;
}
#restorePreviousSession {
max-width: none;
font-size: 90%;
}
body[narrow] #restorePreviousSession {
font-size: 80%;
}
.launchButton::before {
display: block;
width: 32px;
height: 32px;
margin: 0 auto 6px;
line-height: 0; /* remove extra vertical space due to non-zero font-size */
}
#downloads::before {
content: url("chrome://browser/content/abouthome/downloads.png");
}
#bookmarks::before {
content: url("chrome://browser/content/abouthome/bookmarks.png");
}
#history::before {
content: url("chrome://browser/content/abouthome/history.png");
}
#addons::before {
content: url("chrome://browser/content/abouthome/addons.png");
}
#sync::before {
content: url("chrome://browser/content/abouthome/sync.png");
}
#settings::before {
content: url("chrome://browser/content/abouthome/settings.png");
}
#restorePreviousSession::before {
content: url("chrome://browser/content/abouthome/restore-large.png");
height: 48px;
width: 48px;
display: inline-block; /* display on same line as text label */
vertical-align: middle;
margin-bottom: 0;
margin-inline-end: 8px;
}
#restorePreviousSession:dir(rtl)::before {
transform: scaleX(-1);
}
body[narrow] #restorePreviousSession::before {
content: url("chrome://browser/content/abouthome/restore.png");
height: 32px;
width: 32px;
}
#aboutMozilla {
display: block;
position: relative; /* pin wordmark to edge of document, not of viewport */
-moz-box-ordinal-group: 0;
opacity: .5;
transition: opacity 150ms;
}
#aboutMozilla:hover {
opacity: 1;
}
#aboutMozilla::before {
content: url("chrome://browser/content/abouthome/mozilla.png");
display: block;
position: absolute;
top: 12px;
right: 12px;
width: 69px;
height: 19px;
}
/* [HiDPI]
* At resolutions above 1dppx, prefer downscaling the 2x Retina graphics
* rather than upscaling the original-size ones (bug 818940).
*/
@media not all and (max-resolution: 1dppx) {
#brandLogo {
background-image: url("chrome://branding/content/about-logo@2x.png");
}
.launchButton::before,
#aboutMozilla::before {
transform: scale(.5);
transform-origin: 0 0;
}
.launchButton:dir(rtl)::before,
#aboutMozilla:dir(rtl)::before {
transform: scale(.5) translateX(32px);
}
#downloads::before {
content: url("chrome://browser/content/abouthome/downloads@2x.png");
}
#bookmarks::before {
content: url("chrome://browser/content/abouthome/bookmarks@2x.png");
}
#history::before {
content: url("chrome://browser/content/abouthome/history@2x.png");
}
#addons::before {
content: url("chrome://browser/content/abouthome/addons@2x.png");
}
#sync::before {
content: url("chrome://browser/content/abouthome/sync@2x.png");
}
#settings::before {
content: url("chrome://browser/content/abouthome/settings@2x.png");
}
#restorePreviousSession::before {
content: url("chrome://browser/content/abouthome/restore-large@2x.png");
}
body[narrow] #restorePreviousSession::before {
content: url("chrome://browser/content/abouthome/restore@2x.png");
}
#restorePreviousSession:dir(rtl)::before {
transform: scale(-0.5, 0.5) translateX(24px);
transform-origin: top center;
}
#aboutMozilla::before {
content: url("chrome://browser/content/abouthome/mozilla@2x.png");
}
}
@@ -1,118 +0,0 @@
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
"use strict";
/* import-globals-from ../contentSearchUI.js */
// IndexedDB storage constants.
const DATABASE_NAME = "abouthome";
const DATABASE_VERSION = 1;
const DATABASE_STORAGE = "persistent";
var searchText;
// This global tracks if the page has been set up before, to prevent double inits
var gInitialized = false;
var gObserver = new MutationObserver(function (mutations) {
for (let mutation of mutations) {
// The addition of the restore session button changes our width:
if (mutation.attributeName == "session") {
fitToWidth();
}
}
});
window.addEventListener("pageshow", function () {
// Delay search engine setup, cause browser.js::BrowserOnAboutPageLoad runs
// later and may use asynchronous getters.
window.gObserver.observe(document.documentElement, { attributes: true });
window.gObserver.observe(document.getElementById("launcher"), { attributes: true });
fitToWidth();
setupSearch();
window.addEventListener("resize", fitToWidth);
// Ask chrome to update snippets.
var event = new CustomEvent("AboutHomeLoad", {bubbles:true});
document.dispatchEvent(event);
});
window.addEventListener("pagehide", function() {
window.gObserver.disconnect();
window.removeEventListener("resize", fitToWidth);
});
window.addEventListener("keypress", ev => {
if (ev.defaultPrevented) {
return;
}
// don't focus the search-box on keypress if something other than the
// body or document element has focus - don't want to steal input from other elements
// Make an exception for <a> and <button> elements (and input[type=button|submit])
// which don't usefully take keypresses anyway.
// (except space, which is handled below)
if (document.activeElement && document.activeElement != document.body &&
document.activeElement != document.documentElement &&
!["a", "button"].includes(document.activeElement.localName) &&
!document.activeElement.matches("input:-moz-any([type=button],[type=submit])")) {
return;
}
let modifiers = ev.ctrlKey + ev.altKey + ev.metaKey;
// ignore Ctrl/Cmd/Alt, but not Shift
// also ignore Tab, Insert, PageUp, etc., and Space
if (modifiers != 0 || ev.charCode == 0 || ev.charCode == 32)
return;
searchText.focus();
// need to send the first keypress outside the search-box manually to it
searchText.value += ev.key;
});
function onSearchSubmit(aEvent)
{
gContentSearchController.search(aEvent);
}
var gContentSearchController;
function setupSearch()
{
// Set submit button label for when CSS background are disabled (e.g.
// high contrast mode).
document.getElementById("searchSubmit").value =
document.body.getAttribute("dir") == "ltr" ? "\u25B6" : "\u25C0";
// The "autofocus" attribute doesn't focus the form element
// immediately when the element is first drawn, so the
// attribute is also used for styling when the page first loads.
searchText = document.getElementById("searchText");
searchText.addEventListener("blur", function searchText_onBlur() {
searchText.removeEventListener("blur", searchText_onBlur);
searchText.removeAttribute("autofocus");
});
if (!gContentSearchController) {
gContentSearchController =
new ContentSearchUIController(searchText, searchText.parentNode,
"abouthome", "homepage");
}
}
/**
* Inform the test harness that we're done loading the page.
*/
function loadCompleted()
{
}
function fitToWidth() {
if (document.documentElement.scrollWidth > window.innerWidth) {
document.body.setAttribute("narrow", "true");
} else if (document.body.hasAttribute("narrow")) {
document.body.removeAttribute("narrow");
fitToWidth();
}
}
@@ -1,68 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this
- file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
<!DOCTYPE html [
<!ENTITY % htmlDTD
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"DTD/xhtml1-strict.dtd">
%htmlDTD;
<!ENTITY % globalDTD SYSTEM "chrome://global/locale/global.dtd">
%globalDTD;
<!ENTITY % aboutHomeDTD SYSTEM "chrome://browser/locale/aboutHome.dtd">
%aboutHomeDTD;
<!ENTITY % browserDTD SYSTEM "chrome://browser/locale/browser.dtd" >
%browserDTD;
]>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>&abouthome.pageTitle;</title>
<link rel="icon" type="image/png" id="favicon"
href="chrome://branding/content/icon32.png"/>
<link rel="stylesheet" type="text/css" media="all"
href="chrome://browser/content/contentSearchUI.css"/>
<link rel="stylesheet" type="text/css" media="all" defer="defer"
href="chrome://browser/content/abouthome/aboutHome.css"/>
<script type="text/javascript;version=1.8"
src="chrome://browser/content/abouthome/aboutHome.js"/>
<script type="text/javascript;version=1.8"
src="chrome://browser/content/contentSearchUI.js"/>
</head>
<body dir="&locale.dir;">
<div class="spacer"/>
<div id="topSection">
<div id="brandLogo"></div>
<div id="searchIconAndTextContainer">
<div id="searchIcon"/>
<input type="text" name="q" value="" id="searchText" maxlength="256"
aria-label="&contentSearchInput.label;" autofocus="autofocus"/>
<input id="searchSubmit" type="button" onclick="onSearchSubmit(event)"
title="&contentSearchSubmit.tooltip;"/>
</div>
</div>
<div class="spacer"/>
<div id="launcher">
<button class="launchButton" id="downloads">&abouthome.downloadsButton.label;</button>
<button class="launchButton" id="bookmarks">&abouthome.bookmarksButton.label;</button>
<button class="launchButton" id="history">&abouthome.historyButton.label;</button>
<button class="launchButton" id="addons">&abouthome.addonsButton.label;</button>
<button class="launchButton" id="sync">&abouthome.syncButton.label;</button>
#ifdef XP_WIN
<button class="launchButton" id="settings">&abouthome.preferencesButtonWin.label;</button>
#else
<button class="launchButton" id="settings">&abouthome.preferencesButtonUnix.label;</button>
#endif
<div id="restorePreviousSessionSeparator"/>
<button class="launchButton" id="restorePreviousSession">&historyRestoreLastSession.label;</button>
</div>
</body>
</html>
Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.7 KiB

Loaded 100 of 19206 files, more files were not shown because too many files have changed in this diff. Show more