Compare commits

...
1401 Commits
Author SHA1 Message Date
wolfbeast 69f7f9e5f1 Pre-process blocklists.js 2018-06-01 00:46:44 +02:00
wolfbeast 2d4ff8df91 Merge branch 'master' into Basilisk-release 2018-05-31 09:45:25 +02:00
Moonchild 14eb8dc7be Merge pull request #415 from JustOff/PR_default_theme
Fix default theme issues from #414
2018-05-31 09:41:11 +02:00
Moonchild bf1454c8ee Merge pull request #416 from Ascrod/Social
Remove the Social API
2018-05-31 07:53:04 +02:00
Ascrod 5f89c3da66 Remove Social API. 2018-05-30 17:45:05 -04:00
JustOff fa245e46dc [PALEMOON] Package chrome.manifest for default theme across all platforms 2018-05-30 15:05:03 +03:00
JustOff daffc27c57 [PALEMOON] Fix missed notifyPluginCrashed.png on windows and linux 2018-05-30 15:02:53 +03:00
wolfbeast e1084c8b24 Enable blocking of top-level data: navigation. 2018-05-30 12:55:30 +02:00
Moonchild 9f6194d000 Merge pull request #412 from g4jc/hsts_priming_removal_backport
Remove support and tests for HSTS priming from the tree. Fixes #384
2018-05-30 12:47:56 +02:00
wolfbeast 6e8846622a Reinstate tabMinWidth and tabMaxWidth prefs.
This resolves #410.
2018-05-30 00:26:42 +02:00
Matt A. Tobin cf412a59f3 [WebExAM] Use extensions.minCompatibleAppVersion instead of extensions.minCompatiblePlatformVersion for update.json 2018-05-29 14:45:18 -04:00
wolfbeast d58930d925 Fix sec pref locations and enable HPKP checking by default.
Some prefs were incorrectly in all.js (ocsp and hpkp)
2018-05-29 17:27:27 +02:00
wolfbeast 636d127253 Disable HPKP telemetry in Pale Moon. 2018-05-29 17:24:36 +02:00
Moonchild afd9be5008 Merge pull request #407 from JustOff/PR_webapps_cleanup
Remove unused webapps icons from Pale Moon
2018-05-29 16:17:40 +02:00
JustOff 1794ada8ac Remove unused webapps icons files from Pale Moon 2018-05-29 14:54:20 +03:00
JustOff c9518c766c Remove unused webapps icons from Pale Moon 2018-05-29 14:45:55 +03:00
wolfbeast ab57858195 Limit PNG image dimensions. 2018-05-29 13:11:09 +02:00
Moonchild 9a4b7a5b4b Merge pull request #405 from janekptacijarabaci/pm_themes_icons_1
Restore throbber images to global skin.
2018-05-29 12:48:26 +02:00
janekptacijarabaci ff72a8ae46 [PALEMOON] [frontend vs backend] Remove unused webapps-*.png (chrome://global/skin/icons/webapps-*.png)
Issue #121
2018-05-29 12:30:26 +02:00
janekptacijarabaci fad230e402 [PALEMOON] [frontend vs backend] Added icons (fix typo in a path: osx/global/icons)
Issue #121
2018-05-29 12:27:33 +02:00
janekptacijarabaci 72c97ede05 [PALEMOON] [frontend vs backend] Added icons (fix typo in a path: osx/global/icons)
Issue #121
2018-05-29 12:24:41 +02:00
janekptacijarabaci eef027d44a [PALEMOON] [frontend vs backend] Added icons
Issue #121
2018-05-29 07:33:30 +02:00
Moonchild 6f54c3d1fc Merge pull request #404 from janekptacijarabaci/pm_global-scope_1
[PALEMOON] [frontend vs backend] Part 2: Mass-replace global-scope let/const with var in Pale Moon and TychoAM
2018-05-29 00:58:16 +02:00
janekptacijarabaci 170aaecc47 [PALEMOON] [frontend vs backend] Part 2: Mass-replace global-scope let/const with var in Pale Moon and TychoAM
Issue #155

Part 2 for:
https://github.com/MoonchildProductions/UXP/commit/931950a880b3550490422b1855c509be10586858
2018-05-28 21:17:50 +02:00
Matt A. Tobin 258eb6ee9c [WebExAM] Deduplicate toolkit/mozapps/webextensions 2018-05-28 13:27:14 -04:00
Matt A. Tobin 2a36ae70f5 [WebExAM] Follow up to 351cf2703 2018-05-28 11:46:54 -04:00
wolfbeast 13aca83acc Fix typo in 8b9fe0e358 2018-05-28 17:42:13 +02:00
Matt A. Tobin b76b635c95 Merge branch 'update.json' 2018-05-28 10:07:00 -04:00
Matt A. Tobin 351cf27036 [WebExAM] Issue #402 - Make JSON update manifests assume Firefox instead of Toolkit 2018-05-28 10:05:20 -04:00
Pale Moon 8b9fe0e358 Port libopus upstream patch.
Based on https://git.xiph.org/?p=opus.git;a=commitdiff;h=70a3d641b
2018-05-28 13:53:03 +02:00
Moonchild bee00a4a3d Merge pull request #399 from MoonchildProductions/revert-395-buildsystem-work
Revert "Always build with SSE2 support & display an error if not available"
2018-05-28 07:42:21 +02:00
Moonchild a147b68269 Revert "Always build with SSE2 support & display an error if not available" 2018-05-28 05:42:07 +00:00
Moonchild 10623b2a31 Merge pull request #398 from MoonchildProductions/revert-397-buildsystem-work
Revert "Only display SSE2 error dialog on 32-bit Linux"
2018-05-28 07:41:36 +02:00
Moonchild de0157a6c3 Revert "Only display SSE2 error dialog on 32-bit Linux" 2018-05-28 05:41:23 +00:00
Moonchild c8409cc60b Merge pull request #397 from trav90/buildsystem-work
Only display SSE2 error dialog on 32-bit Linux
2018-05-28 03:36:50 +02:00
trav90 7a26ade0a6 Only display SSE2 error dialog on 32-bit Linux
All 64bit CPU's support SSE2 so there's no reason to have this code on 64-bit builds.
2018-05-27 17:23:09 -05:00
wolfbeast c3fc250b0c Make Pale Moon Windows8WindowFrameColor compatible with global scope.
This resolves #396.
2018-05-27 20:18:48 +02:00
Moonchild 7840c750db Merge pull request #395 from trav90/buildsystem-work
Always build with SSE2 support & display an error if not available
2018-05-27 17:54:50 +02:00
Moonchild a65c26ccf5 Merge pull request #394 from janekptacijarabaci/pm_popup_block_1
[PALEMOON] [frontend vs backend] Reduce size of PopupBlocking:UpdateBlockedPopups messages
2018-05-27 17:41:59 +02:00
trav90 3c3c85983f Remove extraneous SSE flag 2018-05-27 10:14:55 -05:00
trav90 c3400bd8e6 Tweak SSE/SSE2 GCC flags 2018-05-27 09:36:16 -05:00
trav90 03d5c40565 Always build with SSE2 support when using GCC 2018-05-27 08:56:34 -05:00
trav90 b9fc7c5eae Display an error on Linux in the absence of SSE2 2018-05-27 08:55:43 -05:00
janekptacijarabaci ed4d22f8ad [PALEMOON] [frontend vs backend] Reduce size of PopupBlocking:UpdateBlockedPopups messages
Issue #392
2018-05-27 15:00:42 +02:00
Moonchild d65ac8d5e0 Merge pull request #390 from janekptacijarabaci/dom_fetch_credentials_1
Make fetch() use "same-origin" credentials by default
2018-05-27 10:11:50 +02:00
Gaming4JC bd85173562 Remove support and tests for HSTS priming from the tree. Fixes #384 2018-05-26 15:42:45 -04:00
janekptacijarabaci 96357e8a7f Bug 1394399 - Fix web-platform-tests to expect "same-origin" default Request.credentials
Issue #389
2018-05-26 17:33:27 +02:00
janekptacijarabaci 240fd66dd3 Bug 1394399 - Fix mochitests to expect "same-origin" default Request.credentials
Issue #389
2018-05-26 17:33:01 +02:00
janekptacijarabaci e03ae4be5c Bug 1394399 - Default Request.credentials to "same-origin" instead of "omit"
Issue #389
2018-05-26 17:32:31 +02:00
Moonchild 3f215e15fb Merge pull request #388 from adeshkp/patch-5
[Pale Moon] Fix white tab text for active tab on Mac
2018-05-26 13:58:49 +02:00
adeshkp e62cb0cb23 Pale Moon - Fix white tab text for active tab on Mac 2018-05-26 10:55:52 +00:00
Moonchild 8f354e52d0 Merge pull request #386 from MoonchildProductions/revert-381-master
Revert "Remove the Social API"
2018-05-25 22:46:40 +02:00
Moonchild 72bab89cf6 Revert "Remove the Social API" 2018-05-25 20:45:48 +00:00
Moonchild d5459982f0 Merge pull request #381 from Ascrod/master
Remove the Social API
2018-05-25 22:00:26 +02:00
Moonchild edccc615f9 Merge pull request #385 from trav90/media-work
Fix null checks in dom/media
2018-05-25 21:53:19 +02:00
trav90 f2d541d3ea Revoke MediaDataDecoder callback after RemoteVideoDecoder has been shut down 2018-05-25 10:35:10 -05:00
trav90 6ca361bd5b Null check the right pointer in RecvReadback 2018-05-25 10:34:21 -05:00
trav90 43470083d1 Perform null check earlier in OggCodecState.cpp 2018-05-25 10:33:40 -05:00
Moonchild b43a5fbeda Merge pull request #383 from trav90/media-work
[MSE] Correct ADTS frame size calculation
2018-05-25 17:22:26 +02:00
trav90 e2464b1391 [MSE] Correct ADTS frame size calculation
This should be bitwise OR rather than logical OR, which just returns 1.
2018-05-25 08:28:17 -05:00
Ascrod f786134c44 Remove MOZ_SOCIAL. 2018-05-24 19:42:03 -04:00
Ascrod 3a9d1b5351 Remove the Social API 2018-05-24 16:29:56 -04:00
wolfbeast b565e2c227 Remove CrashReporterParent leftover.
Tag #20.
2018-05-24 19:53:20 +02:00
wolfbeast 19334fd5af Remove IPC profile functions.
Resolves #378.
2018-05-24 16:18:59 +02:00
wolfbeast ac25827a87 Remove SPS profiler.
- Conditionals and code blocks. (MOZ_ENABLE_PROFILER_SPS)
- Stub out several profiler-only functions.
2018-05-24 14:06:04 +02:00
wolfbeast c8b38a1803 Remove CrashReporterParent leftover.
Tag #20.
2018-05-24 14:03:34 +02:00
wolfbeast 94988a2b4e Remove the jprof profiler.
This resolves #377.
2018-05-23 20:16:00 +02:00
Moonchild 542da56e2c Merge pull request #379 from janekptacijarabaci/pm_places_livemark_add_1
[PALEMOON] [frontend vs backend] Places - fix: adding a livemark doesn't work correctly
2018-05-23 18:31:43 +02:00
wolfbeast fcd7ee3c88 Remove the Dark Matter Detector (DMD) Memeory debugger component.
This resolves #376.
2018-05-23 16:31:42 +02:00
janekptacijarabaci 30cbf0b5ad [PALEMOON] [frontend vs backend] Places - fix: adding a livemark doesn't work correctly
Issue #121
2018-05-23 13:32:52 +02:00
wolfbeast 612459488e Remove IPC CrashReporterClient/Host
Tag #20.
2018-05-22 19:19:56 +02:00
wolfbeast a3e8c9f82f Remove stubbed IPC CrashReporter(Parent/Child) 2018-05-21 16:27:43 +02:00
wolfbeast fbdd52ea57 Remove GMP, Plugin and IPC crash reporter hooks.
Stubs will be removed in follow-up

Tag #20.
2018-05-21 13:56:28 +02:00
wolfbeast 1309bdb541 Remove gfxCrashReporterUtils leftover.
Tag #20.
2018-05-20 12:14:47 +02:00
wolfbeast fc001cc5bf Remove gfxCrashReporterUtils.
Tag #20.
2018-05-20 12:10:50 +02:00
Moonchild 5aafe792b1 Merge pull request #375 from trav90/media-work
[MSE] Add a missing comma in validBoxes
2018-05-20 02:44:05 +02:00
wolfbeast a2c3394170 Update libhyphen's glue code to include overloads for fgetc() and feof().
Follow-up to 41cbe2d931 to fix a crash regression.
This resolves #374.
2018-05-19 21:30:57 +02:00
trav90 91825ae7f5 [MSE] Add a missing comma in validBoxes 2018-05-18 10:02:46 -05:00
wolfbeast b3ebf5ea2f Fix missing include in Skia SafeMath 2018-05-17 13:28:50 +02:00
Moonchild 110050d8e8 Merge pull request #370 from alaviss/system-nss
palemoon/installer: Fix packaging when built --with-system-(nss|nspr)
2018-05-17 12:45:25 +02:00
Leorize 1d70831434 palemoon/installer: Fix packaging when built --with-system-nss/nspr
The variables set by 'configure' for --with-system-(nss|nspr) is named
differently in UXP. This breaks packaging for palemoon when system
nss/nspr is used.

This commit corrects the name of said variables.
2018-05-17 15:06:08 +07:00
Moonchild 4462c345ab Merge pull request #369 from alaviss/crmf
external/nss: Don't link with libcrmf on --with-system-nss builds
2018-05-17 03:02:45 +02:00
Leorize 198f9e9c3c external/nss: Don't link with libcrmf on --with-system-nss builds
Since Bug 1030963, functions that make use of libcrmf has been removed
from the codebase. Therefore, it's no longer necessary to link with
libcrmf.

This commit completely removes the '-lcrmf' for --with-system-nss
builds, as libcrmf is not available on all systems (eg. Arch Linux)

This commit is a follow up to #364
2018-05-17 06:51:28 +07:00
Matt A. Tobin aa41605eec Add blocklist.manifest to Basilisk's package-manifest.in 2018-05-16 17:02:33 -04:00
Moonchild db85231145 Merge pull request #360 from janekptacijarabaci/readview_pageshow_persisted_1
Fix: Reader Mode icon in urlbar is not displayed when close the Reader Mode view
2018-05-16 17:18:04 +02:00
Moonchild f7cf18bfe1 Merge pull request #358 from janekptacijarabaci/notifications_settings_3
[PALEMOON] Fix: The settings icon in the notification is missing (copy some files from webextensions)
2018-05-16 17:17:49 +02:00
Moonchild 25f77cf1c0 Merge pull request #365 from alaviss/wifi
Explicitly specify the AccessPoint interface name
2018-05-16 17:17:29 +02:00
Moonchild 585bf7675f Merge pull request #364 from alaviss/crmf
Don't link against crmf while building --with-system-nss
2018-05-16 17:16:59 +02:00
Moonchild 5f74fe9cf2 Merge pull request #366 from alaviss/bug1384062
Make SystemResourceMonitor.stop more resilient to errors
2018-05-16 17:15:47 +02:00
Moonchild b702d7d32a Merge pull request #368 from trav90/safebrowsing-work
Make safebrowsing optional at build time
2018-05-16 17:11:17 +02:00
Moonchild 90942a2af0 Merge pull request #367 from Ascrod/readerview
Reader and Narrator Updates
2018-05-16 17:10:38 +02:00
wolfbeast 819ca50f16 Clarify Basilisk branding/licensing (official/unofficial) 2018-05-16 16:35:05 +02:00
Mike Hommey 18dec100cc Bug 1384062 - Make SystemResourceMonitor.stop more resilient to errors. r=ahal,gps
The poll() call in SystemResourceMonitor.stop might fail even though
there is something to read from the pipe, in some corner cases, and
python won't let us know about it. In that case, an exception is thrown,
leaving the SystemResourceMonitor (and its callers) in a weird state. In
practice, this leads BuildMonitor.__exit__ to recall stop, which then
fails.

So when poll() throws an exception, we pretend there's still something
to read, and we try to read anyways. If there is something to read,
recv() will return it, otherwise, it will throw an exception of its own,
which we catch, pretending we're done.

Furthermore, when there is nothing to read from the pipe, poll() simply
returns False, and our loop never sets `done` to True, and we then hit
an assert, which doesn't have its place here, so we remove it.

Finally, the other end of the pipe might have died at any time, making
sending over the pipe fail, so we also protect against that.

With all these changes, it feels like the reason to backout bug 1239939
in bug 1272782 should have been dealt with, and we can drop the timeout
again.

--HG--
extra : rebase_source : ac72dd5b2602cf3ffddfb429f95e02380f939893
2018-05-16 17:04:09 +07:00
Jan Steffens 713d6adc6d Bug 1314968 - Explicitly specify the AccessPoint interface name. r=kanru
The DBus specification allows passing an empty string as the interface to the
org.freedesktop.DBus.Properties.GetAll call to get all properties, throwing away the namespace
(interface) information.

However, GDBus does not allow this. When NetworkManager moved to using GDBus, Firefox lost the
ability to retrieve access points from NetworkManager.

Since we're only interested in properties from the org.freedesktop.NetworkManager.AccessPoint
interface, name it explicitly. This works with both the old and the new NetworkManager.

MozReview-Commit-ID: Kc5HaYvwfRZ

--HG--
extra : rebase_source : e1550d327e5a4ea05b8d35d98ef7b27c0add709b
2018-05-16 16:53:12 +07:00
Franziskus Kiefer 831fcf5419 Bug 1371991 - don't link against crmf when building with --with-system-nss, r=ted
Differential Revision: https://phabricator.services.mozilla.com/D836

--HG--
extra : rebase_source : 04127ba88296e8bd6849d227641bb0eebae2c23b
extra : amend_source : dde2e35e2d12316950113e5f320d47a914783623
2018-05-16 16:49:11 +07:00
Ascrod 9ef464a5ac Change Reader API to use events, remove messaging. 2018-05-15 21:06:41 -05:00
Ascrod b70d884598 Initial updates for Reader View. 2018-05-15 21:06:41 -05:00
New Tobin Paradigm 000ac0cc83 Merge pull request #359 from JustOff/PR_about_newtab_fix
Revive the quickdial page (about:newtab)
2018-05-15 20:05:44 -04:00
JustOff ec1aeee6d3 Revive the quickdial page (about:newtab) 2018-05-16 00:28:28 +03:00
janekptacijarabaci d1184bfb49 Bug 1379762 part 2. Use a more reliable test to figure out when we can skip firing onload in nsDocumentViewer::LoadComplete
Issue #357
2018-05-15 22:45:40 +02:00
wolfbeast c9d1a79bd0 Don't linkify data: or javascript: URLs in the web console. 2018-05-15 21:52:48 +02:00
wolfbeast 41cbe2d931 Merge libhyphen fix from upstream. 2018-05-15 21:37:22 +02:00
wolfbeast 0c994ed096 Consistently use PR memory functions. 2018-05-15 21:22:26 +02:00
janekptacijarabaci e968422d29 Bug 1379762 part 1. Don't call MediaFeaturesChanged if our override device pixel ratio is set to its current value
Issue #357
2018-05-15 21:14:18 +02:00
janekptacijarabaci 3ac23df787 [PALEMOON] Fix: The settings icon in the notification is missing (copy some files from webextensions)
Issue #121
Pull #273
2018-05-15 21:04:46 +02:00
wolfbeast 9c075dc4cd Update in-tree freetype2 lib (unused) to 2.9.1 2018-05-15 20:21:34 +02:00
wolfbeast 7bd7473702 Add omitted Skia "Safe Math" includes. 2018-05-15 17:48:16 +02:00
wolfbeast e53fa28135 Check for infinite value in txFormatNumberFunctionCall. 2018-05-15 14:23:06 +02:00
wolfbeast 5d2d2cb043 Use a temporary in Animation::Tick() 2018-05-15 14:06:42 +02:00
wolfbeast ca6136ffb6 Drop invisible characters from downloads filename. 2018-05-15 14:00:38 +02:00
Matt A. Tobin 1ab7016734 Pale Moon version bump 2018-05-15 05:33:56 -04:00
Matt A. Tobin f86673741d Issue #347 - TychoAM nsBlocklistService does not support gfxBlacklist 2018-05-15 05:06:42 -04:00
New Tobin Paradigm 626419cbe2 Merge pull request #356 from JustOff/PR_ssuao_revert_1148544
Revert incorrect UAO optimization that broke SSUAO
2018-05-14 18:29:41 -04:00
JustOff 1c9d6206cb Revert incorrect UAO optimization that broke SSUAO 2018-05-15 00:32:07 +03:00
Matt A. Tobin 4b4b4a59ca [PALEMOON] Override Windows Installer usage of MOZ_APP_DISPLAYNAME when appropriate 2018-05-14 16:12:00 -04:00
Matt A. Tobin 1a0462b458 [*AM] Make soft-blocked phrasing more generic so people will cry less when we do our job 2018-05-14 14:32:47 -04:00
trav90 79edb388a3 Include in-content preferences file security.js in pre-processing 2018-05-14 08:22:11 -05:00
wolfbeast 719803a470 Remove moz_widget_toolkit_gonk
Tag #288
2018-05-14 13:28:04 +02:00
wolfbeast f4b8be889c Merge branch 'master' into Basilisk-release 2018-05-14 12:21:38 +02:00
Moonchild 1dd67a7935 Merge pull request #351 from janekptacijarabaci/aboutSessionRestore_error_2
about:welcomeback - fix an error "invalid 'in' operand gTreeData[idx]" in aboutSessionRestore.js
2018-05-14 12:21:17 +02:00
Moonchild 6a855dbdcf Merge pull request #350 from janekptacijarabaci/aboutSessionRestore_error_1
about:sessionrestore - fix an error "treeView.treeBox is null" in aboutSessionRestore.js
2018-05-14 12:20:40 +02:00
wolfbeast e9dd029f5d Merge branch 'master' into Basilisk-release 2018-05-14 10:50:01 +02:00
wolfbeast 36b8fd734f Merge branch 'master' of https://github.com/MoonchildProductions/UXP 2018-05-14 10:48:32 +02:00
wolfbeast 5f1309e273 Add AMO override. 2018-05-14 10:48:07 +02:00
Matt A. Tobin a327e27e52 [PALEMOON] Remove non-applicable lines from package-manifest.in that block basic macintosh packaging 2018-05-14 00:38:43 -04:00
wolfbeast 1124fb525b Remove other gonk widget conditionals and unused files.
Tag #288.
2018-05-13 22:46:04 +02:00
wolfbeast a6de084670 Remove missed MOZ_WIDGET_GONK ifdef
Tag #288
2018-05-13 21:48:05 +02:00
wolfbeast 74611b6b9e Fix incorrectly removed #includes
Tag #288.
2018-05-13 16:27:15 +02:00
janekptacijarabaci faf4b17b3c about:welcomeback - fix an error "invalid 'in' operand gTreeData[idx]" in aboutSessionRestore.js 2018-05-13 08:29:42 +02:00
janekptacijarabaci 1eaa467afc about:sessionrestore - fix an error "treeView.treeBox is null" in aboutSessionRestore.js 2018-05-13 08:28:44 +02:00
wolfbeast e16bcd08aa Remove MOZ_WIDGET_GONK [2/2]
Tag #288
2018-05-13 00:08:52 +02:00
trav90 41d68e3f70 Make safebrowsing optional at build time - Part 5: preferences 2018-05-12 13:07:29 -05:00
wolfbeast 6571d2ceb4 Remove MOZ_WIDGET_GONK [1/2]
Tag #288
2018-05-12 16:19:58 +02:00
trav90 e07abdd282 Make safebrowsing optional at build time - Part 4: configure 2018-05-12 08:21:53 -05:00
trav90 4e1d60e7db Fix build bustage 2018-05-12 08:20:17 -05:00
trav90 536562284f Make safebrowsing optional at build time - Part 3: toolkit/ 2018-05-12 08:19:07 -05:00
trav90 8e08b8cef2 Make safebrowsing optional at build time - Part 2: mobile/ 2018-05-12 08:18:44 -05:00
trav90 5909cef47a Make safebrowsing optional at build time - Part 1: browser/ 2018-05-12 08:17:44 -05:00
wolfbeast 2f359ed80c Convert uses of KEY_MAP_ANDROID_EXCEPT_B2G to KEY_MAP_ANDROID 2018-05-12 15:03:33 +02:00
wolfbeast b7d9dad58e Remove MOZ_B2G leftovers and some dead B2G-only components. 2018-05-12 14:32:03 +02:00
wolfbeast 73cdd6117d Remove gonk IDL reference in /hal.
Solves build bustage. Follow-up to cfe5ef4ac7
2018-05-12 14:31:10 +02:00
wolfbeast 0264de4c3b Merge branch 'ported-upstream' 2018-05-12 11:12:17 +02:00
wolfbeast 99fe0b7109 Merge branch 'master' of https://github.com/MoonchildProductions/UXP 2018-05-12 11:10:15 +02:00
wolfbeast cfe5ef4ac7 Remove Gonk build directories 2018-05-12 11:09:44 +02:00
Moonchild 34fcf334c8 Merge pull request #342 from JustOff/PR_mse_ui
Remove the obsolete `media.mediasource.format-reader` control from the preferences UI
2018-05-11 22:31:20 +02:00
JustOff 70a2912ae8 Remove the obsolete media.mediasource.format-reader control from the preferences UI 2018-05-11 20:27:36 +03:00
wolfbeast 28cf922aa9 Enable xrender by default.
Resolves perf regressions over remote X, and makes sense for our content back-ends.
Resolves #341.
2018-05-10 22:21:47 +02:00
wolfbeast 0636d878a6 Bug 1449548. 2018-05-10 12:31:01 +02:00
wolfbeast bece236d81 Merge branch 'ported-upstream' 2018-05-10 11:50:47 +02:00
Lee Salzman 04b3d5178c Bug 1454692 - Backport some upstream Skia fixes to ESR52. r=rhunt, a=abillings
--HG--
extra : histedit_source : 0fcd64cabe6f54a2286083d6518e4e6451183a19%2C37f5e7f9dbbfc01102631c33b23329d2af5aa71b
2018-05-10 11:47:03 +02:00
Paul Adenot dc7515e3d7 Bug 1426129 - Hold CamerasChild via promoting "this" to a RefPtr. r=pehrsons, a=RyanVM 2018-05-10 11:45:57 +02:00
Jim Mathies 2218925961 Bug 1447080 - Remove SEE_MASK_FLAG_NO_UI for better Windows 10 compatibility. r=dparks, a=lizzard
MozReview-Commit-ID: FbaKIfQdV8K

--HG--
extra : source : 56bfd2178dcad46a5b611b14e31938f1d96124a0
extra : intermediate-source : ed7be30d31414eedb16d557c0a2e7a9aeb5ec36d
2018-05-10 11:45:09 +02:00
wolfbeast b98c4ed80b Merge branch 'master' of https://github.com/MoonchildProductions/UXP 2018-05-09 19:46:00 +02:00
Moonchild 21c5dd6672 Merge pull request #340 from janekptacijarabaci/preferences_fonts_fallback-character-encoding_1
Add UTF-8 as a default fallback encoding for unknown encodings
2018-05-09 19:46:05 +02:00
wolfbeast fd2b227f19 Merge branch 'intl-ICU-emoji-work' 2018-05-09 19:41:33 +02:00
wolfbeast 2619698a2e Font fallback should detect emoji range for color emoji font. 2018-05-09 17:52:17 +02:00
wolfbeast 361748956b Fix build bustage
Fix nsAtom->nsIAtom and FindAndAddFamilies()
2018-05-09 17:17:40 +02:00
wolfbeast 149b09027c Set font.name-list.emoji for some platforms.
- Twemoji Mozilla for Windows. Can be prefixed with Segoe UI emoji for native Win8+ emoji, but reduces uniformity.
- Apple Color Emoji for OSX
- Twemoji Mozilla for GTK (Linux). fontconfig doesn't support emoji as family name.
- Noto Color Emoji for Android
2018-05-09 15:43:04 +02:00
wolfbeast 84c479afa3 Use font.name-list.emoji preference for emoji presenration. 2018-05-09 15:30:43 +02:00
janekptacijarabaci 7c2dd4fed5 Add UTF-8 as a default fallback encoding for unknown encodings
Issue #315
2018-05-09 15:28:44 +02:00
wolfbeast 78430deb89 Add emoji presentation API 2018-05-09 15:18:14 +02:00
Moonchild aa662adcfc Merge pull request #339 from janekptacijarabaci/devtools_browserconsole_bodies_1
DevTools - fix a comment in webConsole.dtd (Web Console and Browser Console)
2018-05-08 15:51:04 +02:00
janekptacijarabaci eac16a5e59 [follow up] DevTools - fix a comment in webConsole.dtd (Web Console and Browser Console - not in the context menu)
Issue #102 and #337
2018-05-08 06:41:28 +02:00
janekptacijarabaci 2772ce4d2a DevTools - fix a comment in webConsole.dtd (Web Console and Browser Console)
Issue #102
2018-05-07 11:40:08 +02:00
Moonchild 43208a5308 Merge pull request #337 from janekptacijarabaci/devtools_browserconsole_bodies_1
[regression] DevTools - Web and Browser console - Added "Log request and response bodies" preference
2018-05-07 11:39:29 +02:00
janekptacijarabaci 1b0c4bf462 [regression] DevTools - Web and Browser console - Added "Log request and response bodies" preference
Issue #102
2018-05-07 07:23:21 +02:00
Moonchild 5390888b97 Merge pull request #335 from janekptacijarabaci/security_blocking_data_3
moebius#231: Consider blocking top level window data: URIs (tests)
2018-05-06 20:45:22 +02:00
Moonchild 61394bf4ff Merge pull request #334 from JustOff/PR_fullscreen_warning
[PALEMOON] Replace the fullscreen permission dialog with a warning and update the permission management
2018-05-06 20:44:37 +02:00
janekptacijarabaci 26a032c080 moebius#231: Consider blocking top level window data: URIs (tests) - bug 264588
https://github.com/MoonchildProductions/moebius/pull/231/files
https://bugzilla.mozilla.org/show_bug.cgi?id=1264588
2018-05-06 14:32:07 +02:00
janekptacijarabaci 4b7a2c677a moebius#231: Consider blocking top level window data: URIs (tests)
https://github.com/MoonchildProductions/moebius/pull/231
2018-05-06 14:31:20 +02:00
JustOff 79f8a278d9 [PALEMOON] Remove fullscreen and pointer-lock from permission managing 2018-05-06 14:48:52 +03:00
JustOff 5839168a9f [PALEMOON] Replace fullscreen permission dialog with a warning 2018-05-06 14:47:23 +03:00
JustOff 3961587707 [PALEMOON] Update fullscreen activation event to match UXP 2018-05-06 14:42:18 +03:00
Matt A. Tobin 1fbd4d9579 Use application specific application.ini 2018-05-05 15:09:57 -04:00
Matt A. Tobin e899e79624 Rename VisualElementsManifest for Basilisk unofficial branding 2018-05-05 14:56:09 -04:00
Moonchild 7d5f95a8e5 Merge pull request #333 from janekptacijarabaci/notifications_settings_2
[follow up] moebius#154: Notifications - user settings - the immediate duration of the alert (fix for "New layout of XUL Notifications")
2018-05-05 15:44:25 +02:00
janekptacijarabaci 4f82391dfe [follow up] moebius#154: Notifications - user settings - the immediate duration of the alert
https://github.com/MoonchildProductions/moebius/pull/154
https://github.com/MoonchildProductions/UXP/pull/132
2018-05-05 10:46:33 +02:00
Moonchild 3ca0ca4b67 Merge pull request #332 from trav90/master
Remove nameprep.c from moz.build
2018-05-05 10:05:52 +02:00
trav90 769d58f710 Remove nameprep.c from moz.build
Follow up to e6d4a8daf3
2018-05-04 21:18:32 -05:00
Moonchild db33886e27 Merge pull request #330 from JustOff/PR_PMkit_empty_getElementById
[PMkit] Fix Empty string passed to getElementById() warning in buttons.js
2018-05-04 22:48:10 +02:00
wolfbeast 3b28e26d02 Merge branch 'intl-ICU-emoji-work' 2018-05-04 22:42:31 +02:00
wolfbeast 2860601772 Issue #325 Part 15: Remove ENABLE_INTL_API and EXPOSE_INTL_API flags. 2018-05-04 22:13:41 +02:00
wolfbeast 891026d005 Make InitRuntimeNumberState's return type reflect its infallible nature. 2018-05-04 22:02:48 +02:00
wolfbeast 74c62cd337 Issue #325 Part 14: Remove EXPOSE_INTL_API conditionals. 2018-05-04 21:47:32 +02:00
wolfbeast c18d9955df Issue #325 Part 13: Remove Mozilla implementation of the bidi engine completely and use ICU. 2018-05-04 20:36:02 +02:00
wolfbeast 550f4095be Issue #325 Part 12: Manually edit Unicode property tables.
Although this is generated code, the #ifdefs in it are blockers.
!! Do not regenerate these files until the script has been updated !!
See #326.
2018-05-04 17:57:48 +02:00
Moonchild 175efcbab0 Merge pull request #327 from JustOff/PR_grep_invalid_option
Fix regex escaping in old-configure and js/src/old-configure
2018-05-04 17:55:14 +02:00
JustOff 32949bf64b [PMkit] Fix Empty string passed to getElementById() warning in buttons.js 2018-05-04 18:24:47 +03:00
wolfbeast dd9af06efa Issue #325 Part 11: Fix up build files. 2018-05-04 17:22:03 +02:00
New Tobin Paradigm 78310fd7c4 Merge pull request #329 from JustOff/PR_fullscreen_animation
Delay and shorten animation of transition to the full-screen
2018-05-04 11:17:50 -04:00
JustOff bbc8a98409 Delay and shorten animation of transition to the full-screen 2018-05-04 18:05:37 +03:00
wolfbeast 1f18c1fdd6 Issue #325 Part 10: Remove non-Intl conditionals from installer files. 2018-05-04 16:48:08 +02:00
wolfbeast 6f8f1f7121 Issue #325 Part 9: Remove non-Intl legacy code paths from nsNumberControlFrame. 2018-05-04 16:42:31 +02:00
JustOff adf982f3cb Fix regex escaping in old-configure and js/src/old-configure 2018-05-04 17:28:00 +03:00
wolfbeast fdd89d8e3a Issue #325 Part 8: Remove non-Intl legacy code paths from nsChromeRegistry. 2018-05-04 16:20:00 +02:00
wolfbeast 33c8d5d971 Issue #325 Part 7: Remove non-Intl legacy code paths from IndexedDB. 2018-05-04 16:15:59 +02:00
wolfbeast e6bb58fb96 Issue #325 Part 6: Remove non-Intl legacy code paths from line-breaker code. 2018-05-04 15:56:17 +02:00
wolfbeast a2652e5bc4 Issue #325 Part 5: Remove non-Intl legacy code paths from js. 2018-05-04 15:50:01 +02:00
wolfbeast 58751cc2ad Issue #325 Part 4: Remove obsolete and archaic Unicode normalization implementation. 2018-05-04 11:52:49 +02:00
wolfbeast 2eddf19168 Issue #325 Part 3: Remove support for using legacy Gecko normalization in gfxHarfBuzzShaper. 2018-05-04 10:38:17 +02:00
wolfbeast cd1ab47cfd Issue #325 Part 2: Build ICUUtils unconditionally. 2018-05-04 10:27:50 +02:00
wolfbeast e6d4a8daf3 Issue #325 Part 1: Remove the legacy non-IDNA2008 code path from nsIDNService. 2018-05-04 10:20:16 +02:00
wolfbeast bbd3b87eb5 Remove the option to build without INTL/ICU
This resolves #324.
2018-05-04 10:08:02 +02:00
Moonchild 4a2aeb152e Merge pull request #323 from MoonchildProductions/nuke-sandbox
Nuke sandbox
2018-05-04 09:09:10 +02:00
wolfbeast 1e06608c84 Adjust tests for android-enabled Intl. 2018-05-03 21:45:55 +02:00
wolfbeast 0221a30f85 Unconditionally switch on the INTL API on all platforms. 2018-05-03 21:40:14 +02:00
Moonchild 20532e1393 Merge pull request #322 from trav90/ffmpeg-work
Add support for FFmpeg 4.0/libavcodec 58
2018-05-03 07:10:28 +02:00
wolfbeast f265784e8c Remove unused sanbox l10n strings (about:support) 2018-05-03 06:37:05 +02:00
wolfbeast 2fd3f6cf2e Remove nsPluginTag::InitSandboxLevel 2018-05-03 06:28:57 +02:00
wolfbeast 755e3a48bf Remove unused XREShellData 2018-05-03 06:28:20 +02:00
wolfbeast 43f7a588f9 Nuke the sandbox 2018-05-03 05:55:15 +02:00
wolfbeast 4613b91eca Remove sandbox ductwork conditional code. 2018-05-03 01:24:31 +02:00
Moonchild b1728772a7 Merge pull request #318 from janekptacijarabaci/pm_places_keyword_1
[PALEMOON] [frontend vs backend] Places - Fix: "Keyword" reset (to an empty value) does not work
2018-05-02 23:43:12 +02:00
Moonchild 7ea87f571b Merge pull request #319 from janekptacijarabaci/debug_warning_1
moebius#146: Building with "--enable-debug" - fix some warnings
2018-05-02 23:42:32 +02:00
wolfbeast e1490c07e2 Remove GMP sandbox code. 2018-05-02 23:30:36 +02:00
wolfbeast 755e102078 Remove content process sandbox code. 2018-05-02 21:58:04 +02:00
Moonchild 04c8f8f8bc Merge pull request #320 from janekptacijarabaci/instanceof_negations_1
palemoon#1173: Fix unsafe "instanceof" negations
2018-05-02 16:23:14 +02:00
janekptacijarabaci 39902d8998 [PALEMOON] [frontend vs backend] Places - use "let" instead of "var" for the entire function "onKeywordFieldBlur"
Issue #121
2018-05-02 14:09:55 +02:00
janekptacijarabaci 815cb2f404 [PALEMOON] [frontend vs backend] Places - Fix: "Keyword" reset (to an empty value) does not work
Issue #121
2018-05-02 13:46:17 +02:00
janekptacijarabaci 3dfd1412e4 Building with "--enable-debug" - fix some warnings
https://github.com/MoonchildProductions/moebius/pull/146
https://github.com/MoonchildProductions/Pale-Moon/pull/1400
2018-05-02 07:08:14 +02:00
janekptacijarabaci 3442ae7718 Fix unsafe "instanceof" negations
https://github.com/MoonchildProductions/Pale-Moon/pull/1173
2018-05-02 06:57:57 +02:00
Matt A. Tobin 832046aeb7 [TychoAM] Do not allow Jetpack extensions to install if Jetpack isn't actually built
This does not cover the previous case of an application dropping jetpack support.. This follows the WebExtension route. A new case will have to be redeveloped if an existing application drops jetpack support.
2018-05-01 23:37:13 -04:00
Matt A. Tobin a930a790d5 Un-depercate synchronous search initialization 2018-05-01 18:08:22 -04:00
Matt A. Tobin ec1df1e8a2 [TychoAM] Make the Add-ons Manager conditionally devtools free 2018-05-01 16:14:17 -04:00
Matt A. Tobin dc43d59ae3 Issue #316 - Always build heapsnapshot regardless of the rest of the devtools for now 2018-05-01 15:53:52 -04:00
Matt A. Tobin 61de1c80cd Only set and show the dual-guid indicators when dual-guid has been built 2018-05-01 12:26:01 -04:00
Matt A. Tobin 754796d243 [PALEMOON] Update error number for webextensions to match the platform 2018-05-01 10:09:10 -04:00
Moonchild 531a71892f Merge pull request #313 from JustOff/PR_fullscreen_fix_basic
Align Pale Moon codebase with the updated fullscreen API
2018-05-01 15:56:01 +02:00
JustOff 8d439c38e2 [PALEMOON] Align the application with the updated fullscreen API 2018-05-01 14:30:38 +03:00
JustOff ec3d61fb31 [PALEMOON] Use CSS transition instead of JS animation for hiding toolbox in fullscreen mode and simplify related code 2018-05-01 14:26:54 +03:00
JustOff d9b56d39da [PALEMOON] Added padding to toolbar autohide 2018-05-01 14:14:41 +03:00
JustOff 6d579486a9 [PALEMOON] fullscr-toggler element needs to be hidden in DOM fullscreen 2018-05-01 14:08:41 +03:00
Moonchild d0c19e4607 Merge pull request #309 from janekptacijarabaci/build_warnings_4
Build - throws a warning "interface 'nsISelectionPrivate' is scriptable but derives from non-scriptable 'nsISelection'"
2018-05-01 09:55:55 +02:00
Moonchild 0913ffa0cd Merge pull request #307 from janekptacijarabaci/pm_nsBrowserGlue_1
[PALEMOON] Added gBrandBundle lazy getter and use gBrowserBundle in nsBrowserGlue.js
2018-05-01 09:55:37 +02:00
Moonchild 92c59fe350 Merge pull request #306 from JustOff/PR_owner_triggeringPrincipal
[PALEMOON] Replace `owner` with `triggeringPrincipal` to match the updated API
2018-05-01 09:55:22 +02:00
Moonchild 6293134652 Merge pull request #312 from janekptacijarabaci/pm_feeds_1
[PALEMOON] Fix feeds - "Subscribe to this page..."
2018-05-01 09:54:46 +02:00
Moonchild ae45e61da0 Merge pull request #311 from janekptacijarabaci/security_blocking_data_2
Use asyncOpen2() for docshell loads
2018-05-01 09:53:46 +02:00
janekptacijarabaci c906abdbe2 [PALEMOON] Fix feeds - "Subscribe to this page..."
Issue #121
2018-05-01 08:02:38 +02:00
janekptacijarabaci cc4036a9cd Bug 1344706 - Do not reuse originPrincipal as triggeringPrincipal within utilityOverlay.js 2018-05-01 00:22:01 +02:00
janekptacijarabaci 855f11d8f6 Bug 1333726 - use serializeToString instead of non-existant serializePrincipal 2018-05-01 00:16:47 +02:00
janekptacijarabaci 6b0c2a089e Bug 1331686 - Pass correct triggeringPrincipal for tabs openen through ctrl-click and open link in new tab 2018-05-01 00:15:28 +02:00
janekptacijarabaci 67bd9ff3af Bug 1332595 - remove useless click handling 2018-05-01 00:01:56 +02:00
janekptacijarabaci a0643b997c Bug 1348801: Teach TriggeringPrincipal about OA when opening link in private window 2018-04-30 23:58:51 +02:00
janekptacijarabaci 8dcc716efd Bug 1359204 - Test view-source can open link is not blocked by security policies 2018-04-30 23:56:11 +02:00
janekptacijarabaci d735c1c1ad Bug 1359204 - Use SystemPrincipal as TriggeringPrincipal when loading page as view-source 2018-04-30 23:54:01 +02:00
janekptacijarabaci 7c759805d0 Bug 1359204 - Do not query nested URI within CheckChannel in ContentSecurityManager 2018-04-30 23:53:22 +02:00
janekptacijarabaci e0a24e6d4f Bug 1343279 - Use SystemPrincipal when loading canvasToBlobURL 2018-04-30 23:52:21 +02:00
janekptacijarabaci 73b55c16d6 Bug 1333147 - Do not use owner as triggeringPrincipal when creating session history entry 2018-04-30 23:49:41 +02:00
janekptacijarabaci 0695943d2d Bug 1232432 - Convert feeds/feedConverter to use asyncOpen2() 2018-04-30 23:48:34 +02:00
janekptacijarabaci b3a9d03344 Bug 1334875 - Temporarily remove assertion that history loads pass a valid triggeringprincipal 2018-04-30 23:48:06 +02:00
janekptacijarabaci ecea4c51dc Bug 1341754: Test SetURI in Location passes triggeringPrincipal 2018-04-30 23:13:51 +02:00
janekptacijarabaci 71e6952456 Bug 1341754: Provide a valid triggeringPrincipal when calling SetURI in Location 2018-04-30 23:11:43 +02:00
janekptacijarabaci d9abe50072 Bug 1341589 - Test TriggeringPrincipal on history entry for view-source loads 2018-04-30 23:10:01 +02:00
janekptacijarabaci 05e44d895f Bug 1341589 - Set triggeringPrincipal on history entry for view-source loads 2018-04-30 23:08:16 +02:00
janekptacijarabaci 4908838110 Bug 1337622 - Temporarily fall back to SystemPrincipal if History entry does not have a valid triggeringPrincipal 2018-04-30 23:06:51 +02:00
janekptacijarabaci 3dec348f43 Bug 1307736 - Store triggeringPrincipal with all history entries 2018-04-30 23:05:55 +02:00
janekptacijarabaci 2cb9f3ceb8 Bug 1307736 - Ensure History loads pass valid triggeringPrincipal 2018-04-30 23:02:01 +02:00
janekptacijarabaci 6cb841b26e Bug 1332310 - Update AddState and CreateContentViewer to provide an accurate triggeringPrincipal for creating a history entry 2018-04-30 23:00:04 +02:00
janekptacijarabaci 74858918fa Bug 1329032 - Extend loadURIWithOptions by a triggeringPrincipal (without an hard e10s) 2018-04-30 22:57:23 +02:00
janekptacijarabaci 80edefc958 Bug 1182569: Add credentials mode for fetch-frame-resource.https.html wpt test 2018-04-30 22:21:34 +02:00
janekptacijarabaci 41e3d0719a Bug 1182569: Disable hsts priming for loads of type subdocument for wpt tests 2018-04-30 22:20:14 +02:00
janekptacijarabaci b8e6315292 Bug 1182569: Update tests when converting docshell loads to use AynscOpen2 2018-04-30 22:12:53 +02:00
janekptacijarabaci d45c25971c Bug 1182569 - Skip security check for plugins using newstream attribute 2018-04-30 22:09:55 +02:00
janekptacijarabaci f799598d65 Bug 1182569: Update ContentSecurityManager to handle docshell loads 2018-04-30 21:04:56 +02:00
janekptacijarabaci e66562aa8b Bug 1182569: Use AsyncOpen2 for docshell loads 2018-04-30 21:00:21 +02:00
janekptacijarabaci 3ceed6b6db [PALEMOON] Added gBrandBundle lazy getter and use gBrowserBundle in nsBrowserGlue.js
Tag #273
2018-04-30 16:56:27 +02:00
JustOff 1b50c57865 [PALEMOON] Replace serializing nsISHEntry.owner with nsISHEntry.triggeringPrincipal 2018-04-30 17:26:04 +03:00
JustOff 6bca91e940 [PALEMOON] Replace owner with triggeringPrincipal to match the updated UXP docshell 2018-04-30 17:24:47 +03:00
janekptacijarabaci 83e6cb5410 Bug 338865 - Scriptable XPIDL iface inheriting from noscript iface should throw error 2018-04-30 15:02:56 +02:00
janekptacijarabaci 966e69291a Bug 1216885 - Make nsISelectionPrivate not inherit from nsISelection 2018-04-30 15:00:01 +02:00
New Tobin Paradigm fefce8f7cc Merge pull request #299 from janekptacijarabaci/pm_permissions_2_style-clean-up
[PALEMOON] [frontend vs backend] Remove unused styles for Push Notifications
2018-04-30 07:22:38 -04:00
Matt A. Tobin 5287427c57 [PALEMOON] Add required gBrowserBundle lazy getter in nsBrowserGlue.js 2018-04-30 07:19:29 -04:00
New Tobin Paradigm 7c8c0540db Merge pull request #300 from janekptacijarabaci/build_warnings_3
[PALEMOON] Fix a build warning for autocomplete.css
2018-04-30 03:48:27 -04:00
Moonchild fe5af11d68 Merge pull request #301 from janekptacijarabaci/html_input_datetime_4
[regression] [follow up] Error: No such property on self-hosted object: "Intl_getDisplayNames"
2018-04-30 09:40:22 +02:00
janekptacijarabaci b1adc75aed The preprocessor will be used for content/browser/autocomplete.xml
https://github.com/MoonchildProductions/UXP/pull/300#issuecomment-385325335
2018-04-30 09:11:14 +02:00
janekptacijarabaci 1cb62d2845 Fix typo in variables in datetimepopup.xml
Issue #162
2018-04-30 09:02:11 +02:00
janekptacijarabaci fc1eb3a144 [regression] [follow up] Error: No such property on self-hosted object: "Intl_getDisplayNames"
Issue #162 and #264
2018-04-30 09:00:49 +02:00
janekptacijarabaci 5167c8b52f Fix a build warning for autocomplete.css a autocomplete.xml 2018-04-30 08:56:00 +02:00
Matt A. Tobin 8aed9d6ee8 [PALEMOON] Issue #283 - Pale Moon Shell Service is not invoking defalt client check on start 2018-04-30 02:50:07 -04:00
janekptacijarabaci cb002e9939 [PALEMOON] [frontend vs backend] Remove unused styles for Push Notifications
https://github.com/MoonchildProductions/UXP/pull/273#issuecomment-385267814
2018-04-30 07:15:39 +02:00
Matt A. Tobin d2bf1f169d [*AM] Expand the list for excluding internally used IDs from being sent to AUS 2018-04-29 22:35:29 -04:00
wolfbeast 0641c2493a Reconfigure Pale Moon to short-circuit some undesired services/features. 2018-04-30 02:51:19 +02:00
Moonchild 8c146ab24a Merge pull request #297 from janekptacijarabaci/css_text-justify_1
CSS - implement text-justify property
2018-04-29 18:52:17 +02:00
Moonchild b83c51a1a5 Merge pull request #296 from janekptacijarabaci/js_dom_animationcancel_1
DOM - implement animationcancel event
2018-04-29 18:48:43 +02:00
Moonchild 3fe37f6ae8 Merge pull request #287 from SpockMan02/patch-1
Issue #286 - Incorrect filepath
2018-04-29 18:25:59 +02:00
Moonchild 8c4783919b Merge pull request #295 from janekptacijarabaci/_native_52ESR_events_auxclick_1
UI Events - implement auxclick
2018-04-29 17:02:53 +02:00
wolfbeast 32c067857c Create a 1px overlap between tab center and start/end backgrounds.
This visual overlap prevents gaps due to rounding of pixel borders when rounded tab "borders" are exactly flush.
This resolves #268.
2018-04-29 15:45:50 +02:00
Moonchild 64aec5a353 Merge pull request #294 from janekptacijarabaci/js_dom_performance-resource-timing_2
moebius#161: The Performance Resource Timing (make timestamps be relative to startTime)
2018-04-29 14:44:39 +02:00
Moonchild 6fe08dcf34 Merge pull request #293 from janekptacijarabaci/js_dom_performance-resource-timing_1
moebius#158: The Performance Resource Timing (added support for "workerStart")
2018-04-29 14:44:20 +02:00
Moonchild dc35e5c26d Merge pull request #292 from janekptacijarabaci/js_dom_performance-observer_1
moebius#157: The Performance Observer (improvements)
2018-04-29 14:44:02 +02:00
janekptacijarabaci 306db80410 moebius#161: The Performance Resource Timing (make timestamps be relative to startTime)
https://github.com/MoonchildProductions/moebius/pull/161
2018-04-29 14:15:18 +02:00
Bryce Van Dyk 65a580a4ef Bug 1453127 - Do not use iterators in MediaStreamTrack when removing listeners. r=pehrsons a=lizzard
--HG--
extra : source : 6b3aaee40f7507e240da08d6e073cff3c53971f4
extra : intermediate-source : 59e50af7afe19f827dd687ea097d5ba551ab0b1d
2018-04-29 13:41:40 +02:00
Jeff Walden d308db119d Bug 1452619 - Implement mozilla::IsAsciiAlpha. r=froydnj, a=lizzard 2018-04-29 13:39:27 +02:00
wolfbeast 66aa6b595c Bug 1411415. 2018-04-29 13:39:11 +02:00
wolfbeast 927868e8b9 Move --enable-tests out of Python configure and flip the default. 2018-04-29 13:27:12 +02:00
wolfbeast fbeee7692b Create /docs and move contributing guideline to it. 2018-04-29 13:12:21 +02:00
Moonchild fc8634a7fc Merge pull request #291 from adeshkp/buildid-mac
[Pale Moon] Fix buildid on Mac
2018-04-29 13:09:36 +02:00
Moonchild eb6c09c5eb Merge pull request #289 from janekptacijarabaci/pm_referrerPolicy_1
[PALEMOON] [frontend vs backend] Added support for "referrerPolicy"
2018-04-29 13:09:20 +02:00
Moonchild 600ac9cae5 Merge pull request #284 from JustOff/PR_gInitialPages
Fix lexical scope of `gBrowser.gInitialPages`
2018-04-29 13:08:06 +02:00
Moonchild 58a55be1f1 Merge pull request #281 from janekptacijarabaci/pm_devtools_storage_mapURIToAddonId_1
[PALEMOON] [DevTools] Storage inspector throws "AddonPathService.mapURIToAddonId is not a function" when url changes
2018-04-29 13:07:33 +02:00
janekptacijarabaci 92d3042138 Bug 1321261 - partially - "using namespace mozilla"
https://hg.mozilla.org/mozilla-central/diff/9ad9c6b4c8d6/dom/base/nsDOMNavigationTiming.cpp
2018-04-29 12:39:51 +02:00
janekptacijarabaci eeaf0a73ac Bug 1322292 - Some fixes for the Performance API in workers - part 3 - TimeStampToDOMHighRes() in workerPrivate
https://hg.mozilla.org/mozilla-central/rev/b827e4d0dc73
2018-04-29 12:35:55 +02:00
janekptacijarabaci 089a0bd9a4 Bug 1322292 - Some fixes for the Performance API in workers - part 2 - Get rid of NowBaseTimeStamp()
https://hg.mozilla.org/mozilla-central/rev/301231f4165a
2018-04-29 12:32:19 +02:00
janekptacijarabaci 85a83305dd Bug 1322292 - Some fixes for the Performance API in workers - part 1 - Centralized Performance.now()
https://hg.mozilla.org/mozilla-central/rev/291a68ca4825
2018-04-29 12:26:49 +02:00
janekptacijarabaci 30cf4c5d93 Bug 1313420 - Implement Performance.timeOrigin - part 4 - tests
https://hg.mozilla.org/mozilla-central/rev/49305a317143
2018-04-29 12:20:22 +02:00
janekptacijarabaci 1ad6dc807c Bug 1313420 - Implement Performance.timeOrigin - part 3 - tests
https://hg.mozilla.org/mozilla-central/rev/0f869d4c93ef
2018-04-29 12:19:25 +02:00
janekptacijarabaci d564205c58 Bug 1313420 - Implement Performance.timeOrigin - part 2 - tests
https://hg.mozilla.org/mozilla-central/rev/c22f17e0db9d
2018-04-29 12:18:35 +02:00
janekptacijarabaci 98438fa32e Bug 1313420 - Implement Performance.timeOrigin - part 1
https://hg.mozilla.org/mozilla-central/rev/cf0f72f0b0be
2018-04-29 12:15:36 +02:00
janekptacijarabaci 39d4a11267 Bug 1323941 - navigationStart should not be exposed to workers as timing attribute
https://hg.mozilla.org/mozilla-central/rev/6be7eb833b11
2018-04-29 12:11:55 +02:00
janekptacijarabaci 7ee501103a Bug 1322966 - Cleanup performance.cpp
https://hg.mozilla.org/mozilla-central/rev/0ad76084c4c3
2018-04-29 12:07:20 +02:00
janekptacijarabaci de9560af3e Bug 1317297 - nextHopProtocol is an empty string for local fetch
https://hg.mozilla.org/mozilla-central/rev/9e5cd2bf4d66
2018-04-29 11:59:22 +02:00
janekptacijarabaci e040ed9250 moebius#158: The Performance Resource Timing (added support for "workerStart")
https://github.com/MoonchildProductions/moebius/pull/158
2018-04-29 11:49:50 +02:00
adeshkp 8ffaf513ee [Pale Moon] Fix buildid on Mac 2018-04-29 04:06:08 -04:00
janekptacijarabaci aff03b0a67 Merge branch 'master' of https://github.com/MoonchildProductions/UXP into js_dom_performance-resource-timing_1 2018-04-29 09:07:42 +02:00
janekptacijarabaci c21420c94a [PALEMOON] [frontend and backend] Added support for "referrerPolicy"
Issue #121
https://bugzilla.mozilla.org/show_bug.cgi?id=1113431
2018-04-29 08:37:49 +02:00
Matt A. Tobin 11caf6ecb3 [TychoAM] Fix gCertBlocklistService.addRevokedCert is not a function
Mozilla renamed it to revokeCertByIssuerAndSerial
2018-04-28 18:19:42 -04:00
trav90 29c293b100 Add support for libavcodec 58/FFmpeg 4.0 2018-04-28 14:20:52 -05:00
trav90 b45f40ff9b Import FFmpeg 4.0 header files 2018-04-28 13:52:30 -05:00
SpockMan02 d2457cbfcb Issue #286 - Incorrect filepath 2018-04-28 18:41:30 +00:00
JustOff f3e5c57c2b Fix the lexical scope of gBrowser.gInitialPages 2018-04-28 19:05:11 +03:00
wolfbeast f69729b0aa Merge branch 'master' of https://github.com/MoonchildProductions/UXP 2018-04-28 17:57:18 +02:00
wolfbeast b53db93006 Merge branch 'malloc-rewrite'
This resolves #263.
2018-04-28 17:57:05 +02:00
wolfbeast db4b6dc1da Use SRWlocks for mutexes in cairo on Windows. 2018-04-28 17:55:10 +02:00
Moonchild de057c7a56 Merge pull request #282 from JustOff/PR_urlbarChangeTracker
[PALEMOON] Use `urlbarChangeTracker` instead of `userTypedClear` to track address bar changes
2018-04-28 16:23:20 +02:00
Moonchild bddefd4211 Merge pull request #280 from janekptacijarabaci/devtools_storage_style-clean-up_1
[DevTools] Storage - style clean up - a check of the variable to see if it exists
2018-04-28 16:19:14 +02:00
Moonchild adb23ed948 Merge pull request #279 from janekptacijarabaci/pm_devtools_storage_style-clean_up_1
[PALEMOON] [DevTools] Storage inspector throws an error when url changes
2018-04-28 16:18:55 +02:00
Moonchild 6607336b5c Merge pull request #278 from janekptacijarabaci/devtools_storage_arrow-keys_1
[DevTools] Storage inspector throws an error when use arrow keys
2018-04-28 16:18:19 +02:00
Moonchild 9d1869d98e Merge pull request #276 from janekptacijarabaci/pm_url_1
[PALEMOON] [frontend vs backend] Change a function "getShortcutOrURI" to "getShortcutOrURIAndPostData", fix Drag & Drop and a function "Copy Download Link"
2018-04-28 16:17:54 +02:00
wolfbeast 8d6b34f863 Use SRWlocks for js mutexes on Windows. 2018-04-28 15:45:56 +02:00
wolfbeast f7b98c15a1 Use slim reader/writer locks instead of critical sections. 2018-04-28 14:21:19 +02:00
JustOff fd10ee105a Use urlbarChangeTracker instead of userTypedClear to track address bar changes 2018-04-28 14:41:28 +03:00
wolfbeast e56cebf8da Remove the unused and rudimentary arena load balancer.
Lock contention is not something we'd easily have to deal with in our application.
This simplifies our code.
2018-04-28 13:17:57 +02:00
janekptacijarabaci 8f65db7541 [DevTools] Storage - style clean up - a check of the variable to see if it exists (an empty line)
Issue #102
2018-04-28 12:53:10 +02:00
janekptacijarabaci 77e7fcac50 Bug 1263935 - Forward AddonManager.mapURIToAddonId to AddonPathService.mapURIToAddonId
Issue #102
2018-04-28 12:47:07 +02:00
janekptacijarabaci b8145b3d59 Bug 1263935 - Expose native version of mapURIToAddonId via amIAddonPathService
Issue #102
2018-04-28 12:46:29 +02:00
janekptacijarabaci 6bdb9d25d6 [PALEMOON] [DevTools] Storage inspector throws an error when url changes
Issue #102
2018-04-28 12:29:07 +02:00
janekptacijarabaci 775b1b825f [DevTools] Storage - style clean up - a check of the variable to see if it exists
Issue #102
2018-04-28 12:27:35 +02:00
janekptacijarabaci 2d7d421391 [DevTools] Storage inspector throws an error when use arrow keys
Issue #102
2018-04-28 12:23:00 +02:00
janekptacijarabaci c99c89cb40 [PALEMOON] Fix a function "middleMousePaste" ("Save") in browser.js 2018-04-28 11:12:58 +02:00
janekptacijarabaci 383cb2c41e [PALEMOON] Fix typo in tabbrowser.xml 2018-04-28 10:28:44 +02:00
janekptacijarabaci c28caba8bd [PALEMOON] Style clean up in browser.js 2018-04-28 10:06:44 +02:00
wolfbeast 08e66d3512 Make our allocator use multiple arenas based on number of CPU cores. 2018-04-28 08:59:44 +02:00
Moonchild 46a069ec79 Merge pull request #274 from JustOff/PR_AboutRedirector_NewChannel_LoadInfo
Provide LoadInfo for NewChannel() call in 'about' protocol handler
2018-04-28 08:23:08 +02:00
janekptacijarabaci 6b2bba06b4 Merge branch 'master' of https://github.com/MoonchildProductions/UXP into pm_url_1 2018-04-28 07:38:20 +02:00
wolfbeast ffd62ae6c9 Remove jemalloc 4 leftover conditional. 2018-04-27 23:34:26 +02:00
wolfbeast 90920ec0ba Remove single-threaded considerations.
We assume our applications are always going to have multithreaded access to the malloc.
2018-04-27 22:56:03 +02:00
wolfbeast a7ec27a9cc Update credits in BSD-licensed files. 2018-04-27 22:49:31 +02:00
wolfbeast c6177a81ee Remove jemalloc 4 leftover conditional. 2018-04-27 22:48:34 +02:00
wolfbeast 9c07867573 Remove MOZ_REPLACE_JEMALLOC
This was only defined when building jemalloc4 as a replace-malloc library.
2018-04-27 20:23:28 +02:00
wolfbeast 43034a36e1 Remove jemalloc 4 from our tree. 2018-04-27 19:16:45 +02:00
Moonchild c75dae3ed2 Merge pull request #275 from trav90/ffvpx-resync
Resync ffvpx code with 3.4.2-release from upstream
2018-04-27 19:15:26 +02:00
trav90 6ada4b14e4 Update CLOBBER after ffvpx update 2018-04-27 08:23:18 -05:00
JustOff 214690eadd Provide LoadInfo for NewChannel() call in 'about' protocol handler 2018-04-27 15:58:24 +03:00
wolfbeast 077c630844 Remove support for making jemalloc4 the default memory allocator. 2018-04-27 13:56:47 +02:00
Moonchild c82c6d960a Merge pull request #273 from janekptacijarabaci/pm_permissions_1
[PALEMOON] [frontend vs backend] Fix "Permissions Manager" and permissions
2018-04-27 13:03:12 +02:00
janekptacijarabaci e66060388f [PALEMOON] Remove "dom.push.enabled" from aboutPermissions.js (consolidated to "dom.webnotifications.enabled") 2018-04-27 11:13:16 +02:00
janekptacijarabaci 57bc437414 [PALEMOON] Remove double rows from aboutPermissions.js 2018-04-27 10:24:32 +02:00
janekptacijarabaci 3280ec817e Merge branch 'master' of https://github.com/MoonchildProductions/UXP into pm_permissions_1 2018-04-27 10:11:35 +02:00
Moonchild 8acbae6979 Merge pull request #272 from janekptacijarabaci/pm_css_inContentUI_1
[PALEMOON] [frontend vs backend] Fix of non-existent CSS files
2018-04-27 08:58:30 +02:00
Moonchild 32a3bfdad7 Merge pull request #271 from janekptacijarabaci/pm_tab_move_1
[PALEMOON] [frontend vs backend] Move tab to a new window does not work properly
2018-04-27 08:58:12 +02:00
janekptacijarabaci c5e5dfd06b [PALEMOON] [frontend vs backend] Fix of non-existent CSS files (follow up - use preprocessing for OSX and windows)
Issue #121
2018-04-27 05:42:32 +02:00
wolfbeast 9d6a7ae25d Merge branch 'master' into Basilisk-release 2018-04-27 01:28:11 +02:00
Matt A. Tobin 69ac2db129 Partially revert 1ef526f0f - sftkpwd.c
#82 #265
2018-04-26 19:23:01 -04:00
trav90 eee41a3d0a Bump VP9 benchmark version ID 2018-04-26 16:56:57 -05:00
trav90 b2f89250be [ffvpx] Update resync documentation 2018-04-26 16:56:17 -05:00
trav90 622f0610e1 [ffvpx] Re-generate config_*.{h,asm} files 2018-04-26 16:55:30 -05:00
trav90 044b501241 [ffvpx] Re-enable assembly optimized code
It was inadvertently disabled in 8b37a1bc30.
2018-04-26 16:54:31 -05:00
trav90 af2f0e66f5 [ffvpx] Compile ffvpx lib with -ffreestanding to avoid triggering a clang bug 2018-04-26 16:53:28 -05:00
trav90 0676e749b8 [FFmpeg] Add a preemptive stdlib.h include in our libavutil_visibility.h hackaround file 2018-04-26 16:52:38 -05:00
trav90 f4906f9a85 [FFmpeg] Work around a bug with corrupted data
According to FFmpeg documentation, the out parameter is "set to size of parsed buffer or zero if not yet finished." however this is only the case if no error occurred; otherwise it is left untouched. We want the invalid content to generate a decoding error, so we set size to inputSize to ensure decoding failed later.
2018-04-26 16:51:50 -05:00
trav90 ccdde52530 [ffvpx] Remove some files we don't need 2018-04-26 16:50:57 -05:00
trav90 8b37a1bc30 [ffvpx] Update ffvp9/ffvp8 to 3.4.2-release
Structure of code was slightly modified so that it should be no longer necessary to re-generate the config_*.h files, greatly simplifying the resync process in the future.
2018-04-26 16:49:15 -05:00
trav90 56a2df6b25 [ffvpx] Restore AVOptions and dictionary features
FFmpeg requires specific default values in AVCodecContext to be set. Instead of manually setting these each time we resync with upstream, let's use FFmpeg's own AVOptions which automatically sets all the values to their default.
2018-04-26 16:46:31 -05:00
trav90 73aace89c1 [ffvpx] Revert Mozilla hack in FFmpeg code
This hack was added by Mozilla to work around a potential data race, however the root cause was fixed by upstream in release 3.4 so this hack is no longer needed.
2018-04-26 16:45:18 -05:00
janekptacijarabaci 05085ceebe [PALEMOON] [frontend vs backend] Fix of non-existent CSS files
Issue #121
2018-04-26 23:30:48 +02:00
janekptacijarabaci 9414007bde [PALEMOON] Bug 723951 - Popup notification does not continue when the tab move to other window
Issue #121
2018-04-26 23:12:13 +02:00
janekptacijarabaci fc60f65ed1 Bug 1288557 - Part 1: Replace custom exceptions dialog with usage of permissions 2018-04-26 22:45:38 +02:00
janekptacijarabaci e19475faac Bug 1288557 - Part 0: Fix permissions dialog while receiving deleted event 2018-04-26 22:45:12 +02:00
janekptacijarabaci 6a57baf706 Merge branch 'master' of https://github.com/MoonchildProductions/UXP into pm_permissions_1 2018-04-26 21:47:05 +02:00
wolfbeast be1786f7b0 Remove support for system jemalloc. 2018-04-26 17:59:36 +02:00
janekptacijarabaci 1d18a1e8ef [follow up] Bug 1216684 - Notification permissions ... in private windows - implemented "_getBrowserForRequest" function (e10 off only) 2018-04-26 17:12:33 +02:00
Moonchild 9a97c58feb Merge pull request #269 from adeshkp/button_messages
Improve some button labels in preferences
2018-04-26 16:46:59 +02:00
janekptacijarabaci 98d8f632c6 [PALEMOON] Preferences: Fix permissions.xul (an introductory comment) 2018-04-26 16:33:40 +02:00
janekptacijarabaci 83697a652b [follow up] Bug 1192458, Part 1 - Consolidate push and desktop notification permissions 2018-04-26 16:06:38 +02:00
janekptacijarabaci 947461bd29 [follow up] Bug 1216271 - Display a notification upon upgrade for users who currently allow notifications for at least one site 2018-04-26 16:06:24 +02:00
wolfbeast 698b659ee2 Make github file all caps 2018-04-26 14:37:47 +02:00
wolfbeast 43642846e2 Add github contributing guidelines 2018-04-26 14:26:35 +02:00
janekptacijarabaci 7ca378e8c0 [PALEMOON] Permisions Manager: Added a comment 2018-04-26 12:52:13 +02:00
janekptacijarabaci a8b1780786 Bug 1280775 - null check in removePermission to prevent crash: permission manager change 2018-04-26 12:40:03 +02:00
janekptacijarabaci e0b1636542 Bug 1212610 - Fix sorting permissions by site due a legacy property name being referenced 2018-04-26 12:38:26 +02:00
janekptacijarabaci 74995ea938 Bug 1190175 - Update offlineapp listbox to display origin property 2018-04-26 12:37:44 +02:00
janekptacijarabaci 28a3484e2b Bug 1189073 - Handle entering 'localhost:12345' into the cookie exceptions dialog correctly 2018-04-26 12:36:58 +02:00
janekptacijarabaci db90929b34 Bug 1185365 - Correctly deal with full URLs in the cookie exceptions dialog 2018-04-26 12:35:55 +02:00
janekptacijarabaci dbfedf8462 Bug 1173523 - Part 9: Update pageinfo to use the new API for nsIPermission 2018-04-26 12:30:42 +02:00
janekptacijarabaci 0638a11fc4 Bug 1173523 - Part 7: Update advanced.js to use new API for nsIPermission 2018-04-26 12:29:03 +02:00
janekptacijarabaci 33377b3a9e Bug 1173523 - Part 5: Update the preferences permissions UI to use new API for nsIPermission (+ fix typos) 2018-04-26 12:26:15 +02:00
janekptacijarabaci 02f885d124 Bug 1173523 - Part 4: Update about:permissions to use new API for nsIPermission 2018-04-26 12:17:41 +02:00
janekptacijarabaci 94d59b4ebc Bug 1173523 - Part 3: Update PluginContent to use new API for nsIPermission 2018-04-26 10:38:41 +02:00
janekptacijarabaci 2703a13f12 Bug 1221330 - Show the app icon in the XUL upgraded notifications alert 2018-04-26 10:23:42 +02:00
janekptacijarabaci 38dc3017a0 Bug 1220884 - Friendlier string for the notification upgrade UI 2018-04-26 10:22:48 +02:00
janekptacijarabaci 76658b9682 Bug 1216271 - Follow-up to add L10N notes and fix style to use an early return 2018-04-26 10:21:56 +02:00
janekptacijarabaci 79b88b3039 Bug 1216271 - Display a notification upon upgrade for users who currently allow notifications for at least one site 2018-04-26 10:21:03 +02:00
janekptacijarabaci 7b7c12e0a3 Bug 1216684 - Notification permissions cannot be global granted/denied in private windows 2018-04-26 10:11:19 +02:00
janekptacijarabaci d49d212c38 Bug 1192458, Part 2 - New icon for consolidated notification permission 2018-04-26 10:07:36 +02:00
janekptacijarabaci d6213d3f05 Bug 1192458, Part 1 - Consolidate push and desktop notification permissions 2018-04-26 09:54:20 +02:00
adeshkp f506d6fcaa [Toolkit] Change button labels in password manager 2018-04-26 01:53:49 -04:00
adeshkp 4411befc8e [Basilisk] Change button labels in cookies dialog 2018-04-26 01:49:13 -04:00
adeshkp eca7e648bf [Pale Moon] Change button labels in cookies dialog 2018-04-26 01:48:38 -04:00
janekptacijarabaci 4678680983 Bug 661831 - In about:permissions, make Ctrl+f focus the filter box instead of invoking the find bar 2018-04-26 07:25:09 +02:00
janekptacijarabaci eebf4162a9 Bug 1170200 - Part 2: Update JavaScript consumers of nsIPermissionManager::Remove 2018-04-26 07:16:10 +02:00
janekptacijarabaci 49ba38d216 Bug 1039540 - Disable the sorting of rows of sub-dialogs when right clicking (+ style clean up) 2018-04-26 07:12:25 +02:00
janekptacijarabaci cbbc05dd10 Bug 1137870 - Fix mismatching argument counts in permissions.js (partially) 2018-04-26 07:08:26 +02:00
janekptacijarabaci 0bea8f9eff Bug 340432 - Add the ability to cancel site permission changes 2018-04-26 07:06:14 +02:00
janekptacijarabaci b688bdfa9a Bug 574460 - Fix handling of permission deletion notifications in preference dialogs 2018-04-26 06:42:11 +02:00
janekptacijarabaci 522095380f Bug 431901 - Update preference dialogs to treat backspace and delete equivalently on Mac OS X 2018-04-26 06:35:21 +02:00
janekptacijarabaci 90e7b45099 Bug 1006461 - Fix handling of permission notifications in preference dialogs 2018-04-26 06:33:40 +02:00
janekptacijarabaci e33d1d875e Bug 956151 - Remove the perm attribute in permissions.js 2018-04-26 06:32:22 +02:00
janekptacijarabaci 62779a4b8d Bug 1038811 - Push Notifications (observer) 2018-04-26 06:19:39 +02:00
janekptacijarabaci 43caa48ecb Bug 1038811 - Push Notifications - Firefox front end changes for preferences, and permission notification 2018-04-26 06:17:52 +02:00
janekptacijarabaci c86fbfd031 Bug 1115293 - Use "use strict" 2018-04-26 05:40:26 +02:00
janekptacijarabaci b0d7b1bb38 Bug 996448 - Lazify the loading of PluralForm.jsm everywhere 2018-04-26 05:39:27 +02:00
janekptacijarabaci 72def35cd0 [PALEMOON] [frontend vs backend] Downloads: Fix - the context menu - "Copy Download Link"
Issue #121
2018-04-26 00:19:51 +02:00
wolfbeast 42f8488a5f Merge branch 'master' into Basilisk-release 2018-04-25 23:08:37 +02:00
wolfbeast 6c3f95480a Disable TLS 1.3 by default for now until our NSS can be updated to the latest spec. 2018-04-25 21:36:59 +02:00
wolfbeast 7c4d50dccf Revert "Update NSPR to 4.18"
This reverts commit 8781f74555.
2018-04-25 21:33:57 +02:00
wolfbeast fba28f1975 Revert "Update NSS to 3.35-RTM"
This reverts commit f1a0f0a56f.
2018-04-25 21:33:33 +02:00
wolfbeast b4154e043b Revert "Update build system files for NSS 3.35"
This reverts commit a910f57af6.
2018-04-25 21:33:09 +02:00
janekptacijarabaci 1e7bbbf01c Bug 1243445 - Pasting an invalid URL breaks the Downloads View in the Library
Issue #121
2018-04-25 20:27:42 +02:00
janekptacijarabaci fa6fa13eb4 Bug 945707 - Pausing a download fails when done after a retry + follow up (see the description)
Issue #121
[follow up] Bug 92737 - Part 9: Download multiple files when multiple
items are dropped on Downloads view in Library Window
2018-04-25 16:05:19 +02:00
janekptacijarabaci 3ab6c7feee Merge branch 'master' of https://github.com/MoonchildProductions/UXP into pm_url_1 2018-04-25 15:48:44 +02:00
wolfbeast b069dabc91 Avoid calling slice in self-hosted code. DiD
This time without unrelated/incomplete pluralforms junk.
2018-04-25 11:16:14 +02:00
wolfbeast 9349f7f29e Revert "Add pluralrules to JS Intl"
This reverts commit 7686bceecf.
2018-04-25 08:26:25 +02:00
wolfbeast fe8155c118 Merge branch 'master' of https://github.com/MoonchildProductions/UXP 2018-04-25 01:44:14 +02:00
wolfbeast fcfd61829a Honor browser.safebrowsing.UI.enabled
This resolves #266
2018-04-25 01:41:05 +02:00
Moonchild a203f449bb Merge pull request #262 from janekptacijarabaci/js_dom_overflow_1
moebius#138: Optimize operations on root of deeply-nested frame tree
2018-04-25 01:01:08 +02:00
wolfbeast acd4eee44e Tweak fullscreen API 2018-04-24 23:12:55 +02:00
janekptacijarabaci eae8d21428 moebius#138: Optimize operations on root of deeply-nested frame tree
https://github.com/MoonchildProductions/moebius/pull/138
2018-04-24 21:39:13 +02:00
wolfbeast f7edee79a1 Remove build support for HP-UX
Note: 3rd party lib support (NSS, etc.) has not been touched.
2018-04-24 20:27:06 +02:00
janekptacijarabaci d0e748cada Bug 1338053: Make nsFlexContainerFrame::MarkIntrinsicISizesDirty() also call its parent class's method 2018-04-24 20:25:23 +02:00
janekptacijarabaci bf901ae222 Bug 1336708: Reftest 2018-04-24 20:23:20 +02:00
janekptacijarabaci dca75f84eb Bug 1336708: Don't reuse cached flex-item reflow measurements if the item's computed height has changed 2018-04-24 20:21:41 +02:00
janekptacijarabaci 2f87463ea3 Bug 1209697: Cache flex measuring reflows to avoid exponential behavior 2018-04-24 20:18:05 +02:00
janekptacijarabaci 401a0e12af Bug 1209697: Clear ancestor intrinsic sizes when our block size changes 2018-04-24 20:17:56 +02:00
Moonchild 810a3245a8 Merge pull request #259 from janekptacijarabaci/error_CloudSync_2
moebius#209: Throws an error - "CloudSync is not defined"
2018-04-24 19:38:33 +02:00
Moonchild 444b1a26ab Merge pull request #260 from janekptacijarabaci/plugins_placeholder_css_1
palemoon#583 and #1071: Fix: Plugin placeholder image/text (ask to activate) missing + overlay
2018-04-24 19:36:41 +02:00
Moonchild 1b0a03a2e1 Merge pull request #258 from janekptacijarabaci/forgetAboutSite_1
moebius#30 and #37: ForgetAboutSite.jsm - promise - serialize vs. parallel + a comment
2018-04-24 19:34:58 +02:00
Moonchild 844da2ccc6 Merge pull request #243 from janekptacijarabaci/fetch_response_body_null_1
moebius#312: DOM - Fix incorrect TypeError: Response body is given with a null body status
2018-04-24 19:34:41 +02:00
janekptacijarabaci 70c2ad9f47 palemoon#583 and #1071: Fix: Plugin placeholder image/text (ask to activate) missing + overlay
https://github.com/MoonchildProductions/Pale-Moon/pull/583
https://github.com/MoonchildProductions/Pale-Moon/pull/1071
2018-04-24 19:31:32 +02:00
janekptacijarabaci 9b88e7cf78 moebius#209: Throws an error - "CloudSync is not defined"
https://github.com/MoonchildProductions/moebius/pull/209
2018-04-24 19:26:11 +02:00
janekptacijarabaci 846bbb9930 moebius#30 and #37: ForgetAboutSite.jsm - promise - serialize vs. parallel + a comment
https://github.com/MoonchildProductions/moebius/pull/30
https://github.com/MoonchildProductions/moebius/pull/37
2018-04-24 19:23:04 +02:00
New Tobin Paradigm c80777a81c Merge pull request #255 from janekptacijarabaci/pm_preferences_cookies_1
[PALEMOON] [frontend vs backend] Fix cookies in Preferences
2018-04-24 11:03:07 -04:00
New Tobin Paradigm bb87aeab9a Merge pull request #254 from janekptacijarabaci/pm_sanitize_1
[PALEMOON] [frontend vs backend] Fix sanitize ("History" - "Clear Recent History...")
2018-04-24 11:00:56 -04:00
New Tobin Paradigm ce197c4e52 Merge pull request #244 from janekptacijarabaci/pm_toolbars_custom_persist_2
[fix typo] palemoon#903 and #975: Customizable toolbars - persist the attribute "collapsed" (backward compatible)
2018-04-24 11:00:43 -04:00
wolfbeast 1697d6456f Re-introduce some required overrides (why were ALL of them cleared?!) 2018-04-24 16:52:13 +02:00
janekptacijarabaci 2f5ced80c4 [PALEMOON] [frontend vs backend] Fix cookies in Preferences
Issue #121
2018-04-24 15:37:56 +02:00
janekptacijarabaci 11063e9720 [PALEMOON] [frontend vs backend] Fix sanitize ("History" - "Clear Recent History..."):
Issue #121
2018-04-24 15:36:35 +02:00
janekptacijarabaci 765fc0b0e2 [fix typo] palemoon#903 and #975: Customizable toolbars - persist the attribute "collapsed" (backward compatible)
https://github.com/MoonchildProductions/Pale-Moon/pull/903
https://github.com/MoonchildProductions/Pale-Moon/pull/975
https://github.com/MoonchildProductions/UXP/issues/242
2018-04-24 11:57:59 +02:00
janekptacijarabaci 27e021136b moebius#312: DOM - Fix incorrect TypeError: Response body is given with a null body status
https://github.com/MoonchildProductions/moebius/issues/312
2018-04-24 11:47:08 +02:00
wolfbeast 6662cdbeb3 Hard-code the version number for Mozilla's version checker for add-ons. 2018-04-23 22:46:01 +02:00
wolfbeast 681c39a0ec Hard-code the version number for Mozilla's version checker for add-ons. 2018-04-23 17:21:17 +02:00
Moonchild 31187065d9 Merge pull request #240 from JustOff/PR_bootstrap_scope
Fix accessing the bootstrap methods when they are declared in the new lexical scope
2018-04-23 16:37:25 +02:00
JustOff be2b3635ad Fix accessing the bootstrap methods when they are declared in the new lexical scope 2018-04-23 14:52:50 +03:00
Moonchild bccb9c1708 Merge pull request #238 from janekptacijarabaci/js_dom_pointer_events_2
moebius#195: DOM - PointerEvents - improvements (implement pointerup and pointerdown)
2018-04-23 12:17:34 +02:00
janekptacijarabaci d9d3b687b7 moebius#195: DOM - PointerEvent - improvements
https://github.com/MoonchildProductions/moebius/pull/195
2018-04-23 11:54:06 +02:00
Moonchild 1ea8529cfb Merge pull request #233 from janekptacijarabaci/webextensions_sandbox_sandboxName_1
moebius#328: Set a sandboxName on the WebExtensions Content Script sandboxes
2018-04-23 11:46:38 +02:00
Moonchild 8ed46f424e Merge pull request #231 from janekptacijarabaci/security_blocking_data_1
moebius#223, #224, #226, #230: DOM - consider blocking top level window data: URIs
2018-04-23 11:46:21 +02:00
Moonchild 8ffac11aa6 Merge pull request #232 from janekptacijarabaci/webextensions_shortcut_space_1
moebius#221: WebExtensions - commands API does not support shortcuts with space or numbers
2018-04-23 11:45:34 +02:00
Moonchild f5618cd8e9 Merge pull request #235 from janekptacijarabaci/security_windows_certificate-stores_1
moebius#119: (Windows) Security - Certificate Stores - NSSCertDBTrustDomain allows end-entities to be their own trust anchors
2018-04-23 11:45:20 +02:00
Moonchild 3b55277bc5 Merge pull request #237 from janekptacijarabaci/js_dom_getSelection_document_1
moebius#121: DOM - Selection API - getSelection() should exist on XMLDocument / Selection.type
2018-04-23 11:45:04 +02:00
Moonchild d220a5e6aa Merge pull request #236 from janekptacijarabaci/js_dom_createEvent_FocusEvent_1
moebius#123: DOM - Events - support createEvent("FocusEvent")
2018-04-23 11:44:47 +02:00
Moonchild 531abf2551 Merge pull request #234 from janekptacijarabaci/about_errors_1
moebius#65: Fix: various "about:..." system pages errors
2018-04-23 11:44:12 +02:00
janekptacijarabaci 0a9acadcca moebius#121: DOM - Selection API - getSelection() should exist on XMLDocument / Selection.type
https://github.com/MoonchildProductions/moebius/pull/121
2018-04-23 09:16:50 +02:00
janekptacijarabaci 9957290b5a moebius#123: DOM - Events - support createEvent("FocusEvent")
https://github.com/MoonchildProductions/moebius/pull/123
2018-04-23 09:13:00 +02:00
janekptacijarabaci c3ec00a152 moebius#119: (Windows) Security - Certificate Stores - NSSCertDBTrustDomain allows end-entities to be their own trust anchors
https://github.com/MoonchildProductions/moebius/pull/119
2018-04-23 09:10:12 +02:00
janekptacijarabaci b9ecf99332 moebius#65: Fix: "about:..." - throws an errors
https://github.com/MoonchildProductions/moebius/pull/65
2018-04-23 09:02:57 +02:00
janekptacijarabaci ace6085fea moebius#328: Set a sandboxName on the WebExtensions Content Script sandboxes
https://github.com/MoonchildProductions/moebius/pull/328
2018-04-23 08:52:58 +02:00
janekptacijarabaci e2649bc086 moebius#221: WebExtensions - commands API does not support shortcuts with space or numbers
https://github.com/MoonchildProductions/moebius/pull/221
2018-04-23 08:51:40 +02:00
Matt A. Tobin 1916969baa Fix preprocessor conditional precedence in application.ini 2018-04-22 19:15:20 -04:00
Matt A. Tobin 3c48cc8509 Resolve issues with application.ini not allowing non-mcp applications to be official and have their own vendor
Also add BinOC cause two words breaks the build system
2018-04-22 18:36:16 -04:00
janekptacijarabaci ccbd5ecf57 moebius#187: DOM - nsIContentPolicy - context (document)
https://github.com/MoonchildProductions/moebius/pull/187
2018-04-23 00:13:56 +02:00
janekptacijarabaci 30621a6307 Revert "Bug 1182569: Use AsyncOpen2 for docshell loads"
This reverts commit 29bd11c3cd.
2018-04-22 22:17:18 +02:00
janekptacijarabaci 115cf1e322 Revert "Bug 1182569: Update ContentSecurityManager to handle docshell loads"
This reverts commit 2e33335820.
2018-04-22 22:17:09 +02:00
janekptacijarabaci 13f3978a14 Revert "Bug 1182569 - Skip security check for plugins using newstream attribute"
This reverts commit 5b0f4649b3.
2018-04-22 22:16:58 +02:00
janekptacijarabaci ee4f7c4aa1 Revert "Bug 1182569: Update tests when converting docshell loads to use AynscOpen2"
This reverts commit b73225e886.
2018-04-22 22:16:35 +02:00
janekptacijarabaci f5545f8af2 Revert "Bug 1182569: Disable hsts priming for loads of type subdocument for wpt tests"
This reverts commit 5d9ae788d5.
2018-04-22 22:16:22 +02:00
janekptacijarabaci 49989d0f01 Revert "Bug 1182569: Add credentials mode for fetch-frame-resource.https.html wpt test"
This reverts commit d3575bfb5b.
2018-04-22 22:16:11 +02:00
janekptacijarabaci d3575bfb5b Bug 1182569: Add credentials mode for fetch-frame-resource.https.html wpt test
native in moebius
2018-04-22 22:11:33 +02:00
janekptacijarabaci 5d9ae788d5 Bug 1182569: Disable hsts priming for loads of type subdocument for wpt tests
native in moebius
2018-04-22 22:09:32 +02:00
janekptacijarabaci b73225e886 Bug 1182569: Update tests when converting docshell loads to use AynscOpen2
native in moebius
2018-04-22 22:02:20 +02:00
janekptacijarabaci 5b0f4649b3 Bug 1182569 - Skip security check for plugins using newstream attribute
native in moebius
2018-04-22 21:59:46 +02:00
janekptacijarabaci 2e33335820 Bug 1182569: Update ContentSecurityManager to handle docshell loads
native in moebius
2018-04-22 21:51:49 +02:00
janekptacijarabaci 29bd11c3cd Bug 1182569: Use AsyncOpen2 for docshell loads
native in moebius
2018-04-22 21:47:27 +02:00
janekptacijarabaci dbfad99a51 Bug 1323683 - Fold nsIURIWithQuery into nsIURI
native in moebius
2018-04-22 21:20:53 +02:00
janekptacijarabaci 8af1b0c22a Bug 1329570 - Restore missing error check in mozilla::dom::Location::GetPathname
native in moebius
2018-04-22 21:00:39 +02:00
wolfbeast 55eb2832f5 Set preferences for release. 2018-04-22 20:41:43 +02:00
janekptacijarabaci 95c4608241 Bug 1329288: Allow content policy consumers to identify contentPolicy checks from docshell 2018-04-22 20:38:02 +02:00
janekptacijarabaci a38e87d455 Bug 1329288 - Test ContentPolicy blocks opening a new window 2018-04-22 20:37:09 +02:00
janekptacijarabaci 660d01438a moebius#230: Consider blocking top level window data: URIs (part 3/3 without tests)
https://github.com/MoonchildProductions/moebius/pull/230
2018-04-22 20:28:18 +02:00
wolfbeast 8ae405b693 Make sure to keep the safebrowsing entities valid. 2018-04-22 19:48:42 +02:00
wolfbeast eb25a9bd70 Update about:rights legal text. 2018-04-22 19:48:26 +02:00
wolfbeast 3dbe5b2d7b Remove undesired system add-ons (all except PDFjs) 2018-04-22 19:48:09 +02:00
wolfbeast 420458002d Disable Mozilla health report service. 2018-04-22 19:47:53 +02:00
wolfbeast 7ab45761af Remove NPAPI deprecation statement from about:plugins. 2018-04-22 19:47:37 +02:00
janekptacijarabaci f1e5578718 moebius#226: Consider blocking top level window data: URIs (part 2/2 without tests)
https://github.com/MoonchildProductions/moebius/pull/226
2018-04-22 19:03:22 +02:00
janekptacijarabaci 1b4c4256ee moebius#223: Consider blocking top level window data: URIs (part 1/3 without tests)
https://github.com/MoonchildProductions/moebius/pull/223
2018-04-22 18:51:38 +02:00
wolfbeast 003273327d Make sure to keep the safebrowsing entities valid. 2018-04-22 18:17:19 +02:00
Matt A. Tobin c30ebdac27 Fix for loops in AddonRepository_SQLiteMigrator.jsm (SyntaxError: missing ] after element list) 2018-04-22 11:16:08 -04:00
wolfbeast 650371311d Update about:rights legal text. 2018-04-22 14:59:26 +02:00
wolfbeast 1fccd9d8ee Remove undesired system add-ons (all except PDFjs) 2018-04-22 13:19:49 +02:00
wolfbeast f2f6f7e8b0 Disable Mozilla health report service. 2018-04-22 13:16:44 +02:00
wolfbeast e73929a782 Remove NPAPI deprecation statement from about:plugins. 2018-04-22 13:08:18 +02:00
Moonchild c74754d238 Merge pull request #225 from janekptacijarabaci/data-transfer_1
moebius#56: DataTransfer - Pasting image from clipboard fails in some cases
2018-04-22 10:13:13 +02:00
Moonchild cbe93351ee Merge pull request #227 from janekptacijarabaci/devtools_preprocessor_1
Use preprocessor for "chrome://devtools/skin/devtools-browser.css" in browser.xul
2018-04-22 10:13:00 +02:00
Moonchild a558ac8ac9 Merge pull request #228 from janekptacijarabaci/pm_devtools_4_path
[PALEMOON] [frontend vs backend] Use "devtools-browser.css" instead of "global/skin/devtools/common.css" (does not exist) in browser.xul
2018-04-22 10:12:40 +02:00
Moonchild a54f392aff Merge pull request #229 from janekptacijarabaci/devtools_css_warnings_variable_1
[DevTools] Fix warnings: "Property contained reference to invalid variable"
2018-04-22 10:11:15 +02:00
janekptacijarabaci bdb4ff5816 moebius#157: The Performance Observer (improvements)
https://github.com/MoonchildProductions/moebius/pull/157
2018-04-22 04:25:34 +02:00
janekptacijarabaci 752af49b6e [DevTools] Fix warnings: "Property contained reference to invalid variable"
Issue #121
2018-04-22 02:34:33 +02:00
janekptacijarabaci 9e45391482 Use preprocessor for "chrome://devtools/skin/devtools-browser.css" in browser.xul 2018-04-22 02:31:00 +02:00
janekptacijarabaci 766ad26871 [PALEMOON] [frontend vs backend] Use "devtools-browser.css" instead of "global/skin/devtools/common.css" (does not exist) in browser.xul
Issue #121
2018-04-22 02:28:42 +02:00
New Tobin Paradigm 747b7a9cc4 Merge pull request #226 from JustOff/PR_PMkit_part3
Make Add-on SDK (Jetpack) work on Pale Moon || Part 3
2018-04-21 20:02:56 -04:00
JustOff 54db9d2005 [PMkit] Fix the shim for 'sdk/ui/button' 2018-04-22 00:44:42 +03:00
JustOff d002463032 [PMkit] Mark 'sdk/panel' as compatible with Pale Moon 2018-04-22 00:43:24 +03:00
janekptacijarabaci 306690e137 Merge branch 'master' of https://github.com/MoonchildProductions/UXP into data-transfer_1 2018-04-21 18:53:06 +02:00
wolfbeast 0a744b1cfe Remove unused header file for MeeGo Touch 2018-04-21 17:33:10 +02:00
wolfbeast 21f5ffe826 Disallow E10S to run. 2018-04-21 15:05:05 +02:00
Moonchild 844da4597f Merge pull request #221 from janekptacijarabaci/js_dom_pointer_events_1
moebius#71: Pointer Events - improvements
2018-04-21 14:53:24 +02:00
wolfbeast fb37ed0a37 Disable grabbing geo-specific search engines from Mozilla servers. 2018-04-21 02:58:41 +02:00
wolfbeast 7e01cff204 Remove region-specific overrides for search engines. 2018-04-21 02:40:43 +02:00
wolfbeast b2aab9283a Define vendorFullName in Official Branding 2018-04-21 02:33:37 +02:00
Matt A. Tobin 94a484dd7e Merge branch 'master' into xulrunner 2018-04-20 20:16:18 -04:00
Matt A. Tobin 754ad61048 Import XULRunner and make it produce the generic stub 2018-04-20 20:11:26 -04:00
New Tobin Paradigm b3bf60f426 Merge pull request #223 from trav90/glxtest_pipe
Use -1 instead of 0 to indicate absent glxtest_pipe fd
2018-04-20 19:42:04 -04:00
trav90 2828e5db82 Use -1 instead of 0 to indicate absent glxtest_pipe fd 2018-04-20 17:44:53 -05:00
New Tobin Paradigm fc5870128f Merge pull request #222 from trav90/buildsystem-work
Force use of level 1 Liftetime DSE optimization with modern GCC
2018-04-20 18:20:46 -04:00
New Tobin Paradigm 6896f68985 Merge pull request #217 from janekptacijarabaci/webextensions_runtime_onMessageExternal-onConnectExternal_1
moebius#217: WebExtensions - Implemented "runtime.onMessageExternal"/"onConnectExternal"
2018-04-20 17:51:57 -04:00
New Tobin Paradigm 68c11d035c Merge pull request #218 from janekptacijarabaci/webextensions_commands_1
moebius#219: WebExtensions - add-on throws error on load when suggested_key is null / missing
2018-04-20 17:51:40 -04:00
New Tobin Paradigm 55b2b54f43 Merge pull request #220 from JustOff/PR_PMkit_part2
Make Add-on SDK (Jetpack) work on Pale Moon || Part 2
2018-04-20 17:49:47 -04:00
janekptacijarabaci 4549256c2b moebius#56: Fix: DataTransfer - Pasting image from clipboard fails in some cases
https://github.com/MoonchildProductions/moebius/pull/56
2018-04-20 22:54:26 +02:00
janekptacijarabaci 09f456b280 moebius#71: DOM - Pointer Events - improvements
https://github.com/MoonchildProductions/moebius/pull/71
2018-04-20 22:18:52 +02:00
Matt A. Tobin a26cb28c97 [PALEMOON] Replace tabs with 2 spaces in statusbar component 2018-04-20 16:10:23 -04:00
JustOff e00e3008fe [PMkit] Rely on MOZ_WEBEXTENSIONS to include 'sdk/webextension' 2018-04-20 22:45:23 +03:00
Matt A. Tobin 114cc12ee9 Un-deprecate nsNavHistory::GetPageTitle and nsNavBookmarks::GetURIForKeyword 2018-04-20 15:30:42 -04:00
janekptacijarabaci 9b1ba68334 Bug 1302297 - Part 4: Remove every button and buttons used in testcases (partially)
native in moebius
2018-04-20 20:41:48 +02:00
janekptacijarabaci e43cde864f Bug 1299197 Part2: Serialize WidgetPointerHelper in IPC message
native in moebius
2018-04-20 20:30:07 +02:00
janekptacijarabaci 8a6f654e95 Bug 1299197 Part1: Refine WidgetPointerHelper
native in moebius
2018-04-20 20:28:00 +02:00
JustOff 4c0556f928 [PMkit] Remove embedded WebExtensions support 2018-04-20 21:11:18 +03:00
JustOff 7d7df95f28 [PMkit] Provide gContextMenuContentData for 'sdk/context-menu' 2018-04-20 21:10:10 +03:00
janekptacijarabaci d4feeb474e Bug 1322994 - Update pointerevent web-platform-tests (partially - depends on)
https://github.com/MoonchildProductions/moebius/pull/71
2018-04-20 19:44:42 +02:00
janekptacijarabaci 04c7949bc3 Bug 1317030 - Removing/reattaching an element from the DOM triggers spurious mouseenter events
native in moebius
2018-04-20 19:16:00 +02:00
janekptacijarabaci 11c9f20ea8 moebius#219: WebExtensions - add-on throws error on load when suggested_key is null / missing
https://github.com/MoonchildProductions/moebius/pull/219
2018-04-20 18:08:43 +02:00
janekptacijarabaci 0b2e4f1afa moebius#217: WebExtensions - Implemented "runtime.onMessageExternal"/"onConnectExternal"
https://github.com/MoonchildProductions/moebius/pull/217
2018-04-20 17:39:09 +02:00
wolfbeast 20a3f8c006 Move the Mark of the Web pref to GRE pref file. 2018-04-20 16:13:21 +02:00
wolfbeast eb64fb02b6 Make the Mark of the Web preference applicable to all applications.
Follow-up to #215.
2018-04-20 16:09:04 +02:00
wolfbeast 877167cf26 Re-implement pref-able file zone information ("Mark of the Web")
See also:
https://github.com/MoonchildProductions/Pale-Moon/issues/593
https://github.com/MoonchildProductions/Pale-Moon/pull/599
2018-04-20 15:59:23 +02:00
Moonchild 27af68f279 Merge pull request #216 from MoonchildProductions/revert-215-pm_zone-information_1
Revert "[PALEMOON] Reimplemented "Time Zone Information""
2018-04-20 15:52:48 +02:00
Moonchild f5c377092c Revert "[PALEMOON] Reimplemented selection internet zone information on downloaded files" 2018-04-20 13:51:38 +00:00
New Tobin Paradigm 954b1888d2 Merge pull request #215 from janekptacijarabaci/pm_zone-information_1
[PALEMOON] Reimplemented "Time Zone Information"
2018-04-20 09:41:21 -04:00
New Tobin Paradigm 8b0c6d3857 Merge pull request #214 from janekptacijarabaci/pm_cmdline_columns-alignment_1
[PALEMOON] moebius#58: Pale Moon - the cmd line - help (the columns alignment)
2018-04-20 09:41:04 -04:00
New Tobin Paradigm 758d79f4b4 Merge pull request #213 from janekptacijarabaci/cmd_migration_1
moebius#144: Launch command: basilisk "-migration -p" (throws an error)
2018-04-20 09:40:46 -04:00
New Tobin Paradigm 633cc96bce Merge pull request #211 from JustOff/PR_PMkit_part1
Make Add-on SDK (Jetpack) work on Pale Moon || Part 1
2018-04-20 09:40:31 -04:00
trav90 c5a52404bd Style fix 2018-04-20 08:27:35 -05:00
janekptacijarabaci cd05a3a783 [PALEMOON] Reimplemented "Time Zone Information"
https://github.com/MoonchildProductions/Pale-Moon/issues/593
Issue #121
2018-04-20 14:52:33 +02:00
New Tobin Paradigm ae4be7c9eb Merge pull request #212 from janekptacijarabaci/profile_resseting_1
moebius#84, #205: Fix: The profile - resetting (partially)
2018-04-20 07:32:32 -04:00
janekptacijarabaci 66fa3acfbd [PALEMOON] moebius#58: Pale Moon - the cmd line - help (the columns alignment)
https://github.com/MoonchildProductions/UXP/commit/259e214960c23346628311d88427c7ca13bdb335
https://github.com/MoonchildProductions/moebius/pull/58
2018-04-20 13:28:38 +02:00
janekptacijarabaci 6d04705a97 Revert partially (application/palemoon) "moebius#205: Fix: The profile - resetting (the custom profile name)" 2018-04-20 13:09:10 +02:00
janekptacijarabaci a5dc179c32 Revert "[PALEMOON] Fix: The profile resseting - partially"
This reverts commit 4e7e4c2cbe.
2018-04-20 12:08:50 +02:00
janekptacijarabaci 56138c585a moebius#144: Launch command: basilisk "-migration -p" (throws an error)
https://github.com/MoonchildProductions/moebius/pull/144
2018-04-20 08:56:09 +02:00
janekptacijarabaci 2b3b701187 [PALEMOON] Fix: The profile resseting - partially (no the cmd "-migration")
https://github.com/MoonchildProductions/UXP/commit/aaf3409c46a5e472bc539a6ad5902f886c980e1f
2018-04-20 08:30:19 +02:00
janekptacijarabaci 4e7e4c2cbe [PALEMOON] Fix: The profile resseting - partially
https://github.com/MoonchildProductions/UXP/commit/aaf3409c46a5e472bc539a6ad5902f886c980e1f

- Revert migration
- Partially
- no manual migration from Places
- no migration from other browsers
- no the cmd `-migration`
- Fix migration files (`// Tycho:`)
- Something in the last commit (a typo)
2018-04-20 08:28:12 +02:00
JustOff c1a1f487af [PMkit] Allow access to 'sdk/ui/buttons' via require('sdk/ui') 2018-04-19 23:45:44 +03:00
JustOff 304b177667 [PMkit] Add the shim for 'sdk/ui/button' 2018-04-19 23:44:30 +03:00
JustOff 6014cdb2e6 [PMkit] Update 'module.metadata' with the Pale Moon engine where appropriate in 'sdk/*' 2018-04-19 23:42:13 +03:00
JustOff d180f2aaf0 [PMkit] Add Pale Moon to 'modules/system/Startup.js' 2018-04-19 23:37:24 +03:00
JustOff 178989c5f5 [PMkit] Add Pale Moon as a target engine to 'sdk/system/xul-app.jsm' 2018-04-19 23:36:08 +03:00
janekptacijarabaci 8b960b23ac moebius#205: Fix: The profile - resetting (the custom profile name)
https://github.com/MoonchildProductions/moebius/pull/205
2018-04-19 19:49:01 +02:00
trav90 0a6fd85ac1 Force use of level 1 Liftetime DSE optimization on modern GCC
Instead of completely disabling it.
2018-04-19 11:39:02 -05:00
janekptacijarabaci 585c1ec4b2 moebius#84: Fix: The profile - resetting (follow up)
https://github.com/MoonchildProductions/moebius/pull/84
2018-04-19 17:26:39 +02:00
New Tobin Paradigm 0216b346f0 Merge pull request #210 from janekptacijarabaci/pm_installer_1
[PALEMOON] Installer - fix some comments (firefox.exe => palemoon.exe)
2018-04-19 09:01:22 -04:00
janekptacijarabaci 1a1d8ddc8c moebius#84: Fix: The profile - resetting
https://github.com/MoonchildProductions/moebius/pull/184
2018-04-19 14:29:05 +02:00
janekptacijarabaci 54c479af3a Bug 1122124: Fix default profile setting after reset, keep profile name
Native in moebius
https://github.com/MoonchildProductions/moebius/pull/184
2018-04-19 14:21:10 +02:00
janekptacijarabaci 9ce0363260 [PALEMOON] Installer - fix some comments (firefox.exe => palemoon.exe) 2018-04-19 14:01:28 +02:00
wolfbeast e3d08de2d2 Enable requestIdleCallback API
This resolves #209.
2018-04-19 13:37:51 +02:00
Moonchild 493d7334f8 Merge pull request #207 from janekptacijarabaci/js_dom_window_requestIdleCallback_1
moebius#73: DOM - window.requestIdleCallback - improvements
2018-04-19 13:35:14 +02:00
wolfbeast d7df65954a Merge branch 'ported-upstream' 2018-04-19 12:08:25 +02:00
Eric Rahm 9135a11e8c Bug 1452202 - Clean up PLDHashTable move operator. r=froydnj, a=RyanVM
--HG--
extra : source : 9036c64b7a66ffe93e717ca97642a4400e396d9c
extra : intermediate-source : 041d1c561feb5f4d9bcd492f31f7203ca477f938
2018-04-19 12:06:04 +02:00
Boris Zbarsky 3b4a815657 Bug 1453339 - Make it harder to mess up Promise::All. r=peterv, a=RyanVM
MozReview-Commit-ID: UO4wssYHj7
2018-04-19 12:05:25 +02:00
Miko Mynttinen ddbe089a62 Bug 1393367 - Change MOZ_ASSERT to MOZ_RELEASE_ASSERT. r=mstange, r=fbraun, a=RyanVM
--HG--
extra : source : 1908cd8ed88dd4f77a99dff39c193d7d3f435195
extra : intermediate-source : 9718d92fab4d9a39acdc2afb0302b6fcd7997f6c
2018-04-19 12:04:38 +02:00
Ryan VanderMeulen e2403192f5 Bug 1452075 - Backport some upstream pdf.js fixes. 2018-04-19 12:03:19 +02:00
Jan de Mooij 9472136272 Bug 1444668 - Avoid allocating large AssemblerBuffers. r=luke, r=bbouvier, a=RyanVM 2018-04-19 12:01:40 +02:00
Bob Owen f243b7b4af Bug 1451376 - Properly enforce single PrintingParent per content process. r=jld, a=RyanVM
--HG--
extra : source : 6e0fe40d8a55a986a26844393853722824918ffe
extra : intermediate-source : 8364f4c4f877f5edfb03ddf1304840b9f2cf7b11
2018-04-19 12:00:54 +02:00
Randell Jesup 8c9b42d0b9 Bug 1452416 - Release GraphDrivers outside of StableState runnable to avoid spinning the event queue. r=smaug, r=padenot, a=RyanVM
--HG--
extra : source : c90ec782d481f05f5848f171a945cfc5bcf5b0ca
2018-04-19 11:59:36 +02:00
Andrew Osmond e7189e33f5 Bug 1388020. r=nical, a=RyanVM 2018-04-19 11:58:39 +02:00
Randell Jesup d66d343e1b Bug 1448705 - Use input latency for draining. r=jya, a=RyanVM
--HG--
extra : source : b2904f128f854a71216f299b835da5a422ceb3cd
extra : intermediate-source : eae4410ea11d83feed90ca9d3b6bd5a9c67c17a7
2018-04-19 11:57:36 +02:00
André Bargull 3cf71e4513 Bug 1449574 - Update tzdata in ICU data files to 2018d. r=Waldo, a=RyanVM 2018-04-19 11:53:08 +02:00
wolfbeast cd68a2d8e7 Error out on missing or searchplugin or empty list. 2018-04-19 11:51:49 +02:00
Robert Longson acf95284e7 Bug 1448774. r=dholbert, a=RyanVM
--HG--
extra : source : edfd9ffbd7208ef0a59f40a0d77d8dd53c905cb9
extra : intermediate-source : 3784b22ec536b08ce95201d73ae8806340c18b8c
2018-04-19 11:39:36 +02:00
Botond Ballo 1d126c1d56 Bug 1443092 - Avoid calling SVGAnimatedEnumeration::AnimVal() from nsSVGUtils::GetBBox(). r=jwatt, a=RyanVM
AnimVal() is a DOM getter, and it flushes animations, which we don't want
in GetBBox() which is called from display list building cide and
FrameLayerBuilder.

MozReview-Commit-ID: DWgm7wAV7C0
2018-04-19 11:38:48 +02:00
Lee Salzman f90d03e857 Bug 1441941 - Limit allocations in SkTDArray. r=jrmuizel, a=RyanVM 2018-04-19 11:37:58 +02:00
Andrew Osmond 49969faa91 Bug 1409440. r=tnikkel, a=RyanVM 2018-04-19 11:37:13 +02:00
Boris Zbarsky 2b020e9bbb Bug 1444231 - Fix QI implementation for FragmentOrElement. r=mccr8, a=RyanVM
MozReview-Commit-ID: 9mPO2ezk2Y7

--HG--
extra : source : 060024fa93121d878d27f329c959757e6f71017a
extra : intermediate-source : 925d5693c5a1a73806062947b18c98ed13efc6c3
2018-04-19 11:35:08 +02:00
Valentin Gosu e01e302f10 Bug 1433609 - Ensure that deserialized URL is correct. r=mayhemer, a=RyanVM
MozReview-Commit-ID: BMQfPzPhDhc
2018-04-19 11:34:13 +02:00
Thomas Nguyen 09bbda15b2 Bug 1361699 - Add buffer when writing hashstore to file. r=gcp, r=mcmanus, a=RyanVM
We write a lot of 4-bytes prefixes to file which call many system calls.
We should use a buffer and only write to file if the buffer is full or
finish writing. nsIBufferedOutputStream is a good candidate to do that

MozReview-Commit-ID: CzGOd7iXVTv

--HG--
extra : source : 8f2b4efc5f0d3191a7e80d9324933621e111b44a
2018-04-19 11:33:20 +02:00
Henri Sivonen 0b5cb08596 Bug 1443891. r=emk, a=RyanVM
MozReview-Commit-ID: AkUTNnVslMf
2018-04-19 11:32:08 +02:00
Nicolas Silva ba71cc45fe Bug 1440717 - Use RefPtr for CompositingRenderTargetOGL::mGL. r=Bas, a=ritu
--HG--
extra : source : b6d2d55223d2aa5cb85bbdf33075d1d38f2a9a30
extra : intermediate-source : 0ec90964e0bc479412a4da8a61d48b665211736e
2018-04-19 11:24:32 +02:00
Thomas Daede e0013ce522 Bug 1446062: libtremor Vorbis fix. r=jmspeex a=dveditz
--HG--
extra : transplant_source : %D3%CE8%8D%D3%C0%D3%C7%BE%7D%F2m%5DM%E3%A0%E4%0CW%F3
2018-04-19 11:22:17 +02:00
Monty Montgomery cfc10b6a6e Bug 1446062 - Vorbis fix. r=jmspeex, a=lizzard
--HG--
extra : source : 6b4e98424f0dcc024fcad48608ada351e4075e59
extra : intermediate-source : 3db9e3d52b17563efca181ccbb50deb8660c59ae
2018-04-19 11:21:28 +02:00
Moonchild f141ce6db7 Merge pull request #206 from janekptacijarabaci/pm_PopupNotifications.jsm_1
[PALEMOON] [frontend vs backend] Fix: PopupNotifications.jsm (some extra checkbox) + catch exceptions from callbacks
2018-04-19 09:53:32 +02:00
Moonchild 3833d85985 Merge pull request #205 from janekptacijarabaci/pm_engine-manager_keyword_1
[PALEMOON] Engine Manager throws a warning (deprecated)
2018-04-19 09:53:12 +02:00
Moonchild e16685fee9 Merge pull request #204 from janekptacijarabaci/pm_toolbarbutton_badge_1
[PALEMOON] Fix badged button renders
2018-04-19 09:50:58 +02:00
janekptacijarabaci 11cf9b22e9 [PALEMOON] [frontend vs backend] Follow up - ".toolbarbutton-badge-container" was renamed to ".toolbarbutton-badge-stack"
Issue #202
2018-04-19 09:14:44 +02:00
janekptacijarabaci ec0f5a83bc [PALEMOON] Fix: PopupNotifications.jsm (some extra checkbox) + catch exceptions from callbacks
Issue #121
2018-04-19 08:01:45 +02:00
janekptacijarabaci f30a2606d4 [PALEMOON] Engine manager - fix typo (added a name function for debugging)
Issue #121
2018-04-19 06:36:40 +02:00
janekptacijarabaci 810cdf0fc5 [PALEMOON] Engine Manager throws a warning (deprecated)
Issue #121
2018-04-19 06:10:46 +02:00
janekptacijarabaci 3ab2a0b7be [PALEMOON] Fix badged button renders
Issue #202
2018-04-19 06:06:42 +02:00
New Tobin Paradigm 8abaa8c760 Merge pull request #203 from janekptacijarabaci/pm_urlbar_dropmarker_1
[PALEMOON] URL/Address/Location bar - suggestions in location bar cannot be hidden by clicking dropmarker again
2018-04-18 22:48:51 -04:00
janekptacijarabaci e3accd0c01 [PALEMOON] URL/Address/Location bar - suggestions in location bar cannot be hidden by clicking dropmarker again
https://github.com/MoonchildProductions/Pale-Moon/pull/1382
2018-04-19 00:19:39 +02:00
wolfbeast 8bfaf15e55 Use tried-and-proven backends for content rendering and reserve the use of Skia for canvas only.
This should prevent anemic, poorly-spaced and/or cut glyphs in content text.
2018-04-18 21:00:09 +02:00
Moonchild ab174e65d9 Merge pull request #201 from janekptacijarabaci/pm_places_error_1
[PALEMOON] Places - fix: throws an error: 0x80004005 (NS_ERROR_FAILURE) [nsIEditor.transactionManager]
2018-04-18 20:24:38 +02:00
wolfbeast d1b17ef97e Use natural border width rounding.
Round subpixel border widths to nearest integer instead of nearest-below integer.
Split caret widths off from border widths and continue to use rounding to nearest-below integer for that.

Bump Goanna version for visual rendering change.
2018-04-18 20:15:33 +02:00
janekptacijarabaci 37bd28f3ef [PALEMOON] Places - fix: throws an error: 0x80004005 (NS_ERROR_FAILURE) [nsIEditor.transactionManager]
Issue #133
Tag https://github.com/MoonchildProductions/UXP/pull/134
2018-04-18 18:59:02 +02:00
janekptacijarabaci b873b2495a moebius#73: DOM - window.requestIdleCallback - improvements (basic) - follow up
https://github.com/MoonchildProductions/moebius/pull/73
2018-04-18 18:19:42 +02:00
janekptacijarabaci 75b26b28bf Merge branch 'master' of https://github.com/MoonchildProductions/UXP into js_dom_window_requestIdleCallback_1 2018-04-18 15:50:29 +02:00
janekptacijarabaci b16ad4c672 Bug 1337814 - Remove rIC callback from pending callbacks before running it 2018-04-18 15:21:00 +02:00
janekptacijarabaci 718874cf11 Bug 1337814 - Add test for cancelling currently executing rIC callback 2018-04-18 15:19:52 +02:00
janekptacijarabaci 8230982799 Bug 1334904 - Add test for when rIC timeouts doesn't need timeout 2018-04-18 15:18:48 +02:00
janekptacijarabaci dadd11df42 Bug 1336229 - Don't dispatch canceled IdleRequestExecutors 2018-04-18 15:17:55 +02:00
janekptacijarabaci c559e3e30f moebius#73: DOM - window.requestIdleCallback - improvements (basic)
https://github.com/MoonchildProductions/moebius/pull/73
2018-04-18 15:15:49 +02:00
New Tobin Paradigm fe15bb43de Merge pull request #199 from trav90/buildsystem-work
Set default MOZ_OPTIMIZE_FLAGS to -O2 when using GCC
2018-04-18 08:22:09 -04:00
wolfbeast 1ef526f0f0 Strengthen the use of the Master Password.
- Use 30k iterations instead of 1.
- Enforce minimum password length of 8 characters.
- Adjust strength meter accordingly.

This resolves #82.
2018-04-18 14:05:21 +02:00
Matt A. Tobin 8058e08926 [PALEMOON] Only use the private autocomplete binding on the URL bar 2018-04-18 07:22:38 -04:00
wolfbeast 8361c83e41 Add extra JS scope for DownloadUtils in urlbarBinding.xml to cater to global lexical scope. 2018-04-18 10:57:23 +02:00
New Tobin Paradigm 8dea5c84fc Merge pull request #198 from JustOff/PR_asyncOpen2
Use asyncOpen2 instead of asyncOpen everywhere in Pale Moon
2018-04-18 04:02:02 -04:00
trav90 c8f78b1ecf Set default MOZ_OPTIMIZE_FLAGS to -O2 when using GCC 2018-04-17 22:54:30 -05:00
JustOff b702c9adca Use asyncOpen2 instead of asyncOpen everywhere in Pale Moon 2018-04-17 23:16:20 +03:00
New Tobin Paradigm 29de8de78c Merge pull request #168 from janekptacijarabaci/xpcom_exportFunction_length_1
moebius#242: XPCOM: exportFunction() - fix wrong .length attribute
2018-04-17 14:58:10 -04:00
Matt A. Tobin 9fb0fef0d2 [PALEMOON] Localize a private copy of the pre-richlistbox autocomplete ksmodule 2018-04-17 13:15:24 -04:00
Matt A. Tobin e7b772334d [PALEMOON] Localize a private copy of the pre-newawesomebar autocomplete bindings and styling 2018-04-17 09:45:29 -04:00
Matt A. Tobin 2b63f23cf3 Restore nsPlacesAutoComplete 2018-04-17 07:32:19 -04:00
Matt A. Tobin 0bdaa97892 Restore typeAheadResult support in autocomplete 2018-04-17 07:31:18 -04:00
janekptacijarabaci b18a9cf86e Merge branch 'master' of https://github.com/MoonchildProductions/UXP into pm_url_1 2018-04-17 08:26:02 +02:00
janekptacijarabaci 90c68b34ab [PALEMOON] Remove unused Task.jsm in openLocation.js 2018-04-17 08:25:01 +02:00
janekptacijarabaci e3dda3ebd5 [PALEMOON] Fix conflict in openLocation.js
https://github.com/MoonchildProductions/UXP/commit/931950a880b3550490422b1855c509be10586858#diff-2f4cb31954d5857012f1452698b9bfce
2018-04-17 08:19:14 +02:00
Matt A. Tobin e719d7b3be Revert "[PALEMOON] Source nsPlacesAutoComplete from the suite"
This reverts commit 532de8c09d.
2018-04-16 16:53:03 -04:00
Matt A. Tobin 72e2a43c01 Revert "[PALEMOON] Use unified complete in autocompletesearch attribute for urlbar"
This reverts commit 2ccac3373f.
2018-04-16 16:52:31 -04:00
Matt A. Tobin 2ccac3373f [PALEMOON] Use unified complete in autocompletesearch attribute for urlbar 2018-04-16 16:44:55 -04:00
Matt A. Tobin 532de8c09d [PALEMOON] Source nsPlacesAutoComplete from the suite 2018-04-16 16:26:11 -04:00
New Tobin Paradigm 89f23776a8 Merge pull request #195 from janekptacijarabaci/pm_toolbars_custom_persist_1
palemoon#903 a #975: Customizable toolbars - persist the attribute "collapsed" (backward compatible)
2018-04-16 13:40:11 -04:00
New Tobin Paradigm 0b4dae0b3f Merge pull request #196 from JustOff/PR_remove_sync_promo_icon
Remove unused Sync promotion notification icon
2018-04-16 13:37:44 -04:00
JustOff 9ec630afa1 Remove unused Sync promotion notification icon 2018-04-16 20:06:31 +03:00
New Tobin Paradigm 4ee09e622b Merge pull request #194 from JustOff/PR_remove_sync_promobox
Remove the Sync promotion in the add-on install doorhanger
2018-04-16 12:27:33 -04:00
JustOff 8fe7bfe065 Remove Sync promobox from popup-notifications.inc as well 2018-04-16 19:24:21 +03:00
JustOff a4cc727daf Remove the Sync promotion in the add-on install doorhanger 2018-04-16 19:09:53 +03:00
New Tobin Paradigm 9c2269b000 Merge pull request #192 from JustOff/PR_netError.dtd_malformedURI.title_dupe
[PALEMOON] Remove accidentally duplicated 'malformedURI.title' from netError.dtd
2018-04-16 11:25:19 -04:00
New Tobin Paradigm e9cabcecc2 Merge pull request #193 from MoonchildProductions/revert-176-pm_unreachable-code-after-return-statement_1
Revert "[PALEMOON] Fix a warning: "unreachable code after return statement" in urlbarBindings.xml"
2018-04-16 11:25:04 -04:00
New Tobin Paradigm 0763852cb7 Revert "[PALEMOON] Fix a warning: "unreachable code after return statement" in urlbarBindings.xml" 2018-04-16 15:24:14 +00:00
New Tobin Paradigm 00c726eaa1 Merge pull request #176 from janekptacijarabaci/pm_unreachable-code-after-return-statement_1
[PALEMOON] Fix a warning: "unreachable code after return statement" in urlbarBindings.xml
2018-04-16 11:24:08 -04:00
Matt A. Tobin 8a5c700e4e [PALEMOON] Update UA Compatibility modes in a backwards compatible way 2018-04-16 11:20:39 -04:00
JustOff cf58e417d4 [PALEMOON] Remove accidentally duplicated 'malformedURI.title' from netError.dtd 2018-04-16 16:21:19 +03:00
wolfbeast 842e3d91b4 Merge branch 'master' of https://github.com/MoonchildProductions/UXP 2018-04-16 14:48:38 +02:00
wolfbeast 931950a880 Mass-replace global-scope let with var in Pale Moon and TychoAM
tag #155
2018-04-16 14:48:23 +02:00
New Tobin Paradigm 4028f58ce7 Merge pull request #175 from janekptacijarabaci/url_parser_2
moebius#131: URL parser - stop preserving empty passwords
2018-04-16 08:31:05 -04:00
New Tobin Paradigm c394a5f871 Merge pull request #180 from janekptacijarabaci/html_input_datetime_2
HTML - input - datetime - support for "dom.forms.datetime.others"
2018-04-16 08:30:27 -04:00
New Tobin Paradigm a557bfae78 Merge pull request #178 from janekptacijarabaci/html_input_datetime_3
[PALEMOON] [Frontend vs Backend] HTML - input - datetime
2018-04-16 08:30:04 -04:00
New Tobin Paradigm ba80720469 Merge pull request #174 from janekptacijarabaci/url_parser_1
moebius#130: URL parser - fix: don't allow empty host name
2018-04-16 08:25:45 -04:00
New Tobin Paradigm a66e6546c3 Merge pull request #173 from janekptacijarabaci/html_table_editor_contenteditable_1
moebius#190: HTML - table - editor (contenteditable) - post process node array to remove all descendants of replacement node
2018-04-16 08:24:14 -04:00
New Tobin Paradigm ded797b8bb Merge pull request #172 from janekptacijarabaci/svg_canvasImageSource_1
moebius#106: SVG - CanvasImageSource - allow using an SVGImageElement as a CanvasImageSource
2018-04-16 08:23:26 -04:00
janekptacijarabaci 4e2383201d [PALEMOON] Customizable toolbars - added a comment 2018-04-16 04:11:45 +02:00
New Tobin Paradigm 6d7fac8440 Merge pull request #181 from trav90/buildsystem-work
Fix GCC -Wreorder warnings.
2018-04-15 19:54:23 -04:00
New Tobin Paradigm f9e866b739 Merge pull request #182 from adeshkp/patch-3
[Tycho AM] Remove test for experiments framework
2018-04-15 19:53:24 -04:00
New Tobin Paradigm c05ad047ef Merge pull request #183 from adeshkp/patch-4
[WebEx AM] Remove test for experiments framework
2018-04-15 19:53:11 -04:00
New Tobin Paradigm 53bd9f7e59 Merge pull request #171 from janekptacijarabaci/js_location_hash_1
Fix: no escape single quote in location.hash
2018-04-15 19:52:56 -04:00
Matt A. Tobin 7ae62c2981 [PALEMOON] Fix packaging define for ICU 2018-04-15 18:21:23 -04:00
janekptacijarabaci b7115f464e palemoon#975: Customizable toolbars - backward compatible (but unidirectional) 2018-04-15 22:31:31 +02:00
janekptacijarabaci 0f8df53ae7 palemoon#903: Customizable toolbars - persist the attribute "collapsed"
https://github.com/MoonchildProductions/Pale-Moon/pull/903
2018-04-15 22:23:57 +02:00
Matt A. Tobin 4cc139ccb8 [PALEMOON] Fix packaging define 2018-04-15 16:21:35 -04:00
adeshkp 3983e0541e [WebEx AM] Remove test for experiments framework 2018-04-15 19:33:04 +00:00
adeshkp d31fa89c8a [Tycho AM] Remove test for experiments framework 2018-04-15 19:28:43 +00:00
trav90 92e0c93288 Fix GCC -Wreorder warnings. 2018-04-15 14:16:41 -05:00
janekptacijarabaci f8086ef486 [PALEMOON] [Frontend vs Backend] HTML - input - datetime
Issue #162
2018-04-15 17:55:14 +02:00
janekptacijarabaci c55addfa64 Bug 1344642 - Part 2: Add a new pref for input type=week, month and datetime-local 2018-04-15 14:52:09 +02:00
janekptacijarabaci 054dde2728 Bug 1344642 - Part 1: Cleanup dom.forms.datepicker related code 2018-04-15 14:39:19 +02:00
janekptacijarabaci 1b4963fd73 Fix flags for "loadURIWithFlags" in openLocation.js
Issue #121
2018-04-15 12:51:04 +02:00
New Tobin Paradigm 4cfe5d84de Merge pull request #159 from JustOff/PR_remove_places_protocol
Remove dead Places protocol handler in Pale Moon
2018-04-15 06:09:05 -04:00
janekptacijarabaci cfa5951ea8 Maybe fix openLocation.js (to Promise)
Issue #121
2018-04-15 12:07:57 +02:00
janekptacijarabaci cebd1e72e2 Bug 92737 - Part 10: Use browserDragAndDrop.dropLinks in urlbarBindings.xml
Issue #121
2018-04-15 11:53:33 +02:00
janekptacijarabaci 02dffb57c8 Bug 92737 - Part 9: Download multiple files when multiple items are dropped on Downloads view in Library Window
Issue #121
2018-04-15 11:52:31 +02:00
wolfbeast bdd013826b Merge branch 'master' of https://github.com/MoonchildProductions/UXP 2018-04-15 11:51:43 +02:00
wolfbeast fca67bb95d Merge branch 'html_input_datetime_1'
This is almost everything needed for #162.
2018-04-15 11:51:11 +02:00
janekptacijarabaci b15719c7f8 Bug 92737 - Part 8: Download multiple files when multiple items are dropped on Downloads button
Issue #121
2018-04-15 11:49:38 +02:00
janekptacijarabaci c16c115ea7 Bug 92737 - Part 7: Open multiple windows when multiple items are dropped on New Window button
Issue #121
2018-04-15 11:48:06 +02:00
janekptacijarabaci d15edc6fd6 Bug 92737 - Part 6: Open multiple tabs when multiple items are dropped on New Tab button
Issue #121
2018-04-15 11:47:06 +02:00
janekptacijarabaci d432689a50 Bug 92737 - Part 5: Set multiple homepage when multiple items are dropped on Home button
Issue #121
2018-04-15 11:46:16 +02:00
janekptacijarabaci 60d29fb286 Bug 92737 - Part 4: Open multiple tabs when multiple items are dropped on tab
+ Follow up:
Bug 92737 - Part 3: Open multiple tabs when multiple items are dropped
on remote content area
- browser.js: "usercontextid" (default: 0)
2018-04-15 11:43:52 +02:00
janekptacijarabaci 3c93fde763 Bug 92737 - Part 2: Open multiple tabs when multiple items are dropped on non-remote content area
browser.js:

// handleDroppedLink has the following 2 overloads:
//   handleDroppedLink(event, url, name)
//   handleDroppedLink(event, links)
function handleDroppedLink(event, urlOrLinks, name)
{
let links;
if (Array.isArray(urlOrLinks)) {
links = urlOrLinks;
} else {
links = [{ url: urlOrLinks, name, type: "" }];
}

...it is in the previous commit.
2018-04-15 11:29:52 +02:00
janekptacijarabaci 54cd77a551 Bug 1100294 - Turn getShortcutOrURIAndPostData() into a task that uses the new keywords API
Issue #121
2018-04-15 11:14:20 +02:00
janekptacijarabaci 451cbfc039 Bug 1100291 - Make getShortcutOrURIAndPostData() async by calling the passed callback off a zero timeout
Issue #112
2018-04-15 09:48:39 +02:00
janekptacijarabaci f2b4134845 Bug 989984 - getShortcutOrURIAndPostData should have a synchronous callback behavior
Issue #112
2018-04-15 09:46:17 +02:00
janekptacijarabaci 0c6c32a0e6 Bug 846635 - Use asynchronous getCharsetForURI in getShortcutOrURI
Issue #121
2018-04-15 09:31:07 +02:00
janekptacijarabaci b519af5408 [PALEMOON] Fix a warning: "unreachable code after return statement" in urlbarBindings.xml
Issue #121
2018-04-15 08:13:22 +02:00
janekptacijarabaci f138ec95d9 moebius#131: URL parser - stop preserving empty passwords
https://github.com/MoonchildProductions/moebius/issues/131
2018-04-15 08:09:17 +02:00
janekptacijarabaci ae14556114 moebius#130: URL parser - fix: don't allow empty host name
https://github.com/MoonchildProductions/moebius/issues/130
2018-04-15 07:29:18 +02:00
janekptacijarabaci 05bb04a651 moebius#190: HTML - table - editor (contenteditable) - post process node array to remove all descendants of replacement node
https://github.com/MoonchildProductions/moebius/issues/190
2018-04-15 06:55:40 +02:00
janekptacijarabaci f8b9aba821 moebius#106: SVG - CanvasImageSource - allow using an SVGImageElement as a CanvasImageSource 2018-04-15 06:51:24 +02:00
New Tobin Paradigm 8a95c03dcd Merge pull request #169 from janekptacijarabaci/csp_frame-ancestors_1
moebius#159: CSP - support for "frame-ancestors" in "Content-Security-Policy-Report-Only"
2018-04-14 18:14:10 -04:00
New Tobin Paradigm 9282781bdf Merge pull request #167 from janekptacijarabaci/fetch_headers_1
moebius#140: Fix: Fetch - headers should sort and combine
2018-04-14 18:11:24 -04:00
New Tobin Paradigm 8b779470cd Merge pull request #166 from janekptacijarabaci/html_input_maxlength_1
moebius#53: HTML - input - support for dynamic maxlength
2018-04-14 18:10:57 -04:00
Matt A. Tobin da3451bb3d [PALEMOON] Fix gtk conditional in shared branding 2018-04-14 17:59:41 -04:00
New Tobin Paradigm 68011e6ec7 Merge pull request #165 from JustOff/PR_SessionStore_nsICookieManager2_add
Align SessionStore.jsm with the updated nsICookieManager2.add() API
2018-04-14 16:23:42 -04:00
janekptacijarabaci 7d67148f52 moebius#159: CSP - support for "frame-ancestors" in "Content-Security-Policy-Report-Only"
https://github.com/MoonchildProductions/moebius/pull/159
2018-04-14 22:22:59 +02:00
janekptacijarabaci 287ca21a65 moebius#242: XPCOM: exportFunction() - fix wrong .length attribute
https://github.com/MoonchildProductions/moebius/pull/243
2018-04-14 22:20:43 +02:00
janekptacijarabaci 9ee567082c moebius#140: Fix: Fetch - headers should sort and combine
https://github.com/MoonchildProductions/moebius/pull/140
2018-04-14 22:18:47 +02:00
janekptacijarabaci 64875ed348 moebius#53: HTML - input - support for dynamic maxlength
https://github.com/MoonchildProductions/moebius/pull/53
2018-04-14 21:28:42 +02:00
JustOff ead1b037b4 Align SessionStore.jsm with the updated nsICookieManager2.add() API 2018-04-14 22:24:54 +03:00
Matt A. Tobin d594ed2896 [PALEMOON] Move linux icons to moz.build 2018-04-14 14:26:29 -04:00
Matt A. Tobin b189d04718 [PALEMOON] Linux gets emojis too 2018-04-14 14:16:24 -04:00
Matt A. Tobin f5fb45f146 [PALEMOON] Theme chrome.manifest only needs to be packaged on Windows as far as anyone can tell 2018-04-14 14:12:36 -04:00
Moonchild 08cfc34a05 Merge pull request #164 from JustOff/PR_nsContextMenu_unreachable_code
Suppress false-positive warning about unreachable code after return in nsContextMenu.js
2018-04-14 19:47:10 +02:00
Matt A. Tobin 2b8a229ce3 [PALEMOON] Fix depth 2018-04-14 13:07:56 -04:00
JustOff 2054a1205e Suppress false-positive warning about unreachable code after return in nsContextMenu.js 2018-04-14 19:53:25 +03:00
JustOff 01b5b8fd8a Merge branch 'master' of https://github.com/MoonchildProductions/UXP and resolve conflicts 2018-04-14 19:18:40 +03:00
Matt A. Tobin 64204fdb83 Bump Phoenix extensions to allow installing up to Firefox 56.9 2018-04-14 11:29:12 -04:00
Matt A. Tobin e5c2d9acc9 [PALEMOON] Add MOZ_PHOENIX_EXTENSIONS to application specific configure 2018-04-14 11:28:02 -04:00
New Tobin Paradigm c8bdd9c32e Merge pull request #163 from JustOff/PR_SessionStore_getCookiesFromHost
Align SessionStore.jsm with the updated getCookiesFromHost() API
2018-04-14 10:12:52 -04:00
Matt A. Tobin 9147cc1969 Add a hack to deal with defs.mk not always being picked up in Pale Moon's case 2018-04-14 10:03:04 -04:00
Matt A. Tobin 02429a5127 [PALEMOON] Revise packaging 2018-04-14 10:02:15 -04:00
Matt A. Tobin 33406af039 Do not make duplicates fatal while packaging 2018-04-14 10:01:26 -04:00
JustOff 31e756cf05 Align SessionStore.jsm with the updated getCookiesFromHost() API 2018-04-14 14:44:55 +03:00
New Tobin Paradigm f8ad954f7d Merge pull request #160 from janekptacijarabaci/build_warnings_1
Fix a build warning for BrowserComponents.manifest
2018-04-14 07:25:20 -04:00
janekptacijarabaci 77bb1e886c Fix a build warning for BrowserComponents.manifest
[drive]:/[path]/browser/components/BrowserComponents.manifest: WARNING:
no useful preprocessor directives found
2018-04-14 12:18:01 +02:00
JustOff 25370b7f0c Remove dead Places protocol handler in Pale Moon 2018-04-14 13:00:36 +03:00
New Tobin Paradigm c73c73b797 Merge pull request #131 from janekptacijarabaci/js_dom_xmlhttprequest_abort_1
Aligned XMLHttpRequest abort() with the spec
2018-04-14 03:19:49 -04:00
New Tobin Paradigm 63d482639c Merge pull request #156 from janekptacijarabaci/pm_places_downloads_1
[PALEMOON] Downloads - throws an error
2018-04-14 03:11:32 -04:00
janekptacijarabaci 72ad33f3fd [PALEMOON] Downloads - throws an error
Issue #121
2018-04-14 04:53:35 +02:00
New Tobin Paradigm 99ba894a9a Merge pull request #154 from janekptacijarabaci/pm_places_downloads_1
Fix: TypeError: "this._richlistbox.selectedItems.slice is not a function" in allDownloadsViewOverlay.js
2018-04-13 21:54:07 -04:00
janekptacijarabaci facac9b21f Fix: TypeError: "this._richlistbox.selectedItems.slice is not a function" in allDownloadsViewOverlay.js
Issue #121
2018-04-14 03:15:56 +02:00
New Tobin Paradigm 8437051001 Merge pull request #153 from JustOff/PR_SessionFile_NetUtil.newChannel
Use modern syntax to call NetUtil.newChannel() in _SessionFile.jsm
2018-04-13 21:13:29 -04:00
JustOff ca258a9c56 Use modern syntax to call NetUtil.newChannel() in _SessionFile.jsm 2018-04-14 03:08:55 +03:00
New Tobin Paradigm 60c526db50 Merge pull request #152 from JustOff/PR_Favicons_principal
Use document's principal for favicons in browser
2018-04-13 19:05:06 -04:00
JustOff 7494a278ae Use document's principal for favicons in browser 2018-04-14 00:32:14 +03:00
wolfbeast 386266fab1 Merge branch 'master' of https://github.com/MoonchildProductions/UXP 2018-04-13 22:06:46 +02:00
wolfbeast f2bc0785b9 Convert MOZILLA_OFFICIAL conditionals to MC_OFFICIAL where needed.
- `--enable-official-branding` implies `MC_OFFICIAL` (no need to specifically set it)
- `--enable-official-vendor` can be used to set `MC_OFFICIAL` on builds without `--enable-official-branding` that should still be considered official release versions.
- `MC_OFFICIAL` implies `--enable-release`, meaning `DEVELOPER_OPTIONS` isn't set
- `MC_OFFICIAL` makes `nsXULAppInfo.getIsOfficial` return `true`
- `MC_OFFICIAL` makes `AppConstants.MOZILLA_OFFICIAL` (for compatibility in extensions) and `AppConstants.MC_OFFICIAL` return `true`
- Optional, for the time being: `MOZILLA_OFFICIAL` is still present in some places in case someone wants to build a Mozilla-alike official application and has the rights and necessary keys to use Mozilla-official third-party services. This must always be combined with `MC_OFFICIAL` to have a sane combination of defines. This may be removed in the future.
2018-04-13 22:06:20 +02:00
New Tobin Paradigm ccb9e8c834 Merge pull request #150 from janekptacijarabaci/about_1
moebius#173: Fix up "about:" page
2018-04-13 16:04:37 -04:00
New Tobin Paradigm 501db456d4 Merge pull request #151 from janekptacijarabaci/js_dom_selection_crash_1
moebius#76: JS - DOM - Selection API - crashes
2018-04-13 15:43:09 -04:00
New Tobin Paradigm 356c948bbd Merge pull request #149 from janekptacijarabaci/minorFix_styleCleanUp_2
moebius#126: [very minor fix] Fix: Gecko vs Goanna in a comment in NSSCertDBTrustDomain.cpp
2018-04-13 15:42:10 -04:00
New Tobin Paradigm 8096b6a9a1 Merge pull request #148 from janekptacijarabaci/minorFix_styleCleanUp_1
moebius#255: [minor fix] toolkit/themes/linux/global/jar.mn - style clean up (the columns alignment)
2018-04-13 15:41:42 -04:00
New Tobin Paradigm 924ffcac26 Merge pull request #147 from janekptacijarabaci/html_labels_2_test
HTML - implement the labels attribute (added a test)
2018-04-13 15:41:26 -04:00
New Tobin Paradigm efea08ca6c Merge pull request #143 from JustOff/PR_browser_newChannel2
Make JS callers of ios.newChannel call ios.newChannel2 in browser/
2018-04-13 15:41:06 -04:00
janekptacijarabaci dfe1ae6c3e Style clean up in about.dtd
https://github.com/MoonchildProductions/moebius/issues/173
2018-04-13 21:24:38 +02:00
janekptacijarabaci 84e449502f moebius#76: JS - DOM - Selection API - crashes
https://github.com/MoonchildProductions/moebius/pull/76
2018-04-13 20:57:00 +02:00
janekptacijarabaci 0b26d810bd moebius#173: Fix up "about:" page
https://github.com/MoonchildProductions/moebius/issues/173
2018-04-13 20:55:39 +02:00
janekptacijarabaci 374231de93 moebius#126: [very minor fix] Fix typo in a comment in NSSCertDBTrustDomain.cpp
https://github.com/MoonchildProductions/moebius/pull/126
2018-04-13 20:53:27 +02:00
janekptacijarabaci 4461757e44 moebius#255: [minor fix] toolkit/themes/linux/global/jar.mn - style clean up (the columns alignment)
https://github.com/MoonchildProductions/moebius/pull/255
2018-04-13 20:52:01 +02:00
janekptacijarabaci b3eee1b47e HTML - implement the labels attribute (added a test)
https://github.com/MoonchildProductions/UXP/commit/6be9e507077bfdd2b8c82c203cf70f010ecce086#commitcomment-28047433
2018-04-13 20:50:50 +02:00
JustOff c71dd74969 Make JS callers of ios.newChannel call ios.newChannel2 in browser/ 2018-04-13 21:31:38 +03:00
New Tobin Paradigm 314016db7f Merge pull request #142 from janekptacijarabaci/pm_devtools_3_developer-toolbar
Fix: Developer Toolbar (the command: "cookie"; themes)
2018-04-13 13:21:09 -04:00
janekptacijarabaci 96e396f345 Fix a comment: "DevEdition theme" vs "DevTools theme"
Issue #102
2018-04-13 19:13:12 +02:00
janekptacijarabaci 70a08bf916 Fix: Developer Toolbar (the command: cookie; themes)
Issue #102
2018-04-13 19:07:44 +02:00
Matt A. Tobin 4f82d4067a Restyle the findbar 2018-04-13 12:49:13 -04:00
New Tobin Paradigm c17c14ce6a Merge pull request #129 from janekptacijarabaci/_native_52ESR_xulWidgets_menulist_editable_1
Editable menulist loosing editable attribute gets focus stuck (menulist.xml)
2018-04-13 11:22:17 -04:00
New Tobin Paradigm aedeefe898 Merge pull request #141 from janekptacijarabaci/pm_findbar_1
Fix: Findbar broken
2018-04-13 11:15:36 -04:00
janekptacijarabaci da92d37033 Fix typo in a property in tabbrowser.xml
Issue #138
2018-04-13 17:03:44 +02:00
janekptacijarabaci 9243e01613 Fix (to TODO): Findbar throws an error - "nsIPrefBranch.getBoolPref" is not exist in browser.js
Issue #138
2018-04-13 16:40:28 +02:00
New Tobin Paradigm 12c1588b94 Merge pull request #140 from janekptacijarabaci/pm_contentMenu_saveImageURL_2_cleanUp
Style clean up: saveImageURL() in nsContextMenu.js
2018-04-13 08:18:36 -04:00
janekptacijarabaci 2e0e50636f Fix: Findbar broken (basic)
Issue #138
2018-04-13 10:55:02 +02:00
janekptacijarabaci 58e05d90e1 Style clean up: saveImageURL() in nsContextMenu.js
Tag #139
2018-04-13 08:57:25 +02:00
New Tobin Paradigm 5fccd1cabd Merge pull request #139 from janekptacijarabaci/pm_contentMenu_saveImageURL_1
Fix: "DEPRECATION WARNING: saveImageURL should be passed the private state of the containing window" in nsContextMenu.js
2018-04-13 02:33:59 -04:00
janekptacijarabaci c2d77decb2 Fix: DEPRECATION WARNING: saveImageURL should be passed the private state of the in nsContextMenu.js
Issue #121
2018-04-13 08:15:49 +02:00
New Tobin Paradigm cf22ff559b Merge pull request #135 from janekptacijarabaci/aboutSupport_improvements_1
moebius#57: about:support - "Copy text to clipboard": "Places Database" - "Verify" (results)
2018-04-13 00:46:41 -04:00
New Tobin Paradigm a22bf0142f Merge pull request #136 from trav90/gtk-work
Improve GTK3 support
2018-04-13 00:46:18 -04:00
New Tobin Paradigm ff362dd200 Merge pull request #137 from janekptacijarabaci/pm_viewSource_1
Fix: Using "View Source" from Browser Console; Added support for "view_source.editor.external"
2018-04-13 00:45:26 -04:00
janekptacijarabaci 7bbe1c3f3d Fix: Using "View Source" from Browser Console
Issue #121
2018-04-13 06:17:25 +02:00
janekptacijarabaci 99e150cb43 moebius#57: about:support - improvements (Copy text to clipboard)
https://github.com/MoonchildProductions/moebius/pull/57
2018-04-12 23:45:12 +02:00
New Tobin Paradigm e226e36a6c Merge pull request #134 from janekptacijarabaci/places_error_1
Places - fix: throws an error: 0x80004005 (NS_ERROR_FAILURE) [nsIEditor.transactionManager]
2018-04-12 17:40:27 -04:00
New Tobin Paradigm 47354a0f29 Merge pull request #132 from janekptacijarabaci/notifications_settings_1
moebius#154: Notifications - user settings - the immediate duration of the alert
2018-04-12 17:13:48 -04:00
Matt A. Tobin 62ca5cf04a [PALEMOON] Update handle-xul-text-link to deal with json source data 2018-04-12 16:18:04 -04:00
janekptacijarabaci 1170e81edd moebius#154: Notifications - user settings - the immediate duration of the alert
https://github.com/MoonchildProductions/moebius/pull/154
2018-04-12 20:23:00 +02:00
New Tobin Paradigm 63800e14ac Merge pull request #128 from janekptacijarabaci/pm_icons_2_followUp_basilisk
Remove an unused (web)extensions icon in jar.mn
2018-04-12 14:13:01 -04:00
Matt A. Tobin aaf3409c46 [PALEMOON] Remove the migrator 2018-04-12 14:10:27 -04:00
Matt A. Tobin 6386363f89 Password Mananger has migration capabilities for only Basilisk 2018-04-12 13:39:45 -04:00
Matt A. Tobin 2bbed348d4 Revert "Restore Dict.jsm" 2018-04-12 13:35:04 -04:00
janekptacijarabaci 7632870fd9 Remove an unused (web)extensions icon
Follow up: #122
2018-04-12 19:20:29 +02:00
Matt A. Tobin 3589d4f072 Fix loops in Dict.jsm
SyntaxError: missing ] after element list
2018-04-12 12:47:02 -04:00
Matt A. Tobin bda9abd82c Restore Dict.jsm 2018-04-12 12:09:20 -04:00
Matt A. Tobin 3e82feb264 Add missing l10n string 2018-04-12 11:49:34 -04:00
Matt A. Tobin 8d0abc0389 Maybe fix SyntaxError: non-generator method definitions may not contain yield in MigrationUtils.jsm 2018-04-12 11:29:15 -04:00
New Tobin Paradigm 4c2e77404f Merge pull request #126 from janekptacijarabaci/js_X-Content-Type-Options_nosniff_json_1
Align XCTO: nosniff allowed script MIME types with the spec
2018-04-12 10:49:23 -04:00
New Tobin Paradigm a0968fc6a8 Merge pull request #127 from janekptacijarabaci/devtools_appmenu_3
[PALEMOON] [DevTools] Added support of the appmenu for DevTools menuitems (follow up)
2018-04-12 10:49:08 -04:00
janekptacijarabaci 912ac7e228 [PALEMOON] [DevTools] Added support of the appmenu for DevTools menuitems (follow up)
Issue #96
Issue #102
2018-04-12 15:49:28 +02:00
New Tobin Paradigm fb337a69b4 Merge pull request #124 from janekptacijarabaci/pm_about-plugins_1
about:plugins - fix "addMessageListener is not a function" (e10s off - revert bug 1068087 - partially)
2018-04-12 08:04:39 -04:00
New Tobin Paradigm 706493af4e Merge pull request #125 from janekptacijarabaci/pm_loginManager_1
[PALEMOON] Fix Login Manager (Prompter) - basic
2018-04-12 07:33:58 -04:00
New Tobin Paradigm 8c19f94d29 Merge pull request #123 from janekptacijarabaci/pm_devtools_2
[PALEMOON] [DevTools] Fix preferences in preferences.inc
2018-04-12 07:32:50 -04:00
New Tobin Paradigm 3eaf8be961 Merge pull request #122 from janekptacijarabaci/pm_icons_1
[PALEMOON] Update: extension/plugin icons (Windows), passwordmgr icons
2018-04-12 07:31:54 -04:00
Matt A. Tobin 588a484c53 [PALEMOON] Resolve issues with redeclaration according to ES6 2018-04-12 07:28:41 -04:00
Matt A. Tobin 536bc9be40 Revert "[PALEMOON] Fix redeclarations of shorthand Cc, Ci, Cu"
This reverts commit 6fde853fa8.
2018-04-12 06:16:44 -04:00
Matt A. Tobin 85e1c970e9 Revert "[PALEMOON] Use Components.interfaces directly in controller.js, history-panel.js, and treeView.js"
This reverts commit 8e9e05da3d.
2018-04-12 06:15:25 -04:00
janekptacijarabaci fd651c893a [PALEMOON] about:plugins - fix "addMessageListener is not a function" (e10s off - revert bug 1068087 - partially) 2018-04-12 10:18:25 +02:00
janekptacijarabaci cf71cfa4dc [PALEMOON] [DevTools] Fix preferences in preferences.inc
See:
http://xref.palemoon.org/uxp-trunk/source/devtools/client/webconsole/utils.js#269
2018-04-12 10:13:54 +02:00
janekptacijarabaci 9eb4d5e344 [PALEMOON] Update: extension/plugin icons (Windows), passwordmgr icons
https://github.com/MoonchildProductions/Pale-Moon/commit/050f33015bb234c42c88c282dc75dc2133727094
2018-04-12 10:11:05 +02:00
janekptacijarabaci 33f860b25e moebius#117: Login Manager Prompter - auth: Throws an errors
https://github.com/MoonchildProductions/moebius/pull/117
2018-04-12 09:27:21 +02:00
janekptacijarabaci 87bf3b1714 [PALEMOON] [Frontend vs Backend] Password Manager: InsecurePasswordUtils.checkForInsecurePasswords is not a function 2018-04-12 09:24:59 +02:00
janekptacijarabaci 6d10eb1aff Revert "[PALEMOON] Login Manager Prompter: win.gBrowser is undefined"
This reverts commit 263927c717.
2018-04-12 07:06:16 +02:00
Moonchild 038971c8a1 Merge pull request #119 from adeshkp/patch-2
[PALEMOON] Fix depth for toolkit osx/shared.inc
2018-04-11 18:27:54 +02:00
trav90 a0a79a9aa3 [GTK3] Set alpha component appropriately in operator over for -moz-field 2018-04-11 11:14:15 -05:00
adeshkp 8d517b88e5 [PALEMOON] Fix depth for toolkit osx/shared.inc 2018-04-11 15:59:14 +00:00
wolfbeast 0e01190d5f Remove crash reporter part 1.
Merged branch 'remove-crashreporter'
2018-04-11 17:47:35 +02:00
wolfbeast 597fb9fbe3 Rebase on master 2018-04-11 17:45:54 +02:00
wolfbeast ac05ab923a Fix aboutSupport.js
Addresses comments:
https://github.com/MoonchildProductions/UXP/commit/bf6bb142fc5bcb49b053788e06160af304f639e5#commitcomment-28527974
https://github.com/MoonchildProductions/UXP/commit/0f99df52d5309158c7b916581c5a79496b1844db#commitcomment-28527792
2018-04-11 17:30:34 +02:00
janekptacijarabaci 1d1955f1eb [PALEMOON] [Frontend vs Backend] Password Manager - Implemented Popup Notifications (it is not complete) 2018-04-11 13:05:43 +02:00
janekptacijarabaci 87adbf4322 [PALEMOON] Preferences - Security - Password Manager: Use LoginHelper.isMasterPasswordSet instead of _masterPasswordSet 2018-04-11 13:01:25 +02:00
janekptacijarabaci 92207c99ab [PALEMOON] [Frontend vs Backend] Login Manager: Bug 1045987 - Implemented "getBrowserForContentWindow" method in tabbrowser.xml 2018-04-11 12:17:17 +02:00
janekptacijarabaci 263927c717 [PALEMOON] Login Manager Prompter: win.gBrowser is undefined 2018-04-11 12:12:49 +02:00
Matt A. Tobin 70974f59f3 [PALEMOON] Fix depth in baseMenuOverlay.xul 2018-04-11 03:03:43 -04:00
New Tobin Paradigm d05099428f Merge pull request #118 from janekptacijarabaci/pm_sanitize_offlineApps_1
[PALEMOON] Fix Sanitize - Offline Apps (e.g. "Offline" - "Clear Recent History" - "Offline Website Data"): Quota Manager => Quota Manager Service
2018-04-11 02:31:08 -04:00
New Tobin Paradigm df84e6a4f5 Merge pull request #117 from janekptacijarabaci/pm_sanitize_path_console_1
[PALEMOON] [DevTools] Fix a path with Console.jsm (deprecated) - in sanitize.js
2018-04-11 02:29:53 -04:00
New Tobin Paradigm 55c7287553 Merge pull request #116 from janekptacijarabaci/pm_pageinfo_permissions_error_uri_1
[PALEMOON] "Page Info" - "Permissions" - use uri.spec instead of uri in a new Error
2018-04-11 02:29:33 -04:00
Matt A. Tobin be3bf22737 [PALEMOON] Fix depth for toolkit osx shared.inc 2018-04-11 02:27:12 -04:00
janekptacijarabaci 39f12daed6 [PALEMOON] Fix Sanitize (e.g. "Offline" - "Clear Recent History" - "Offline Website Data"): Quota Manager => Quota Manager Service
Issue #57
2018-04-11 07:28:32 +02:00
janekptacijarabaci 540e704435 [PALEMOON] [DevTools] Fix a path with Console.jsm (deprecated) - in sanitize.js
Issue #57
2018-04-11 07:24:12 +02:00
janekptacijarabaci 9a381d423f [PALEMOON] "Page Info" - "Permissions" - use uri.spec instead of uri in a new Error
Issue #112
Issue #57
2018-04-11 07:18:32 +02:00
Matt A. Tobin 5ab84e6642 Merge branch 'master' of https://github.com/MoonchildProductions/UXP 2018-04-11 00:53:50 -04:00
Matt A. Tobin 615be068c3 Only enable general.useragent.appVersionIsBuildID for Basilisk by default 2018-04-11 00:51:08 -04:00
New Tobin Paradigm e341862cac Merge pull request #115 from janekptacijarabaci/pm_pageinfo_permissions_plugins_1
[PALEMOON] "Page Info" - "Permissions": Fix - List of plugins
2018-04-10 17:46:00 -04:00
janekptacijarabaci 5fa956dfe4 [PALEMOON] "Page Info" - "Permissions": Fix - List of plugins
Issue #112
2018-04-10 20:28:53 +02:00
janekptacijarabaci 9929aa7775 [PALEMOON] "Page Info" - "Permissions": Quota Manager => Quota Manager Service
Issue #112
2018-04-10 20:28:06 +02:00
janekptacijarabaci f858398f2f [PALEMOON] "Page Info" - "Permissions": Permission Manager - use URI instead of URI.host
Issue #112
2018-04-10 20:26:59 +02:00
New Tobin Paradigm df185f9fbe Merge pull request #111 from janekptacijarabaci/pm_devtools_2_paths
[PALEMOON] [DevTools] Fix some paths with ToolboxProcess.jsm and Console.jsm (deprecated)
2018-04-09 21:06:20 -04:00
janekptacijarabaci fc249d76a4 [PALEMOON] Fix some paths (deprecated) with Console.jsm (sessionstore, extensions) 2018-04-09 21:15:24 +02:00
janekptacijarabaci bd32d607ad [PALEMOON] [DevTools] Fix some paths with ToolboxProcess.jsm (extensions)
Issue #102
2018-04-09 19:25:12 +02:00
Matt A. Tobin c1852a54a5 [PALEMOON] Enable Devtools by default 2018-04-09 10:19:13 -04:00
Matt A. Tobin 0213b9481f [PALEMOON] Preprocess organizer.css on Windows 2018-04-09 08:34:12 -04:00
Matt A. Tobin 297eabaa99 [PALEMOON] Fix for loops in MigrationUtils.jsm
(SyntaxError: missing ] after element list)
2018-04-09 08:33:14 -04:00
Matt A. Tobin 0d0cf693ac [PALEMOON] Fix for loops in allDownloadsViewOverlay.js
(SyntaxError: missing ] after element list)
2018-04-09 08:32:30 -04:00
Matt A. Tobin 8e9e05da3d [PALEMOON] Use Components.interfaces directly in controller.js, history-panel.js, and treeView.js 2018-04-09 08:09:28 -04:00
Matt A. Tobin 2569bca930 [PALEMOON] Fix for loops in grid.js (included into newTab.js)
(SyntaxError: missing ] after element list)
2018-04-09 07:28:09 -04:00
Matt A. Tobin f5304801ac [PALEMOON] Add an expected pref browser.newtabpage.enhanced 2018-04-09 06:59:18 -04:00
Matt A. Tobin 7e929b2bdc [PALEMOON] Use non-prefixed cancelAnimationFrame in browser-fullscreen.js 2018-04-09 05:51:26 -04:00
New Tobin Paradigm 20f5317e27 Merge pull request #108 from janekptacijarabaci/devtools_browser_cleanUp_followUp_3
[DevTools] Use preprocessing for: a global variable "gDevTools" and the context menu - a function "Inspect Element"
2018-04-08 19:49:12 -04:00
New Tobin Paradigm 7156604f1c Merge pull request #109 from janekptacijarabaci/devtools_appmenu_2
[PALEMOON] [DevTools] Added support of the appmenu for DevTools menuitems (follow up)
2018-04-08 19:48:59 -04:00
Matt A. Tobin be78355e83 [DEVTOOLS] Resolve issues with dynamically created devtools menu items vs hardcoded vs overlay
Follow up to 1a36001
2018-04-08 19:48:21 -04:00
New Tobin Paradigm 93b77160ce Merge pull request #107 from trav90/buildsystem-work
Fix packaging after bf6bb14
2018-04-08 19:13:13 -04:00
janekptacijarabaci 9a94a94cff [PALEMOON] [DevTools] Added support of the appmenu for DevTools menuitems (follow up)
Issue #96
Issue #102
2018-04-08 21:55:44 +02:00
janekptacijarabaci 53808c6578 [DevTools] Use preprocessing for: a global variable "gDevTools" and the context menu - a function "Inspect Element"
Follow up: #106
2018-04-08 21:50:16 +02:00
New Tobin Paradigm 2e7c6320a8 Merge pull request #101 from janekptacijarabaci/devtools_CustomizableUI_2
CustomizableUI.jsm can't be used for Pale Moon - setting conditions
2018-04-08 14:06:12 -04:00
trav90 a4178241ae Fix packaging after bf6bb14 2018-04-08 13:04:38 -05:00
New Tobin Paradigm 5c4c912c9c Merge pull request #106 from janekptacijarabaci/devtools_browser_cleanUp_followUp_2
[DevTools] Follow up: A function "Inspect Element" (nsContextMenu.js)
2018-04-08 13:58:21 -04:00
New Tobin Paradigm d009c9bcf2 Merge pull request #105 from janekptacijarabaci/pm_devtools_1
[PALEMOON] [DevTools] Added support for a new DevTools (basic settings)
2018-04-08 13:47:00 -04:00
janekptacijarabaci 44a46fcdd1 [PALEMOON] [DevTools] Follow up: A function "Inspect Element" (nsContextMenu.js)
Issue #102
2018-04-08 18:28:56 +02:00
Moonchild 6ac47e9531 Merge pull request #94 from trav90/js-work
Fix Value::isGCThing footgun, stop returning true for NullValue
2018-04-08 18:16:01 +02:00
janekptacijarabaci df8d6a8db1 [DevTools] Follow up: A function "Inspect Element" (nsContextMenu.js)
Issue #95
Follow up: #99
2018-04-08 17:58:39 +02:00
janekptacijarabaci e7e96d079c [PALEMOON] [DevTools] Fix + Add some paths to DevTools (installer - package-manifest.in)
Issue #102
2018-04-08 15:09:24 +02:00
janekptacijarabaci edea3b6076 [PALEMOON] [DevTools] Fix some paths to DevTools (themes)
Issue #102
2018-04-08 15:08:02 +02:00
janekptacijarabaci a952e2a3aa [PALEMOON] [DevTools] Fix some paths to DevTools (sessionstore)
Issue #102
2018-04-08 15:07:17 +02:00
janekptacijarabaci 97238e0f43 [PALEMOON] [DevTools] Fix a function "Inspect Element" (nsContextMenu.js)
Issue #102
2018-04-08 15:06:43 +02:00
janekptacijarabaci 0e6c1d1dc3 [PALEMOON] [DevTools] Support for adding menuitems dynamically
Issue #102
2018-04-08 15:04:49 +02:00
wolfbeast bf6bb142fc Remove telemetry experiments framework 2018-04-08 12:24:27 +02:00
janekptacijarabaci 7a480d5571 Style clean up 2018-04-08 08:23:40 +02:00
janekptacijarabaci de97da2446 Use preprocessing instead of AppConstants.jsm 2018-04-08 08:21:28 +02:00
New Tobin Paradigm 309d1ca1f2 Merge pull request #100 from janekptacijarabaci/devtools_appmenu_1
Added support of the appmenu for DevTools menuitems (optional)
2018-04-08 01:10:26 -04:00
New Tobin Paradigm d164660412 Merge pull request #99 from janekptacijarabaci/devtools_browser_cleanUp_1
Remove unused variables (DevTools) in browser.js
2018-04-07 22:33:44 -04:00
New Tobin Paradigm 16c1230184 Merge pull request #98 from janekptacijarabaci/devtools_CustomizableUI_1
Fix some comment in devtools-browser.js
2018-04-07 22:33:05 -04:00
janekptacijarabaci 1a36001469 Added support of the appmenu for DevTools menuitems (optional)
Issue #96
2018-04-08 00:15:48 +02:00
janekptacijarabaci 7b9b08e207 CustomizableUI.jsm can't be used for Pale Moon - setting conditions
Issue #97
2018-04-08 00:14:08 +02:00
janekptacijarabaci a830c90016 Fix some comment in devtools-browser.js 2018-04-08 00:11:24 +02:00
janekptacijarabaci 9f8f40b322 Remove unused variables (DevTools) in browser.js
Issue #95
2018-04-08 00:07:46 +02:00
Matt A. Tobin fdb5aba59a [PALEMOON] Fix dragging when tabs are on top and menubar is disabled 2018-04-07 14:32:34 -04:00
trav90 bbd4001cb2 Fix Value::isGCThing footgun, stop returning true for NullValue 2018-04-07 13:11:38 -05:00
Matt A. Tobin 7c21a025e7 Merge branch 'master' of https://github.com/MoonchildProductions/UXP 2018-04-07 12:36:22 -04:00
Matt A. Tobin 59fb23c666 [PALEMOON] Fix some errors in tabbrowser.xml by adding usercontextid where needed 2018-04-07 12:35:03 -04:00
Matt A. Tobin f887139a97 [PALEMOON] Remove instanceof SVGDocument from browser-thumbnails.js 2018-04-07 12:34:18 -04:00
Matt A. Tobin 45f3d2bf06 [PALEMOON] Fix for loops in DownloadsCommon.jsm and WindowsPreviewPerTab.jsm
(SyntaxError: missing ] after element list)
2018-04-07 12:33:16 -04:00
Moonchild 09b78833b5 Merge pull request #93 from trav90/buildsystem-work
Fix a few GCC build warnings
2018-04-07 18:16:54 +02:00
Matt A. Tobin 03cf69df45 [PALEMOON] Finish incomplete ifdef'ing of MOZ_WEBRTC 2018-04-07 10:48:22 -04:00
Matt A. Tobin ca9f588f31 Update configure variable verification 2018-04-07 09:36:48 -04:00
Matt A. Tobin 11d5826ae1 [PALEMOON] Use an array for Lazy Module Getters 2018-04-07 09:21:20 -04:00
Matt A. Tobin eb09a5738c Make code style consistent across all AboutRedirector's 2018-04-07 08:22:56 -04:00
Matt A. Tobin fb84e0f322 Make about:logopage available to any browser that opts into MOZ_PHOENIX
Follow up to 5e8e0689c
2018-04-07 06:10:48 -04:00
Matt A. Tobin b16ab3f383 [PALEMOON] Fix typo in browser-thumbnails.js
Follow up to a0bfb651b
2018-04-07 03:40:36 -04:00
Matt A. Tobin 987d105f55 [WebExAM] Use a special "platform" ID and version number for WebExtensions in XPIProvider.jsm 2018-04-07 03:29:35 -04:00
trav90 54465cc4ac Fix GTK3 build bustage 2018-04-06 17:38:44 -05:00
wolfbeast 4e38ba8670 Instate unofficial branding (Serpent) 2018-04-06 21:40:39 +02:00
trav90 1b846d4b52 Only add -Wno-null-conversion when building with clang
Fixes some GCC warning spam.
2018-04-06 14:37:18 -05:00
trav90 0433d6e7d1 Fix incorrect assertions in js/src/builtin/
Prevents GCC 7 build warning spam.
2018-04-06 13:29:27 -05:00
trav90 2dba03fd2f [GTK3] Ignore double-click on WM without _NET_WM_MOVERESIZE support
This fixes a crash with GTK3 builds used with a window manager that does not support _NET_WM_MOVERESIZE.
2018-04-06 11:25:22 -05:00
trav90 e08833665d [GTK3] Get styles for menu label, button text and combobox text colors from WidgetCache 2018-04-06 11:14:42 -05:00
trav90 e7b059d943 [GTK3] Don't invalidate style content for missing widgets 2018-04-06 11:03:35 -05:00
trav90 5ddda9321c [GTK3] Invalidate widget style contexts after their ancestors are set
Although this is only known to affect buttons with builtin child widgets, it is difficult to audit all GTK widgets for similar situations, and so the same defense is applied to all widgets.
2018-04-06 11:02:43 -05:00
trav90 484a5de81d [GTK3] Force a style resolution on context creation to set GTK 3.4 theming_engine
This works around a GTK bug that led to the default engine being used instead for the first draw.
2018-04-06 10:58:03 -05:00
trav90 50217bd546 [GTK3] For Gtk > 3.20 determine scale trough size from trough CSS node and also add border/padding/margin 2018-04-06 10:37:03 -05:00
trav90 d75e9071f1 [GTK3] Consider also margin when determine range widget slider size 2018-04-06 10:34:41 -05:00
trav90 b1f27cb866 [GTK3] With GTK versions < 3.8 draw menuitem background and frame only when in hover and not a separator 2018-04-06 10:30:12 -05:00
trav90 b0af6c9827 [GTK3] Implement pre-3.20 MOZ_GTK_PROGRESS_CHUNK in WidgetStyleCache 2018-04-06 10:25:03 -05:00
trav90 3c30002e00 [GTK3] Adjust textarea style contexts for GTK 3.20 theming ABI changes 2018-04-06 09:18:33 -05:00
trav90 17a7b835d5 [GTK3] Consider textview root node background in addition to text node for -moz-appearance:textfield-multiline
This is necessary for GTK versions > 3.18 because windows no longer clear their backgrounds since https://git.gnome.org/browse/gtk+/commit/?id=580ea227a6bb19ad6c6d4766b3a36dbad24583f3 and Ambiance for 3.20 has a transparent background for the "text" window.
2018-04-06 09:16:44 -05:00
trav90 08f0754406 [GTK3] Consider textview root node background in addition to text node for -moz-field
This is necessary for GTK versions > 3.18 because windows no longer clear their backgrounds since https://git.gnome.org/browse/gtk+/commit/?id=580ea227a6bb19ad6c6d4766b3a36dbad24583f3 and Ambiance for 3.20 has a transparent background for the "text" window.
2018-04-06 09:10:47 -05:00
trav90 dfe72009d3 [GTK3] Introduce MOZ_GTK_TEXT_VIEW_TEXT and move MOZ_GTK_RESIZER to WidgetStyleCache
The style context for MOZ_GTK_TEXT_VIEW is now created by copying from the widget instead of caching a widget and using its context.
No rendering changes are expected, unless themes are animating GtkTextView backgrounds.
2018-04-06 09:06:33 -05:00
trav90 91d45b1630 [GTK3] Use WidgetCache to get colors at nsLookAndFeelfor menuitems, text and tree view 2018-04-06 09:04:54 -05:00
trav90 fa8c3a20c6 [GTK3] Use WidgetCache to get colors at nsLookAndFeel for GtkButton, GtkWindow, GtkScrollBar 2018-04-06 07:53:35 -05:00
trav90 3203c21a80 [GTK3] Use WidgetCache to get colors at nsLookAndFeel 2018-04-06 07:52:43 -05:00
wolfbeast 3a17b713ef Remove about:home snippets. 2018-04-06 14:07:27 +02:00
trav90 0f83951b6b [GTK3] Adjust menuitem padding and check/radio indicator position for changes in GTK 3.20 2018-04-05 15:51:07 -05:00
trav90 45c75167b0 [GTK3] Rename subtract_margin and rectangle_inset to Inset* and swap InsetByMargin parameters for consistency. 2018-04-05 15:50:31 -05:00
trav90 cf1b29fe47 [GTK] Rename radio/check menuitem and indicator as used with ClaimStyleContext.
The same name is retained for moz_gtk_widget_paint(), which is now more consistent.
2018-04-05 15:49:41 -05:00
trav90 fe4175e799 [GTK3] Use menuitem padding between menuitem and check indicator. 2018-04-05 15:48:29 -05:00
trav90 51c57b41a1 [GTK3] Draw only background and frame of separator menuitems in GTK versions > 3.20
In GTK 3.20, gtk_menu_item_draw() just draws the root widget gadget, depending on the theme to style menu items with CSS name "separator" appropriately.
2018-04-05 15:47:48 -05:00
trav90 a5a34355e4 [GTK3] Draw separator menuitem background and frame behind separator in menu 2018-04-05 15:47:12 -05:00
trav90 9fed5c8f39 [GTK3] Draw menuitem background even when not in hover 2018-04-05 15:46:38 -05:00
wolfbeast d960419686 Silence for-each-in warnings 2018-04-05 16:04:21 +02:00
Matt A. Tobin 5e8e0689c4 Port over logopage 2018-04-05 09:31:09 -04:00
Matt A. Tobin 43001bdfd7 [PALEMOON] Use unprefixed requestAnimationFrame in tabbrowser.xml 2018-04-05 09:05:44 -04:00
Matt A. Tobin f542c40ee6 [PALEMOON] Swipe Basilisk's browser-fullZoom.js 2018-04-05 08:43:32 -04:00
Matt A. Tobin 3e670d8573 [PALEMOON] Add missing strings to override netError.dtd 2018-04-05 08:42:39 -04:00
Matt A. Tobin 6fde853fa8 [PALEMOON] Fix redeclarations of shorthand Cc, Ci, Cu 2018-04-05 08:10:46 -04:00
Matt A. Tobin 321121c827 [PALEMOON] Switch call to autocomplete from history to unifiedcomplete in tabbrowser.xml 2018-04-05 08:05:31 -04:00
Matt A. Tobin 537d477b30 [PALEMOON] Fix preprocessing on preferences 2018-04-05 07:38:30 -04:00
Matt A. Tobin a0bfb651b6 [PALEMOON] Fix for loops in browser-thumbnails.js (SyntaxError: missing ] after element list) 2018-04-05 07:26:47 -04:00
Matt A. Tobin fef521cb6a [PALEMOON] Fix for loops in treeView.js (SyntaxError: missing ] after element list) 2018-04-05 07:26:12 -04:00
Matt A. Tobin 99889f4cc6 [PALEMOON] Remove check for MSE mixed prefs in nsBrowserGlue.js 2018-04-05 07:03:38 -04:00
Matt A. Tobin 5593323410 Take the following project_flags out of moz.configure: and put them back into old-configure
MOZ_PLACES
MOZ_SOCIAL
MOZ_SERVICES_HEALTHREPORT
MOZ_SERVICES_SYNC
MOZ_SERVICES_CLOUDSYNC
2018-04-05 06:02:02 -04:00
wolfbeast 86f6015894 Remove unused XRE_DONT_SUPPORT_XPSP2 2018-04-05 10:11:55 +02:00
wolfbeast 7838398b62 Make vector image surface caching smarter.
This resolves #91.
2018-04-05 09:58:06 +02:00
Moonchild c352cb6a50 Merge pull request #90 from trav90/fix-build-bustage
Fix Linux build bustage
2018-04-05 07:51:33 +02:00
trav90 b2aba844ee Fix Twemoji GTK build bustage
Followup to b4e843a.
2018-04-04 16:19:55 -05:00
trav90 940f4a53a5 Remove extra "+" signs from jar.nm for Linux theme 2018-04-04 16:09:02 -05:00
janekptacijarabaci 9f7f0f1172 Bug 1288768 - Better error reporting for network errors in workers 2018-04-04 21:36:41 +02:00
janekptacijarabaci aea1fd640e Bug 1288768 - Better error reporting for network errors in workers 2018-04-04 21:36:19 +02:00
Matt A. Tobin 2b97ab29b8 Ensure WebRTC is off by default in old-configure 2018-04-04 10:59:13 -04:00
Moonchild 27c333c6b4 Merge pull request #88 from janekptacijarabaci/devtools_network_openInNewTab_unused_1
[minor fix] Removing an unused variable
2018-04-04 16:33:29 +02:00
Matt A. Tobin c043e5d535 [PALEMOON] Fix preprocessor call for default bookmarks.html 2018-04-04 10:21:46 -04:00
Matt A. Tobin 858eff005a [PALEMOON] Update the Windows Installer 2018-04-04 09:49:48 -04:00
Matt A. Tobin 2af28f35d1 [PALEMOON] Fix fuelApplication.js include depth 2018-04-04 09:26:25 -04:00
Matt A. Tobin 199a592d86 [PALEMOON] Steal Basilisk's nsBrowserApp 2018-04-04 09:22:41 -04:00
Matt A. Tobin 20a62a90e6 [PALEMOON] Resolve externals is browsercomps 2018-04-04 09:21:53 -04:00
Matt A. Tobin 20cae79eb3 [PALEMOON] Wholesale steal Basilisk's shell component 2018-04-04 08:44:14 -04:00
Matt A. Tobin 99831baf2e [PALEMOON] Swipe nsIEHistoryEnumerator from Basilisk 2018-04-04 08:07:51 -04:00
Matt A. Tobin 04e0440f61 [PALEMOON] use nsresult instead of NS_METHOD in nsFeedSniffer 2018-04-04 07:49:29 -04:00
Matt A. Tobin abc1c7eb39 [PALEMOON] Remove the NS_APP_BOOKMARKS_50_FILE directory service key 2018-04-04 07:22:37 -04:00
Matt A. Tobin a1065a8a4b [PALEMOON] Remove nsIAboutModule::GetIndexedDBOriginPostfix(); 2018-04-04 07:18:48 -04:00
Matt A. Tobin 45549dde48 [PALEMOON] Add defines and subst to application specific configure 2018-04-04 06:28:50 -04:00
Matt A. Tobin b86be392ff [PALEMOON] Build the devtools server 2018-04-04 06:15:01 -04:00
Matt A. Tobin 942640c901 [PALEMOON] First pass fix of obvious moz.build issues 2018-04-04 06:05:30 -04:00
Matt A. Tobin fba0b46f53 [PALEMOON] Add moz.configure 2018-04-04 05:55:46 -04:00
Matt A. Tobin ca4209a2da [PALEMOON] Fix Branding Build Files 2018-04-04 05:54:48 -04:00
Matt A. Tobin 63b52f85a8 [PALEMOON] Rewrite confvars.sh 2018-04-04 05:10:13 -04:00
Matt A. Tobin 4a5f6b36cc [PALEMOON] Version bunp 2018-04-04 05:09:43 -04:00
wolfbeast b4e843aa3c Change embedded emoji font from EmojiOne to Twemoji. 2018-04-04 10:35:19 +02:00
Matt A. Tobin 3cf6d2b2d7 Sync Pale Moon code 2018-04-04 03:17:39 -04:00
janekptacijarabaci 3968897fb4 Bug 1431095 - Change Content-Type-Options: nosniff allowed script MIME types to match the spec 2018-04-03 19:50:55 +02:00
janekptacijarabaci 17c5cad601 Removing the unused variable 2018-04-02 18:19:17 +02:00
janekptacijarabaci 1f4ce97ecd moebius#90: CSS - implement text-justify property 2018-04-01 19:32:49 +02:00
janekptacijarabaci f4d1b4804a moebius#110: HTML - input - datetime - Datepicker shows incorrect month for the first day of the month 2018-03-31 11:33:23 +02:00
janekptacijarabaci 78074eb34f moebius#72: Fix Marionette's DateTimeValue when dom.forms.datetime is enabled 2018-03-31 11:12:17 +02:00
janekptacijarabaci 3430e8690a Bug 1446342 - Input type="date" not working if the other form elements has name="document" (any alternative solution) 2018-03-31 11:05:38 +02:00
janekptacijarabaci bbfe249fd0 A nicer button for class="month-year::after"
A small replacement for:
Bug 1282768: https://bugzilla.mozilla.org/show_bug.cgi?id=1282768
2018-03-31 07:14:59 +02:00
janekptacijarabaci 09cc05a97f Bug 1406859 - [DateTimePicker] Let the first picker close gracefully before opening a second picker 2018-03-31 07:07:45 +02:00
janekptacijarabaci 0a2b11d181 Bug 1397114 - Disable smooth scrolling when value changes come from input box 2018-03-31 07:05:58 +02:00
janekptacijarabaci 2f54cd30fc Bug 1401876 - (Part 2) Add browser-chrome test for reopening picker 2018-03-31 07:02:03 +02:00
janekptacijarabaci de16d19667 Bug 1401876 - (Part 1) Close datetime picker on popuphidden 2018-03-31 06:58:52 +02:00
janekptacijarabaci 7e0d05ea58 Bug 1390794 - Use 'norolluponanchor' to avoid closing the picker when the anchored input box is clicked 2018-03-31 06:58:05 +02:00
janekptacijarabaci 94980111da Bug 1371111 - Open picker when input element's padding area is clicked
+ Bug 1341029: https://bugzilla.mozilla.org/show_bug.cgi?id=1341029
(partially - partially - fix typo in removeEventListener):

https://hg.mozilla.org/mozilla-central/diff/6055065a2ed5/toolkit/content/widgets/datetimebox.xml
+ Bug 1410292: https://bugzilla.mozilla.org/show_bug.cgi?id=1410292
2018-03-30 23:54:41 +02:00
janekptacijarabaci 7dfc8b77b9 Bug 1381421 - (Part 2) Add browser chrome tests for the minimum and maximum dates 2018-03-30 23:50:46 +02:00
janekptacijarabaci e14c686ac0 Bug 1381421 - (Part 1) Handle dates earlier than 0001-01-01 and later than 275760-09-13 correctly 2018-03-30 23:50:34 +02:00
janekptacijarabaci 77fbaff2fa Bug 1363672 - Add step support to date picker (follow up)
Bug 1374967: https://bugzilla.mozilla.org/show_bug.cgi?id=1374967
(partially - implement getStep/getStepBase)
2018-03-30 23:25:42 +02:00
janekptacijarabaci 5941771281 Bug 1382175 - Fix time picker step and min/max regressions 2018-03-30 22:46:03 +02:00
janekptacijarabaci 6a44ab2659 Bug 1364026 - (Part 2) Check if min and max attributes on input type date are valid date strings 2018-03-30 21:14:18 +02:00
janekptacijarabaci 5e69b90422 Bug 1364026 - (Part 1) Expose HTMLInputElement.getMinimum/getMaximum methods via webidl 2018-03-30 21:13:59 +02:00
janekptacijarabaci 6f1fcab2d8 Bug 1363672 - Add step support to date picker 2018-03-30 20:56:33 +02:00
wolfbeast eac3e64111 Stop trying to configure nonexistent crashreporter services. 2018-03-30 20:53:10 +02:00
janekptacijarabaci 7f21e9c0cd Bug 1310080 - Implement the step attribute for <input type=datetime-local> 2018-03-30 20:33:02 +02:00
janekptacijarabaci 9f4779f923 Bug 1310078 - Implement valueAsNumber and valueAsDate for <input type=datetime-local> (follow up) 2018-03-30 20:29:17 +02:00
janekptacijarabaci 0679b939f3 Bug 1310079 - Implement the min and max attribute for <input type=datetime-local> 2018-03-30 19:56:09 +02:00
janekptacijarabaci a77308735f Bug 1310078 - Implement valueAsNumber and valueAsDate for <input type=datetime-local> 2018-03-30 19:11:11 +02:00
janekptacijarabaci c4aadf04aa Bug 1287677 - Add mozIntl.getDisplayNames API 2018-03-30 18:58:51 +02:00
wolfbeast 473fb65d33 Remove unused LSPAnnotator 2018-03-30 12:38:37 +02:00
janekptacijarabaci e25430117a moebius#92: HTML - input - datetime
+ native in moebius:

Bug 1317600: https://bugzilla.mozilla.org/show_bug.cgi?id=1317600
A note - not implemented: Bug 1282768:
https://bugzilla.mozilla.org/show_bug.cgi?id=1282768
*.css: filter: url("chrome://global/skin/filters.svg#fill");, fill:

Bug 1283385: https://bugzilla.mozilla.org/show_bug.cgi?id=1283385
Bug 1323109: https://bugzilla.mozilla.org/show_bug.cgi?id=1323109
Bug 1314544: https://bugzilla.mozilla.org/show_bug.cgi?id=1314544
Bug 1286182: https://bugzilla.mozilla.org/show_bug.cgi?id=1286182

Bug 1325922: https://bugzilla.mozilla.org/show_bug.cgi?id=1325922
A note - not implemented: Bug 1282768:
https://bugzilla.mozilla.org/show_bug.cgi?id=1282768
*.css: filter: url("chrome://global/skin/filters.svg#fill");, fill:

Bug 1320225: https://bugzilla.mozilla.org/show_bug.cgi?id=1320225
Bug 1341190: https://bugzilla.mozilla.org/show_bug.cgi?id=1341190
2018-03-30 12:17:17 +02:00
wolfbeast 4e721d14cd Remove MOZ_CRASHREPORTER_NO_REPORT except in /testing 2018-03-30 12:07:42 +02:00
janekptacijarabaci a1a007a485 Merge branch 'master' of https://github.com/MoonchildProductions/UXP into html_input_datetime_1 2018-03-30 09:44:21 +02:00
wolfbeast 4e368f8199 Remove base conditional code for crash reporter and injector. 2018-03-30 08:50:58 +02:00
wolfbeast 59bf4204a8 Update SQLite lib to 3.21.0. 2018-03-29 20:24:18 +02:00
wolfbeast 05cb2b32f2 Get rid of link to irrelevant information after build. 2018-03-29 20:19:27 +02:00
wolfbeast dc8aad9b9d Merge remote-tracking branch 'janek/_testBranch_js_array_values' 2018-03-28 11:33:19 +02:00
wolfbeast 19b9340707 Revert "Enable Array.prototype.values"
This reverts commit 424ed1b165.
2018-03-28 11:32:03 +02:00
wolfbeast e57cba2682 Fix line heights to properly scale to requested size for color-bitmapped SFNTs. 2018-03-27 21:26:25 +02:00
wolfbeast b6a49b6623 Allow bitmap fonts to force scaling and bypass tolerance check in gfxFcPlatformFontList. 2018-03-27 21:20:57 +02:00
wolfbeast cb59151acd Use FC_OUTLINE instead of FC_SCALABLE with Fontconfig to check if a font is scalable. 2018-03-27 21:14:03 +02:00
wolfbeast 424ed1b165 Enable Array.prototype.values
This resolves #85
2018-03-27 17:05:14 +02:00
janekptacijarabaci d990d8ab2c Merge branch 'master' of https://github.com/MoonchildProductions/UXP into js_array_values_1 2018-03-27 15:57:18 +02:00
wolfbeast 8d5ec757ec Merge remote-tracking branch 'janek/js_regexp_lastindex_1' 2018-03-27 13:22:30 +02:00
wolfbeast e197496820 Merge remote-tracking branch 'janek/js_IteratorClose_1' 2018-03-27 13:21:40 +02:00
wolfbeast 72721d1d03 Merge remote-tracking branch 'janek/js_lhs-before-rhs_1' 2018-03-27 13:21:13 +02:00
janekptacijarabaci 70c8cf8db7 Bug 1360839 - Call IteratorClose due to abrupt completion from yield
Issue #74
2018-03-25 19:06:08 +02:00
janekptacijarabaci aafdd31444 Bug 1357075 - Pad a nop to unwind to the scope just before a destructuring iterator close trynote
Issue #74
2018-03-25 18:24:06 +02:00
janekptacijarabaci 05441d12b6 Bug 1346862 - Fix IteratorClose due to non-local jumps being catchable by try statements inside for-of
Issue #74
2018-03-25 18:21:15 +02:00
janekptacijarabaci 727c27a30d Bug 1342553 - Part 0.2: Support JSOP_CHECKISCALLABLE in JIT
Issue #74
2018-03-25 17:00:47 +02:00
janekptacijarabaci b311e8fa71 Bug 1342553, Bug 1343072, Bug 1344753 (details in the description)
Bug 1342553 - Part 0.1: Use try-catch for IteratorClose in for-of
Bug 1343072 - Update HasLiveStackValueAtDepth to follow the change in
JSTRY_FOR_OF
Bug 1344753 - Update for-of stack depth in
ControlFlowGenerator::processWhileOrForInLoop

Issue #74
2018-03-25 16:22:38 +02:00
janekptacijarabaci 2818e8dedb Bug 1334314 - Fix debug mode OSR exception handling for IteratorClose trynotes
Issue #74
2018-03-25 14:49:32 +02:00
janekptacijarabaci e7a220aae2 Bug 1331585 - Allow falsy "done" values for IteratorClose due to exception during array destructuring
Issue #74
2018-03-25 14:48:34 +02:00
janekptacijarabaci 6056525ced Bug 1341339 - Check for duplicates in processIterators
Issue #74
2018-03-25 14:47:39 +02:00
janekptacijarabaci 4ee42e38e0 Bug 1338796 - Do not call iterator.return if iterator.throw is present in yield*
Issue #74
2018-03-25 14:20:11 +02:00
janekptacijarabaci c93787917d Bug 1335996 - Make test for bug 1333946 more reliable
Issue #74
2018-03-25 13:35:18 +02:00
janekptacijarabaci f3c542a6a5 Bug 1333946 - Make IonBuilder::processIterators transitive
Issue #74
2018-03-25 13:34:31 +02:00
janekptacijarabaci e2853b8a8f Bug 1322069 - Add TryEmitter
Issue #74
2018-03-25 13:32:14 +02:00
janekptacijarabaci e641a2c53a Bug 1334799 - Handle stack value in correct order when leaving for-of loop from finally block
Issue #74
2018-03-25 12:56:18 +02:00
janekptacijarabaci 34533e06a7 Bug 1332881 - Handle stack value in correct order when leaving loop and try-finally
Issue #74
2018-03-25 12:38:28 +02:00
janekptacijarabaci 3df7c50fcc Bug 1332155 - Skip non-try-related trynotes when asserting jump targets
Issue #74
2018-03-25 12:37:44 +02:00
janekptacijarabaci 8bb9649135 Bug 1331444 - Keep iterators alive in Ion in for-of loops for IteratorClose due to exceptions
Issue #74
2018-03-25 12:37:06 +02:00
janekptacijarabaci 5fd5b2ac2f Bug 1317397: Only set lastIndex for global or sticky RegExps in RegExpBuiltinExec per ES2017 2018-03-24 16:01:06 +01:00
janekptacijarabaci aae3a11734 Bug 1343375: Update RegExp.prototype.replace and .match to call ToLength(lastIndex) for non-global RegExp and handle recompilations
[Depends on] Bug 1317397: Implement RegExp.lastIndex changes from ES2017
2018-03-24 15:54:49 +01:00
janekptacijarabaci 114eb8bf48 Bug 1147371: Always decompile argument names in self-hosted code in the caller frame
Issue #74
2018-03-24 12:29:12 +01:00
janekptacijarabaci fdedd57c60 Bug 1147371: Implement JSOP_PICK and JSOP_UNPICK in the expression decompiler
Issue #74
2018-03-24 12:28:12 +01:00
janekptacijarabaci 1ea1ed1515 Bug 1147371: Implement calling IteratorClose and "return" on iterators in yield*
Issue #74
2018-03-24 12:27:00 +01:00
janekptacijarabaci 2bb0252ab4 Bug 1147371: Implement IteratorClose for array destructuring
Issue #74
2018-03-24 12:23:14 +01:00
janekptacijarabaci 4b487efb58 Bug 1147371: Convert self-hosted code that need to call IteratorClose to use for-of
Issue #74
2018-03-24 12:15:02 +01:00
janekptacijarabaci 2d2a60cdae Bug 1147371: Rename allowContentSpread to allowContentIter
Issue #74
2018-03-24 12:11:23 +01:00
janekptacijarabaci 7d753c1a8f Bug 1147371: Implement IteratorClose for for-of
Issue #74
2018-03-24 12:09:30 +01:00
wolfbeast 2b7f231ca7 Silence some ICU warning spew 2018-03-21 11:26:25 +01:00
janekptacijarabaci 2a57d73c3b Bug 1204028: Evaluate LHS reference before RHS in destructuring
Issue #73
[Depends on] Bug 1147371: Implement IteratorClose
2018-03-20 12:40:00 +01:00
janekptacijarabaci caa2a53c40 Bug 1322314 - Do not emit ParseNode twice in BytecodeEmitter::emitDestructuringOpsArray
Issue #73
[Depends on] Bug 1147371: Implement IteratorClose
2018-03-20 10:46:22 +01:00
janekptacijarabaci 3ee73ca14c Bug 1322314 - Disallow emitting ParseNode twice
Issue #73
[Depends on] Bug 1147371: Implement IteratorClose
2018-03-20 10:27:23 +01:00
wolfbeast 893a886ea3 Add support for the function name property.
This resolves #78.

Merged remote-tracking branch 'janek/js_function_name_1'
2018-03-20 10:10:12 +01:00
wolfbeast 7197b308fb Make RegExp.prototype return a regular object instead of an instance.
This resolves #77.

Merged remote-tracking branch 'janek/js_regexp_ordinary-object_1'
2018-03-20 10:07:06 +01:00
janekptacijarabaci 6085bfdcec Follow up: A opening bracket { was added; Added "function()->explicitName()" instead of "function()->name()"
Issue #78
2018-03-19 18:11:08 +01:00
janekptacijarabaci f084549e82 Part 6: Update browser and dom tests to follow displayName change
Issue #78
2018-03-19 16:17:28 +01:00
janekptacijarabaci 1a3f098975 Part 5: Update devtools to follow displayName change
Issue #87
2018-03-19 16:15:11 +01:00
janekptacijarabaci eb94521052 Part 4: Fix existing tests
Issue #87
2018-03-19 16:08:36 +01:00
janekptacijarabaci e3f1d0d106 Part 3: Support JSOP_SETFUNNAME in Baseline and Ion
Issue #87
2018-03-19 15:59:22 +01:00
janekptacijarabaci f67a2b88d7 Part 2: Call NameFunctions after emitting
Issue #78
2018-03-19 15:51:02 +01:00
janekptacijarabaci 5ef44cf648 Part 1: Implement ES6 function name property semantics
Issue #78
2018-03-19 15:47:10 +01:00
janekptacijarabaci 6822460d3b Bug 1317309: Throw a TypeError when passing a Symbol value to ToAtom
Issue #78
[Depends on] Bug 883377: Implement ES6 function "name" property
semantics
2018-03-19 15:18:37 +01:00
janekptacijarabaci 213f9ea384 Bug 1320042: Rename BytecodeEmitter::emitConditionallyExecuted{SOMETHING} to BytecodeEmitter::emit{SOMETHING}InBranch
Issue #78
[Depends on] Bug 883377: Implement ES6 function "name" property
semantics
2018-03-19 14:55:56 +01:00
janekptacijarabaci 75db97cb37 Bug 1320388: Move JSFunction::HAS_REST to JSScript and LazyScript
Issue #78
[Depends on] Bug 883377: Implement ES6 function "name" property
semantics
2018-03-19 14:48:24 +01:00
janekptacijarabaci a413cf7288 Update RegExp Xray code
Issue #77
2018-03-19 12:47:01 +01:00
Moonchild 173a526ec0 Merge pull request #81 from janekptacijarabaci/blocklist_update_1
Blocklist update (follow up for "AntiVirus for Firefox")
2018-03-19 10:56:59 +01:00
janekptacijarabaci 3114d48cee Handle RegExp correctly in devtools
Issue #77
2018-03-19 10:47:16 +01:00
janekptacijarabaci 9384b08d87 Tests
Issue #77
2018-03-19 10:46:14 +01:00
janekptacijarabaci df313c5b77 Use ordinary object for RegExp prototype
Issue #77
2018-03-19 10:42:58 +01:00
janekptacijarabaci cf70142093 Bug 1323868: Report object allocation failure when running off-main-thread
Issue #77
[Depends on] Bug 1192038: RegExp.prototype should be an ordinary object
2018-03-19 10:25:44 +01:00
janekptacijarabaci 5b5e5233f5 Blocklist update (follow up for "AntiVirus for Firefox")
Issue https://github.com/MoonchildProductions/Pale-Moon/issues/1644
2018-03-19 10:19:02 +01:00
wolfbeast faa5f0df26 Prototypes should be regular objects.
This resolves #76

Merged remote-tracking branch 'janek/js_error_ordinary-object_1'
2018-03-19 09:23:23 +01:00
Moonchild 393ee744a8 Merge pull request #70 from janekptacijarabaci/js_dom_performancetiming_2
Set "secureConnectionStart" to 0 for pages with HTTP scheme
2018-03-18 20:05:22 +01:00
wolfbeast b2af10d6cf Remove strict arguments poison pill for "caller" property per ES2017
This resolves #79.

Merged remote-tracking branch 'janek/js_strict_arguments_caller_removed_1'
2018-03-18 20:00:50 +01:00
wolfbeast b2331d7622 Correctly tokenize valid JS names when using code points outside of BMP range.
This resolves #72.

Merged remote-tracking branch 'janek/js_variable_unicode_1'
2018-03-18 17:58:37 +01:00
wolfbeast 122938a439 Support ES6's "new function" construct
This resolves #75.

Merged remote-tracking branch 'janek/js_function_new_1'
2018-03-18 17:56:16 +01:00
janekptacijarabaci 427e734662 Correctly tokenize valid JS names when using Unicode mathematical alphanumeric symbols as variable name
Issue https://github.com/MoonchildProductions/Pale-Moon/issues/1647
2018-03-18 14:55:49 +01:00
Pale Moon dda392cd4e Add extra check for path traversal sanity v2. 2018-03-18 10:56:47 +01:00
wolfbeast 912aa47acf Merge branch 'ported-upstream' 2018-03-18 10:56:28 +01:00
janekptacijarabaci 726d2c3093 Remove strict arguments poison pill for "caller" property per ES2017 2018-03-18 09:53:57 +01:00
wolfbeast ea1b2e81e4 Revert "Add extra check for path traversal sanity."
This reverts commit 41bd3e2599.
2018-03-18 02:32:48 +01:00
janekptacijarabaci 77e607426f Add TI for error properties assigned by the initial shape (follow up) 2018-03-17 18:07:21 +01:00
janekptacijarabaci 9472b0a603 Bug 1320198: Land additional Error prototype test 2018-03-17 17:24:28 +01:00
janekptacijarabaci b794d24326 Bug 1319952: Assertion failure: isNurseryAllocAllowed(), at js/src/gc/Allocator.cpp:79 2018-03-17 17:03:00 +01:00
janekptacijarabaci 9ecabc46eb Tests 2018-03-17 17:01:42 +01:00
janekptacijarabaci c00faa3d19 Add TI for error properties assigned by the initial shape 2018-03-17 17:00:25 +01:00
janekptacijarabaci 4a4b951bfc Simplify Error Xray code 2018-03-17 16:59:17 +01:00
janekptacijarabaci 566f1ff8e7 Handle the now ordinary error prototype object in stack 2018-03-17 16:58:26 +01:00
janekptacijarabaci 0a815a6f11 Use ordinary objects for Error prototypes 2018-03-17 16:56:31 +01:00
wolfbeast 6698bbf107 Bug 1426002. Bail out of document.open if beforeunload tears things down. r=mystor 2018-03-17 14:30:49 +01:00
wolfbeast 0ae2ab78b9 Be more explicit with a lock. 2018-03-17 14:30:28 +01:00
janekptacijarabaci a10b23932c Set "secureConnectionStart" to 0 for pages with HTTP scheme
Issue #67
2018-03-17 13:35:25 +01:00
Moonchild a24511ca8e Merge pull request #68 from janekptacijarabaci/js_dom_performancetiming_1
Round down to the nearest 2ms (instead of 1ms) by using timerclamping function
2018-03-17 13:26:47 +01:00
wolfbeast 41bd3e2599 Add extra check for path traversal sanity. 2018-03-17 13:22:41 +01:00
wolfbeast 191ec5415b Use origin instead of documentURI for WebRTC permission requests, when available. 2018-03-17 13:09:02 +01:00
janekptacijarabaci bdaacef069 Deleting "secureConnectionStart" from a test file
Issue #69
2018-03-17 12:38:43 +01:00
janekptacijarabaci e3da3bec40 Round down to the nearest 2ms (instead of 1ms)
Issue #67

https://github.com/MoonchildProductions/UXP/pull/34/commits/c8355b22c047c9737e32f096b816edbb8b0fa181

https://github.com/MoonchildProductions/UXP/commit/a32b7f7c4e4e31669e0787e6321d74e4db71e514

https://github.com/MoonchildProductions/UXP/commit/f0b727eac28244e0fa24a6107dee44e83ad0f561
2018-03-17 11:09:13 +01:00
wolfbeast 56bcb6b5af Handle same-compartment wrappers in TypedArray methods.
CallTypedArrayMethodIfWrapped (and the CallNonGeneric machinery throughout the
engine) unwraps the `this` argument, but the other arguments are only rewrapped
for the target compartment.

The pattern being used before this patch to get the length of a TypedArray or
possible TypedArray wrapper is:
`callFunction(CallTypedArrayMethodIfWrapped, O, O, "TypedArrayLength")`
The first `O` is the `this` value and the second is an argument. If `O` is a
cross-compartment wrapper, this works fine. The first `O` is unwrapped, revealing
the actual TypedArray object; the second `O` is rewrapped for that TypedArray's
compartment, producing the same TypedArray.
However, if `O` is a same-compartment wrapper, this doesn't work. The first `O` is
unwrapped, revealing the actual TypedArray object in the same compartment;
rewrapping the other `O` does nothing to it, since it is already an object in the
target compartment. Thus TypedArrayLength receives a `this` value that's an
unwrapped TypedArray, but an argument that is still a wrapper.

The fix is to have CallTypedArrayMethodIfWrapped targets only expect `this`
to be an unwrapped TypedArray.
2018-03-17 10:47:56 +01:00
wolfbeast e4c64e1a3d Set up the "DRM not available" messages in a saner way. 2018-03-17 10:12:55 +01:00
wolfbeast 77734e5470 Bug 1416940; r=snorp 2018-03-16 22:28:13 +01:00
janekptacijarabaci af300f36f1 Bug 755821: Function() should use the parser's argument parsing code 2018-03-16 11:35:57 +01:00
Karl Tomlinson 338c6a4323 Bug 1426603 - Fallback from audio callback to system clock driver on error only once. r=padenot, a=RyanVM
Usually, mShouldFallbackIfError has been reset to false in DataCallback()
before Stop() is called.  However, if fallback to a system clock driver due to
cubeb error had already occurred, then mShouldFallbackIfError would not have
been reset, and Stop() is still called.  With mShouldFallbackIfError still
true, a cubeb error in stop would have created another fallback thread.

I expect that resetting mShouldFallbackIfError in Stop() would also be an
effective alternative solution, but resetting on StateCallback() happens
earlier, which would be an advantage if any additional errors could possibly
be reported to StateCallback().

MozReview-Commit-ID: E9j7PQmS3O4
2018-03-16 10:28:56 +01:00
janekptacijarabaci 28d4e4a5fa Bug 1318017: Call GetPrototypeFromConstructor for generator/async function and Intl constructors
[Depends on] Bug 755821: Function() should use the parser's argument
parsing code
2018-03-16 09:04:55 +01:00
Moonchild 11bdaa144d Merge pull request #66 from janekptacijarabaci/js_iterable_closures_1
Close iterator after error in: Map, Set, WeakMap, WeakSet, Array.from, Promise.{all,race}
2018-03-16 08:36:30 +01:00
janekptacijarabaci 1147945576 Close iterator after error in Promise.{all,race}
Issue #17
2018-03-15 21:12:39 +01:00
janekptacijarabaci 25550ce903 Close iterator after error in Array.from
Issue #17
2018-03-15 21:12:03 +01:00
janekptacijarabaci 75c9377766 Close iterator after error in {Map,Set,WeakMap,WeakSet} constructors
Issue #17
2018-03-15 21:11:35 +01:00
janekptacijarabaci ee15761a50 Bug 1311798: Align XMLHttpRequest abort() with the spec 2018-03-15 19:18:30 +01:00
wolfbeast 0d3ee51ad2 Merge branch 'master' of https://github.com/MoonchildProductions/UXP 2018-03-15 09:11:46 +01:00
wolfbeast 82b361dc44 Merge branch 'ported-upstream' 2018-03-15 09:11:31 +01:00
Matt A. Tobin caa1b329f1 Fix mozbuild looking for .cargo 2018-03-14 16:58:35 -04:00
wolfbeast 4bb98e2b61 Remove .cargo directory
Tag #58
2018-03-14 20:52:40 +01:00
Ralph Giles 71429dc7ec Bug 1443865 - Use 16-bit eobs count. r=kinetik, a=RyanVM
MozReview-Commit-ID: 4lfBbvSTNPO

--HG--
extra : source : a628b2125a1b860c6d8124387040ec9589c219ab
extra : intermediate-source : e9128973a480c8aedf3a2e1c67d3e168613fa17c
2018-03-14 13:18:27 +01:00
Tom Ritter ea3585702f Bug 1437105 - Remove flaky timing tests from ESR branch that sometimes fail with time clamping. r=baku, a=test-only
Because we hardcode time clamping in ESR (as opposed to having a pref) I
don't see a way to guarentee that this test won't fail when we lose the
race and clamp downwards.

MozReview-Commit-ID: IMwejbOBmDu
2018-03-14 13:17:37 +01:00
Jeff Muizelaar 07148526de Bug 1438425 - Delete DocumentRenderer. r=jesup, r=jgilbert, a=RyanVM
It is unused.
2018-03-14 12:42:38 +01:00
Jeff Gilbert ece34cca42 Bug 1442504 - Disable disjoint timer queries. r=milan, a=RyanVM
MozReview-Commit-ID: IurPcGHzAoQ

--HG--
extra : source : bef3db82d7ca31a188f902e317713c88001938ed
extra : intermediate-source : aeb9e1be02d26d4e21717368755b63821dc2d222
2018-03-14 12:41:05 +01:00
Steve Fink c9e08a8af9 Bug 1434384 - Mark v1 structured clone data as cross-process. r=jorendorff, a=RyanVM
--HG--
extra : source : d85679eb427513cb18650f3d4e7d37a6ccbefbab
extra : intermediate-source : 5c286cc709dfcaca7269b88516e6f71626c98496
2018-03-14 12:40:19 +01:00
wolfbeast 302f17e514 Revert "Bug 1438425 - Delete DocumentRenderer. r=jesup, a=RyanVM"
This reverts commit 5b69e05939.
2018-03-14 12:38:55 +01:00
Tom Ritter 959f6d2881 Bug 1442127 - Allow timestamps to be equal in video delay. r=baku, a=test-only
MozReview-Commit-ID: LsNy7E3bFv6

--HG--
extra : transplant_source : %B4t%00u%DB%EE%86%BD2%81%AA%CD%88X%BF%BC%AE%E8%3D%B7
extra : histedit_source : a16c98faab76929e32d9153b288f4ec5c92a0ba6
2018-03-14 12:37:53 +01:00
Tom Ritter 5e04b38b1d Bug 1442127 - Allow function call times to occur at the same time in browser_profiling-canvas.js for ESR branch. r=baku, a=test-only
MozReview-Commit-ID: Fev1JqBwJYO

--HG--
extra : transplant_source : %ADG%83%28%3B%94f%98%EAO%80%08%8A%DFs%D4%24C9%A8
extra : histedit_source : 4859a7fdd7b324e0c0231feb4e13437f836bdb9c
2018-03-14 12:37:03 +01:00
Jan de Mooij 64d560f52b Bug 1437450 - Disable Ion no-clone optimization for regexps if the graph contains try blocks. r=nbp, a=RyanVM
--HG--
extra : source : 61b461277369e0cec89c79d8526a82c575818e94
extra : intermediate-source : 806696d494300c8c09ad2c0c3141194b5418a706
extra : histedit_source : e38bbe5c22bace744f6da0b8ff39462b64fe5a95
2018-03-14 12:36:13 +01:00
Henri Sivonen e59bc0fea2 Bug 1425520. r=smaug, a=abillings
MozReview-Commit-ID: IoZeR5BGjmQ

--HG--
extra : source : e20052aa341d6da4505eb84be6e061bb7f37de51
extra : intermediate-source : a330f1d4d12a7c144797f3686f35a99c37b0755e
extra : histedit_source : 6d3684d36b39fd065f742ceb577d8b6db4735bcf
2018-03-14 12:35:34 +01:00
Jeff Muizelaar 5b69e05939 Bug 1438425 - Delete DocumentRenderer. r=jesup, a=RyanVM
It is unused.

--HG--
extra : histedit_source : b7af9f250f0330f90547114184873ae9971f20fc
2018-03-14 12:34:36 +01:00
Ben Kelly 2d689a1bc3 Bug 1440775 - Make fetch API force-cache and only-if-cached use VALIDATE_NEVER instead of LOAD_FROM_CACHE. r=mayhemer, a=RyanVM
--HG--
extra : source : 60fb09de57ec145923da102f856399d3323f632b
extra : amend_source : b42db87defcc5615773cfa4659af9ff5b9cd4b72
extra : intermediate-source : 599641c7992def734cb352d9413aa51bf0e9793f
extra : histedit_source : 1d42c837225bdf000d3a68bef46a862be87d4044
2018-03-14 12:33:47 +01:00
janekptacijarabaci 35c61a027d Bug 1264125: Fire transitioncancel event when a transition is canceled (added tests + style clean up)
Issue #55
2018-03-14 12:13:01 +01:00
janekptacijarabaci c58cec26c7 Bug 1202333: AnimationEvent elapsedTime should reflect playbackRate (added tests)
Issue #55
2018-03-14 11:55:23 +01:00
janekptacijarabaci aade91b13a moebius#89: DOM - implement animationcancel event
Issue #55
2018-03-14 11:45:38 +01:00
Tom Ritter 8bd0f36bf1 Bug 1430173 - Add qualifiers to BorrowedAttrInfo. r=baku, a=RyanVM
Because we added a new file, we rearranged the Unified Build order and now
need to fully qualify BorrowedAttrInfo which previously inherited a using statement.

MozReview-Commit-ID: BD45k5t9dQU

--HG--
extra : transplant_source : o%E5%3B%E2dr%DF%A1cP%5E%17%19%19%FF%E1%27%A3%9F%99
2018-03-14 11:32:49 +01:00
Tom Ritter b367c38241 Bug 1430173 - Update tests for 2ms timers. r=baku, a=RyanVM
MozReview-Commit-ID: 6xhQ71a5rDU

--HG--
extra : transplant_source : %C2%D3%A7It%0Cg%92h%BB%3A%95%A2%0D.%86%B9C%9B%2B
2018-03-14 11:32:10 +01:00
Tom Ritter f0b727eac2 Bug 1430173 - Add Timer Rounding tests backported from -central to -esr. r=baku, a=RyanVM
MozReview-Commit-ID: Jl4WZAamgrI

--HG--
extra : transplant_source : E%DC%91lU%1C%A4l%2C%C8%23PCz%EB%F2%81%25%1F%90
2018-03-14 11:31:24 +01:00
Tom Ritter a32b7f7c4e Bug 1430173 - Reduce the precision of all explicit clocks to 2ms. r=baku, a=RyanVM
Backport to ESR where we don't have the ResistFingerprinting component.

MozReview-Commit-ID: 9bjycHjR3SF

--HG--
extra : transplant_source : %EA%03%21%0A%E9%3F%8E%CD%7C%D79f%96%85%96%00%5D%7F%95X
2018-03-14 11:27:26 +01:00
Henri Sivonen bd819cc436 Bug 1440926 - Use overflow-checking math when computing Big5 max length. r=emk, a=RyanVM
MozReview-Commit-ID: 1Gney5cYyhu
2018-03-14 11:21:36 +01:00
wolfbeast 8c25427afc Blocklist update 2018-03-14 11:21:21 +01:00
Brian Hackett 69d5d1e702 Bug 1437507 - Fix JSObject::setFlags to call ensureShape before checking for dictionary mode. r=jandem, a=RyanVM
--HG--
extra : source : ca6b74831ec3db204e024b07f200b0d1ce93557e
extra : intermediate-source : 9d7c295d9570e294851908465f56ec0779547d2a
2018-03-14 11:08:45 +01:00
Makoto Kato 9da00ab58e Bug 1437087 - Call Disconnect on Unlink of cycle collector. r=masayuki, a=RyanVM 2018-03-14 11:07:35 +01:00
Andrew Osmond c0ea2166b9 Bug 1388020. r=nical, a=RyanVM 2018-03-14 11:06:35 +01:00
Ryan VanderMeulen 686954ea84 Bug 1398021 - Update lz4 to version 1.8.0. r=froydnj, a=RyanVM
--HG--
extra : source : 9a4077eda5d80e2f7c7fe271035bee2e2d034cec
extra : histedit_source : 64eb1f6e9b2b08981644d7edccd22997d6463b4b%2C5619daf512a89b3a6bf84eca781190b56e8dea31
2018-03-14 11:05:16 +01:00
Valentin Gosu 879619491f Bug 1334465 - Set mIPCClosed to true before calling SendDeleteSelf in order to avoid race. r=bagder, a=ritu
In the previous code, a race condition could cause us to call SendSetPriority() after calling SendDeleteSelf.

For example:
T1: SendDeleteSelf()
T2: if (!mIPCClosed) SendSetPriority()
T1: mIPCClosed = true

MozReview-Commit-ID: 3XOwCaphb2o

--HG--
extra : rebase_source : d6e6886402d1e0b0afed23c25a9fb18d8ca29ad6
extra : intermediate-source : cfc9afe916091e6449f7d748991e2a19187dc817
extra : source : 4ebdab0e332892378558817e30d0138c95199ce5
2018-03-14 11:03:59 +01:00
Valentin Gosu 8f7686bd7d Bug 1334465 - Make HttpChannelParent::mIPCClosed atomic. r=bagder, a=ritu
MozReview-Commit-ID: 6irCJMAjzjW

--HG--
extra : rebase_source : 2357ab0b9d1d693dac9e5f4f16f34f370c6591b5
extra : intermediate-source : 48b9f6671588c3c2b8d3b4ea6ba1267f5e297f83
extra : source : bd315ae86709c3459a3dbf0778022ff3b1908723
2018-03-14 11:03:06 +01:00
Dan Glastonbury f87d25ee40 Bug 1428947 - Check plane width & stride constraints. r=mattwoodrow, a=ritu
MozReview-Commit-ID: 328ETwMdVnq

--HG--
extra : rebase_source : e16b28d137de080f9d8495c6937e24ac16b16ab1
2018-03-14 11:02:02 +01:00
Daniel Holbert 5babf7dc56 Bug 1324042 - Fix trimmedOffsets arithmetic in GetRenderedText(). r=mats, a=RyanVM
MozReview-Commit-ID: H4ngU8Juyln

--HG--
extra : rebase_source : f4d6ab58ae70e485dfe72d5290cf6fae2c8397dd
extra : intermediate-source : bec50ba1fb12aebde4e4065b2799bc730bc30010
extra : source : fbf54020043bd09c162530907b2a1091a10f4f92
2018-03-14 11:00:47 +01:00
Nicholas Hurley 756fb3e145 Bug 1416529. r=mcmanus, a=ritu
MozReview-Commit-ID: CD1l5vLB4yy

--HG--
extra : rebase_source : d74f8ca96dab4e0d25d79948fcddbf8dab98bb36
2018-03-14 10:59:09 +01:00
Jonathan Watt e749d23a34 Bug 1430557. r=longsonr, a=lizzard
--HG--
extra : rebase_source : 5109c816d9ad1ce1881e3670b8d74ae0dc475223
2018-03-14 10:58:19 +01:00
Samael Wang a089281740 Bug 1416307 - Set triggeringPrincipal to current document's principal, if aPrincipal is not given. r=bz, a=ritu
MozReview-Commit-ID: 8lxKFeUlyzq

--HG--
extra : rebase_source : 5f364f5cf84c12717bee021d752aa0f9ba4619dd
extra : intermediate-source : 9df27a7142ffb065fb56c3fc873298988deacb98
extra : source : 9fcf48189000ab8ee16f236be57c9659c7243b42
2018-03-14 10:57:15 +01:00
Mike Hommey f56791f643 Bug 1424709 - Force disable the OSX system "nano allocator". r=spohl, a=RyanVM
We're not actually using it, and it messes up with the zone allocator in
mozjemalloc after fork(). See the lengthy analysis in
https://bugzilla.mozilla.org/show_bug.cgi?id=1424709#c34 and following.

--HG--
extra : rebase_source : b191048290a907cc7668ad7ab6369ef8661f31dc
extra : intermediate-source : 45c5d467a46077dcc3ccd59feafd0c2784432fef
extra : source : bf1efa161edb20a83fe8db2f96c51f4e66880153
2018-03-14 10:56:20 +01:00
André Bargull d9ef671b04 Bug 1430761 - Update tzdata in ICU data files to 2018c. r=Waldo, a=lizzard
--HG--
extra : rebase_source : cb9ac8a678b6f565091f6d7733b6cd86afde0da7
2018-03-14 10:55:09 +01:00
Bob Owen f13ea6af5b Bug 1426087 - Decrement nsDocumentViewer::mDestroyRefCount in a separate function. r=jwatt, a=RyanVM
--HG--
extra : source : 86d41b5efe074f6988085082df9ef537eee0813a
extra : intermediate-source : ea406489f93a0a8fa05ff568acdff07ce6b118c4
2018-03-14 10:54:03 +01:00
Olli Pettay c7816fd9ee Bug 1434580 - Ensure proper mouseover handling. r=masayuki, a=RyanVM
--HG--
extra : source : bfd4bdfd40b43d0491c66af5b599659427e4e795
extra : intermediate-source : 8660689b18cd25f0110276bfc5bb8e8dd9c325f9
2018-03-14 10:53:02 +01:00
Dan Minor abf6ecee9f Bug 1433005 - Simplify codec pruning in NegotiateCodecs. r=bwc, a=lizzard
--HG--
extra : source : 90ae99509f1e9cb5bdf19350a5fbb1a02d34ff0a
2018-03-14 10:51:46 +01:00
Nils Ohlmeier [:drno] a8f45aba81 Bug 1426988 - Properly exit encoder init in error cases. r=rillian, a=RyanVM 2018-03-14 10:47:26 +01:00
janekptacijarabaci dcc00ffadf Bug 1264125: Queue CSS related event when setting null target effect
Issue #55
2018-03-14 09:18:49 +01:00
janekptacijarabaci 34ef9d4683 Bug 1264125: Call the queueing events when canceling transition via Style or Script
Issue #55
2018-03-14 09:16:03 +01:00
janekptacijarabaci 4644a03770 Bug 1264125: Queue transitioncancel when animation status is idle
Issue #55
2018-03-14 09:10:08 +01:00
janekptacijarabaci 3a9cafda4d Revert - Bug 1324985: Disable firing the transitionrun and transitionstart on Aurora 52
Issue #55
2018-03-14 09:04:22 +01:00
janekptacijarabaci cf4482199c Bug 1264125: Fire transitioncancel event when a transition is canceled - part 1 (in the description)
Issue #55
part 1 - Add transitioncancel event handler
part 2 - Add ontransitioncancel EventHandler to WebIDL
part 3 - Add member of active time to ComputedTiming
2018-03-14 08:52:52 +01:00
janekptacijarabaci c473010029 Bug 1202333: AnimationEvent elapsedTime should reflect playbackRate (without tests)
Issue #55
2018-03-14 08:26:26 +01:00
wolfbeast d2a0a16054 Hard-disable the use of sponsored tiles. 2018-03-13 17:12:06 +01:00
wolfbeast 240ba54a42 Bump max icon size for search engine icons to 32 KB to cater to more common use of HiDPI icons. 2018-03-13 16:39:42 +01:00
Moonchild 5462c41574 Merge pull request #59 from MoonchildProductions/Evapo-Rust
Remove all rust components and libs.
2018-03-13 14:55:45 +01:00
wolfbeast 38d185280e Remove Rust from the tree.
Part 4 for #58
2018-03-13 13:38:57 +01:00
wolfbeast 7c68c5a22c Remove cargo nsstring component
Part 3 for #58
2018-03-13 12:15:45 +01:00
wolfbeast a1f1434202 Remove Rust URL parser CAPI
Part 2 for #58
2018-03-13 11:55:28 +01:00
wolfbeast 565bf75145 Remove Rust MP4 parser
Part 1 for #58
2018-03-13 10:14:21 +01:00
Matt A. Tobin 90e68c3e3f Fix for loops in selectAddons.js (SyntaxError: missing ] after element list) 2018-03-12 16:49:50 -04:00
Matt A. Tobin 4a70c6dd24 Remove the hard blocker on unmodified jetpack extensions from TychoAM
Be sure to remove the now unused string from Pale Moon
2018-03-12 16:22:40 -04:00
Matt A. Tobin e510fcb00c Adjust error number for WebExtensions on TychoAM and add the string to Basilisk
Pale Moon l10n will need an adjustment as well from -5 to -9
2018-03-12 16:20:49 -04:00
Matt A. Tobin ffa04def2f Fix for loops in update.js (SyntaxError: missing ] after element list) 2018-03-12 15:08:29 -04:00
janekptacijarabaci 70a4d7e010 JS - RegExp - match updated spec for /\b/iu and /\B/iu 2018-03-12 14:59:13 +01:00
wolfbeast b392e6d2ea Generate irregexp character tables with make_unicode.py. 2018-03-12 14:15:56 +01:00
wolfbeast ba74a4174d Merge branch 'ported-moebius' 2018-03-12 11:18:06 +01:00
wolfbeast 519775b8d9 Revert "JS - RegExp - match updated spec for /\b/iu and /\B/iu"
This reverts commit 93f8e06bb8.
2018-03-12 11:09:28 +01:00
wolfbeast 2fbd179478 Bustage fix: remove duplicate function def 2018-03-12 11:09:02 +01:00
janekptacijarabaci c43c8f1762 JS - Object - "TypeError: setting a property that has only a getter" without mentioning file and property name 2018-03-12 10:12:53 +01:00
janekptacijarabaci ea44e60b7e HTML - implement the labels attribute (follow up) 2018-03-12 10:01:04 +01:00
janekptacijarabaci 6be9e50707 HTML - implement the labels attribute 2018-03-12 09:59:19 +01:00
janekptacijarabaci 93f8e06bb8 JS - RegExp - match updated spec for /\b/iu and /\B/iu 2018-03-12 09:52:39 +01:00
wolfbeast 1df7811e8e Bump Goanna version for CSS improvements. 2018-03-12 09:52:05 +01:00
janekptacijarabaci 092c61f6e6 CSS: inline-block with a display:block <input> child element has a wrong baseline (HTML forms) 2018-03-12 09:50:12 +01:00
janekptacijarabaci 76e1c016a3 CSS - Grid - transferred min-size contribution of percentage size grid item with an intrinsic ratio 2018-03-12 09:46:33 +01:00
janekptacijarabaci 920519e7c5 CSS - Grid - intristic content with overflow:auto overlaps in grid 2018-03-12 09:46:03 +01:00
janekptacijarabaci 505edf1ba4 [draft] CSS - linear-gradient - zero (0) angle value without degree unit is not correctly interpreted 2018-03-12 08:40:14 +01:00
janekptacijarabaci 017797de49 CSS - Grid - fit-content unexpectedly reserves space for full clamp size in repeat() 2018-03-12 08:39:41 +01:00
janekptacijarabaci b736f53a13 SVG - support radialGradient fr attribute 2018-03-12 08:39:15 +01:00
janekptacijarabaci 4577efd50f Implement DOM page onvisibilitychange. 2018-03-12 08:38:36 +01:00
janekptacijarabaci eda34d02aa [minor fix] Places - deleting folder of livemarks - nsLivemarkService.js - 0x80070057 (NS_ERROR_ILLEGAL_VALUE) 2018-03-11 16:15:52 +01:00
janekptacijarabaci 1275cfecf8 [minor fix] Places - bookmarks - treeView.js - 0x80070057 (NS_ERROR_ILLEGAL_VALUE) [nsINavHistoryContainerResultNode.getChildIndex] 2018-03-11 16:14:57 +01:00
janekptacijarabaci 8d709fbc81 Bookmarks - HTML export - Write CRLF on Windows systems and LF on others. 2018-03-11 16:10:04 +01:00
Moonchild e3c30c6a4d Merge pull request #53 from janekptacijarabaci/devtools_network_markers_1
DOMContentLoaded and load does not work properly; follow up if "devtools.webconsole.persistlog == true"
2018-03-10 11:11:35 +01:00
Moonchild 9e2ba2237f Merge pull request #51 from trav90/buildsystem-work
Improve support for GCC 7.x
2018-03-10 11:10:35 +01:00
Matt A. Tobin 2e5f399735 Port Pale Moon commit a3044d3 - Exclude default theme from update checks.
Do this both for TychoAM and WebExAM
2018-03-08 12:20:38 -05:00
janekptacijarabaci 2f4fa17a5c DOMContentLoaded and load does not work properly if "devtools.webconsole.persistlog == true" - is getting higher
Issue #52
2018-03-05 20:30:12 +01:00
Moonchild 88cfcc8a55 Merge pull request #50 from adeshkp/patch-1
Fix configure on Mac OS X
2018-03-05 12:04:48 +01:00
adeshkp 94852e675f Fix configure on Mac OS X 2018-03-05 09:14:22 +00:00
Moonchild de97f5dd8e Merge pull request #47 from janekptacijarabaci/devtools_storage_refresh_1
Added a button to refresh the Storage Inspector display
2018-03-05 00:35:56 +01:00
Moonchild b9b1757006 Merge pull request #46 from janekptacijarabaci/devtools_network_curl_1
Copy as cURL (PATCH)
2018-03-05 00:34:20 +01:00
Moonchild 05b5c72bb4 Merge pull request #48 from janekptacijarabaci/devtools_inspector_typo_1
Fix typo in a comment
2018-03-05 00:33:45 +01:00
janekptacijarabaci d24b2d8a1d Added a button to refresh the Storage Inspector display
Issue #45
2018-03-04 23:39:03 +01:00
janekptacijarabaci 25b78dfa6e Copy as cURL (PATCH)
Issue #44
2018-03-04 23:36:49 +01:00
trav90 28b1200181 Fix some WebRTC tests to build with GCC 7.0. 2018-03-04 15:34:58 -06:00
trav90 050973b503 Fix a truncation leading to an error with GCC 7 2018-03-04 15:31:36 -06:00
trav90 141607b6de Disable strict-aliasing for GCC in js/src/jsapi-tests
Compiling our tree with strict-aliasing is not supported.
2018-03-04 15:30:09 -06:00
trav90 3bb7b8e11e Disable -Wimplicit-fallthrough in parser/html
GCC 7 supports the clang option -Wimplicit-fallthrough.
2018-03-04 15:27:53 -06:00
trav90 daab331cf5 Disable -Wimplicit-fallthrough for a chromium file
GCC 7 supports the clang option -Wimplicit-fallthrough.
2018-03-04 15:26:51 -06:00
trav90 704ce7d91c Disable -Wimplicit-fallthrough in jsoncpp
GCC 7 supports the clang option -Wimplicit-fallthrough.
2018-03-04 15:24:28 -06:00
trav90 f2fc563210 Disable -Wimplicit-fallthrough in dom/canvas
GCC 7 supports the clang option -Wimplicit-fallthrough.
2018-03-04 15:19:38 -06:00
trav90 a973e506c1 Add MOZ_FALLTHROUGH macro definition for gcc 7 to suppress -Wimplicit-fallthrough warnings
The generic fallback MOZ_FALLTHROUGH definition is insufficient for GCC 7 and above, resulting in build warning spam and --enable-warnings-as-errors builds failing. The check for clang support is changed to use the __has_cpp_attribute macro, which is more robust than checking the __cplusplus version. Also, MOZ_FALLTHROUGH is now only defined in C++ code, since GCC errors out if it encounters a scoped attribute being used with __has_cpp_attribute in C code. No C code uses MOZ_FALLTHROUGH or derivatives at the moment.
2018-03-04 15:17:01 -06:00
trav90 4537850611 Use |noexcept| instead of an exception-specification in mozalloc.h
We are using |throw(std::bad_alloc)|, but dynamic exception specifications have been deprecated in C++11. The C++11 equivalent is |noexcept(false)|. This causes build warning spam when using newer compilers such as GCC 7.x.
2018-03-04 15:12:03 -06:00
trav90 b9bb9f4cc6 Disable -Wimplicit-fallthrough when building jsdtoa.cpp
GCC 7 supports the clang option -Wimplicit-fallthrough.
2018-03-04 15:09:21 -06:00
trav90 d219b672a3 Disable strict-aliasing for GCC in js/src/gdb
Compiling our tree with strict-aliasing is not supported.
2018-03-04 15:07:25 -06:00
trav90 860efa70ee Disable strict-aliasing for GCC in js/src
Compiling our tree with strict-aliasing is not supported.
2018-03-04 15:05:47 -06:00
Moonchild f6e7a511bc Merge pull request #40 from janekptacijarabaci/devtools_import-from-moebius_3
Port across devtools enhancements - 3
2018-03-04 10:28:35 +01:00
Moonchild eb7399a0ab Merge pull request #42 from trav90/fixbustage
Import lss code from esr52
2018-03-04 10:26:37 +01:00
Moonchild d739fdc17c Merge pull request #41 from trav90/master
Fix line endings on old-configure
2018-03-04 10:25:09 +01:00
wolfbeast 2998d0f5e2 Fix build system translation errors.
Follow-up to 11a8a39f6d
2018-03-04 10:13:33 +01:00
trav90 115952301b Import lss code from esr52
Fixes build bustage on Linux (even with crashreporter disabled).
2018-03-03 19:26:32 -06:00
trav90 c5e46d92a2 Fix line endings on old-configure
Fixes Linux build bustage.
2018-03-03 19:14:27 -06:00
janekptacijarabaci e78a87b418 moebius#346: Storage Inspector should trim port from hosts for cookies
Issue #31
https://github.com/MoonchildProductions/moebius/pull/346
2018-03-04 01:58:43 +01:00
janekptacijarabaci a53fe8f5c9 Bug 1302989: Make storage inspector work with file:// when # is in the URL
Issue #31
2018-03-04 01:35:21 +01:00
wolfbeast bba13e3d34 Merge branch '_native_52ESR_dom_url_origin_ref_1'
This resolves #38
2018-03-03 22:39:11 +01:00
janekptacijarabaci fbc836e285 [minor fix] DevTools - inspector.properties (fix typo) 2018-03-03 22:10:49 +01:00
wolfbeast 9626500a0e Remove testing-only UI components for e10s
This removes front-end tools only applicable for testing e10s (open non-e10s window, etc.)
This resolves #37
2018-03-03 21:26:56 +01:00
janekptacijarabaci c1ba23a015 The origin should not contain the ref part of the URL 2018-03-03 21:23:39 +01:00
Moonchild d252c5b232 Merge pull request #36 from janekptacijarabaci/devtools_import-from-moebius_2
Port across devtools enhancements - 2
2018-03-03 19:42:25 +01:00
janekptacijarabaci 8114b67b64 moebius#93: DevTools: Network - DOMContentLoaded and load
Issue #31
Improvements: #34
https://github.com/MoonchildProductions/moebius/pull/93
2018-03-03 17:44:55 +01:00
wolfbeast c3039dadd9 Add support for CSP v3 "worker-src" directive 2018-03-03 11:22:15 +01:00
wolfbeast 8891f99913 Don't enforce arbitrary TLS profile.
This prevents people from being unable to visit websites based on "best practice" assumptions.
2018-03-03 11:21:17 +01:00
Matt A. Tobin 3e9c160bbb Correct toolkit search component moz.build 2018-03-02 20:07:40 -05:00
janekptacijarabaci 28d03f81da moebius#350: Don't display storage-sidebar after deleting all cookies
Issue #31
https://github.com/MoonchildProductions/moebius/pull/350
2018-03-02 18:46:58 +01:00
janekptacijarabaci f22bc3fd88 moebius#342: Columns are not sorted correctly (Natural Sort algorithm)
Issue #31
https://github.com/MoonchildProductions/moebius/pull/342
2018-03-02 18:22:50 +01:00
janekptacijarabaci 166fb9f289 moebius#339: Make it possible to add cookies, local and session storage entries
Issue #31
https://github.com/MoonchildProductions/moebius/pull/339
2018-03-02 17:52:34 +01:00
janekptacijarabaci 26e53627d6 moebius#337: Added option to remove all session cookies for a specific domain
Issue #31
https://github.com/MoonchildProductions/moebius/pull/337
2018-03-02 16:38:25 +01:00
janekptacijarabaci f0175fb7ab Bug 1321820: Storage Inspector fails with dom.caches.enabled=false
Issue #31
2018-03-02 15:26:16 +01:00
janekptacijarabaci 4240e91e32 Bug 1334252: Find IDB storage for host more directly
Issue #31
2018-03-02 15:06:49 +01:00
janekptacijarabaci 71fd51a863 Bug 1320362: Move indexedDb storage type in the storage inspector into a new column
Issue #31
2018-03-02 14:59:24 +01:00
janekptacijarabaci 43ddb9b8c0 Bug 1276339: Storage inspector doesn't work on chrome:// pages and web extensions
Issue #31
2018-03-02 14:33:20 +01:00
janekptacijarabaci 390894c822 Bug 1146194: Multiple cookies with the same name not shown
Issue #31
2018-03-02 13:36:16 +01:00
Moonchild e272829137 Merge pull request #34 from janekptacijarabaci/devtools_import-from-moebius_1
Port across devtools enhancements
2018-03-02 10:32:45 +01:00
janekptacijarabaci c8355b22c0 Rewrite the comment, use maxResolutionMs 2018-03-02 07:27:21 +01:00
janekptacijarabaci d7d79119ec Rounding to 1ms 2018-03-01 21:17:42 +01:00
janekptacijarabaci 3777f62a00 Fix nit 2018-03-01 20:38:25 +01:00
Matt A. Tobin ba2c2e5301 Remove MOZ_MULET 2018-03-01 14:35:14 -05:00
Matt A. Tobin 11a8a39f6d Use MOZ_FENNEC and MOZ_XULRUNNER instead of checking MOZ_BUILD_APP in most places 2018-03-01 14:26:41 -05:00
Matt A. Tobin 17e72c824e Sync Pale Moon code 2018-03-01 12:21:40 -05:00
Matt A. Tobin b6c2d5f6ae Update 7zSFX 2018-03-01 12:18:10 -05:00
janekptacijarabaci 6ee4e4436c Show the Status Line (e.g. "HTTP/2.0 200 OK") in raw headers (response)
https://github.com/MoonchildProductions/moebius/pull/323
2018-03-01 17:52:39 +01:00
janekptacijarabaci 13a6805652 Properly pass postData into new tab
https://github.com/MoonchildProductions/moebius/pull/352
2018-03-01 17:29:55 +01:00
janekptacijarabaci aa60e7f714 [minor fix] DevTools - Throws an error ("String contains an invalid character")
https://github.com/MoonchildProductions/moebius/pull/162
2018-03-01 15:02:59 +01:00
janekptacijarabaci 0535b0bb38 Fix "help cmd" and "cmd refresh" in the Developer Toolbar
https://github.com/MoonchildProductions/moebius/pull/348
2018-03-01 13:57:10 +01:00
janekptacijarabaci caebf13372 Checking NS_BINDING_ABORTED to avoid dispatching navigate event
https://github.com/MoonchildProductions/moebius/pull/302
2018-03-01 13:50:06 +01:00
janekptacijarabaci 66e6aac506 Restore source-editor commands controller for scratchpad & styleeditor menus
https://github.com/MoonchildProductions/moebius/pull/290
2018-03-01 13:45:40 +01:00
janekptacijarabaci 03f6e7acb3 Add support for -browserconsole (the command line)
https://github.com/MoonchildProductions/moebius/pull/257
2018-03-01 13:40:50 +01:00
janekptacijarabaci 60edea0203 DevTools - network - Copy as cURL (POST)
https://github.com/MoonchildProductions/moebius/pull/167
2018-03-01 13:35:53 +01:00
janekptacijarabaci b43b4f25a8 DevTools - gcli - screenshot - the vertical mode
https://github.com/MoonchildProductions/moebius/pull/166
2018-03-01 13:30:24 +01:00
janekptacijarabaci 12ea568359 DevTools - style editor - StyleSheetsActor should use the parent tabActor to retrieve the list of windows and react to new/removed windows
https://github.com/MoonchildProductions/moebius/pull/124
2018-03-01 13:13:33 +01:00
janekptacijarabaci 644e9db109 DevTools - network - implement the secureConnectionStart property for the PerformanceTiming
https://github.com/MoonchildProductions/moebius/pull/116
("/testing" and "/toolkit" in in the previous commit)
2018-03-01 11:52:50 +01:00
janekptacijarabaci 228d252ab1 DevTools - network - security (improvements)
https://github.com/MoonchildProductions/moebius/pull/113
https://github.com/MoonchildProductions/moebius/pull/118
https://github.com/MoonchildProductions/moebius/pull/127
2018-03-01 09:02:37 +01:00
janekptacijarabaci 46ecf68249 DevTools - Browser Console - restore sessions (follow up)
https://github.com/MoonchildProductions/moebius/pull/112
2018-03-01 08:36:32 +01:00
janekptacijarabaci e59c00a5c5 DevTools - Browser Console - restore sessions
https://github.com/MoonchildProductions/moebius/pull/112
2018-03-01 07:17:50 +01:00
Matt A. Tobin eebeefbf29 Update configure variable verification 2018-02-28 13:00:52 -05:00
janekptacijarabaci abf6005858 Bug 1168376: Show transferred size in request summary instead of decompressed size
https://github.com/MoonchildProductions/moebius/pull/93
- without: DOMContentLoaded and load
2018-02-28 16:02:31 +01:00
janekptacijarabaci 9fafdd4546 basilisk -jsdebugger - Import Console.jsm before calling console.[something]
https://github.com/MoonchildProductions/moebius/pull/250
2018-02-28 15:12:38 +01:00
janekptacijarabaci d5d3cc71b8 Basilisk - the cmd line - help (the columns alignment, error improvements) - follow up
https://github.com/MoonchildProductions/moebius/pull/58
2018-02-28 12:30:08 +01:00
janekptacijarabaci b05346cf37 DevTools - Scratchpad - fix an old bug (Shift+Alt+R / Reload and Run) - follow up (Ctrl+Alt+R does not work)
https://github.com/MoonchildProductions/moebius/pull/50
2018-02-28 12:18:11 +01:00
janekptacijarabaci 627f167bf4 Bug 1309194: Implement summary info in Net Panel Toolbar; Bug 1317205: CSS improvement for summary button
Required for: https://github.com/MoonchildProductions/moebius/pull/93
2018-02-28 12:17:13 +01:00
janekptacijarabaci b19e4e2cf0 DevTools - inspector - data URL source links and their tooltips are unreadable
https://github.com/MoonchildProductions/moebius/pull/95
2018-02-28 08:57:48 +01:00
janekptacijarabaci f7e146b343 [partial fix] DevTools - network - proxy - throws an errors (remoteAddress)
https://github.com/MoonchildProductions/moebius/pull/63
2018-02-28 08:51:01 +01:00
janekptacijarabaci 259e214960 Basilisk - the cmd line - help (the columns alignment, error improvements)
https://github.com/MoonchildProductions/moebius/pull/58
2018-02-28 08:49:42 +01:00
janekptacijarabaci ad35e2a11f DevTools - gcli commands - cookie
https://github.com/MoonchildProductions/moebius/pull/55
2018-02-28 08:41:33 +01:00
janekptacijarabaci 32230477c6 DevTools - Inspector - tooltip get element width/height wrong when browser zoomed
https://github.com/MoonchildProductions/moebius/pull/54
2018-02-28 08:41:01 +01:00
Matt A. Tobin fedcf7249a Remove non-functional nsDragAndDrop due to refactoring 2018-02-27 10:41:24 -05:00
wolfbeast e10dfb62ff Merge branch 'EME-work' 2018-02-24 22:12:27 +01:00
Matt A. Tobin 2772787463 Merge branch 'master' into EME-work 2018-02-24 11:57:59 -05:00
Matt A. Tobin fd6b1ad6f9 WebRTC should be an enable bool in ac configure but enabled in Basilisk 2018-02-24 09:56:36 -05:00
Matt A. Tobin 7a6e7ed0f5 Developer Tools client should be a disable bool in ac configure 2018-02-24 09:49:34 -05:00
wolfbeast 1dbd9799db Fix up leftover merge conflicts.
Tag #26
2018-02-24 11:37:35 +01:00
wolfbeast c88c161875 Remove unnecessary front-end features and pres when not building EME.
Tag #26.
2018-02-24 10:30:41 +01:00
wolfbeast 46ad1199de Don't build EME-specific subroutines without EME.
- Checks for restricted or encrypted content
- Dispatching 'encrypted' events
- Dispatching 'key needed' events
- HTML Media Element media keys system
- EME telemetry
- HTML Media Element EME API

This is the main bulk for #26, isolating EME-specific code.
2018-02-24 10:20:45 +01:00
wolfbeast 55d03738f9 Don't include MediaKeySystemAccess without EME.
This also removes checks for EME content in documents.
This removes practical use of EME by no longer having a keying system. (no-op)
tag #26
2018-02-24 10:13:29 +01:00
wolfbeast 011dac290a Don't build GMP-clearkey when not building EME. 2018-02-24 10:06:22 +01:00
wolfbeast 507827c207 Move --enable-eme out of mozconfigure 2018-02-24 10:02:00 +01:00
wolfbeast dc7ceccf8b Merge branch 'TLS-1.3' 2018-02-24 00:43:43 +01:00
wolfbeast 788c588bf6 Activate TLS 1.3 by default.
This resolves #15.
2018-02-24 00:42:45 +01:00
Matt A. Tobin 6f93b00559 Restore toolkit/obsolete files and reinstate them to toolkit/content 2018-02-23 14:04:34 -05:00
Matt A. Tobin be18578af6 Revert "Restore toolkit/obsolete"
This reverts commit b61927d4cd.
2018-02-23 13:41:53 -05:00
wolfbeast 71119b4926 Merge branch 'security_tls_1-3_1' into TLS-1.3 2018-02-23 12:44:25 +01:00
wolfbeast b884cfd05e Merge branch '_native_52ESR_http_events_1' into TLS-1.3 2018-02-23 12:41:54 +01:00
wolfbeast a910f57af6 Update build system files for NSS 3.35 2018-02-23 11:05:20 +01:00
wolfbeast f1a0f0a56f Update NSS to 3.35-RTM 2018-02-23 11:04:39 +01:00
wolfbeast 8781f74555 Update NSPR to 4.18 2018-02-23 11:03:38 +01:00
wolfbeast 7eb2c156ba Fix typo in f3f9b7b06e (caps) 2018-02-23 09:39:10 +01:00
wolfbeast f3f9b7b06e Prevent issues and possible leaks with the bookmarks menu bar as a result of XBL re-binding. 2018-02-22 11:57:51 +01:00
wolfbeast 7b7ea5c59a Merge branch 'ported-moebius' 2018-02-22 11:47:32 +01:00
janekptacijarabaci cff4a7d0b6 Bug 1217907: [RTL] Wrong direction in about:preferences#general homepage 2018-02-22 11:43:18 +01:00
janekptacijarabaci 6bb68deb2a Propagate plugin permissions from top-level to XO iframes. 2018-02-22 11:37:32 +01:00
janekptacijarabaci 896e23c20e CSP: connect-src 'self' should always include https: and wss: schemes 2018-02-22 11:30:29 +01:00
janekptacijarabaci cdcfbde10d CSP: Support IDNs in connect-src 2018-02-22 11:23:16 +01:00
janekptacijarabaci b4dac5093a CSP: Ignore nonces on <img> per spec 2018-02-22 11:20:38 +01:00
janekptacijarabaci a06ce3f03b CSP: Upgrade SO navigational requests per spec. 2018-02-22 11:18:23 +01:00
janekptacijarabaci 62d5359679 CSP 2 - ignore (x-)frame-options if CSP with frame-ancestors directive exists 2018-02-22 11:15:23 +01:00
wolfbeast b7274fd666 Enable ALSA support by default on Linux.
This will enable PulseAudio by default with a run-time fallback to ALSA (like Firefox <52).
This resolves #115.
PulseAudio will remain enabled by default -- if at runtime it's not available, it will fall back to ALSA.
Building the tree will still require libpulse to be installed, unless using --disable-pulseaudio.
2018-02-22 11:12:45 +01:00
wolfbeast eaac061607 Merge branch 'ported-moebius' 2018-02-22 08:59:14 +01:00
wolfbeast 6f96569b44 Set BASILISK_VERSION override major.minor to 52.9 2018-02-22 08:13:47 +01:00
wolfbeast 3458dde44f Add site-specific overrides and remove the overruling global. 2018-02-22 07:49:13 +01:00
wolfbeast ee221138d4 Restore the dynamic release notes URL from pref 2018-02-22 00:04:26 +01:00
wolfbeast bc0273b478 Strip HHMM from the about dialog displayed version. 2018-02-21 23:50:25 +01:00
wolfbeast 8896ca5c0a Update various texts and references. 2018-02-21 23:31:24 +01:00
wolfbeast 49e8a36e17 Link about dialog version to general.useragent.appVersionIsBuildID.
true: YYYY.MM.DD.HHMM
false: v{internal version number} (YYYY-MM-DD)
2018-02-21 23:15:23 +01:00
wolfbeast 5f813f143b Provide UA Gecko and Firefox slices by default for web compatibility. 2018-02-21 22:31:23 +01:00
wolfbeast 2e07719b30 Identify as Goanna + set Goanna platform version. 2018-02-21 21:42:05 +01:00
wolfbeast c9fc6f4923 Pick up major+minor milestone version from GRE milestone file. 2018-02-21 21:41:23 +01:00
wolfbeast 12640bf26e Read Firefox UA compatmode from a pref instead of hard-coded.
In case of a missing pref, a hard-coded value is still used from the ctor.
2018-02-21 20:14:43 +01:00
wolfbeast 580ebc1056 Replace display version in about box with build ID. 2018-02-21 20:10:22 +01:00
wolfbeast ef9aeb6a08 Update UA construction. 2018-02-21 20:09:30 +01:00
janekptacijarabaci 4fd939e8c9 JS - make window.pageYOffset/pageXOffset/scrollX/scrollY double 2018-02-21 19:52:35 +01:00
janekptacijarabaci a80b5f2728 DevTools - Scratchpad - fix an old bug (Ctrl+Shift+R / Reload and Run) 2018-02-21 19:51:52 +01:00
janekptacijarabaci 2e1e954eac JS - URL - add toJSON support 2018-02-21 19:51:21 +01:00
janekptacijarabaci c023a51e60 Crypto Services (utils) - Support for SHA224-512 2018-02-21 19:50:16 +01:00
janekptacijarabaci d8598c1ed3 Notifications - Run (Desktop) Notifications twice (and more) in a row does not work 2018-02-21 19:49:55 +01:00
janekptacijarabaci 0c36b27511 JS - support for Array.prototype.values() 2018-02-20 21:21:56 +01:00
Moonchild d77729916b Merge pull request #27 from MoonchildProductions/theme-work
Remove Windows XP and Windows Vista theme components and resources.
2018-02-20 18:57:53 +01:00
wolfbeast 4c697043da Remove windows-xp and windows-vista from @media(-moz-os-version) 2018-02-20 14:01:05 +01:00
wolfbeast fd9d8c20d2 Remove Windows XP and Windows Vista theme components and resources. 2018-02-20 12:49:23 +01:00
wolfbeast 8826313be0 Fix build bustage: keep MF_WIN7_VERSION name 2018-02-20 12:23:48 +01:00
wolfbeast 9ecbf33313 Clean up Firefox specific considerations from WindowsVersion.h
Tag #22.
2018-02-20 10:25:50 +01:00
wolfbeast 5d1eb0d3aa Remove more obsolete checks in dom/media and ipc. 2018-02-20 10:19:17 +01:00
wolfbeast a930db1c9e Remove more Vista checks in ipc code 2018-02-20 10:11:31 +01:00
wolfbeast f1e863a490 Remove more Vista checks in dom/media 2018-02-20 10:06:50 +01:00
wolfbeast 20e533f6b5 Remove DLL blocklist checks for Windows XP. 2018-02-19 20:54:12 +01:00
wolfbeast a1bc6f33ef Remove obsolete WinXPWifiScanner class.
Tag #22
2018-02-19 20:29:13 +01:00
wolfbeast 40d8e355ce Remove Windows XP specific code in netwerk. 2018-02-19 20:27:33 +01:00
wolfbeast da8f20a3b0 Remove some obsolete front-end code in Basilisk. 2018-02-19 20:04:11 +01:00
wolfbeast 38ec1c796d Remove gfx/thebes checks for Windows 7+. 2018-02-19 19:22:37 +01:00
wolfbeast f297ef798e Remove some gfx/thebes checks for Windows Vista+. 2018-02-19 19:20:15 +01:00
wolfbeast 13a9ea6486 Remove XPCOM checks for Windows Vista and clean up unused header files.
Tag #22
2018-02-19 16:41:18 +01:00
wolfbeast 4f82d71df0 Remove Windows shell integration checks for Windows Vista.
Tag #22.
2018-02-19 16:28:18 +01:00
wolfbeast 01b1e411bd Remove StartupSpecialSystemDirectory() workaround.
The SHGetKnownFolderPath function declaration is exposed since [85edb1c711] so we no longer need to GetProcAddress("SHGetKnownFolderPath") and we can call it directly.
Also remove a redundant #include <shlobj.h>.
2018-02-19 16:11:56 +01:00
wolfbeast ce1bd4f244 Use thread_local calls on Win and Mac.
This resolves #24.
2018-02-19 15:37:37 +01:00
wolfbeast 616475a0c1 Remove SEH try blocks from a11y code. 2018-02-19 13:46:04 +01:00
wolfbeast a14048f0a2 Use GetTickCount64 without a GetProcAddress check in Timestamp_windows.cpp.
Tag #22.
2018-02-19 12:50:59 +01:00
wolfbeast 39578317ee Remove always-false #if WINVER < 0x0601 (Windows 7) checks in nsWinGesture.h. 2018-02-19 12:33:04 +01:00
wolfbeast 2e0f80af42 Remove always-false #if WINVER < 0x0601 (Windows 7) checks in nsLookAndFeel.h. 2018-02-19 12:31:28 +01:00
wolfbeast 8f1c9fe4f0 Remove always-false #if WINVER < 0x0600 (Windows Vista) check in toolkit/win. 2018-02-19 12:28:55 +01:00
wolfbeast 66248cfbcc Remove always-false #if WINVER < 0x0600 (Windows Vista) checks in widget/windows. 2018-02-19 12:27:14 +01:00
wolfbeast ee70e3a366 Remove always-false block from WMF. 2018-02-19 12:26:37 +01:00
wolfbeast 3d37f61816 Remove useless version check from PDMFactory. 2018-02-19 12:22:29 +01:00
wolfbeast 039f3e49c7 Remove redundant Vista checks in dom/ipc 2018-02-19 12:22:05 +01:00
wolfbeast 2b01522cf3 Remove redundant Vista checks in toolkit/xre 2018-02-19 12:15:47 +01:00
wolfbeast e52c019ec8 Remove dead code in the Windows battery module. 2018-02-19 11:17:11 +01:00
wolfbeast c766897196 Remove the use of GetProcAddress() for shell32
This avoids manually hooking into shell32.dll and using the native shell API instead.
Tag #22.
2018-02-19 10:00:25 +01:00
wolfbeast 85edb1c711 Make the proper Windows APIs natively available to our tree.
Tag #22.
This bypasses custom definitions of some functions for things natively available in Windows 7.
2018-02-19 09:58:44 +01:00
wolfbeast bc9ad467f0 Remove no longer relevant ClearType prefs.
Tag #22
2018-02-18 21:07:51 +01:00
wolfbeast a24398e42d Remove unnecessary code in /widget.
- Remove numerous blocklist entries that no longer apply.
- Remove CanComputeVirtualKeyCodeFromScanCode(), because it's always true.
- Remove ShowXP{Folder,File}Picker(), since we have native pickers on supported Windows versions.
- Remove the config.trim_on_minimize preference, which is pointless on NT6+ and will just cause problems if used.

Tag #22.
2018-02-18 14:56:31 +01:00
wolfbeast b55f0e7f0d Update executable manifests. 2018-02-18 13:27:04 +01:00
wolfbeast 47b8c58d47 Prevent installing stand-alone installers on unsupported environments.
- Prevent installers from installing on XP/Vista.
- Prevent x64 installers from installing on x86.
2018-02-18 13:12:13 +01:00
wolfbeast b6c330e1ca Stop shipping d3dcompiler_43.dll 2018-02-18 12:43:22 +01:00
wolfbeast 51b6354f31 Merge branch 'ported-moebius' 2018-02-18 12:21:38 +01:00
wolfbeast 31c5e63eda Merge branch 'master' into ported-moebius 2018-02-18 11:35:06 +01:00
Matt A. Tobin d38f865699 Part 2 2018-02-18 05:31:26 -05:00
wolfbeast 5839763c82 Merge branch 'master' into ported-moebius
# Conflicts:
#	browser/installer/windows/nsis/stub.nsi
2018-02-18 10:38:55 +01:00
janekptacijarabaci 83c4b04a70 Two (and more) extensions together - http resume - basilisk crashes 2018-02-18 10:30:15 +01:00
wolfbeast 140e3f5c03 Remove arbitrary NPAPI plugin whitelist for 64-bit.
This resolves #204.
2018-02-18 10:29:44 +01:00
wolfbeast aa752bce48 Update names in installer defines.
Having the proper `WindowClass` should resolve #170.
2018-02-18 10:28:36 +01:00
wolfbeast afb673f1b2 Fix installer build bustage.
Follow-up to cdef1d75eabfe6927aa0f4e0c18869653c9f1955
2018-02-18 10:25:59 +01:00
wolfbeast 20b6d5e9c0 Add an option to control automatic filling in of login credentials and switch this off by default.
This resolves #272.
2018-02-18 10:24:25 +01:00
wolfbeast 3cdef72da3 Chase the fox out of the shell service.
"Welcome to branding hell, boys!"
Part 2 for #271.
2018-02-18 10:24:02 +01:00
wolfbeast 1a418cf476 Rename Options to Preferences and unify location.
This also removes OS-specific naming/handling for separate locations.
Fixes #270.
2018-02-18 10:23:42 +01:00
wolfbeast e803a1be81 Change format handlers to Basilisk. 2018-02-18 10:22:51 +01:00
Matt A. Tobin 45f2fcd80d Adjust requirements 2018-02-17 14:50:05 -05:00
Matt A. Tobin 74fbc810ab Make MOZ_SANBOX an enable bool in configure 2018-02-17 14:28:22 -05:00
Matt A. Tobin b19cfd8e7b Basilisk requires devtools client for now so enable it by default but add a temporary exportable variable to bypass that 2018-02-17 14:10:47 -05:00
Matt A. Tobin 9dcf77e4c6 Split MOZ_DEVTOOLS into MOZ_DEVTOOLS (client) and MOZ_DEVTOOLS_SERVER (backend) and make both optional 2018-02-17 14:09:31 -05:00
Matt A. Tobin f28984b853 Add a configure option to disable including jetpack 2018-02-17 14:06:01 -05:00
Matt A. Tobin 8a119434ac Merge branch 'stub-branding-cc' 2018-02-17 11:37:33 -05:00
wolfbeast 050cfdc4ca Merge branch 'ported-moebius' 2018-02-17 17:12:28 +01:00
Matt A. Tobin 170b82c2e2 Reduce redundencies in Basilisk branding 2018-02-17 10:56:35 -05:00
wolfbeast 6f5c57ae74 Align ToolbarIconColor luminance computation with UWP guideline as well to make it consistent with the rest of the browser. 2018-02-17 16:32:49 +01:00
wolfbeast 4ccbe3620e Add a signal preference for dynamic color changes to adjust "brighttext" in the front-end.
This makes all relevant toolbars pick up the fact that the Windows accent color has changed and should check and if necessary update the "brighttext" property on them for styling of controls.
This is a bit of a hack-around to the fact that there is no real easy way otherwise to notify the front-end of color changes without needing a change in focus of the window.
There is a deliberate 300ms delay built in, because otherwise the styles might not have propagated yet, resulting in brighttext not being updated properly.
2018-02-17 16:31:25 +01:00
Lootyhoof d6d1c2dad1 Don't force colors in tabbar and menubar 2018-02-17 16:30:56 +01:00
wolfbeast c9b266dc20 Use windows 10 Accent colors. 2018-02-17 16:28:03 +01:00
Matt A. Tobin 827033c57c Don't generate redundant packaging artifacts 2018-02-17 07:58:10 -05:00
Matt A. Tobin 8723b9da93 Add mach installer and mach mar for Windows Installer and MAR file generation 2018-02-17 07:38:02 -05:00
Matt A. Tobin b6ccccbc56 Put generated installers and mar files in dist root 2018-02-17 07:14:10 -05:00
Matt A. Tobin e14ebc03e3 Use BUILDID for package name for Basilisk and ONLY Basilisk 2018-02-17 07:13:21 -05:00
Matt A. Tobin 5b829937bb Remove stub installer - Part 2: Basilisk 2018-02-17 06:36:04 -05:00
Matt A. Tobin 433b047711 Remove stub installer - Part 1: Toolkit 2018-02-17 05:29:44 -05:00
janekptacijarabaci eddd0de2ae [follow up] Bug 1325922 - Add arrows svg file and style month-year button for date picker 2018-02-14 16:10:55 +01:00
janekptacijarabaci 9920472970 Bug 1341190: Date picker panel and email input validation popup close immediately after opening 2018-02-14 14:47:09 +01:00
janekptacijarabaci 73c6f6b3de Bug 1320225: [DateTimeInput] Integration of input type=date input box with picker (part 2) 2018-02-14 14:45:58 +01:00
janekptacijarabaci 8a15fd8d24 Bug 1286182: Implement the layout for <input type=date> 2018-02-14 14:41:19 +01:00
janekptacijarabaci 34125a031e Bug 1314544: [DateTimeInput] browser keyboard shortcut does not work when focus is on input box 2018-02-14 14:10:13 +01:00
janekptacijarabaci 631b690ac3 Bug 1320225: [DateTimeInput] Integration of input type=date input box with picker (part 1) 2018-02-14 14:03:55 +01:00
janekptacijarabaci c87dbe6922 Bug 1325922: [DateTimePicker] Add arrows svg file and style month-year button for date picker 2018-02-14 13:38:47 +01:00
janekptacijarabaci 260e399a1f Bug 1323109: [DateTimePicker] Date time picker popup does not open near input box 2018-02-14 13:24:40 +01:00
janekptacijarabaci 8fd370c9f3 Bug 1283385: Implement UI for <input type="date"> 2018-02-14 12:32:46 +01:00
janekptacijarabaci 30c683d986 Bug 1317600: [DateTimePicker] Spinner arrow buttons shouldn't depend on find bar resources 2018-02-14 08:26:47 +01:00
wolfbeast 1da0e8a095 Never shrink line heights as a result of minimumFontSize.
See: MoonchildProductions/Pale-Moon#1614.
2018-02-13 19:26:43 +01:00
janekptacijarabaci c06b8691e3 Places - throws an error: 0x80004005 (NS_ERROR_FAILURE) [nsIEditor.transactionManager]
Steps to reproduce:

1) The main menu:
"Tools" - "Options" - "Privacy" - "History":
[x] "Remember my browsing and download history"

2) The main menu:
"History" - "Clear Recent History...":
"Today"/"Everything" - "Browsing & Download History" - "OK"

3) Go to: "https://www.palemoon.org/"

4) The main menu:
"History" - "Show All History"

5) Clicking right mouse button on an item "https://www.palemoon.org" in
"History",
clicking on "Delete This Page".

6) Clicking on "History":

Throws an error in Browser Console:
NS_ERROR_FAILURE: Component returned failure code:
0x80004005 (NS_ERROR_FAILURE) [nsIEditor.transactionManager]
editBookmarkOverlay.js:341
2018-02-13 16:57:41 +01:00
janekptacijarabaci 2c0b407f04 JS - location.hash - no escape single quote 2018-02-12 19:40:38 +01:00
wolfbeast 2b6c1f971b Pre-process extensions.js 2018-02-12 18:07:59 +01:00
wolfbeast a7e1d8dc3c Revert "Fix unofficial branding package bustage."
This reverts commit 5b30f18421.
2018-02-12 17:45:51 +01:00
wolfbeast 3156899f74 Revert "Fix package bustage: build files."
This reverts commit 3adc70dadd.
2018-02-12 17:45:37 +01:00
wolfbeast 33855e2472 Never show plugin deprecation notice.
To-Do: remove this notice.
2018-02-12 16:39:03 +01:00
wolfbeast 598dc50dbb Remove leftover flashOnly checks in the plugin registry. 2018-02-12 16:34:33 +01:00
wolfbeast 26163d8988 Hic sunt dracones. 2018-02-12 15:57:07 +01:00
wolfbeast 1201510514 Use more logical pref names for mouse button 4&5
Also improves comment wording.
2018-02-12 15:56:16 +01:00
wolfbeast 4686be40b2 Be less up-tight about script timeouts.
Especially some chrome scripts need ample time, which is causing issues with background scripts firing when the browser is idle.
2018-02-12 15:55:24 +01:00
wolfbeast ae656528f7 Silence macro redefinition warnings in ICU 2018-02-12 15:54:03 +01:00
wolfbeast 3bc0a5c532 Direct feedback links to the forum (Basilisk) 2018-02-12 15:53:30 +01:00
wolfbeast cf71bfa8aa Update application license override.
This resolves #222.
2018-02-12 15:51:11 +01:00
wolfbeast 4cda63fe3f Remove flash-only plugin pref.
Tag issue #38.
2018-02-12 15:38:00 +01:00
janekptacijarabaci 814bfaddb9 [regression] DevTools - network - Copy as cURL (http versions) 2018-02-12 15:30:02 +01:00
janekptacijarabaci 31c0e9aa68 [regression] about:license - the link to about:buildconfig 2018-02-12 15:29:36 +01:00
janekptacijarabaci 442e2e04ef [regression] Places - proper import bookmarks from HTML containing <HR> separators 2018-02-12 15:29:15 +01:00
janekptacijarabaci 0f99df52d5 Exclude Update stuff from about:support if the updater isn't built. 2018-02-12 15:28:44 +01:00
wolfbeast 3adc70dadd Fix package bustage: build files. 2018-02-12 14:43:50 +01:00
wolfbeast 5b30f18421 Fix unofficial branding package bustage. 2018-02-12 12:58:39 +01:00
wolfbeast e1cb581a99 Add a README 2018-02-12 11:59:50 +01:00
wolfbeast 06a13ffb09 Merge branch 'master' of https://github.com/MoonchildProductions/UXP 2018-02-11 19:16:22 +01:00
Matt A. Tobin 3bcc6548c4 Fix test paths for WebExAM 2018-02-11 10:47:51 -05:00
Matt A. Tobin 84ed7160b1 Fix Basilisk packaging when not using WebExtensions enabled Add-on Manager 2018-02-11 09:41:53 -05:00
Matt A. Tobin d49ca9fc0f Fix moz.build 2018-02-11 09:31:31 -05:00
Matt A. Tobin 97ff781ee8 Add UpdateChannel.jsm 2018-02-11 09:25:10 -05:00
janekptacijarabaci 0fca15e1f3 Style clean up 2018-02-11 14:15:29 +01:00
janekptacijarabaci 5c6320cc46 Bug 1344340 - "An unknown error has occurred (804b000c)" appears in the statusbar when loading some sites 2018-02-11 08:03:04 +01:00
janekptacijarabaci 8a9d0dfdbf Bug 1328955 - When a client tries TLS1.3 with EarlyData and a server falls back to tls1.2,we should reconnect using tls1.3 without EarlyData 2018-02-11 08:01:59 +01:00
janekptacijarabaci 753df14c7c Bug 1350388 - Drag&drop some HTTPS links in the download icon displays wrongly download as failed 2018-02-11 07:59:36 +01:00
janekptacijarabaci 40388d5acf Bug 1351392 - Fix transport status events for http2 and ftp 2018-02-11 07:53:16 +01:00
janekptacijarabaci 651b0dd97f Bug 1344890 - h2 tls 1.3 early data problem with https://echo.filippo.io/foo 2018-02-11 07:51:19 +01:00
janekptacijarabaci bb9e155841 Bug 1322373 - TLS 1.3 early-data for http/2 2018-02-11 07:48:28 +01:00
janekptacijarabaci aaa70dac61 Bug 1345240 - h2 stalls on failed early data hard reload 2018-02-11 07:15:08 +01:00
janekptacijarabaci d394b70aa4 Bug 1343600 - Add TLS handshake Start/Stop events 2018-02-11 07:13:53 +01:00
janekptacijarabaci 37ea3b7b87 Bug 1340164 - Fix socket transport status events 2018-02-11 07:09:55 +01:00
janekptacijarabaci 15e4dcdedd Editable menulist loosing editable attribute gets focus stuck
Bug(s):
https://bugzilla.mozilla.org/show_bug.cgi?id=1142224
(native in moebius)
2018-02-04 23:17:10 +01:00
janekptacijarabaci 80f9b75efa Implement auxclick
Bug(s):
https://bugzilla.mozilla.org/show_bug.cgi?id=1304044
(native in moebius)
2018-02-04 23:15:50 +01:00
janekptacijarabaci 2625cde90f Fix socket transport status events
Bug(s):
https://bugzilla.mozilla.org/show_bug.cgi?id=1340164
(native in moebius)
2018-02-04 23:09:17 +01:00
5963 changed files with 154603 additions and 1349127 deletions

No files matched your search

-1
View File
@@ -1 +0,0 @@
config
-6
View File
@@ -1,6 +0,0 @@
[source.crates-io]
registry = 'https://github.com/rust-lang/crates.io-index'
replace-with = 'vendored-sources'
[source.vendored-sources]
directory = '@top_srcdir@/third_party/rust'
+3
View File
@@ -7,6 +7,9 @@ module.exports = {
],
"rules": {
"mozilla/import-globals": "warn",
// No (!foo in bar) or (!object instanceof Class)
"no-unsafe-negation": "error",
},
"env": {
"es6": true
+1 -1
View File
@@ -22,4 +22,4 @@
# changes to stick? As of bug 928195, this shouldn't be necessary! Please
# don't change CLOBBER for WebIDL changes any more.
Clobber for un-folding browsercomps
Clobber for updating ffvpx
-16
View File
@@ -299,13 +299,6 @@ MAKE_SYM_STORE_ARGS += --install-manifest=$(DEPTH)/_build_manifests/install/dist
SYM_STORE_SOURCE_DIRS := $(topsrcdir)
ifdef MOZ_CRASHREPORTER
include $(topsrcdir)/toolkit/mozapps/installer/package-name.mk
SYMBOL_INDEX_NAME = \
$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)-$(OS_TARGET)-$(BUILDID)-$(CPU_ARCH)-symbols.txt
endif
.PHONY: generatesymbols
generatesymbols:
echo building symbol store
@@ -337,18 +330,9 @@ symbolsarchive: generatesymbols
cd $(DIST)/crashreporter-symbols && \
zip -r5D '../$(PKG_PATH)$(SYMBOL_ARCHIVE_BASENAME).zip' . -i '*.sym' -i '*.txt'
ifdef MOZ_CRASHREPORTER
buildsymbols: symbolsfullarchive symbolsarchive
else
buildsymbols:
endif
uploadsymbols:
ifdef MOZ_CRASHREPORTER
ifdef SOCORRO_SYMBOL_UPLOAD_TOKEN_FILE
$(PYTHON) -u $(topsrcdir)/toolkit/crashreporter/tools/upload_symbols.py '$(DIST)/$(PKG_PATH)$(SYMBOL_FULL_ARCHIVE_BASENAME).zip'
endif
endif
.PHONY: update-packaging
update-packaging:
+32
View File
@@ -0,0 +1,32 @@
# Unified XUL Platform (UXP)
This repository holds the code for a unified application platform for XUL-based
applications. It is a hard fork from the Mozilla code repository (mozilla-central)
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
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.
## Additional documentation
Additional documentation relevant to this source code can be found in the `/docs`
directory. This will contain relevant documentation regarding contributing,
using and distributing this code and its binaries.
### A note about trademarks and branding
Although this repository is licensed under Mozilla Public License v2.0, the
trademarks and brands contained herein remain the property of their respective
owners. For more details, please see the notifications in the respective directories.
### 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.
@@ -53,10 +53,6 @@
#include "Logging.h"
#endif
#ifdef MOZ_CRASHREPORTER
#include "nsExceptionHandler.h"
#endif
#include "nsImageFrame.h"
#include "nsIObserverService.h"
#include "nsLayoutUtils.h"
@@ -1283,12 +1279,6 @@ nsAccessibilityService::Init()
NS_ADDREF(gApplicationAccessible); // will release in Shutdown()
gApplicationAccessible->Init();
#ifdef MOZ_CRASHREPORTER
CrashReporter::
AnnotateCrashReport(NS_LITERAL_CSTRING("Accessibility"),
NS_LITERAL_CSTRING("Active"));
#endif
#ifdef XP_WIN
sPendingPlugins = new nsTArray<nsCOMPtr<nsIContent> >;
sPluginTimers = new nsTArray<nsCOMPtr<nsITimer> >;
-4
View File
@@ -336,12 +336,8 @@ void MaybeShutdownAccService(uint32_t aFormerConsumer);
inline bool
IPCAccessibilityActive()
{
#ifdef MOZ_B2G
return false;
#else
return XRE_IsContentProcess() &&
mozilla::Preferences::GetBool("accessibility.ipc_architecture.enabled", true);
#endif
}
/**
-25
View File
@@ -492,32 +492,7 @@ bool
DocAccessibleParent::RecvGetWindowedPluginIAccessible(
const WindowsHandle& aHwnd, IAccessibleHolder* aPluginCOMProxy)
{
#if defined(MOZ_CONTENT_SANDBOX)
// We don't actually want the accessible object for aHwnd, but rather the
// one that belongs to its child (see HTMLWin32ObjectAccessible).
HWND childWnd = ::GetWindow(reinterpret_cast<HWND>(aHwnd), GW_CHILD);
if (!childWnd) {
// We're seeing this in the wild - the plugin is windowed but we no longer
// have a window.
return true;
}
IAccessible* rawAccPlugin = nullptr;
HRESULT hr = ::AccessibleObjectFromWindow(childWnd, OBJID_WINDOW,
IID_IAccessible,
(void**)&rawAccPlugin);
if (FAILED(hr)) {
// This might happen if the plugin doesn't handle WM_GETOBJECT properly.
// We should not consider that a failure.
return true;
}
aPluginCOMProxy->Set(IAccessibleHolder::COMPtrType(rawAccPlugin));
return true;
#else
return false;
#endif
}
#endif // defined(XP_WIN)
-11
View File
@@ -46,17 +46,6 @@ var PointerRelay = { // jshint ignore:line
'touchend' : true };
break;
case 'gonk':
this._eventsOfInterest = {
'touchstart' : true,
'touchmove' : true,
'touchend' : true,
'mousedown' : false,
'mousemove' : false,
'mouseup': false,
'click': false };
break;
default:
// Desktop.
this._eventsOfInterest = {
@@ -124,14 +124,6 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=753984
"Peaches", {"string": "linkAbbr"}, "Plums", {"string": "linkAbbr"},
{"string": "listAbbr"},
{"string": "cellInfoAbbr", "args": [ 1, 1]}]]
}, {
accOrElmOrID: "date",
expectedUtterance: [[{"string": "textInputType_date"},
{"string": "entry"}, "2011-09-29"], ["2011-09-29",
{"string": "textInputType_date"}, {"string": "entry"}]],
expectedBraille: [[{"string": "textInputType_date"},
{"string": "entryAbbr"}, "2011-09-29"], ["2011-09-29",
{"string": "textInputType_date"}, {"string": "entryAbbr"}]]
}, {
accOrElmOrID: "email",
expectedUtterance: [[{"string": "textInputType_email"},
@@ -619,7 +611,6 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=753984
<label for="password">Secret Password</label><input id="password" type="password"></input>
<label for="radio_unselected">any old radio button</label><input id="radio_unselected" type="radio"></input>
<label for="radio_selected">a unique radio button</label><input id="radio_selected" type="radio" checked></input>
<input id="date" type="date" value="2011-09-29" />
<input id="email" type="email" value="test@example.com" />
<input id="search" type="search" value="This is a search" />
<input id="tel" type="tel" value="555-5555" />
-88
View File
@@ -63,8 +63,6 @@ ia2Accessible::QueryInterface(REFIID iid, void** ppv)
STDMETHODIMP
ia2Accessible::get_nRelations(long* aNRelations)
{
A11Y_TRYBLOCK_BEGIN
if (!aNRelations)
return E_INVALIDARG;
*aNRelations = 0;
@@ -84,16 +82,12 @@ ia2Accessible::get_nRelations(long* aNRelations)
(*aNRelations)++;
}
return S_OK;
A11Y_TRYBLOCK_END
}
STDMETHODIMP
ia2Accessible::get_relation(long aRelationIndex,
IAccessibleRelation** aRelation)
{
A11Y_TRYBLOCK_BEGIN
if (!aRelation || aRelationIndex < 0)
return E_INVALIDARG;
*aRelation = nullptr;
@@ -124,8 +118,6 @@ ia2Accessible::get_relation(long aRelationIndex,
}
return E_INVALIDARG;
A11Y_TRYBLOCK_END
}
STDMETHODIMP
@@ -133,8 +125,6 @@ ia2Accessible::get_relations(long aMaxRelations,
IAccessibleRelation** aRelation,
long *aNRelations)
{
A11Y_TRYBLOCK_BEGIN
if (!aRelation || !aNRelations || aMaxRelations <= 0)
return E_INVALIDARG;
*aNRelations = 0;
@@ -160,15 +150,11 @@ ia2Accessible::get_relations(long aMaxRelations,
}
}
return S_OK;
A11Y_TRYBLOCK_END
}
STDMETHODIMP
ia2Accessible::role(long* aRole)
{
A11Y_TRYBLOCK_BEGIN
if (!aRole)
return E_INVALIDARG;
*aRole = 0;
@@ -204,15 +190,11 @@ ia2Accessible::role(long* aRole)
}
return S_OK;
A11Y_TRYBLOCK_END
}
STDMETHODIMP
ia2Accessible::scrollTo(enum IA2ScrollType aScrollType)
{
A11Y_TRYBLOCK_BEGIN
AccessibleWrap* acc = static_cast<AccessibleWrap*>(this);
if (acc->IsDefunct())
return CO_E_OBJNOTCONNECTED;
@@ -222,16 +204,12 @@ ia2Accessible::scrollTo(enum IA2ScrollType aScrollType)
aScrollType);
return S_OK;
A11Y_TRYBLOCK_END
}
STDMETHODIMP
ia2Accessible::scrollToPoint(enum IA2CoordinateType aCoordType,
long aX, long aY)
{
A11Y_TRYBLOCK_BEGIN
AccessibleWrap* acc = static_cast<AccessibleWrap*>(this);
if (acc->IsDefunct())
return CO_E_OBJNOTCONNECTED;
@@ -244,8 +222,6 @@ ia2Accessible::scrollToPoint(enum IA2CoordinateType aCoordType,
acc->ScrollToPoint(geckoCoordType, aX, aY);
return S_OK;
A11Y_TRYBLOCK_END
}
STDMETHODIMP
@@ -253,8 +229,6 @@ ia2Accessible::get_groupPosition(long* aGroupLevel,
long* aSimilarItemsInGroup,
long* aPositionInGroup)
{
A11Y_TRYBLOCK_BEGIN
if (!aGroupLevel || !aSimilarItemsInGroup || !aPositionInGroup)
return E_INVALIDARG;
@@ -279,15 +253,11 @@ ia2Accessible::get_groupPosition(long* aGroupLevel,
*aPositionInGroup = groupPos.posInSet;
return S_OK;
A11Y_TRYBLOCK_END
}
STDMETHODIMP
ia2Accessible::get_states(AccessibleStates* aStates)
{
A11Y_TRYBLOCK_BEGIN
if (!aStates)
return E_INVALIDARG;
*aStates = 0;
@@ -347,50 +317,36 @@ ia2Accessible::get_states(AccessibleStates* aStates)
*aStates |= IA2_STATE_PINNED;
return S_OK;
A11Y_TRYBLOCK_END
}
STDMETHODIMP
ia2Accessible::get_extendedRole(BSTR* aExtendedRole)
{
A11Y_TRYBLOCK_BEGIN
if (!aExtendedRole)
return E_INVALIDARG;
*aExtendedRole = nullptr;
return E_NOTIMPL;
A11Y_TRYBLOCK_END
}
STDMETHODIMP
ia2Accessible::get_localizedExtendedRole(BSTR* aLocalizedExtendedRole)
{
A11Y_TRYBLOCK_BEGIN
if (!aLocalizedExtendedRole)
return E_INVALIDARG;
*aLocalizedExtendedRole = nullptr;
return E_NOTIMPL;
A11Y_TRYBLOCK_END
}
STDMETHODIMP
ia2Accessible::get_nExtendedStates(long* aNExtendedStates)
{
A11Y_TRYBLOCK_BEGIN
if (!aNExtendedStates)
return E_INVALIDARG;
*aNExtendedStates = 0;
return E_NOTIMPL;
A11Y_TRYBLOCK_END
}
STDMETHODIMP
@@ -398,16 +354,12 @@ ia2Accessible::get_extendedStates(long aMaxExtendedStates,
BSTR** aExtendedStates,
long* aNExtendedStates)
{
A11Y_TRYBLOCK_BEGIN
if (!aExtendedStates || !aNExtendedStates)
return E_INVALIDARG;
*aExtendedStates = nullptr;
*aNExtendedStates = 0;
return E_NOTIMPL;
A11Y_TRYBLOCK_END
}
STDMETHODIMP
@@ -415,38 +367,28 @@ ia2Accessible::get_localizedExtendedStates(long aMaxLocalizedExtendedStates,
BSTR** aLocalizedExtendedStates,
long* aNLocalizedExtendedStates)
{
A11Y_TRYBLOCK_BEGIN
if (!aLocalizedExtendedStates || !aNLocalizedExtendedStates)
return E_INVALIDARG;
*aLocalizedExtendedStates = nullptr;
*aNLocalizedExtendedStates = 0;
return E_NOTIMPL;
A11Y_TRYBLOCK_END
}
STDMETHODIMP
ia2Accessible::get_uniqueID(long* aUniqueID)
{
A11Y_TRYBLOCK_BEGIN
if (!aUniqueID)
return E_INVALIDARG;
AccessibleWrap* acc = static_cast<AccessibleWrap*>(this);
*aUniqueID = AccessibleWrap::GetChildIDFor(acc);
return S_OK;
A11Y_TRYBLOCK_END
}
STDMETHODIMP
ia2Accessible::get_windowHandle(HWND* aWindowHandle)
{
A11Y_TRYBLOCK_BEGIN
if (!aWindowHandle)
return E_INVALIDARG;
*aWindowHandle = 0;
@@ -457,15 +399,11 @@ ia2Accessible::get_windowHandle(HWND* aWindowHandle)
*aWindowHandle = AccessibleWrap::GetHWNDFor(acc);
return S_OK;
A11Y_TRYBLOCK_END
}
STDMETHODIMP
ia2Accessible::get_indexInParent(long* aIndexInParent)
{
A11Y_TRYBLOCK_BEGIN
if (!aIndexInParent)
return E_INVALIDARG;
*aIndexInParent = -1;
@@ -481,15 +419,11 @@ ia2Accessible::get_indexInParent(long* aIndexInParent)
return S_FALSE;
return S_OK;
A11Y_TRYBLOCK_END
}
STDMETHODIMP
ia2Accessible::get_locale(IA2Locale* aLocale)
{
A11Y_TRYBLOCK_BEGIN
if (!aLocale)
return E_INVALIDARG;
@@ -532,15 +466,11 @@ ia2Accessible::get_locale(IA2Locale* aLocale)
// country abbreviations or if there are more than one subcode.
aLocale->variant = ::SysAllocString(lang.get());
return S_OK;
A11Y_TRYBLOCK_END
}
STDMETHODIMP
ia2Accessible::get_attributes(BSTR* aAttributes)
{
A11Y_TRYBLOCK_BEGIN
if (!aAttributes)
return E_INVALIDARG;
*aAttributes = nullptr;
@@ -558,8 +488,6 @@ ia2Accessible::get_attributes(BSTR* aAttributes)
MOZ_ASSERT(!acc->IsProxy());
return E_UNEXPECTED;
A11Y_TRYBLOCK_END
}
////////////////////////////////////////////////////////////////////////////////
@@ -568,22 +496,16 @@ ia2Accessible::get_attributes(BSTR* aAttributes)
STDMETHODIMP
ia2Accessible::get_attribute(BSTR name, VARIANT* aAttribute)
{
A11Y_TRYBLOCK_BEGIN
if (!aAttribute)
return E_INVALIDARG;
return E_NOTIMPL;
A11Y_TRYBLOCK_END
}
STDMETHODIMP
ia2Accessible::get_accessibleWithCaret(IUnknown** aAccessible,
long* aCaretOffset)
{
A11Y_TRYBLOCK_BEGIN
if (!aAccessible || !aCaretOffset)
return E_INVALIDARG;
@@ -611,8 +533,6 @@ ia2Accessible::get_accessibleWithCaret(IUnknown** aAccessible,
(*aAccessible)->AddRef();
*aCaretOffset = caretOffset;
return S_OK;
A11Y_TRYBLOCK_END
}
STDMETHODIMP
@@ -621,8 +541,6 @@ ia2Accessible::get_relationTargetsOfType(BSTR aType,
IUnknown*** aTargets,
long* aNTargets)
{
A11Y_TRYBLOCK_BEGIN
if (!aTargets || !aNTargets || aMaxTargets < 0)
return E_INVALIDARG;
*aNTargets = 0;
@@ -663,16 +581,12 @@ ia2Accessible::get_relationTargetsOfType(BSTR aType,
}
return S_OK;
A11Y_TRYBLOCK_END
}
STDMETHODIMP
ia2Accessible::get_selectionRanges(IA2Range** aRanges,
long *aNRanges)
{
A11Y_TRYBLOCK_BEGIN
if (!aRanges || !aNRanges)
return E_INVALIDARG;
@@ -714,8 +628,6 @@ ia2Accessible::get_selectionRanges(IA2Range** aRanges,
}
return S_OK;
A11Y_TRYBLOCK_END
}
@@ -39,8 +39,6 @@ ia2AccessibleAction::QueryInterface(REFIID iid, void** ppv)
STDMETHODIMP
ia2AccessibleAction::nActions(long* aActionCount)
{
A11Y_TRYBLOCK_BEGIN
if (!aActionCount)
return E_INVALIDARG;
@@ -52,30 +50,22 @@ ia2AccessibleAction::nActions(long* aActionCount)
*aActionCount = acc->ActionCount();
return S_OK;
A11Y_TRYBLOCK_END
}
STDMETHODIMP
ia2AccessibleAction::doAction(long aActionIndex)
{
A11Y_TRYBLOCK_BEGIN
AccessibleWrap* acc = static_cast<AccessibleWrap*>(this);
if (acc->IsDefunct())
return CO_E_OBJNOTCONNECTED;
uint8_t index = static_cast<uint8_t>(aActionIndex);
return acc->DoAction(index) ? S_OK : E_INVALIDARG;
A11Y_TRYBLOCK_END
}
STDMETHODIMP
ia2AccessibleAction::get_description(long aActionIndex, BSTR *aDescription)
{
A11Y_TRYBLOCK_BEGIN
if (!aDescription)
return E_INVALIDARG;
*aDescription = nullptr;
@@ -93,8 +83,6 @@ ia2AccessibleAction::get_description(long aActionIndex, BSTR *aDescription)
*aDescription = ::SysAllocStringLen(description.get(),
description.Length());
return *aDescription ? S_OK : E_OUTOFMEMORY;
A11Y_TRYBLOCK_END
}
STDMETHODIMP
@@ -102,8 +90,6 @@ ia2AccessibleAction::get_keyBinding(long aActionIndex, long aNumMaxBinding,
BSTR **aKeyBinding,
long *aNumBinding)
{
A11Y_TRYBLOCK_BEGIN
if (!aKeyBinding)
return E_INVALIDARG;
*aKeyBinding = nullptr;
@@ -143,15 +129,11 @@ ia2AccessibleAction::get_keyBinding(long aActionIndex, long aNumMaxBinding,
*aNumBinding = 1;
return S_OK;
A11Y_TRYBLOCK_END
}
STDMETHODIMP
ia2AccessibleAction::get_name(long aActionIndex, BSTR *aName)
{
A11Y_TRYBLOCK_BEGIN
if (!aName)
return E_INVALIDARG;
@@ -169,20 +151,14 @@ ia2AccessibleAction::get_name(long aActionIndex, BSTR *aName)
*aName = ::SysAllocStringLen(name.get(), name.Length());
return *aName ? S_OK : E_OUTOFMEMORY;
A11Y_TRYBLOCK_END
}
STDMETHODIMP
ia2AccessibleAction::get_localizedName(long aActionIndex, BSTR *aLocalizedName)
{
A11Y_TRYBLOCK_BEGIN
if (!aLocalizedName)
return E_INVALIDARG;
*aLocalizedName = nullptr;
return E_NOTIMPL;
A11Y_TRYBLOCK_END
}
@@ -41,8 +41,6 @@ ia2AccessibleComponent::QueryInterface(REFIID iid, void** ppv)
STDMETHODIMP
ia2AccessibleComponent::get_locationInParent(long* aX, long* aY)
{
A11Y_TRYBLOCK_BEGIN
if (!aX || !aY)
return E_INVALIDARG;
@@ -75,15 +73,11 @@ ia2AccessibleComponent::get_locationInParent(long* aX, long* aY)
*aX = rect.x - parentRect.x;
*aY = rect.y - parentRect.y;
return S_OK;
A11Y_TRYBLOCK_END
}
STDMETHODIMP
ia2AccessibleComponent::get_foreground(IA2Color* aForeground)
{
A11Y_TRYBLOCK_BEGIN
if (!aForeground)
return E_INVALIDARG;
@@ -98,15 +92,11 @@ ia2AccessibleComponent::get_foreground(IA2Color* aForeground)
*aForeground = frame->StyleColor()->mColor;
return S_OK;
A11Y_TRYBLOCK_END
}
STDMETHODIMP
ia2AccessibleComponent::get_background(IA2Color* aBackground)
{
A11Y_TRYBLOCK_BEGIN
if (!aBackground)
return E_INVALIDARG;
@@ -121,7 +111,5 @@ ia2AccessibleComponent::get_background(IA2Color* aBackground)
*aBackground = frame->StyleBackground()->mBackgroundColor;
return S_OK;
A11Y_TRYBLOCK_END
}
@@ -22,8 +22,6 @@ using namespace mozilla::a11y;
STDMETHODIMP
ia2AccessibleEditableText::copyText(long aStartOffset, long aEndOffset)
{
A11Y_TRYBLOCK_BEGIN
MOZ_ASSERT(!HyperTextProxyFor(this));
HyperTextAccessible* textAcc = static_cast<HyperTextAccessibleWrap*>(this);
@@ -35,15 +33,11 @@ ia2AccessibleEditableText::copyText(long aStartOffset, long aEndOffset)
textAcc->CopyText(aStartOffset, aEndOffset);
return S_OK;
A11Y_TRYBLOCK_END
}
STDMETHODIMP
ia2AccessibleEditableText::deleteText(long aStartOffset, long aEndOffset)
{
A11Y_TRYBLOCK_BEGIN
MOZ_ASSERT(!HyperTextProxyFor(this));
HyperTextAccessible* textAcc = static_cast<HyperTextAccessibleWrap*>(this);
@@ -55,15 +49,11 @@ ia2AccessibleEditableText::deleteText(long aStartOffset, long aEndOffset)
textAcc->DeleteText(aStartOffset, aEndOffset);
return S_OK;
A11Y_TRYBLOCK_END
}
STDMETHODIMP
ia2AccessibleEditableText::insertText(long aOffset, BSTR *aText)
{
A11Y_TRYBLOCK_BEGIN
uint32_t length = ::SysStringLen(*aText);
nsAutoString text(*aText, length);
MOZ_ASSERT(!HyperTextProxyFor(this));
@@ -77,15 +67,11 @@ ia2AccessibleEditableText::insertText(long aOffset, BSTR *aText)
textAcc->InsertText(text, aOffset);
return S_OK;
A11Y_TRYBLOCK_END
}
STDMETHODIMP
ia2AccessibleEditableText::cutText(long aStartOffset, long aEndOffset)
{
A11Y_TRYBLOCK_BEGIN
MOZ_ASSERT(!HyperTextProxyFor(this));
HyperTextAccessible* textAcc = static_cast<HyperTextAccessibleWrap*>(this);
@@ -97,15 +83,11 @@ ia2AccessibleEditableText::cutText(long aStartOffset, long aEndOffset)
textAcc->CutText(aStartOffset, aEndOffset);
return S_OK;
A11Y_TRYBLOCK_END
}
STDMETHODIMP
ia2AccessibleEditableText::pasteText(long aOffset)
{
A11Y_TRYBLOCK_BEGIN
MOZ_ASSERT(!HyperTextProxyFor(this));
HyperTextAccessible* textAcc = static_cast<HyperTextAccessibleWrap*>(this);
@@ -117,16 +99,12 @@ ia2AccessibleEditableText::pasteText(long aOffset)
textAcc->PasteText(aOffset);
return S_OK;
A11Y_TRYBLOCK_END
}
STDMETHODIMP
ia2AccessibleEditableText::replaceText(long aStartOffset, long aEndOffset,
BSTR *aText)
{
A11Y_TRYBLOCK_BEGIN
HyperTextAccessible* textAcc = static_cast<HyperTextAccessibleWrap*>(this);
if (textAcc->IsDefunct())
return CO_E_OBJNOTCONNECTED;
@@ -141,8 +119,6 @@ ia2AccessibleEditableText::replaceText(long aStartOffset, long aEndOffset,
textAcc->InsertText(text, aStartOffset);
return S_OK;
A11Y_TRYBLOCK_END
}
STDMETHODIMP
@@ -45,8 +45,6 @@ ia2AccessibleHyperlink::QueryInterface(REFIID iid, void** ppv)
STDMETHODIMP
ia2AccessibleHyperlink::get_anchor(long aIndex, VARIANT* aAnchor)
{
A11Y_TRYBLOCK_BEGIN
if (!aAnchor)
return E_INVALIDARG;
@@ -77,15 +75,11 @@ ia2AccessibleHyperlink::get_anchor(long aIndex, VARIANT* aAnchor)
aAnchor->punkVal = static_cast<IUnknown*>(instancePtr);
aAnchor->vt = VT_UNKNOWN;
return S_OK;
A11Y_TRYBLOCK_END
}
STDMETHODIMP
ia2AccessibleHyperlink::get_anchorTarget(long aIndex, VARIANT* aAnchorTarget)
{
A11Y_TRYBLOCK_BEGIN
if (!aAnchorTarget) {
return E_INVALIDARG;
}
@@ -124,15 +118,11 @@ ia2AccessibleHyperlink::get_anchorTarget(long aIndex, VARIANT* aAnchorTarget)
aAnchorTarget->bstrVal = ::SysAllocStringLen(stringURI.get(),
stringURI.Length());
return aAnchorTarget->bstrVal ? S_OK : E_OUTOFMEMORY;
A11Y_TRYBLOCK_END
}
STDMETHODIMP
ia2AccessibleHyperlink::get_startIndex(long* aIndex)
{
A11Y_TRYBLOCK_BEGIN
if (!aIndex)
return E_INVALIDARG;
@@ -149,15 +139,11 @@ ia2AccessibleHyperlink::get_startIndex(long* aIndex)
*aIndex = thisObj->StartOffset();
return S_OK;
A11Y_TRYBLOCK_END
}
STDMETHODIMP
ia2AccessibleHyperlink::get_endIndex(long* aIndex)
{
A11Y_TRYBLOCK_BEGIN
if (!aIndex)
return E_INVALIDARG;
@@ -174,15 +160,11 @@ ia2AccessibleHyperlink::get_endIndex(long* aIndex)
*aIndex = thisObj->EndOffset();
return S_OK;
A11Y_TRYBLOCK_END
}
STDMETHODIMP
ia2AccessibleHyperlink::get_valid(boolean* aValid)
{
A11Y_TRYBLOCK_BEGIN
if (!aValid)
return E_INVALIDARG;
@@ -199,7 +181,5 @@ ia2AccessibleHyperlink::get_valid(boolean* aValid)
*aValid = thisObj->IsLinkValid();
return S_OK;
A11Y_TRYBLOCK_END
}
@@ -19,8 +19,6 @@ using namespace mozilla::a11y;
STDMETHODIMP
ia2AccessibleHypertext::get_nHyperlinks(long* aHyperlinkCount)
{
A11Y_TRYBLOCK_BEGIN
if (!aHyperlinkCount)
return E_INVALIDARG;
@@ -34,16 +32,12 @@ ia2AccessibleHypertext::get_nHyperlinks(long* aHyperlinkCount)
*aHyperlinkCount = hyperText->LinkCount();
return S_OK;
A11Y_TRYBLOCK_END
}
STDMETHODIMP
ia2AccessibleHypertext::get_hyperlink(long aLinkIndex,
IAccessibleHyperlink** aHyperlink)
{
A11Y_TRYBLOCK_BEGIN
if (!aHyperlink)
return E_INVALIDARG;
@@ -65,15 +59,11 @@ ia2AccessibleHypertext::get_hyperlink(long aLinkIndex,
static_cast<IAccessibleHyperlink*>(hyperLink);
(*aHyperlink)->AddRef();
return S_OK;
A11Y_TRYBLOCK_END
}
STDMETHODIMP
ia2AccessibleHypertext::get_hyperlinkIndex(long aCharIndex, long* aHyperlinkIndex)
{
A11Y_TRYBLOCK_BEGIN
if (!aHyperlinkIndex)
return E_INVALIDARG;
@@ -87,7 +77,5 @@ ia2AccessibleHypertext::get_hyperlinkIndex(long aCharIndex, long* aHyperlinkInde
*aHyperlinkIndex = hyperAcc->LinkIndexAtOffset(aCharIndex);
return S_OK;
A11Y_TRYBLOCK_END
}
@@ -43,8 +43,6 @@ ia2AccessibleImage::QueryInterface(REFIID iid, void** ppv)
STDMETHODIMP
ia2AccessibleImage::get_description(BSTR* aDescription)
{
A11Y_TRYBLOCK_BEGIN
if (!aDescription)
return E_INVALIDARG;
@@ -61,8 +59,6 @@ ia2AccessibleImage::get_description(BSTR* aDescription)
*aDescription = ::SysAllocStringLen(description.get(), description.Length());
return *aDescription ? S_OK : E_OUTOFMEMORY;
A11Y_TRYBLOCK_END
}
STDMETHODIMP
@@ -70,8 +66,6 @@ ia2AccessibleImage::get_imagePosition(enum IA2CoordinateType aCoordType,
long* aX,
long* aY)
{
A11Y_TRYBLOCK_BEGIN
if (!aX || !aY)
return E_INVALIDARG;
@@ -90,15 +84,11 @@ ia2AccessibleImage::get_imagePosition(enum IA2CoordinateType aCoordType,
*aX = pos.x;
*aY = pos.y;
return S_OK;
A11Y_TRYBLOCK_END
}
STDMETHODIMP
ia2AccessibleImage::get_imageSize(long* aHeight, long* aWidth)
{
A11Y_TRYBLOCK_BEGIN
if (!aHeight || !aWidth)
return E_INVALIDARG;
@@ -113,7 +103,5 @@ ia2AccessibleImage::get_imageSize(long* aHeight, long* aWidth)
*aHeight = size.width;
*aWidth = size.height;
return S_OK;
A11Y_TRYBLOCK_END
}
@@ -34,8 +34,6 @@ IMPL_IUNKNOWN_QUERY_TAIL
STDMETHODIMP
ia2AccessibleRelation::get_relationType(BSTR* aRelationType)
{
A11Y_TRYBLOCK_BEGIN
if (!aRelationType)
return E_INVALIDARG;
@@ -51,43 +49,31 @@ ia2AccessibleRelation::get_relationType(BSTR* aRelationType)
}
return *aRelationType ? S_OK : E_OUTOFMEMORY;
A11Y_TRYBLOCK_END
}
STDMETHODIMP
ia2AccessibleRelation::get_localizedRelationType(BSTR *aLocalizedRelationType)
{
A11Y_TRYBLOCK_BEGIN
if (!aLocalizedRelationType)
return E_INVALIDARG;
*aLocalizedRelationType = nullptr;
return E_NOTIMPL;
A11Y_TRYBLOCK_END
}
STDMETHODIMP
ia2AccessibleRelation::get_nTargets(long *aNTargets)
{
A11Y_TRYBLOCK_BEGIN
if (!aNTargets)
return E_INVALIDARG;
*aNTargets = mTargets.Length();
return S_OK;
A11Y_TRYBLOCK_END
}
STDMETHODIMP
ia2AccessibleRelation::get_target(long aTargetIndex, IUnknown **aTarget)
{
A11Y_TRYBLOCK_BEGIN
if (aTargetIndex < 0 || (uint32_t)aTargetIndex >= mTargets.Length() || !aTarget)
return E_INVALIDARG;
@@ -97,16 +83,12 @@ ia2AccessibleRelation::get_target(long aTargetIndex, IUnknown **aTarget)
(*aTarget)->AddRef();
return S_OK;
A11Y_TRYBLOCK_END
}
STDMETHODIMP
ia2AccessibleRelation::get_targets(long aMaxTargets, IUnknown **aTargets,
long *aNTargets)
{
A11Y_TRYBLOCK_BEGIN
if (!aNTargets || !aTargets)
return E_INVALIDARG;
@@ -120,6 +102,4 @@ ia2AccessibleRelation::get_targets(long aMaxTargets, IUnknown **aTargets,
*aNTargets = maxTargets;
return S_OK;
A11Y_TRYBLOCK_END
}
@@ -60,8 +60,6 @@ ia2AccessibleTable::get_accessibleAt(long aRowIdx, long aColIdx,
STDMETHODIMP
ia2AccessibleTable::get_caption(IUnknown** aAccessible)
{
A11Y_TRYBLOCK_BEGIN
if (!aAccessible)
return E_INVALIDARG;
@@ -75,16 +73,12 @@ ia2AccessibleTable::get_caption(IUnknown** aAccessible)
(*aAccessible = static_cast<IAccessible*>(caption))->AddRef();
return S_OK;
A11Y_TRYBLOCK_END
}
STDMETHODIMP
ia2AccessibleTable::get_childIndex(long aRowIdx, long aColIdx,
long* aChildIdx)
{
A11Y_TRYBLOCK_BEGIN
if (!aChildIdx)
return E_INVALIDARG;
@@ -99,15 +93,11 @@ ia2AccessibleTable::get_childIndex(long aRowIdx, long aColIdx,
*aChildIdx = mTable->CellIndexAt(aRowIdx, aColIdx);
return S_OK;
A11Y_TRYBLOCK_END
}
STDMETHODIMP
ia2AccessibleTable::get_columnDescription(long aColIdx, BSTR* aDescription)
{
A11Y_TRYBLOCK_BEGIN
if (!aDescription)
return E_INVALIDARG;
@@ -125,16 +115,12 @@ ia2AccessibleTable::get_columnDescription(long aColIdx, BSTR* aDescription)
*aDescription = ::SysAllocStringLen(descr.get(), descr.Length());
return *aDescription ? S_OK : E_OUTOFMEMORY;
A11Y_TRYBLOCK_END
}
STDMETHODIMP
ia2AccessibleTable::get_columnExtentAt(long aRowIdx, long aColIdx,
long* aSpan)
{
A11Y_TRYBLOCK_BEGIN
if (!aSpan)
return E_INVALIDARG;
@@ -149,31 +135,23 @@ ia2AccessibleTable::get_columnExtentAt(long aRowIdx, long aColIdx,
*aSpan = mTable->ColExtentAt(aRowIdx, aColIdx);
return S_OK;
A11Y_TRYBLOCK_END
}
STDMETHODIMP
ia2AccessibleTable::get_columnHeader(IAccessibleTable** aAccessibleTable,
long* aStartingRowIndex)
{
A11Y_TRYBLOCK_BEGIN
if (!aAccessibleTable || !aStartingRowIndex)
return E_INVALIDARG;
*aAccessibleTable = nullptr;
*aStartingRowIndex = -1;
return E_NOTIMPL;
A11Y_TRYBLOCK_END
}
STDMETHODIMP
ia2AccessibleTable::get_columnIndex(long aCellIdx, long* aColIdx)
{
A11Y_TRYBLOCK_BEGIN
if (!aColIdx)
return E_INVALIDARG;
@@ -187,15 +165,11 @@ ia2AccessibleTable::get_columnIndex(long aCellIdx, long* aColIdx)
*aColIdx = mTable->ColIndexAt(aCellIdx);
return S_OK;
A11Y_TRYBLOCK_END
}
STDMETHODIMP
ia2AccessibleTable::get_nColumns(long* aColCount)
{
A11Y_TRYBLOCK_BEGIN
if (!aColCount)
return E_INVALIDARG;
@@ -205,15 +179,11 @@ ia2AccessibleTable::get_nColumns(long* aColCount)
*aColCount = mTable->ColCount();
return S_OK;
A11Y_TRYBLOCK_END
}
STDMETHODIMP
ia2AccessibleTable::get_nRows(long* aRowCount)
{
A11Y_TRYBLOCK_BEGIN
if (!aRowCount)
return E_INVALIDARG;
@@ -223,8 +193,6 @@ ia2AccessibleTable::get_nRows(long* aRowCount)
*aRowCount = mTable->RowCount();
return S_OK;
A11Y_TRYBLOCK_END
}
STDMETHODIMP
@@ -236,8 +204,6 @@ ia2AccessibleTable::get_nSelectedChildren(long* aChildCount)
STDMETHODIMP
ia2AccessibleTable::get_nSelectedColumns(long* aColCount)
{
A11Y_TRYBLOCK_BEGIN
if (!aColCount)
return E_INVALIDARG;
@@ -247,15 +213,11 @@ ia2AccessibleTable::get_nSelectedColumns(long* aColCount)
*aColCount = mTable->SelectedColCount();
return S_OK;
A11Y_TRYBLOCK_END
}
STDMETHODIMP
ia2AccessibleTable::get_nSelectedRows(long* aRowCount)
{
A11Y_TRYBLOCK_BEGIN
if (!aRowCount)
return E_INVALIDARG;
@@ -266,15 +228,11 @@ ia2AccessibleTable::get_nSelectedRows(long* aRowCount)
*aRowCount = mTable->SelectedRowCount();
return S_OK;
A11Y_TRYBLOCK_END
}
STDMETHODIMP
ia2AccessibleTable::get_rowDescription(long aRowIdx, BSTR* aDescription)
{
A11Y_TRYBLOCK_BEGIN
if (!aDescription)
return E_INVALIDARG;
@@ -292,15 +250,11 @@ ia2AccessibleTable::get_rowDescription(long aRowIdx, BSTR* aDescription)
*aDescription = ::SysAllocStringLen(descr.get(), descr.Length());
return *aDescription ? S_OK : E_OUTOFMEMORY;
A11Y_TRYBLOCK_END
}
STDMETHODIMP
ia2AccessibleTable::get_rowExtentAt(long aRowIdx, long aColIdx, long* aSpan)
{
A11Y_TRYBLOCK_BEGIN
if (!aSpan)
return E_INVALIDARG;
@@ -315,31 +269,23 @@ ia2AccessibleTable::get_rowExtentAt(long aRowIdx, long aColIdx, long* aSpan)
*aSpan = mTable->RowExtentAt(aRowIdx, aColIdx);
return S_OK;
A11Y_TRYBLOCK_END
}
STDMETHODIMP
ia2AccessibleTable::get_rowHeader(IAccessibleTable** aAccessibleTable,
long* aStartingColumnIndex)
{
A11Y_TRYBLOCK_BEGIN
if (!aAccessibleTable || !aStartingColumnIndex)
return E_INVALIDARG;
*aAccessibleTable = nullptr;
*aStartingColumnIndex = -1;
return E_NOTIMPL;
A11Y_TRYBLOCK_END
}
STDMETHODIMP
ia2AccessibleTable::get_rowIndex(long aCellIdx, long* aRowIdx)
{
A11Y_TRYBLOCK_BEGIN
if (!aRowIdx)
return E_INVALIDARG;
@@ -353,16 +299,12 @@ ia2AccessibleTable::get_rowIndex(long aCellIdx, long* aRowIdx)
*aRowIdx = mTable->RowIndexAt(aCellIdx);
return S_OK;
A11Y_TRYBLOCK_END
}
STDMETHODIMP
ia2AccessibleTable::get_selectedChildren(long aMaxChildren, long** aChildren,
long* aNChildren)
{
A11Y_TRYBLOCK_BEGIN
if (!aChildren || !aNChildren)
return E_INVALIDARG;
@@ -384,36 +326,24 @@ ia2AccessibleTable::get_selectedChildren(long aMaxChildren, long** aChildren,
(*aChildren)[i] = cellIndices[i];
return S_OK;
A11Y_TRYBLOCK_END
}
STDMETHODIMP
ia2AccessibleTable::get_selectedColumns(long aMaxColumns, long** aColumns,
long* aNColumns)
{
A11Y_TRYBLOCK_BEGIN
return get_selectedColumns(aColumns, aNColumns);
A11Y_TRYBLOCK_END
}
STDMETHODIMP
ia2AccessibleTable::get_selectedRows(long aMaxRows, long** aRows, long* aNRows)
{
A11Y_TRYBLOCK_BEGIN
return get_selectedRows(aRows, aNRows);
A11Y_TRYBLOCK_END
}
STDMETHODIMP
ia2AccessibleTable::get_summary(IUnknown** aAccessible)
{
A11Y_TRYBLOCK_BEGIN
if (!aAccessible)
return E_INVALIDARG;
@@ -424,15 +354,11 @@ ia2AccessibleTable::get_summary(IUnknown** aAccessible)
*aAccessible = nullptr;
return S_FALSE;
A11Y_TRYBLOCK_END
}
STDMETHODIMP
ia2AccessibleTable::get_isColumnSelected(long aColIdx, boolean* aIsSelected)
{
A11Y_TRYBLOCK_BEGIN
if (!aIsSelected)
return E_INVALIDARG;
@@ -445,15 +371,11 @@ ia2AccessibleTable::get_isColumnSelected(long aColIdx, boolean* aIsSelected)
*aIsSelected = mTable->IsColSelected(aColIdx);
return S_OK;
A11Y_TRYBLOCK_END
}
STDMETHODIMP
ia2AccessibleTable::get_isRowSelected(long aRowIdx, boolean* aIsSelected)
{
A11Y_TRYBLOCK_BEGIN
if (!aIsSelected)
return E_INVALIDARG;
@@ -466,16 +388,12 @@ ia2AccessibleTable::get_isRowSelected(long aRowIdx, boolean* aIsSelected)
*aIsSelected = mTable->IsRowSelected(aRowIdx);
return S_OK;
A11Y_TRYBLOCK_END
}
STDMETHODIMP
ia2AccessibleTable::get_isSelected(long aRowIdx, long aColIdx,
boolean* aIsSelected)
{
A11Y_TRYBLOCK_BEGIN
if (!aIsSelected)
return E_INVALIDARG;
@@ -490,15 +408,11 @@ ia2AccessibleTable::get_isSelected(long aRowIdx, long aColIdx,
*aIsSelected = mTable->IsCellSelected(aRowIdx, aColIdx);
return S_OK;
A11Y_TRYBLOCK_END
}
STDMETHODIMP
ia2AccessibleTable::selectRow(long aRowIdx)
{
A11Y_TRYBLOCK_BEGIN
if (!mTable)
return CO_E_OBJNOTCONNECTED;
@@ -507,15 +421,11 @@ ia2AccessibleTable::selectRow(long aRowIdx)
mTable->SelectRow(aRowIdx);
return S_OK;
A11Y_TRYBLOCK_END
}
STDMETHODIMP
ia2AccessibleTable::selectColumn(long aColIdx)
{
A11Y_TRYBLOCK_BEGIN
if (!mTable)
return CO_E_OBJNOTCONNECTED;
@@ -524,15 +434,11 @@ ia2AccessibleTable::selectColumn(long aColIdx)
mTable->SelectCol(aColIdx);
return S_OK;
A11Y_TRYBLOCK_END
}
STDMETHODIMP
ia2AccessibleTable::unselectRow(long aRowIdx)
{
A11Y_TRYBLOCK_BEGIN
if (!mTable)
return CO_E_OBJNOTCONNECTED;
@@ -541,15 +447,11 @@ ia2AccessibleTable::unselectRow(long aRowIdx)
mTable->UnselectRow(aRowIdx);
return S_OK;
A11Y_TRYBLOCK_END
}
STDMETHODIMP
ia2AccessibleTable::unselectColumn(long aColIdx)
{
A11Y_TRYBLOCK_BEGIN
if (!mTable)
return CO_E_OBJNOTCONNECTED;
@@ -558,8 +460,6 @@ ia2AccessibleTable::unselectColumn(long aColIdx)
mTable->UnselectCol(aColIdx);
return S_OK;
A11Y_TRYBLOCK_END
}
STDMETHODIMP
@@ -569,8 +469,6 @@ ia2AccessibleTable::get_rowColumnExtentsAtIndex(long aCellIdx, long* aRowIdx,
long* aColExtents,
boolean* aIsSelected)
{
A11Y_TRYBLOCK_BEGIN
if (!aRowIdx || !aColIdx || !aRowExtents || !aColExtents || !aIsSelected)
return E_INVALIDARG;
@@ -595,8 +493,6 @@ ia2AccessibleTable::get_rowColumnExtentsAtIndex(long aCellIdx, long* aRowIdx,
*aIsSelected = mTable->IsCellSelected(rowIdx, colIdx);
return S_OK;
A11Y_TRYBLOCK_END
}
STDMETHODIMP
@@ -611,8 +507,6 @@ ia2AccessibleTable::get_modelChange(IA2TableModelChange* aModelChange)
STDMETHODIMP
ia2AccessibleTable::get_cellAt(long aRowIdx, long aColIdx, IUnknown** aCell)
{
A11Y_TRYBLOCK_BEGIN
if (!aCell)
return E_INVALIDARG;
@@ -628,15 +522,11 @@ ia2AccessibleTable::get_cellAt(long aRowIdx, long aColIdx, IUnknown** aCell)
(*aCell = static_cast<IAccessible*>(cell))->AddRef();
return S_OK;
A11Y_TRYBLOCK_END
}
STDMETHODIMP
ia2AccessibleTable::get_nSelectedCells(long* aCellCount)
{
A11Y_TRYBLOCK_BEGIN
if (!aCellCount)
return E_INVALIDARG;
@@ -646,15 +536,11 @@ ia2AccessibleTable::get_nSelectedCells(long* aCellCount)
*aCellCount = mTable->SelectedCellCount();
return S_OK;
A11Y_TRYBLOCK_END
}
STDMETHODIMP
ia2AccessibleTable::get_selectedCells(IUnknown*** aCells, long* aNSelectedCells)
{
A11Y_TRYBLOCK_BEGIN
if (!aCells || !aNSelectedCells)
return E_INVALIDARG;
@@ -682,15 +568,11 @@ ia2AccessibleTable::get_selectedCells(IUnknown*** aCells, long* aNSelectedCells)
*aNSelectedCells = cells.Length();
return S_OK;
A11Y_TRYBLOCK_END
}
STDMETHODIMP
ia2AccessibleTable::get_selectedColumns(long** aColumns, long* aNColumns)
{
A11Y_TRYBLOCK_BEGIN
if (!aColumns || !aNColumns)
return E_INVALIDARG;
@@ -712,15 +594,11 @@ ia2AccessibleTable::get_selectedColumns(long** aColumns, long* aNColumns)
(*aColumns)[i] = colIndices[i];
return S_OK;
A11Y_TRYBLOCK_END
}
STDMETHODIMP
ia2AccessibleTable::get_selectedRows(long** aRows, long* aNRows)
{
A11Y_TRYBLOCK_BEGIN
if (!aRows || !aNRows)
return E_INVALIDARG;
@@ -742,6 +620,4 @@ ia2AccessibleTable::get_selectedRows(long** aRows, long* aNRows)
(*aRows)[i] = rowIndices[i];
return S_OK;
A11Y_TRYBLOCK_END
}
@@ -46,8 +46,6 @@ ia2AccessibleTableCell::QueryInterface(REFIID iid, void** ppv)
STDMETHODIMP
ia2AccessibleTableCell::get_table(IUnknown** aTable)
{
A11Y_TRYBLOCK_BEGIN
if (!aTable)
return E_INVALIDARG;
@@ -63,15 +61,11 @@ ia2AccessibleTableCell::get_table(IUnknown** aTable)
*aTable = static_cast<IAccessible*>(wrap);
(*aTable)->AddRef();
return S_OK;
A11Y_TRYBLOCK_END
}
STDMETHODIMP
ia2AccessibleTableCell::get_columnExtent(long* aSpan)
{
A11Y_TRYBLOCK_BEGIN
if (!aSpan)
return E_INVALIDARG;
@@ -82,16 +76,12 @@ ia2AccessibleTableCell::get_columnExtent(long* aSpan)
*aSpan = mTableCell->ColExtent();
return S_OK;
A11Y_TRYBLOCK_END
}
STDMETHODIMP
ia2AccessibleTableCell::get_columnHeaderCells(IUnknown*** aCellAccessibles,
long* aNColumnHeaderCells)
{
A11Y_TRYBLOCK_BEGIN
if (!aCellAccessibles || !aNColumnHeaderCells)
return E_INVALIDARG;
@@ -118,15 +108,11 @@ ia2AccessibleTableCell::get_columnHeaderCells(IUnknown*** aCellAccessibles,
}
return S_OK;
A11Y_TRYBLOCK_END
}
STDMETHODIMP
ia2AccessibleTableCell::get_columnIndex(long* aColIdx)
{
A11Y_TRYBLOCK_BEGIN
if (!aColIdx)
return E_INVALIDARG;
@@ -136,15 +122,11 @@ ia2AccessibleTableCell::get_columnIndex(long* aColIdx)
*aColIdx = mTableCell->ColIdx();
return S_OK;
A11Y_TRYBLOCK_END
}
STDMETHODIMP
ia2AccessibleTableCell::get_rowExtent(long* aSpan)
{
A11Y_TRYBLOCK_BEGIN
if (!aSpan)
return E_INVALIDARG;
@@ -154,16 +136,12 @@ ia2AccessibleTableCell::get_rowExtent(long* aSpan)
*aSpan = mTableCell->RowExtent();
return S_OK;
A11Y_TRYBLOCK_END
}
STDMETHODIMP
ia2AccessibleTableCell::get_rowHeaderCells(IUnknown*** aCellAccessibles,
long* aNRowHeaderCells)
{
A11Y_TRYBLOCK_BEGIN
if (!aCellAccessibles || !aNRowHeaderCells)
return E_INVALIDARG;
@@ -189,15 +167,11 @@ ia2AccessibleTableCell::get_rowHeaderCells(IUnknown*** aCellAccessibles,
}
return S_OK;
A11Y_TRYBLOCK_END
}
STDMETHODIMP
ia2AccessibleTableCell::get_rowIndex(long* aRowIdx)
{
A11Y_TRYBLOCK_BEGIN
if (!aRowIdx)
return E_INVALIDARG;
@@ -207,8 +181,6 @@ ia2AccessibleTableCell::get_rowIndex(long* aRowIdx)
*aRowIdx = mTableCell->RowIdx();
return S_OK;
A11Y_TRYBLOCK_END
}
STDMETHODIMP
@@ -217,8 +189,6 @@ ia2AccessibleTableCell::get_rowColumnExtents(long* aRowIdx, long* aColIdx,
long* aColExtents,
boolean* aIsSelected)
{
A11Y_TRYBLOCK_BEGIN
if (!aRowIdx || !aColIdx || !aRowExtents || !aColExtents || !aIsSelected)
return E_INVALIDARG;
@@ -234,15 +204,11 @@ ia2AccessibleTableCell::get_rowColumnExtents(long* aRowIdx, long* aColIdx,
*aIsSelected = mTableCell->Selected();
return S_OK;
A11Y_TRYBLOCK_END
}
STDMETHODIMP
ia2AccessibleTableCell::get_isSelected(boolean* aIsSelected)
{
A11Y_TRYBLOCK_BEGIN
if (!aIsSelected)
return E_INVALIDARG;
@@ -252,6 +218,4 @@ ia2AccessibleTableCell::get_isSelected(boolean* aIsSelected)
*aIsSelected = mTableCell->Selected();
return S_OK;
A11Y_TRYBLOCK_END
}
@@ -28,8 +28,6 @@ bool ia2AccessibleText::sLastTextChangeWasInsert = false;
STDMETHODIMP
ia2AccessibleText::addSelection(long aStartOffset, long aEndOffset)
{
A11Y_TRYBLOCK_BEGIN
MOZ_ASSERT(!HyperTextProxyFor(this));
HyperTextAccessible* textAcc = static_cast<HyperTextAccessibleWrap*>(this);
@@ -38,16 +36,12 @@ ia2AccessibleText::addSelection(long aStartOffset, long aEndOffset)
return textAcc->AddToSelection(aStartOffset, aEndOffset) ?
S_OK : E_INVALIDARG;
A11Y_TRYBLOCK_END
}
STDMETHODIMP
ia2AccessibleText::get_attributes(long aOffset, long *aStartOffset,
long *aEndOffset, BSTR *aTextAttributes)
{
A11Y_TRYBLOCK_BEGIN
if (!aStartOffset || !aEndOffset || !aTextAttributes)
return E_INVALIDARG;
@@ -74,15 +68,11 @@ ia2AccessibleText::get_attributes(long aOffset, long *aStartOffset,
*aEndOffset = endOffset;
return S_OK;
A11Y_TRYBLOCK_END
}
STDMETHODIMP
ia2AccessibleText::get_caretOffset(long *aOffset)
{
A11Y_TRYBLOCK_BEGIN
if (!aOffset)
return E_INVALIDARG;
@@ -97,8 +87,6 @@ ia2AccessibleText::get_caretOffset(long *aOffset)
*aOffset = textAcc->CaretOffset();
return *aOffset != -1 ? S_OK : S_FALSE;
A11Y_TRYBLOCK_END
}
STDMETHODIMP
@@ -107,8 +95,6 @@ ia2AccessibleText::get_characterExtents(long aOffset,
long* aX, long* aY,
long* aWidth, long* aHeight)
{
A11Y_TRYBLOCK_BEGIN
if (!aX || !aY || !aWidth || !aHeight)
return E_INVALIDARG;
*aX = *aY = *aWidth = *aHeight = 0;
@@ -129,15 +115,11 @@ ia2AccessibleText::get_characterExtents(long aOffset,
*aWidth = rect.width;
*aHeight = rect.height;
return S_OK;
A11Y_TRYBLOCK_END
}
STDMETHODIMP
ia2AccessibleText::get_nSelections(long* aNSelections)
{
A11Y_TRYBLOCK_BEGIN
if (!aNSelections)
return E_INVALIDARG;
*aNSelections = 0;
@@ -151,8 +133,6 @@ ia2AccessibleText::get_nSelections(long* aNSelections)
*aNSelections = textAcc->SelectionCount();
return S_OK;
A11Y_TRYBLOCK_END
}
STDMETHODIMP
@@ -160,8 +140,6 @@ ia2AccessibleText::get_offsetAtPoint(long aX, long aY,
enum IA2CoordinateType aCoordType,
long* aOffset)
{
A11Y_TRYBLOCK_BEGIN
if (!aOffset)
return E_INVALIDARG;
*aOffset = 0;
@@ -179,16 +157,12 @@ ia2AccessibleText::get_offsetAtPoint(long aX, long aY,
*aOffset = textAcc->OffsetAtPoint(aX, aY, geckoCoordType);
return *aOffset == -1 ? S_FALSE : S_OK;
A11Y_TRYBLOCK_END
}
STDMETHODIMP
ia2AccessibleText::get_selection(long aSelectionIndex, long* aStartOffset,
long* aEndOffset)
{
A11Y_TRYBLOCK_BEGIN
if (!aStartOffset || !aEndOffset)
return E_INVALIDARG;
*aStartOffset = *aEndOffset = 0;
@@ -207,15 +181,11 @@ ia2AccessibleText::get_selection(long aSelectionIndex, long* aStartOffset,
*aStartOffset = startOffset;
*aEndOffset = endOffset;
return S_OK;
A11Y_TRYBLOCK_END
}
STDMETHODIMP
ia2AccessibleText::get_text(long aStartOffset, long aEndOffset, BSTR* aText)
{
A11Y_TRYBLOCK_BEGIN
if (!aText)
return E_INVALIDARG;
@@ -239,8 +209,6 @@ ia2AccessibleText::get_text(long aStartOffset, long aEndOffset, BSTR* aText)
*aText = ::SysAllocStringLen(text.get(), text.Length());
return *aText ? S_OK : E_OUTOFMEMORY;
A11Y_TRYBLOCK_END
}
STDMETHODIMP
@@ -249,8 +217,6 @@ ia2AccessibleText::get_textBeforeOffset(long aOffset,
long* aStartOffset, long* aEndOffset,
BSTR* aText)
{
A11Y_TRYBLOCK_BEGIN
if (!aStartOffset || !aEndOffset || !aText)
return E_INVALIDARG;
@@ -287,8 +253,6 @@ ia2AccessibleText::get_textBeforeOffset(long aOffset,
*aText = ::SysAllocStringLen(text.get(), text.Length());
return *aText ? S_OK : E_OUTOFMEMORY;
A11Y_TRYBLOCK_END
}
STDMETHODIMP
@@ -297,8 +261,6 @@ ia2AccessibleText::get_textAfterOffset(long aOffset,
long* aStartOffset, long* aEndOffset,
BSTR* aText)
{
A11Y_TRYBLOCK_BEGIN
if (!aStartOffset || !aEndOffset || !aText)
return E_INVALIDARG;
@@ -335,8 +297,6 @@ ia2AccessibleText::get_textAfterOffset(long aOffset,
*aText = ::SysAllocStringLen(text.get(), text.Length());
return *aText ? S_OK : E_OUTOFMEMORY;
A11Y_TRYBLOCK_END
}
STDMETHODIMP
@@ -345,8 +305,6 @@ ia2AccessibleText::get_textAtOffset(long aOffset,
long* aStartOffset, long* aEndOffset,
BSTR* aText)
{
A11Y_TRYBLOCK_BEGIN
if (!aStartOffset || !aEndOffset || !aText)
return E_INVALIDARG;
@@ -381,15 +339,11 @@ ia2AccessibleText::get_textAtOffset(long aOffset,
*aText = ::SysAllocStringLen(text.get(), text.Length());
return *aText ? S_OK : E_OUTOFMEMORY;
A11Y_TRYBLOCK_END
}
STDMETHODIMP
ia2AccessibleText::removeSelection(long aSelectionIndex)
{
A11Y_TRYBLOCK_BEGIN
MOZ_ASSERT(!HyperTextProxyFor(this));
HyperTextAccessible* textAcc = static_cast<HyperTextAccessibleWrap*>(this);
@@ -398,15 +352,11 @@ ia2AccessibleText::removeSelection(long aSelectionIndex)
return textAcc->RemoveFromSelection(aSelectionIndex) ?
S_OK : E_INVALIDARG;
A11Y_TRYBLOCK_END
}
STDMETHODIMP
ia2AccessibleText::setCaretOffset(long aOffset)
{
A11Y_TRYBLOCK_BEGIN
MOZ_ASSERT(!HyperTextProxyFor(this));
HyperTextAccessible* textAcc = static_cast<HyperTextAccessibleWrap*>(this);
@@ -418,16 +368,12 @@ ia2AccessibleText::setCaretOffset(long aOffset)
textAcc->SetCaretOffset(aOffset);
return S_OK;
A11Y_TRYBLOCK_END
}
STDMETHODIMP
ia2AccessibleText::setSelection(long aSelectionIndex, long aStartOffset,
long aEndOffset)
{
A11Y_TRYBLOCK_BEGIN
MOZ_ASSERT(!HyperTextProxyFor(this));
HyperTextAccessible* textAcc = static_cast<HyperTextAccessibleWrap*>(this);
@@ -436,15 +382,11 @@ ia2AccessibleText::setSelection(long aSelectionIndex, long aStartOffset,
return textAcc->SetSelectionBoundsAt(aSelectionIndex, aStartOffset, aEndOffset) ?
S_OK : E_INVALIDARG;
A11Y_TRYBLOCK_END
}
STDMETHODIMP
ia2AccessibleText::get_nCharacters(long* aNCharacters)
{
A11Y_TRYBLOCK_BEGIN
if (!aNCharacters)
return E_INVALIDARG;
*aNCharacters = 0;
@@ -457,16 +399,12 @@ ia2AccessibleText::get_nCharacters(long* aNCharacters)
*aNCharacters = textAcc->CharacterCount();
return S_OK;
A11Y_TRYBLOCK_END
}
STDMETHODIMP
ia2AccessibleText::scrollSubstringTo(long aStartIndex, long aEndIndex,
enum IA2ScrollType aScrollType)
{
A11Y_TRYBLOCK_BEGIN
MOZ_ASSERT(!HyperTextProxyFor(this));
HyperTextAccessible* textAcc = static_cast<HyperTextAccessibleWrap*>(this);
@@ -478,8 +416,6 @@ ia2AccessibleText::scrollSubstringTo(long aStartIndex, long aEndIndex,
textAcc->ScrollSubstringTo(aStartIndex, aEndIndex, aScrollType);
return S_OK;
A11Y_TRYBLOCK_END
}
STDMETHODIMP
@@ -487,8 +423,6 @@ ia2AccessibleText::scrollSubstringToPoint(long aStartIndex, long aEndIndex,
enum IA2CoordinateType aCoordType,
long aX, long aY)
{
A11Y_TRYBLOCK_BEGIN
uint32_t geckoCoordType = (aCoordType == IA2_COORDTYPE_SCREEN_RELATIVE) ?
nsIAccessibleCoordinateType::COORDTYPE_SCREEN_RELATIVE :
nsIAccessibleCoordinateType::COORDTYPE_PARENT_RELATIVE;
@@ -505,28 +439,18 @@ ia2AccessibleText::scrollSubstringToPoint(long aStartIndex, long aEndIndex,
textAcc->ScrollSubstringToPoint(aStartIndex, aEndIndex,
geckoCoordType, aX, aY);
return S_OK;
A11Y_TRYBLOCK_END
}
STDMETHODIMP
ia2AccessibleText::get_newText(IA2TextSegment *aNewText)
{
A11Y_TRYBLOCK_BEGIN
return GetModifiedText(true, aNewText);
A11Y_TRYBLOCK_END
}
STDMETHODIMP
ia2AccessibleText::get_oldText(IA2TextSegment *aOldText)
{
A11Y_TRYBLOCK_BEGIN
return GetModifiedText(false, aOldText);
A11Y_TRYBLOCK_END
}
// ia2AccessibleText
@@ -46,8 +46,6 @@ ia2AccessibleValue::QueryInterface(REFIID iid, void** ppv)
STDMETHODIMP
ia2AccessibleValue::get_currentValue(VARIANT* aCurrentValue)
{
A11Y_TRYBLOCK_BEGIN
if (!aCurrentValue)
return E_INVALIDARG;
@@ -68,15 +66,11 @@ ia2AccessibleValue::get_currentValue(VARIANT* aCurrentValue)
aCurrentValue->vt = VT_R8;
aCurrentValue->dblVal = currentValue;
return S_OK;
A11Y_TRYBLOCK_END
}
STDMETHODIMP
ia2AccessibleValue::setCurrentValue(VARIANT aValue)
{
A11Y_TRYBLOCK_BEGIN
if (aValue.vt != VT_R8)
return E_INVALIDARG;
@@ -87,15 +81,11 @@ ia2AccessibleValue::setCurrentValue(VARIANT aValue)
return CO_E_OBJNOTCONNECTED;
return valueAcc->SetCurValue(aValue.dblVal) ? S_OK : E_FAIL;
A11Y_TRYBLOCK_END
}
STDMETHODIMP
ia2AccessibleValue::get_maximumValue(VARIANT* aMaximumValue)
{
A11Y_TRYBLOCK_BEGIN
if (!aMaximumValue)
return E_INVALIDARG;
@@ -116,15 +106,11 @@ ia2AccessibleValue::get_maximumValue(VARIANT* aMaximumValue)
aMaximumValue->vt = VT_R8;
aMaximumValue->dblVal = maximumValue;
return S_OK;
A11Y_TRYBLOCK_END
}
STDMETHODIMP
ia2AccessibleValue::get_minimumValue(VARIANT* aMinimumValue)
{
A11Y_TRYBLOCK_BEGIN
if (!aMinimumValue)
return E_INVALIDARG;
@@ -145,7 +131,5 @@ ia2AccessibleValue::get_minimumValue(VARIANT* aMinimumValue)
aMinimumValue->vt = VT_R8;
aMinimumValue->dblVal = minimumValue;
return S_OK;
A11Y_TRYBLOCK_END
}
@@ -110,8 +110,6 @@ AccessibleWrap::Shutdown()
STDMETHODIMP
AccessibleWrap::QueryInterface(REFIID iid, void** ppv)
{
A11Y_TRYBLOCK_BEGIN
if (!ppv)
return E_INVALIDARG;
@@ -165,8 +163,6 @@ AccessibleWrap::QueryInterface(REFIID iid, void** ppv)
(reinterpret_cast<IUnknown*>(*ppv))->AddRef();
return S_OK;
A11Y_TRYBLOCK_END
}
//-----------------------------------------------------
@@ -176,8 +172,6 @@ AccessibleWrap::QueryInterface(REFIID iid, void** ppv)
STDMETHODIMP
AccessibleWrap::get_accParent( IDispatch __RPC_FAR *__RPC_FAR *ppdispParent)
{
A11Y_TRYBLOCK_BEGIN
if (!ppdispParent)
return E_INVALIDARG;
@@ -208,15 +202,11 @@ AccessibleWrap::get_accParent( IDispatch __RPC_FAR *__RPC_FAR *ppdispParent)
*ppdispParent = NativeAccessible(xpParentAcc);
return S_OK;
A11Y_TRYBLOCK_END
}
STDMETHODIMP
AccessibleWrap::get_accChildCount( long __RPC_FAR *pcountChildren)
{
A11Y_TRYBLOCK_BEGIN
if (!pcountChildren)
return E_INVALIDARG;
@@ -230,8 +220,6 @@ AccessibleWrap::get_accChildCount( long __RPC_FAR *pcountChildren)
*pcountChildren = ChildCount();
return S_OK;
A11Y_TRYBLOCK_END
}
STDMETHODIMP
@@ -239,8 +227,6 @@ AccessibleWrap::get_accChild(
/* [in] */ VARIANT varChild,
/* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppdispChild)
{
A11Y_TRYBLOCK_BEGIN
if (!ppdispChild)
return E_INVALIDARG;
@@ -265,8 +251,6 @@ AccessibleWrap::get_accChild(
child.forget(ppdispChild);
return S_OK;
A11Y_TRYBLOCK_END
}
/**
@@ -331,8 +315,6 @@ AccessibleWrap::get_accName(
/* [optional][in] */ VARIANT varChild,
/* [retval][out] */ BSTR __RPC_FAR *pszName)
{
A11Y_TRYBLOCK_BEGIN
if (!pszName || varChild.vt != VT_I4)
return E_INVALIDARG;
@@ -361,8 +343,6 @@ AccessibleWrap::get_accName(
if (!*pszName)
return E_OUTOFMEMORY;
return S_OK;
A11Y_TRYBLOCK_END
}
@@ -371,8 +351,6 @@ AccessibleWrap::get_accValue(
/* [optional][in] */ VARIANT varChild,
/* [retval][out] */ BSTR __RPC_FAR *pszValue)
{
A11Y_TRYBLOCK_BEGIN
if (!pszValue)
return E_INVALIDARG;
@@ -401,16 +379,12 @@ AccessibleWrap::get_accValue(
if (!*pszValue)
return E_OUTOFMEMORY;
return S_OK;
A11Y_TRYBLOCK_END
}
STDMETHODIMP
AccessibleWrap::get_accDescription(VARIANT varChild,
BSTR __RPC_FAR *pszDescription)
{
A11Y_TRYBLOCK_BEGIN
if (!pszDescription)
return E_INVALIDARG;
@@ -432,8 +406,6 @@ AccessibleWrap::get_accDescription(VARIANT varChild,
*pszDescription = ::SysAllocStringLen(description.get(),
description.Length());
return *pszDescription ? S_OK : E_OUTOFMEMORY;
A11Y_TRYBLOCK_END
}
STDMETHODIMP
@@ -441,8 +413,6 @@ AccessibleWrap::get_accRole(
/* [optional][in] */ VARIANT varChild,
/* [retval][out] */ VARIANT __RPC_FAR *pvarRole)
{
A11Y_TRYBLOCK_BEGIN
if (!pvarRole)
return E_INVALIDARG;
@@ -532,8 +502,6 @@ AccessibleWrap::get_accRole(
}
return E_FAIL;
A11Y_TRYBLOCK_END
}
STDMETHODIMP
@@ -541,8 +509,6 @@ AccessibleWrap::get_accState(
/* [optional][in] */ VARIANT varChild,
/* [retval][out] */ VARIANT __RPC_FAR *pvarState)
{
A11Y_TRYBLOCK_BEGIN
if (!pvarState)
return E_INVALIDARG;
@@ -574,8 +540,6 @@ AccessibleWrap::get_accState(
nsAccUtils::To32States(state, &msaaState, nullptr);
pvarState->lVal = msaaState;
return S_OK;
A11Y_TRYBLOCK_END
}
@@ -584,15 +548,11 @@ AccessibleWrap::get_accHelp(
/* [optional][in] */ VARIANT varChild,
/* [retval][out] */ BSTR __RPC_FAR *pszHelp)
{
A11Y_TRYBLOCK_BEGIN
if (!pszHelp)
return E_INVALIDARG;
*pszHelp = nullptr;
return S_FALSE;
A11Y_TRYBLOCK_END
}
STDMETHODIMP
@@ -601,16 +561,12 @@ AccessibleWrap::get_accHelpTopic(
/* [optional][in] */ VARIANT varChild,
/* [retval][out] */ long __RPC_FAR *pidTopic)
{
A11Y_TRYBLOCK_BEGIN
if (!pszHelpFile || !pidTopic)
return E_INVALIDARG;
*pszHelpFile = nullptr;
*pidTopic = 0;
return S_FALSE;
A11Y_TRYBLOCK_END
}
STDMETHODIMP
@@ -618,8 +574,6 @@ AccessibleWrap::get_accKeyboardShortcut(
/* [optional][in] */ VARIANT varChild,
/* [retval][out] */ BSTR __RPC_FAR *pszKeyboardShortcut)
{
A11Y_TRYBLOCK_BEGIN
if (!pszKeyboardShortcut)
return E_INVALIDARG;
*pszKeyboardShortcut = nullptr;
@@ -645,16 +599,12 @@ AccessibleWrap::get_accKeyboardShortcut(
*pszKeyboardShortcut = ::SysAllocStringLen(shortcut.get(),
shortcut.Length());
return *pszKeyboardShortcut ? S_OK : E_OUTOFMEMORY;
A11Y_TRYBLOCK_END
}
STDMETHODIMP
AccessibleWrap::get_accFocus(
/* [retval][out] */ VARIANT __RPC_FAR *pvarChild)
{
A11Y_TRYBLOCK_BEGIN
if (!pvarChild)
return E_INVALIDARG;
@@ -685,8 +635,6 @@ AccessibleWrap::get_accFocus(
}
return S_OK;
A11Y_TRYBLOCK_END
}
/**
@@ -723,8 +671,6 @@ private:
STDMETHODIMP
AccessibleEnumerator::QueryInterface(REFIID iid, void ** ppvObject)
{
A11Y_TRYBLOCK_BEGIN
if (iid == IID_IEnumVARIANT) {
*ppvObject = static_cast<IEnumVARIANT*>(this);
AddRef();
@@ -738,15 +684,11 @@ AccessibleEnumerator::QueryInterface(REFIID iid, void ** ppvObject)
*ppvObject = nullptr;
return E_NOINTERFACE;
A11Y_TRYBLOCK_END
}
STDMETHODIMP
AccessibleEnumerator::Next(unsigned long celt, VARIANT FAR* rgvar, unsigned long FAR* pceltFetched)
{
A11Y_TRYBLOCK_BEGIN
uint32_t length = mArray.Length();
HRESULT hr = S_OK;
@@ -766,29 +708,21 @@ AccessibleEnumerator::Next(unsigned long celt, VARIANT FAR* rgvar, unsigned long
*pceltFetched = celt;
return hr;
A11Y_TRYBLOCK_END
}
STDMETHODIMP
AccessibleEnumerator::Clone(IEnumVARIANT FAR* FAR* ppenum)
{
A11Y_TRYBLOCK_BEGIN
*ppenum = new AccessibleEnumerator(*this);
if (!*ppenum)
return E_OUTOFMEMORY;
NS_ADDREF(*ppenum);
return S_OK;
A11Y_TRYBLOCK_END
}
STDMETHODIMP
AccessibleEnumerator::Skip(unsigned long celt)
{
A11Y_TRYBLOCK_BEGIN
uint32_t length = mArray.Length();
// Check if we can skip the requested number of elements
if (celt > length - mCurIndex) {
@@ -797,8 +731,6 @@ AccessibleEnumerator::Skip(unsigned long celt)
}
mCurIndex += celt;
return S_OK;
A11Y_TRYBLOCK_END
}
/**
@@ -821,8 +753,6 @@ AccessibleEnumerator::Skip(unsigned long celt)
STDMETHODIMP
AccessibleWrap::get_accSelection(VARIANT __RPC_FAR *pvarChildren)
{
A11Y_TRYBLOCK_BEGIN
if (!pvarChildren)
return E_INVALIDARG;
@@ -842,8 +772,6 @@ AccessibleWrap::get_accSelection(VARIANT __RPC_FAR *pvarChildren)
NS_ADDREF(pvarChildren->punkVal = pEnum);
}
return S_OK;
A11Y_TRYBLOCK_END
}
STDMETHODIMP
@@ -851,8 +779,6 @@ AccessibleWrap::get_accDefaultAction(
/* [optional][in] */ VARIANT varChild,
/* [retval][out] */ BSTR __RPC_FAR *pszDefaultAction)
{
A11Y_TRYBLOCK_BEGIN
if (!pszDefaultAction)
return E_INVALIDARG;
@@ -874,8 +800,6 @@ AccessibleWrap::get_accDefaultAction(
*pszDefaultAction = ::SysAllocStringLen(defaultAction.get(),
defaultAction.Length());
return *pszDefaultAction ? S_OK : E_OUTOFMEMORY;
A11Y_TRYBLOCK_END
}
STDMETHODIMP
@@ -883,8 +807,6 @@ AccessibleWrap::accSelect(
/* [in] */ long flagsSelect,
/* [optional][in] */ VARIANT varChild)
{
A11Y_TRYBLOCK_BEGIN
RefPtr<IAccessible> accessible;
HRESULT hr = ResolveChild(varChild, getter_AddRefs(accessible));
if (FAILED(hr)) {
@@ -926,8 +848,6 @@ AccessibleWrap::accSelect(
}
return E_FAIL;
A11Y_TRYBLOCK_END
}
STDMETHODIMP
@@ -938,8 +858,6 @@ AccessibleWrap::accLocation(
/* [out] */ long __RPC_FAR *pcyHeight,
/* [optional][in] */ VARIANT varChild)
{
A11Y_TRYBLOCK_BEGIN
if (!pxLeft || !pyTop || !pcxWidth || !pcyHeight)
return E_INVALIDARG;
@@ -966,8 +884,6 @@ AccessibleWrap::accLocation(
*pcxWidth = rect.width;
*pcyHeight = rect.height;
return S_OK;
A11Y_TRYBLOCK_END
}
STDMETHODIMP
@@ -976,8 +892,6 @@ AccessibleWrap::accNavigate(
/* [optional][in] */ VARIANT varStart,
/* [retval][out] */ VARIANT __RPC_FAR *pvarEndUpAt)
{
A11Y_TRYBLOCK_BEGIN
if (!pvarEndUpAt)
return E_INVALIDARG;
@@ -1060,8 +974,6 @@ AccessibleWrap::accNavigate(
pvarEndUpAt->pdispVal = NativeAccessible(navAccessible);
pvarEndUpAt->vt = VT_DISPATCH;
return S_OK;
A11Y_TRYBLOCK_END
}
STDMETHODIMP
@@ -1070,8 +982,6 @@ AccessibleWrap::accHitTest(
/* [in] */ long yTop,
/* [retval][out] */ VARIANT __RPC_FAR *pvarChild)
{
A11Y_TRYBLOCK_BEGIN
if (!pvarChild)
return E_INVALIDARG;
@@ -1098,16 +1008,12 @@ AccessibleWrap::accHitTest(
return S_FALSE;
}
return S_OK;
A11Y_TRYBLOCK_END
}
STDMETHODIMP
AccessibleWrap::accDoDefaultAction(
/* [optional][in] */ VARIANT varChild)
{
A11Y_TRYBLOCK_BEGIN
RefPtr<IAccessible> accessible;
HRESULT hr = ResolveChild(varChild, getter_AddRefs(accessible));
if (FAILED(hr)) {
@@ -1119,8 +1025,6 @@ AccessibleWrap::accDoDefaultAction(
}
return DoAction(0) ? S_OK : E_INVALIDARG;
A11Y_TRYBLOCK_END
}
STDMETHODIMP
@@ -69,8 +69,6 @@ ApplicationAccessibleWrap::QueryInterface(REFIID iid, void** ppv)
STDMETHODIMP
ApplicationAccessibleWrap::get_appName(BSTR* aName)
{
A11Y_TRYBLOCK_BEGIN
if (!aName)
return E_INVALIDARG;
@@ -86,15 +84,11 @@ ApplicationAccessibleWrap::get_appName(BSTR* aName)
*aName = ::SysAllocStringLen(name.get(), name.Length());
return *aName ? S_OK : E_OUTOFMEMORY;
A11Y_TRYBLOCK_END
}
STDMETHODIMP
ApplicationAccessibleWrap::get_appVersion(BSTR* aVersion)
{
A11Y_TRYBLOCK_BEGIN
if (!aVersion)
return E_INVALIDARG;
@@ -110,15 +104,11 @@ ApplicationAccessibleWrap::get_appVersion(BSTR* aVersion)
*aVersion = ::SysAllocStringLen(version.get(), version.Length());
return *aVersion ? S_OK : E_OUTOFMEMORY;
A11Y_TRYBLOCK_END
}
STDMETHODIMP
ApplicationAccessibleWrap::get_toolkitName(BSTR* aName)
{
A11Y_TRYBLOCK_BEGIN
if (!aName)
return E_INVALIDARG;
@@ -132,15 +122,11 @@ ApplicationAccessibleWrap::get_toolkitName(BSTR* aName)
*aName = ::SysAllocStringLen(name.get(), name.Length());
return *aName ? S_OK : E_OUTOFMEMORY;
A11Y_TRYBLOCK_END
}
STDMETHODIMP
ApplicationAccessibleWrap::get_toolkitVersion(BSTR* aVersion)
{
A11Y_TRYBLOCK_BEGIN
if (!aVersion)
return E_INVALIDARG;
@@ -156,7 +142,5 @@ ApplicationAccessibleWrap::get_toolkitVersion(BSTR* aVersion)
*aVersion = ::SysAllocStringLen(version.get(), version.Length());
return *aVersion ? S_OK : E_OUTOFMEMORY;
A11Y_TRYBLOCK_END
}
@@ -65,8 +65,6 @@ DocAccessibleWrap::get_accParent(
STDMETHODIMP
DocAccessibleWrap::get_accValue(VARIANT aVarChild, BSTR __RPC_FAR* aValue)
{
A11Y_TRYBLOCK_BEGIN
if (!aValue)
return E_INVALIDARG;
*aValue = nullptr;
@@ -90,8 +88,6 @@ DocAccessibleWrap::get_accValue(VARIANT aVarChild, BSTR __RPC_FAR* aValue)
*aValue = ::SysAllocStringLen(url.get(), url.Length());
return *aValue ? S_OK : E_OUTOFMEMORY;
A11Y_TRYBLOCK_END
}
////////////////////////////////////////////////////////////////////////////////
-16
View File
@@ -21,8 +21,6 @@ STDMETHODIMP
ChildrenEnumVariant::Next(ULONG aCount, VARIANT FAR* aItems,
ULONG FAR* aCountFetched)
{
A11Y_TRYBLOCK_BEGIN
if (!aItems || !aCountFetched)
return E_INVALIDARG;
@@ -55,15 +53,11 @@ ChildrenEnumVariant::Next(ULONG aCount, VARIANT FAR* aItems,
(*aCountFetched) = countFetched;
return countFetched < aCount ? S_FALSE : S_OK;
A11Y_TRYBLOCK_END
}
STDMETHODIMP
ChildrenEnumVariant::Skip(ULONG aCount)
{
A11Y_TRYBLOCK_BEGIN
if (mAnchorAcc->IsDefunct() || mAnchorAcc->GetChildAt(mCurIndex) != mCurAcc)
return CO_E_OBJNOTCONNECTED;
@@ -71,15 +65,11 @@ ChildrenEnumVariant::Skip(ULONG aCount)
mCurAcc = mAnchorAcc->GetChildAt(mCurIndex);
return mCurAcc ? S_OK : S_FALSE;
A11Y_TRYBLOCK_END
}
STDMETHODIMP
ChildrenEnumVariant::Reset()
{
A11Y_TRYBLOCK_BEGIN
if (mAnchorAcc->IsDefunct())
return CO_E_OBJNOTCONNECTED;
@@ -87,15 +77,11 @@ ChildrenEnumVariant::Reset()
mCurAcc = mAnchorAcc->GetChildAt(0);
return S_OK;
A11Y_TRYBLOCK_END
}
STDMETHODIMP
ChildrenEnumVariant::Clone(IEnumVARIANT** aEnumVariant)
{
A11Y_TRYBLOCK_BEGIN
if (!aEnumVariant)
return E_INVALIDARG;
@@ -103,6 +89,4 @@ ChildrenEnumVariant::Clone(IEnumVARIANT** aEnumVariant)
(*aEnumVariant)->AddRef();
return S_OK;
A11Y_TRYBLOCK_END
}
@@ -62,25 +62,6 @@ HTMLWin32ObjectAccessible::HTMLWin32ObjectAccessible(void* aHwnd,
{
mHwnd = aHwnd;
if (mHwnd) {
#if defined(MOZ_CONTENT_SANDBOX)
if (XRE_IsContentProcess()) {
DocAccessibleChild* ipcDoc = aDoc->IPCDoc();
MOZ_ASSERT(ipcDoc);
if (!ipcDoc) {
return;
}
IAccessibleHolder proxyHolder;
if (!ipcDoc->SendGetWindowedPluginIAccessible(
reinterpret_cast<uintptr_t>(mHwnd), &proxyHolder)) {
return;
}
mCOMProxy.reset(proxyHolder.Release());
return;
}
#endif
// The plugin is not windowless. In this situation we use
// use its inner child owned by the plugin so that we don't get
// in an infinite loop, where the WM_GETOBJECT's get forwarded
@@ -92,14 +73,6 @@ HTMLWin32ObjectAccessible::HTMLWin32ObjectAccessible(void* aHwnd,
void
HTMLWin32ObjectAccessible::GetNativeInterface(void** aNativeAccessible)
{
#if defined(MOZ_CONTENT_SANDBOX)
if (XRE_IsContentProcess()) {
RefPtr<IAccessible> addRefed = mCOMProxy.get();
addRefed.forget(aNativeAccessible);
return;
}
#endif
if (mHwnd) {
::AccessibleObjectFromWindow(static_cast<HWND>(mHwnd),
OBJID_WINDOW, IID_IAccessible,
@@ -8,10 +8,6 @@
#include "BaseAccessibles.h"
#if defined(MOZ_CONTENT_SANDBOX)
#include "mozilla/mscom/Ptr.h"
#endif
struct IAccessible;
namespace mozilla {
@@ -59,9 +55,6 @@ public:
protected:
void* mHwnd;
#if defined(MOZ_CONTENT_SANDBOX)
mscom::ProxyUniquePtr<IAccessible> mCOMProxy;
#endif
};
} // namespace a11y
-21
View File
@@ -9,10 +9,6 @@
#include "nsDebug.h"
#ifdef MOZ_CRASHREPORTER
#include "nsExceptionHandler.h"
#endif
namespace mozilla {
namespace a11y {
@@ -37,22 +33,5 @@ GetHRESULT(nsresult aResult)
}
}
int
FilterExceptions(unsigned int aCode, EXCEPTION_POINTERS* aExceptionInfo)
{
if (aCode == EXCEPTION_ACCESS_VIOLATION) {
#ifdef MOZ_CRASHREPORTER
// MSAA swallows crashes (because it is COM-based) but we still need to
// learn about those crashes so we can fix them. Make sure to pass them to
// the crash reporter.
CrashReporter::WriteMinidumpForException(aExceptionInfo);
#endif
} else {
NS_NOTREACHED("We should only be catching crash exceptions");
}
return EXCEPTION_CONTINUE_SEARCH;
}
} // namespace a11y
} // namespace mozilla
-24
View File
@@ -79,7 +79,6 @@ virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID, void**); \
STDMETHODIMP \
Class::QueryInterface(REFIID aIID, void** aInstancePtr) \
{ \
A11Y_TRYBLOCK_BEGIN \
if (!aInstancePtr) \
return E_INVALIDARG; \
*aInstancePtr = nullptr; \
@@ -88,17 +87,14 @@ Class::QueryInterface(REFIID aIID, void** aInstancePtr) \
#define IMPL_IUNKNOWN_QUERY_TAIL \
return hr; \
A11Y_TRYBLOCK_END \
}
#define IMPL_IUNKNOWN_QUERY_TAIL_AGGREGATED(Member) \
return Member->QueryInterface(aIID, aInstancePtr); \
A11Y_TRYBLOCK_END \
}
#define IMPL_IUNKNOWN_QUERY_TAIL_INHERITED(BaseClass) \
return BaseClass::QueryInterface(aIID, aInstancePtr); \
A11Y_TRYBLOCK_END \
}
#define IMPL_IUNKNOWN_QUERY_IFACE(Iface) \
@@ -158,21 +154,6 @@ Class::QueryInterface(REFIID aIID, void** aInstancePtr) \
IMPL_IUNKNOWN_QUERY_CLASS(Super2); \
IMPL_IUNKNOWN_QUERY_TAIL_INHERITED(Super0)
/**
* Wrap every method body by these macroses to pass exception to the crash
* reporter.
*/
#define A11Y_TRYBLOCK_BEGIN \
MOZ_SEH_TRY {
#define A11Y_TRYBLOCK_END \
} MOZ_SEH_EXCEPT(mozilla::a11y::FilterExceptions(::GetExceptionCode(), \
GetExceptionInformation())) \
{ } \
return E_FAIL;
namespace mozilla {
namespace a11y {
@@ -181,11 +162,6 @@ namespace a11y {
*/
HRESULT GetHRESULT(nsresult aResult);
/**
* Used to pass an exception to the crash reporter.
*/
int FilterExceptions(unsigned int aCode, EXCEPTION_POINTERS* aExceptionInfo);
} // namespace a11y;
} //namespace mozilla;
-64
View File
@@ -28,8 +28,6 @@ using namespace mozilla::a11y;
STDMETHODIMP
sdnAccessible::QueryInterface(REFIID aREFIID, void** aInstancePtr)
{
A11Y_TRYBLOCK_BEGIN
if (!aInstancePtr)
return E_FAIL;
*aInstancePtr = nullptr;
@@ -53,8 +51,6 @@ sdnAccessible::QueryInterface(REFIID aREFIID, void** aInstancePtr)
}
return E_NOINTERFACE;
A11Y_TRYBLOCK_END
}
STDMETHODIMP
@@ -65,8 +61,6 @@ sdnAccessible::get_nodeInfo(BSTR __RPC_FAR* aNodeName,
unsigned int __RPC_FAR* aUniqueID,
unsigned short __RPC_FAR* aNodeType)
{
A11Y_TRYBLOCK_BEGIN
if (!aNodeName || !aNameSpaceID || !aNodeValue || !aNumChildren ||
!aUniqueID || !aNodeType)
return E_INVALIDARG;
@@ -114,8 +108,6 @@ sdnAccessible::get_nodeInfo(BSTR __RPC_FAR* aNodeName,
*aNumChildren = mNode->GetChildCount();
return S_OK;
A11Y_TRYBLOCK_END
}
STDMETHODIMP
@@ -125,8 +117,6 @@ sdnAccessible::get_attributes(unsigned short aMaxAttribs,
BSTR __RPC_FAR* aAttribValues,
unsigned short __RPC_FAR* aNumAttribs)
{
A11Y_TRYBLOCK_BEGIN
if (!aAttribNames || !aNameSpaceIDs || !aAttribValues || !aNumAttribs)
return E_INVALIDARG;
@@ -159,8 +149,6 @@ sdnAccessible::get_attributes(unsigned short aMaxAttribs,
}
return S_OK;
A11Y_TRYBLOCK_END
}
STDMETHODIMP
@@ -169,8 +157,6 @@ sdnAccessible::get_attributesForNames(unsigned short aMaxAttribs,
short __RPC_FAR* aNameSpaceID,
BSTR __RPC_FAR* aAttribValues)
{
A11Y_TRYBLOCK_BEGIN
if (!aAttribNames || !aNameSpaceID || !aAttribValues)
return E_INVALIDARG;
@@ -207,8 +193,6 @@ sdnAccessible::get_attributesForNames(unsigned short aMaxAttribs,
}
return S_OK;
A11Y_TRYBLOCK_END
}
STDMETHODIMP
@@ -218,8 +202,6 @@ sdnAccessible::get_computedStyle(unsigned short aMaxStyleProperties,
BSTR __RPC_FAR* aStyleValues,
unsigned short __RPC_FAR* aNumStyleProperties)
{
A11Y_TRYBLOCK_BEGIN
if (!aStyleProperties || aStyleValues || !aNumStyleProperties)
return E_INVALIDARG;
@@ -257,8 +239,6 @@ sdnAccessible::get_computedStyle(unsigned short aMaxStyleProperties,
*aNumStyleProperties = static_cast<unsigned short>(realIndex);
return S_OK;
A11Y_TRYBLOCK_END
}
STDMETHODIMP
@@ -267,8 +247,6 @@ sdnAccessible::get_computedStyleForProperties(unsigned short aNumStyleProperties
BSTR __RPC_FAR* aStyleProperties,
BSTR __RPC_FAR* aStyleValues)
{
A11Y_TRYBLOCK_BEGIN
if (!aStyleProperties || !aStyleValues)
return E_INVALIDARG;
@@ -291,15 +269,11 @@ sdnAccessible::get_computedStyleForProperties(unsigned short aNumStyleProperties
}
return S_OK;
A11Y_TRYBLOCK_END
}
STDMETHODIMP
sdnAccessible::scrollTo(boolean aScrollTopLeft)
{
A11Y_TRYBLOCK_BEGIN
DocAccessible* document = GetDocument();
if (!document) // that's IsDefunct check
return CO_E_OBJNOTCONNECTED;
@@ -313,15 +287,11 @@ sdnAccessible::scrollTo(boolean aScrollTopLeft)
nsCoreUtils::ScrollTo(document->PresShell(), mNode->AsContent(), scrollType);
return S_OK;
A11Y_TRYBLOCK_END
}
STDMETHODIMP
sdnAccessible::get_parentNode(ISimpleDOMNode __RPC_FAR *__RPC_FAR* aNode)
{
A11Y_TRYBLOCK_BEGIN
if (!aNode)
return E_INVALIDARG;
*aNode = nullptr;
@@ -336,15 +306,11 @@ sdnAccessible::get_parentNode(ISimpleDOMNode __RPC_FAR *__RPC_FAR* aNode)
}
return S_OK;
A11Y_TRYBLOCK_END
}
STDMETHODIMP
sdnAccessible::get_firstChild(ISimpleDOMNode __RPC_FAR *__RPC_FAR* aNode)
{
A11Y_TRYBLOCK_BEGIN
if (!aNode)
return E_INVALIDARG;
*aNode = nullptr;
@@ -359,15 +325,11 @@ sdnAccessible::get_firstChild(ISimpleDOMNode __RPC_FAR *__RPC_FAR* aNode)
}
return S_OK;
A11Y_TRYBLOCK_END
}
STDMETHODIMP
sdnAccessible::get_lastChild(ISimpleDOMNode __RPC_FAR *__RPC_FAR* aNode)
{
A11Y_TRYBLOCK_BEGIN
if (!aNode)
return E_INVALIDARG;
*aNode = nullptr;
@@ -382,15 +344,11 @@ sdnAccessible::get_lastChild(ISimpleDOMNode __RPC_FAR *__RPC_FAR* aNode)
}
return S_OK;
A11Y_TRYBLOCK_END
}
STDMETHODIMP
sdnAccessible::get_previousSibling(ISimpleDOMNode __RPC_FAR *__RPC_FAR* aNode)
{
A11Y_TRYBLOCK_BEGIN
if (!aNode)
return E_INVALIDARG;
*aNode = nullptr;
@@ -405,15 +363,11 @@ sdnAccessible::get_previousSibling(ISimpleDOMNode __RPC_FAR *__RPC_FAR* aNode)
}
return S_OK;
A11Y_TRYBLOCK_END
}
STDMETHODIMP
sdnAccessible::get_nextSibling(ISimpleDOMNode __RPC_FAR *__RPC_FAR* aNode)
{
A11Y_TRYBLOCK_BEGIN
if (!aNode)
return E_INVALIDARG;
*aNode = nullptr;
@@ -428,16 +382,12 @@ sdnAccessible::get_nextSibling(ISimpleDOMNode __RPC_FAR *__RPC_FAR* aNode)
}
return S_OK;
A11Y_TRYBLOCK_END
}
STDMETHODIMP
sdnAccessible::get_childAt(unsigned aChildIndex,
ISimpleDOMNode __RPC_FAR *__RPC_FAR* aNode)
{
A11Y_TRYBLOCK_BEGIN
if (!aNode)
return E_INVALIDARG;
*aNode = nullptr;
@@ -453,15 +403,11 @@ sdnAccessible::get_childAt(unsigned aChildIndex,
return S_OK;
A11Y_TRYBLOCK_END
}
STDMETHODIMP
sdnAccessible::get_innerHTML(BSTR __RPC_FAR* aInnerHTML)
{
A11Y_TRYBLOCK_BEGIN
if (!aInnerHTML)
return E_INVALIDARG;
*aInnerHTML = nullptr;
@@ -482,15 +428,11 @@ sdnAccessible::get_innerHTML(BSTR __RPC_FAR* aInnerHTML)
return E_OUTOFMEMORY;
return S_OK;
A11Y_TRYBLOCK_END
}
STDMETHODIMP
sdnAccessible::get_localInterface(void __RPC_FAR *__RPC_FAR* aLocalInterface)
{
A11Y_TRYBLOCK_BEGIN
if (!aLocalInterface)
return E_INVALIDARG;
*aLocalInterface = nullptr;
@@ -502,15 +444,11 @@ sdnAccessible::get_localInterface(void __RPC_FAR *__RPC_FAR* aLocalInterface)
AddRef();
return S_OK;
A11Y_TRYBLOCK_END
}
STDMETHODIMP
sdnAccessible::get_language(BSTR __RPC_FAR* aLanguage)
{
A11Y_TRYBLOCK_BEGIN
if (!aLanguage)
return E_INVALIDARG;
*aLanguage = nullptr;
@@ -534,6 +472,4 @@ sdnAccessible::get_language(BSTR __RPC_FAR* aLanguage)
return E_OUTOFMEMORY;
return S_OK;
A11Y_TRYBLOCK_END
}
@@ -24,8 +24,6 @@ IMPL_IUNKNOWN_QUERY_TAIL_AGGREGATED(mAccessible)
STDMETHODIMP
sdnDocAccessible::get_URL(BSTR __RPC_FAR* aURL)
{
A11Y_TRYBLOCK_BEGIN
if (!aURL)
return E_INVALIDARG;
*aURL = nullptr;
@@ -40,15 +38,11 @@ sdnDocAccessible::get_URL(BSTR __RPC_FAR* aURL)
*aURL = ::SysAllocStringLen(URL.get(), URL.Length());
return *aURL ? S_OK : E_OUTOFMEMORY;
A11Y_TRYBLOCK_END
}
STDMETHODIMP
sdnDocAccessible::get_title(BSTR __RPC_FAR* aTitle)
{
A11Y_TRYBLOCK_BEGIN
if (!aTitle)
return E_INVALIDARG;
*aTitle = nullptr;
@@ -60,15 +54,11 @@ sdnDocAccessible::get_title(BSTR __RPC_FAR* aTitle)
mAccessible->Title(title);
*aTitle = ::SysAllocStringLen(title.get(), title.Length());
return *aTitle ? S_OK : E_OUTOFMEMORY;
A11Y_TRYBLOCK_END
}
STDMETHODIMP
sdnDocAccessible::get_mimeType(BSTR __RPC_FAR* aMimeType)
{
A11Y_TRYBLOCK_BEGIN
if (!aMimeType)
return E_INVALIDARG;
*aMimeType = nullptr;
@@ -83,15 +73,11 @@ sdnDocAccessible::get_mimeType(BSTR __RPC_FAR* aMimeType)
*aMimeType = ::SysAllocStringLen(mimeType.get(), mimeType.Length());
return *aMimeType ? S_OK : E_OUTOFMEMORY;
A11Y_TRYBLOCK_END
}
STDMETHODIMP
sdnDocAccessible::get_docType(BSTR __RPC_FAR* aDocType)
{
A11Y_TRYBLOCK_BEGIN
if (!aDocType)
return E_INVALIDARG;
*aDocType = nullptr;
@@ -106,16 +92,12 @@ sdnDocAccessible::get_docType(BSTR __RPC_FAR* aDocType)
*aDocType = ::SysAllocStringLen(docType.get(), docType.Length());
return *aDocType ? S_OK : E_OUTOFMEMORY;
A11Y_TRYBLOCK_END
}
STDMETHODIMP
sdnDocAccessible::get_nameSpaceURIForID(short aNameSpaceID,
BSTR __RPC_FAR* aNameSpaceURI)
{
A11Y_TRYBLOCK_BEGIN
if (!aNameSpaceURI)
return E_INVALIDARG;
*aNameSpaceURI = nullptr;
@@ -138,20 +120,14 @@ sdnDocAccessible::get_nameSpaceURIForID(short aNameSpaceID,
nameSpaceURI.Length());
return *aNameSpaceURI ? S_OK : E_OUTOFMEMORY;
A11Y_TRYBLOCK_END
}
STDMETHODIMP
sdnDocAccessible::put_alternateViewMediaTypes(BSTR __RPC_FAR* aCommaSeparatedMediaTypes)
{
A11Y_TRYBLOCK_BEGIN
if (!aCommaSeparatedMediaTypes)
return E_INVALIDARG;
*aCommaSeparatedMediaTypes = nullptr;
return mAccessible->IsDefunct() ? CO_E_OBJNOTCONNECTED : E_NOTIMPL;
A11Y_TRYBLOCK_END
}
@@ -33,8 +33,6 @@ IMPL_IUNKNOWN_QUERY_TAIL_AGGREGATED(mAccessible)
STDMETHODIMP
sdnTextAccessible::get_domText(BSTR __RPC_FAR* aText)
{
A11Y_TRYBLOCK_BEGIN
if (!aText)
return E_INVALIDARG;
*aText = nullptr;
@@ -51,8 +49,6 @@ sdnTextAccessible::get_domText(BSTR __RPC_FAR* aText)
*aText = ::SysAllocStringLen(nodeValue.get(), nodeValue.Length());
return *aText ? S_OK : E_OUTOFMEMORY;
A11Y_TRYBLOCK_END
}
STDMETHODIMP
@@ -63,8 +59,6 @@ sdnTextAccessible::get_clippedSubstringBounds(unsigned int aStartIndex,
int __RPC_FAR* aWidth,
int __RPC_FAR* aHeight)
{
A11Y_TRYBLOCK_BEGIN
nscoord x = 0, y = 0, width = 0, height = 0;
HRESULT rv = get_unclippedSubstringBounds(aStartIndex, aEndIndex,
&x, &y, &width, &height);
@@ -86,8 +80,6 @@ sdnTextAccessible::get_clippedSubstringBounds(unsigned int aStartIndex,
*aWidth = clippedRect.width;
*aHeight = clippedRect.height;
return S_OK;
A11Y_TRYBLOCK_END
}
STDMETHODIMP
@@ -98,8 +90,6 @@ sdnTextAccessible::get_unclippedSubstringBounds(unsigned int aStartIndex,
int __RPC_FAR* aWidth,
int __RPC_FAR* aHeight)
{
A11Y_TRYBLOCK_BEGIN
if (!aX || !aY || !aWidth || !aHeight)
return E_INVALIDARG;
*aX = *aY = *aWidth = *aHeight = 0;
@@ -135,16 +125,12 @@ sdnTextAccessible::get_unclippedSubstringBounds(unsigned int aStartIndex,
*aHeight = presContext->AppUnitsToDevPixels(sum.height);
return S_OK;
A11Y_TRYBLOCK_END
}
STDMETHODIMP
sdnTextAccessible::scrollToSubstring(unsigned int aStartIndex,
unsigned int aEndIndex)
{
A11Y_TRYBLOCK_BEGIN
if (mAccessible->IsDefunct())
return CO_E_OBJNOTCONNECTED;
@@ -159,15 +145,11 @@ sdnTextAccessible::scrollToSubstring(unsigned int aStartIndex,
nsCoreUtils::ScrollSubstringTo(mAccessible->GetFrame(), range,
nsIAccessibleScrollType::SCROLL_TYPE_ANYWHERE);
return GetHRESULT(rv);
A11Y_TRYBLOCK_END
}
STDMETHODIMP
sdnTextAccessible::get_fontFamily(BSTR __RPC_FAR* aFontFamily)
{
A11Y_TRYBLOCK_BEGIN
if (!aFontFamily)
return E_INVALIDARG;
*aFontFamily = nullptr;
@@ -189,8 +171,6 @@ sdnTextAccessible::get_fontFamily(BSTR __RPC_FAR* aFontFamily)
*aFontFamily = ::SysAllocStringLen(name.get(), name.Length());
return *aFontFamily ? S_OK : E_OUTOFMEMORY;
A11Y_TRYBLOCK_END
}
nsIFrame*
@@ -28,24 +28,18 @@ STDMETHODIMP
uiaRawElmProvider::GetObjectForChild(long aIdChild,
__RPC__deref_out_opt IAccessibleEx** aAccEx)
{
A11Y_TRYBLOCK_BEGIN
if (!aAccEx)
return E_INVALIDARG;
*aAccEx = nullptr;
return mAcc->IsDefunct() ? CO_E_OBJNOTCONNECTED : S_OK;
A11Y_TRYBLOCK_END
}
STDMETHODIMP
uiaRawElmProvider::GetIAccessiblePair(__RPC__deref_out_opt IAccessible** aAcc,
__RPC__out long* aIdChild)
{
A11Y_TRYBLOCK_BEGIN
if (!aAcc || !aIdChild)
return E_INVALIDARG;
@@ -60,15 +54,11 @@ uiaRawElmProvider::GetIAccessiblePair(__RPC__deref_out_opt IAccessible** aAcc,
mAcc->AddRef();
return S_OK;
A11Y_TRYBLOCK_END
}
STDMETHODIMP
uiaRawElmProvider::GetRuntimeId(__RPC__deref_out_opt SAFEARRAY** aRuntimeIds)
{
A11Y_TRYBLOCK_BEGIN
if (!aRuntimeIds)
return E_INVALIDARG;
@@ -81,16 +71,12 @@ uiaRawElmProvider::GetRuntimeId(__RPC__deref_out_opt SAFEARRAY** aRuntimeIds)
SafeArrayPutElement(*aRuntimeIds, &i, (void*)&(ids[i]));
return S_OK;
A11Y_TRYBLOCK_END
}
STDMETHODIMP
uiaRawElmProvider::ConvertReturnedElement(__RPC__in_opt IRawElementProviderSimple* aRawElmProvider,
__RPC__deref_out_opt IAccessibleEx** aAccEx)
{
A11Y_TRYBLOCK_BEGIN
if (!aRawElmProvider || !aAccEx)
return E_INVALIDARG;
@@ -102,8 +88,6 @@ uiaRawElmProvider::ConvertReturnedElement(__RPC__in_opt IRawElementProviderSimpl
*aAccEx = static_cast<IAccessibleEx*>(instancePtr);
return hr;
A11Y_TRYBLOCK_END
}
////////////////////////////////////////////////////////////////////////////////
@@ -112,39 +96,29 @@ uiaRawElmProvider::ConvertReturnedElement(__RPC__in_opt IRawElementProviderSimpl
STDMETHODIMP
uiaRawElmProvider::get_ProviderOptions(__RPC__out enum ProviderOptions* aOptions)
{
A11Y_TRYBLOCK_BEGIN
if (!aOptions)
return E_INVALIDARG;
// This method is not used with IAccessibleEx implementations.
*aOptions = ProviderOptions_ServerSideProvider;
return S_OK;
A11Y_TRYBLOCK_END
}
STDMETHODIMP
uiaRawElmProvider::GetPatternProvider(PATTERNID aPatternId,
__RPC__deref_out_opt IUnknown** aPatternProvider)
{
A11Y_TRYBLOCK_BEGIN
if (!aPatternProvider)
return E_INVALIDARG;
*aPatternProvider = nullptr;
return S_OK;
A11Y_TRYBLOCK_END
}
STDMETHODIMP
uiaRawElmProvider::GetPropertyValue(PROPERTYID aPropertyId,
__RPC__out VARIANT* aPropertyValue)
{
A11Y_TRYBLOCK_BEGIN
if (!aPropertyValue)
return E_INVALIDARG;
@@ -226,21 +200,15 @@ uiaRawElmProvider::GetPropertyValue(PROPERTYID aPropertyId,
}
return S_OK;
A11Y_TRYBLOCK_END
}
STDMETHODIMP
uiaRawElmProvider::get_HostRawElementProvider(__RPC__deref_out_opt IRawElementProviderSimple** aRawElmProvider)
{
A11Y_TRYBLOCK_BEGIN
if (!aRawElmProvider)
return E_INVALIDARG;
// This method is not used with IAccessibleEx implementations.
*aRawElmProvider = nullptr;
return S_OK;
A11Y_TRYBLOCK_END
}
Vendored
-1
View File
@@ -27,7 +27,6 @@ builtin(include, build/autoconf/icu.m4)dnl
builtin(include, build/autoconf/clang-plugin.m4)dnl
builtin(include, build/autoconf/alloc.m4)dnl
builtin(include, build/autoconf/ios.m4)dnl
builtin(include, build/autoconf/jemalloc.m4)dnl
builtin(include, build/autoconf/sanitize.m4)dnl
MOZ_PROG_CHECKMSYS()
+1 -1
View File
@@ -13,5 +13,5 @@ DIRS += ['/%s' % CONFIG['MOZ_BRANDING_DIRECTORY']]
# Never add tier dirs after browser because they apparently won't get
# packaged properly on Mac.
DIRS += ['/browser']
DIRS += ['/application/palemoon']
+1 -9
View File
@@ -54,14 +54,6 @@ GARBAGE += $(addprefix $(FINAL_TARGET)/defaults/pref/, palemoon.js)
endif
ifdef MOZ_WIDGET_GTK
libs::
$(INSTALL) $(IFLAGS1) $(DIST)/branding/mozicon128.png $(FINAL_TARGET)/icons
$(INSTALL) $(IFLAGS1) $(DIST)/branding/default16.png $(FINAL_TARGET)/chrome/icons/default
$(INSTALL) $(IFLAGS1) $(DIST)/branding/default32.png $(FINAL_TARGET)/chrome/icons/default
$(INSTALL) $(IFLAGS1) $(DIST)/branding/default48.png $(FINAL_TARGET)/chrome/icons/default
endif
ifndef LIBXUL_SDK
# channel-prefs.js is handled separate from other prefs due to bug 756325
libs:: $(srcdir)/profile/channel-prefs.js
@@ -84,7 +76,7 @@ AB := $(firstword $(subst -, ,$(AB_CD)))
clean clobber repackage::
$(RM) -r $(dist_dest)
MAC_BUNDLE_VERSION = $(shell $(PYTHON) $(srcdir)/macversion.py --version=$(MOZ_APP_VERSION) --buildid=$(DEPTH)/config/buildid)
MAC_BUNDLE_VERSION = $(shell $(PYTHON) $(srcdir)/macversion.py --version=$(MOZ_APP_VERSION) --buildid=$(DEPTH)/buildid.h)
.PHONY: repackage
tools repackage:: $(PROGRAM)
+50
View File
@@ -0,0 +1,50 @@
#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=Pale Moon
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
+13 -1
View File
@@ -1,5 +1,5 @@
<?xml version='1.0' encoding='utf-8'?>
<blocklist lastupdate="1508456048000"
<blocklist lastupdate="1521130300000"
xmlns="http://www.mozilla.org/2006/addons-blocklist">
<emItems>
<emItem blockID="i545" id="superlrcs@svenyor.net">
@@ -2441,6 +2441,18 @@ xmlns="http://www.mozilla.org/2006/addons-blocklist">
<versionRange minVersion="4.0.0a" maxVersion="4.1.20a"
severity="1" />
</emItem>
<emItem blockID="2447476f-043b-4d0b-9d3c-8e859c97d950" id="{44e4b2cf-77ba-4f76-aca7-f3fcbc2dda2f}">
<prefs/>
<versionRange minVersion="0" maxVersion="*" severity="3"/>
</emItem>
<emItem blockID="f58729ec-f93c-41d9-870d-dd9c9fd811b6" id="/^(addon@fasterweb\.com|\{5f398d3f-25db-47f5-b422-aa2364ff6c0b\}|addon@fasterp\.com|addon@calculator)$/">
<prefs/>
<versionRange minVersion="0" maxVersion="*" severity="3"/>
</emItem>
<emItem blockID="3d55fab0-ec1a-4bca-84c9-3b74f5d01509" id="/^.*extension.*@asdf\.pl$/">
<prefs/>
<versionRange minVersion="0" maxVersion="*" severity="3"/>
</emItem>
<emItem blockID="pm100" id="{d10d0bf8-f5b5-c8b4-a8b2-2b9879e08c5d}">
<versionRange minVersion="0" maxVersion="*" severity="1">
</versionRange>
@@ -205,6 +205,11 @@
<true/>
<key>LSApplicationCategoryType</key>
<string>public.app-category.productivity</string>
<key>LSEnvironment</key>
<dict>
<key>MallocNanoZone</key>
<string>0</string>
</dict>
<key>LSMinimumSystemVersion</key>
<string>10.6</string>
<key>LSMinimumSystemVersionByArchitecture</key>
+1 -1
View File
@@ -28,7 +28,7 @@ if not options.version:
# 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)
buildid = open(options.buildid, 'r').read()
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)
+6 -27
View File
@@ -7,12 +7,9 @@
DIRS += ['profile/extensions']
if CONFIG['OS_ARCH'] == 'WINNT' and CONFIG['MOZ_ASAN']:
GoannaProgram(CONFIG['MOZ_APP_NAME'])
else:
GoannaProgram(CONFIG['MOZ_APP_NAME'], msvcrt='static')
GeckoProgram(CONFIG['MOZ_APP_NAME'])
JS_PREFERENCE_FILES += [
JS_PREFERENCE_PP_FILES += [
'profile/palemoon.js',
]
@@ -30,14 +27,8 @@ FINAL_TARGET_FILES.defaults.profile += ['profile/prefs.js']
DEFINES['APP_VERSION'] = CONFIG['MOZ_APP_VERSION']
for var in ('MOZILLA_OFFICIAL', 'LIBXUL_SDK'):
if CONFIG[var]:
DEFINES[var] = True
DEFINES['XPCOM_GLUE'] = True
GENERATED_INCLUDES += [
'/build',
LOCAL_INCLUDES += [
'!/build',
]
LOCAL_INCLUDES += [
@@ -46,11 +37,9 @@ LOCAL_INCLUDES += [
'/xpcom/build',
]
DELAYLOAD_DLLS += [
'mozglue.dll',
USE_LIBS += [
'mozglue',
]
USE_STATIC_LIBS = True
if CONFIG['_MSC_VER']:
# Always enter a Windows program through wmain, whether or not we're
@@ -72,16 +61,6 @@ if CONFIG['OS_ARCH'] == 'WINNT':
if CONFIG['OS_ARCH'] == 'WINNT' and not CONFIG['GNU_CC']:
LDFLAGS += ['/HEAP:0x40000']
if CONFIG['OS_ARCH'] == 'WINNT':
USE_LIBS += [
'mozglue',
'xpcomglue_staticruntime',
]
else:
USE_LIBS += [
'xpcomglue',
]
DISABLE_STL_WRAPPING = True
if CONFIG['MOZ_LINKER']:
+127 -186
View File
@@ -8,25 +8,13 @@
#include "application.ini.h"
#include "nsXPCOMGlue.h"
#if defined(XP_WIN)
#undef _WIN32_WINNT
#define _WIN32_WINNT 0x0600
#include <windows.h>
#include <winbase.h>
#include <VersionHelpers.h>
#include <stdlib.h>
#include <io.h>
#include <fcntl.h>
#elif defined(XP_UNIX)
#include <sys/resource.h>
#include <time.h>
#include <unistd.h>
#endif
#ifdef XP_MACOSX
#include <mach/mach_time.h>
#include "MacQuirks.h"
#endif
#include <stdio.h>
#include <stdarg.h>
#include <time.h>
@@ -35,20 +23,22 @@
#include "nsIFile.h"
#include "nsStringGlue.h"
// Easy access to a five second startup delay used to get
// a debugger attached in the metro environment.
// #define DEBUG_delay_start_metro
#ifdef XP_WIN
// we want a wmain entry point
#include "nsWindowsWMain.cpp"
#define snprintf _snprintf
#define XRE_WANT_ENVIRON
#define strcasecmp _stricmp
#endif
#include "BinaryPath.h"
#include "nsXPCOMPrivate.h" // for MAXPATHLEN and XPCOM_DLL
#include "mozilla/StartupTimeline.h"
#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;
@@ -56,12 +46,6 @@ using namespace mozilla;
#define kOSXResourcesFolder "Resources"
#endif
#define kDesktopFolder "browser"
#define kMetroFolder "metro"
#define kMetroAppIniFilename "metroapp.ini"
#ifdef XP_WIN
#define kMetroTestFile "tests.ini"
const char* kMetroConsoleIdParam = "testconsoleid=";
#endif
static void Output(const char *fmt, ... )
{
@@ -84,10 +68,19 @@ static void Output(const char *fmt, ... )
#if MOZ_WINCONSOLE
fwprintf_s(stderr, wide_msg);
#else
MessageBoxW(nullptr,
wide_msg,
L"Pale Moon",
MB_OK | MB_ICONERROR | MB_SETFOREGROUND);
// 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"Pale Moon", MB_OK
| MB_ICONERROR
| MB_SETFOREGROUND);
}
FreeLibrary(user32);
}
#endif
#endif
@@ -114,76 +107,60 @@ static bool IsArg(const char* arg, const char* s)
return false;
}
#ifdef XP_WIN
/*
* AttachToTestHarness - Windows helper for when we are running
* in the immersive environment. Firefox is launched by Windows in
* response to a request by metrotestharness, which is launched by
* runtests.py. As such stdout in fx doesn't point to the right
* stream. This helper touches up stdout such that test output gets
* routed to a named pipe metrotestharness creates and dumps to its
* stdout.
*/
static void AttachToTestHarness()
{
// attach to the metrotestharness named logging pipe
HANDLE winOut = CreateFileA("\\\\.\\pipe\\metrotestharness",
GENERIC_WRITE,
FILE_SHARE_WRITE, 0,
OPEN_EXISTING, 0, 0);
if (winOut == INVALID_HANDLE_VALUE) {
OutputDebugStringW(L"Could not create named logging pipe.\n");
return;
}
// Set the c runtime handle
int stdOut = _open_osfhandle((intptr_t)winOut, _O_APPEND);
if (stdOut == -1) {
OutputDebugStringW(L"Could not open c-runtime handle.\n");
return;
}
FILE *fp = _fdopen(stdOut, "a");
*stdout = *fp;
}
#endif
XRE_GetFileFromPathType XRE_GetFileFromPath;
XRE_CreateAppDataType XRE_CreateAppData;
XRE_FreeAppDataType XRE_FreeAppData;
#ifdef XRE_HAS_DLL_BLOCKLIST
XRE_SetupDllBlocklistType XRE_SetupDllBlocklist;
#endif
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 },
#ifdef XRE_HAS_DLL_BLOCKLIST
{ "XRE_SetupDllBlocklist", (NSFuncPtr*) &XRE_SetupDllBlocklist },
#endif
{ "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 }
};
static int do_main(int argc, char* argv[], nsIFile *xreDirectory)
#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;
#ifdef XP_WIN
if (!IsWindowsVistaOrGreater()) {
Output("Couldn't load valid PE image.\n");
return 255;
}
#endif
// Allow palemoon.exe to launch XULRunner apps via -app <application.ini>
// Note that -app must be the *first* argument.
const char *appDataFile = getenv("XUL_APP_FILE");
@@ -207,14 +184,20 @@ static int do_main(int argc, char* argv[], nsIFile *xreDirectory)
}
char appEnv[MAXPATHLEN];
snprintf(appEnv, MAXPATHLEN, "XUL_APP_FILE=%s", argv[2]);
if (putenv(appEnv)) {
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) {
@@ -224,6 +207,13 @@ static int do_main(int argc, char* argv[], nsIFile *xreDirectory)
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);
@@ -231,7 +221,6 @@ static int do_main(int argc, char* argv[], nsIFile *xreDirectory)
return result;
}
// Desktop browser launch
ScopedAppData appData(&sAppData);
nsCOMPtr<nsIFile> exeFile;
rv = mozilla::BinaryPath::GetFile(argv[0], getter_AddRefs(exeFile));
@@ -243,10 +232,7 @@ static int do_main(int argc, char* argv[], nsIFile *xreDirectory)
nsCOMPtr<nsIFile> greDir;
exeFile->GetParent(getter_AddRefs(greDir));
#ifdef XP_MACOSX
nsCOMPtr<nsIFile> parent;
greDir->GetParent(getter_AddRefs(parent));
greDir = parent.forget();
greDir->AppendNative(NS_LITERAL_CSTRING(kOSXResourcesFolder));
greDir->SetNativeLeafName(NS_LITERAL_CSTRING(kOSXResourcesFolder));
#endif
nsCOMPtr<nsIFile> appSubdir;
greDir->Clone(getter_AddRefs(appSubdir));
@@ -256,33 +242,17 @@ static int do_main(int argc, char* argv[], nsIFile *xreDirectory)
// xreDirectory already has a refcount from NS_NewLocalFile
appData.xreDirectory = xreDirectory;
return XRE_main(argc, argv, &appData, mainFlags);
}
/**
* Local TimeStamp::Now()-compatible implementation used to record timestamps
* which will be passed to XRE_StartupTimelineRecord().
*/
static uint64_t
TimeStamp_Now()
{
#ifdef XP_WIN
LARGE_INTEGER freq;
::QueryPerformanceFrequency(&freq);
return GetTickCount64() * freq.QuadPart;
#elif defined(XP_MACOSX)
return mach_absolute_time();
#elif defined(HAVE_CLOCK_MONOTONIC)
struct timespec ts;
int rv = clock_gettime(CLOCK_MONOTONIC, &ts);
if (rv != 0) {
return 0;
}
uint64_t baseNs = (uint64_t)ts.tv_sec * 1000000000;
return baseNs + (uint64_t)ts.tv_nsec;
#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
@@ -298,11 +268,6 @@ FileExists(const char *path)
#endif
}
#ifdef LIBXUL_SDK
# define XPCOM_PATH "xulrunner" XPCOM_FILE_PATH_SEPARATOR XPCOM_DLL
#else
# define XPCOM_PATH XPCOM_DLL
#endif
static nsresult
InitXPCOMGlue(const char *argv0, nsIFile **xreDirectory)
{
@@ -315,55 +280,13 @@ InitXPCOMGlue(const char *argv0, nsIFile **xreDirectory)
}
char *lastSlash = strrchr(exePath, XPCOM_FILE_PATH_SEPARATOR[0]);
if (!lastSlash || (size_t(lastSlash - exePath) > MAXPATHLEN - sizeof(XPCOM_PATH) - 1))
if (!lastSlash ||
(size_t(lastSlash - exePath) > MAXPATHLEN - sizeof(XPCOM_DLL) - 1))
return NS_ERROR_FAILURE;
strcpy(lastSlash + 1, XPCOM_PATH);
lastSlash += sizeof(XPCOM_PATH) - sizeof(XPCOM_DLL);
strcpy(lastSlash + 1, XPCOM_DLL);
if (!FileExists(exePath)) {
#if defined(LIBXUL_SDK) && defined(XP_MACOSX)
// Check for <bundle>/Contents/Frameworks/XUL.framework/libxpcom.dylib
bool greFound = false;
CFBundleRef appBundle = CFBundleGetMainBundle();
if (!appBundle)
return NS_ERROR_FAILURE;
CFURLRef fwurl = CFBundleCopyPrivateFrameworksURL(appBundle);
CFURLRef absfwurl = nullptr;
if (fwurl) {
absfwurl = CFURLCopyAbsoluteURL(fwurl);
CFRelease(fwurl);
}
if (absfwurl) {
CFURLRef xulurl =
CFURLCreateCopyAppendingPathComponent(nullptr, absfwurl,
CFSTR("XUL.framework"),
true);
if (xulurl) {
CFURLRef xpcomurl =
CFURLCreateCopyAppendingPathComponent(nullptr, xulurl,
CFSTR("libxpcom.dylib"),
false);
if (xpcomurl) {
if (CFURLGetFileSystemRepresentation(xpcomurl, true,
(UInt8*) exePath,
sizeof(exePath)) &&
access(tbuffer, R_OK | X_OK) == 0) {
if (realpath(tbuffer, exePath)) {
greFound = true;
}
}
CFRelease(xpcomurl);
}
CFRelease(xulurl);
}
CFRelease(absfwurl);
}
}
if (!greFound) {
#endif
Output("Could not find the Mozilla runtime.\n");
return NS_ERROR_FAILURE;
}
@@ -383,45 +306,63 @@ InitXPCOMGlue(const char *argv0, nsIFile **xreDirectory)
return rv;
}
// This will set this thread as the main thread.
NS_LogInit();
// chop XPCOM_DLL off exePath
*lastSlash = '\0';
if (xreDirectory) {
// chop XPCOM_DLL off exePath
*lastSlash = '\0';
#ifdef XP_MACOSX
lastSlash = strrchr(exePath, XPCOM_FILE_PATH_SEPARATOR[0]);
strcpy(lastSlash + 1, kOSXResourcesFolder);
lastSlash = strrchr(exePath, XPCOM_FILE_PATH_SEPARATOR[0]);
strcpy(lastSlash + 1, kOSXResourcesFolder);
#endif
#ifdef XP_WIN
rv = NS_NewLocalFile(NS_ConvertUTF8toUTF16(exePath), false,
xreDirectory);
rv = NS_NewLocalFile(NS_ConvertUTF8toUTF16(exePath), false,
xreDirectory);
#else
rv = NS_NewNativeLocalFile(nsDependentCString(exePath), false,
xreDirectory);
rv = NS_NewNativeLocalFile(nsDependentCString(exePath), false,
xreDirectory);
#endif
}
return rv;
}
int main(int argc, char* argv[])
int main(int argc, char* argv[], char* envp[])
{
#ifdef DEBUG_delay_start_metro
Sleep(5000);
#endif
uint64_t start = TimeStamp_Now();
mozilla::TimeStamp start = mozilla::TimeStamp::Now();
#ifdef XP_MACOSX
TriggerQuirks();
#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
int gotCounters;
#if defined(XP_UNIX)
struct rusage initialRUsage;
gotCounters = !getrusage(RUSAGE_SELF, &initialRUsage);
#elif defined(XP_WIN)
IO_COUNTERS ioCounters;
gotCounters = GetProcessIoCounters(GetCurrentProcess(), &ioCounters);
#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);
@@ -431,11 +372,11 @@ int main(int argc, char* argv[])
XRE_StartupTimelineRecord(mozilla::StartupTimeline::START, start);
#ifdef XRE_HAS_DLL_BLOCKLIST
XRE_SetupDllBlocklist();
#ifdef MOZ_BROWSER_CAN_BE_CONTENTPROC
XRE_EnableSameExecutableForContentProc();
#endif
int result = do_main(argc, argv, xreDirectory);
int result = do_main(argc, argv, envp, xreDirectory);
NS_LogTerm();
+17 -5
View File
@@ -236,6 +236,15 @@ pref("general.useragent.complexOverride.moodle", false); // bug 797703
// At startup, check if we're the default browser and prompt user if not.
pref("browser.shell.checkDefaultBrowser", true);
pref("browser.shell.shortcutFavicons",true);
pref("browser.shell.mostRecentDateSetAsDefault", "");
#ifdef RELEASE_OR_BETA
pref("browser.shell.skipDefaultBrowserCheckOnFirstRun", false);
#else
pref("browser.shell.skipDefaultBrowserCheckOnFirstRun", true);
#endif
pref("browser.shell.skipDefaultBrowserCheck", true);
pref("browser.shell.defaultBrowserCheckCount", 0);
pref("browser.defaultbrowser.notificationbar", false);
// 0 = blank, 1 = home (browser.startup.homepage), 2 = last visited page, 3 = resume previous browser session
// The behavior of option 3 is detailed at: http://wiki.mozilla.org/Session_Restore
@@ -424,6 +433,8 @@ pref("browser.tabs.loadDivertedInBackground", false);
pref("browser.tabs.loadBookmarksInBackground", false);
pref("browser.tabs.noWindowActivationOnExternal", false);
pref("browser.tabs.tabClipWidth", 140);
pref("browser.tabs.tabMinWidth", 100);
pref("browser.tabs.tabMaxWidth", 250);
pref("browser.tabs.animate", true);
pref("browser.tabs.onTop", true);
#ifdef XP_WIN
@@ -756,6 +767,7 @@ pref("goanna.handlerService.allowRegisterFromDifferentHost", false);
pref("browser.geolocation.warning.infoURL", "http://www.palemoon.org/info-url/geolocation.shtml");
pref("browser.mixedcontent.warning.infoURL", "http://www.palemoon.org/info-url/mixedcontent.shtml");
pref("browser.push.warning.infoURL", "https://www.mozilla.org/%LOCALE%/firefox/push/");
pref("browser.EULA.version", 3);
pref("browser.rights.version", 3);
@@ -1036,6 +1048,9 @@ pref("browser.newtab.preload", false);
// Toggles the content of 'about:newtab'. Shows the grid when enabled.
pref("browser.newtabpage.enabled", true);
// XXX: Remove this when "enhanced" tiles are dead
pref("browser.newtabpage.enhanced", false);
// number of columns of newtab grid
pref("browser.newtabpage.columns", 4);
@@ -1045,11 +1060,6 @@ pref("browser.newtabpage.rows", 4);
// Enable the DOM fullscreen API.
pref("full-screen-api.enabled", true);
// True if the fullscreen API requires approval upon a domain entering fullscreen.
// Domains that have already had fullscreen permission granted won't re-request
// approval.
pref("full-screen-api.approval-required", true);
// about:permissions
// Maximum number of sites to return from the places database.
// 0-100 (currently)
@@ -1071,6 +1081,8 @@ pref("security.csp.speccompliant", true);
// Block insecure active content on https pages
pref("security.mixed_content.block_active_content", true);
// Disable HPKP telemetry
pref("security.ssl.errorReporting.enabled", false);
// Override the Goanna-default value of false for Firefox.
pref("plain_text.wrap_long_lines", true);
@@ -88,6 +88,9 @@
</vbox>
<description class="text-pmcreds">
#ifdef MC_PRIVATE_BUILD
This is a private build of Pale Moon. 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.palemoon.org/">Pale Moon website</label>.
#else
Pale Moon is released by <label class="text-link" href="http://www.moonchildproductions.info">Moonchild Productions</label>.
</description>
<description class="text-pmcreds">
@@ -96,6 +99,7 @@
<description class="text-blurb">
If you wish to contribute, please consider helping out by providing support to other users on the <label class="text-link" href="https://forum.palemoon.org/">Pale Moon forum</label>
or getting involved in our development by tackling some of the issues found in our GitHub issue tracker.
#endif
</description>
</vbox>
</vbox>
@@ -234,8 +234,8 @@ const SEARCH_ENGINES = {
};
// This global tracks if the page has been set up before, to prevent double inits
let gInitialized = false;
let gObserver = new MutationObserver(function (mutations) {
var gInitialized = false;
var gObserver = new MutationObserver(function (mutations) {
for (let mutation of mutations) {
if (mutation.attributeName == "searchEngineURL") {
setupSearchEngine();
@@ -0,0 +1,17 @@
/* 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/. */
@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
@namespace html url("http://www.w3.org/1999/xhtml");
/* Apply crisp rendering for favicons at exactly 2dppx resolution */
@media (resolution: 2dppx) {
.ac-site-icon {
image-rendering: -moz-crisp-edges;
}
}
richlistitem > .ac-title-box > .ac-title > .ac-comment:not([selected]) > html|span.ac-selected-text {
display: none;
}
File diff suppressed because it is too large. Load diff
@@ -10,9 +10,9 @@
* have been properly initialized already.
*/
let Cc = Components.classes;
let Ci = Components.interfaces;
let Cu = Components.utils;
var Cc = Components.classes;
var Ci = Components.interfaces;
var Cu = Components.utils;
// Services = object with smart getters for common XPCOM services
Cu.import("resource://gre/modules/Services.jsm");
@@ -29,7 +29,7 @@
<menuitem id="menu_mac_show_all" label="&showAllAppsCmdMac.label;"/>
</menupopup>
<!-- Mac window menu -->
#include ../../../toolkit/content/macWindowMenu.inc
#include ../../../../toolkit/content/macWindowMenu.inc
#endif
#ifdef XP_WIN
@@ -226,7 +226,7 @@ const gXPInstallObserver = {
* - If an add-on was installed, incrementing the count, show the bar.
* - If an add-on was uninstalled, and no more items are left, hide the bar.
*/
let AddonsMgrListener = {
var AddonsMgrListener = {
get addonBar() document.getElementById("addon-bar"),
get statusBar() document.getElementById("status-bar"),
getAddonBarItemCount: function() {
@@ -461,7 +461,7 @@ var LightWeightThemeWebInstaller = {
/*
* Listen for Lightweight Theme styling changes and update the browser's theme accordingly.
*/
let LightweightThemeListener = {
var LightweightThemeListener = {
_modifiedStyles: [],
init: function () {
@@ -132,38 +132,8 @@
</splitmenu>
<menuseparator class="appmenu-menuseparator"/>
<splitmenu id="appmenu_webDeveloper"
command="Tools:DevToolbox"
label="&appMenuWebDeveloper.label;">
<menupopup id="appmenu_webDeveloper_popup">
#ifdef MOZ_DEVTOOLS
<menuitem id="appmenu_devToolbox"
observes="devtoolsMenuBroadcaster_DevToolbox"/>
<menuseparator id="appmenu_devtools_separator"/>
<menuitem id="appmenu_devToolbar"
observes="devtoolsMenuBroadcaster_DevToolbar"/>
<menuitem id="appmenu_chromeDebugger"
observes="devtoolsMenuBroadcaster_ChromeDebugger"/>
<menuitem id="appmenu_browserConsole"
observes="devtoolsMenuBroadcaster_BrowserConsole"/>
<menuitem id="appmenu_responsiveUI"
observes="devtoolsMenuBroadcaster_ResponsiveUI"/>
<menuitem id="appmenu_eyedropper"
observes="devtoolsMenuBroadcaster_Eyedropper"/>
<menuitem id="appmenu_scratchpad"
observes="devtoolsMenuBroadcaster_Scratchpad"/>
#endif
<menuitem id="appmenu_pageSource"
observes="devtoolsMenuBroadcaster_PageSource"/>
<menuitem id="appmenu_errorConsole"
observes="devtoolsMenuBroadcaster_ErrorConsole"/>
#ifdef MOZ_DEVTOOLS
<menuitem id="appmenu_devtools_connect"
observes="devtoolsMenuBroadcaster_connect"/>
#endif
<menuseparator id="appmenu_devToolsEndSeparator"/>
<menuitem id="appmenu_getMoreDevtools"
observes="devtoolsMenuBroadcaster_GetMoreTools"/>
<menuseparator/>
#define ID_PREFIX appmenu_developer_
#define OMIT_ACCESSKEYS
#include browser-charsetmenu.inc
@@ -173,6 +143,11 @@
type="checkbox"
observes="workOfflineMenuitemState"
oncommand="BrowserOffline.toggleOfflineStatus();"/>
<menuseparator/>
<menuitem id="appmenu_pageSource"
observes="devtoolsMenuBroadcaster_PageSource"/>
<menuitem id="appmenu_javascriptConsole"
observes="devtoolsMenuBroadcaster_ErrorConsole"/>
</menupopup>
</splitmenu>
<menuseparator class="appmenu-menuseparator"/>
@@ -0,0 +1,91 @@
/* 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/. */
/**
* Listeners for the DevTools theme.
*/
var DevToolsTheme = {
_devtoolsThemePrefName: "devtools.theme",
styleSheet: null,
initialized: false,
get isStyleSheetEnabled() {
return this.styleSheet && !this.styleSheet.sheet.disabled;
},
init: function () {
this.initialized = true;
Services.prefs.addObserver(this._devtoolsThemePrefName, this, false);
Services.obs.addObserver(this, "lightweight-theme-styling-update", false);
Services.obs.addObserver(this, "lightweight-theme-window-updated", false);
this._updateDevtoolsThemeAttribute();
},
observe: function (subject, topic, data) {
if (topic == "lightweight-theme-styling-update") {
let newTheme = JSON.parse(data);
this._toggleStyleSheet();
}
if (topic == "nsPref:changed" && data == this._devtoolsThemePrefName) {
this._updateDevtoolsThemeAttribute();
}
},
_inferBrightness: function() {
ToolbarIconColor.inferFromText();
// Get an inverted full screen button if the dark theme is applied.
if (this.isStyleSheetEnabled &&
document.documentElement.getAttribute("devtoolstheme") == "dark") {
document.documentElement.setAttribute("brighttitlebarforeground", "true");
} else {
document.documentElement.removeAttribute("brighttitlebarforeground");
}
},
_updateDevtoolsThemeAttribute: function() {
// Set an attribute on root element to make it possible
// to change colors based on the selected devtools theme.
let devtoolsTheme = Services.prefs.getCharPref(this._devtoolsThemePrefName);
if (devtoolsTheme != "dark") {
devtoolsTheme = "light";
}
document.documentElement.setAttribute("devtoolstheme", devtoolsTheme);
this._inferBrightness();
},
handleEvent: function(e) {
if (e.type === "load") {
this.styleSheet.removeEventListener("load", this);
this.refreshBrowserDisplay();
}
},
refreshBrowserDisplay: function() {
// Don't touch things on the browser if gBrowserInit.onLoad hasn't
// yet fired.
if (this.initialized) {
gBrowser.tabContainer._positionPinnedTabs();
this._inferBrightness();
}
},
_toggleStyleSheet: function() {
let wasEnabled = this.isStyleSheetEnabled;
if (wasEnabled) {
this.styleSheet.sheet.disabled = true;
this.refreshBrowserDisplay();
}
},
uninit: function () {
Services.prefs.removeObserver(this._devtoolsThemePrefName, this);
Services.obs.removeObserver(this, "lightweight-theme-styling-update", false);
Services.obs.removeObserver(this, "lightweight-theme-window-updated", false);
if (this.styleSheet) {
this.styleSheet.removeEventListener("load", this);
}
this.styleSheet = null;
}
};
@@ -5,16 +5,9 @@
var FullScreen = {
_XULNS: "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul",
get _fullScrToggler() {
delete this._fullScrToggler;
return this._fullScrToggler = document.getElementById("fullscr-toggler");
},
toggle: function (event) {
var enterFS = window.fullScreen;
// We get the fullscreen event _before_ the window transitions into or out of FS mode.
if (event && event.type == "fullscreen")
enterFS = !enterFS;
toggle: function () {
var enterFS = window.fullScreen;
// Toggle the View:FullScreen command, which controls elements like the
// fullscreen menuitem, menubars, and the appmenu.
@@ -31,6 +24,12 @@ var FullScreen = {
document.getElementById("exitFullScreenItem").hidden = !enterFS;
#endif
if (!this._fullScrToggler) {
this._fullScrToggler = document.getElementById("fullscr-toggler");
this._fullScrToggler.addEventListener("mouseover", this._expandCallback, false);
this._fullScrToggler.addEventListener("dragenter", this._expandCallback, false);
}
// On OS X Lion we don't want to hide toolbars when entering fullscreen, unless
// we're entering DOM fullscreen, in which case we should hide the toolbars.
// If we're leaving fullscreen, then we'll go through the exit code below to
@@ -50,36 +49,17 @@ var FullScreen = {
this.showXULChrome("toolbar", !enterFS);
if (enterFS) {
// Add a tiny toolbar to receive mouseover and dragenter events, and provide affordance.
// This will help simulate the "collapse" metaphor while also requiring less code and
// events than raw listening of mouse coords. We don't add the toolbar in DOM full-screen
// mode, only browser full-screen mode.
if (!document.mozFullScreen) {
this._fullScrToggler.addEventListener("mouseover", this._expandCallback, false);
this._fullScrToggler.addEventListener("dragenter", this._expandCallback, false);
}
if (gPrefService.getBoolPref("browser.fullscreen.autohide"))
gBrowser.mPanelContainer.addEventListener("mousemove",
this._collapseCallback, false);
document.addEventListener("keypress", this._keyToggleCallback, false);
document.addEventListener("popupshown", this._setPopupOpen, false);
document.addEventListener("popuphidden", this._setPopupOpen, false);
this._shouldAnimate = true;
// We don't animate the toolbar collapse if in DOM full-screen mode,
// as the size of the content area would still be changing after the
// mozfullscreenchange event fired, which could confuse content script.
this._shouldAnimate = !document.mozFullScreen;
this.mouseoverToggle(false);
// Autohide prefs
gPrefService.addObserver("browser.fullscreen", this, false);
this.hideNavToolbox(document.mozFullScreen);
}
else {
// The user may quit fullscreen during an animation
this._cancelAnimation();
gNavToolbox.style.marginTop = "";
if (this._isChromeCollapsed)
this.mouseoverToggle(true);
this.showNavToolbox(false);
// This is needed if they use the context menu to quit fullscreen
this._isPopupOpen = false;
@@ -111,7 +91,7 @@ var FullScreen = {
if (!document.mozFullScreen)
return;
// However, if we receive a "MozEnteredDomFullScreen" event for a document
// However, if we receive a "MozDOMFullscreen:NewOrigin" event for a document
// which is not a subdocument of a currently active (ie. visible) browser
// or iframe, we know that we've switched to a different frame since the
// request to enter full-screen was made, so we should exit full-screen
@@ -152,26 +132,16 @@ var FullScreen = {
// Cancel any "hide the toolbar" animation which is in progress, and make
// the toolbar hide immediately.
this._cancelAnimation();
this.mouseoverToggle(false);
// Remove listeners on the full-screen toggler, so that mouseover
// the top of the screen will not cause the toolbar to re-appear.
this._fullScrToggler.removeEventListener("mouseover", this._expandCallback, false);
this._fullScrToggler.removeEventListener("dragenter", this._expandCallback, false);
this.hideNavToolbox(true);
},
cleanup: function () {
if (window.fullScreen) {
gBrowser.mPanelContainer.removeEventListener("mousemove",
this._collapseCallback, false);
if (!window.fullScreen) {
MousePosTracker.removeListener(this);
document.removeEventListener("keypress", this._keyToggleCallback, false);
document.removeEventListener("popupshown", this._setPopupOpen, false);
document.removeEventListener("popuphidden", this._setPopupOpen, false);
gPrefService.removeObserver("browser.fullscreen", this);
this._fullScrToggler.removeEventListener("mouseover", this._expandCallback, false);
this._fullScrToggler.removeEventListener("dragenter", this._expandCallback, false);
this.cancelWarning();
gBrowser.tabContainer.removeEventListener("TabOpen", this.exitDomFullScreen);
gBrowser.tabContainer.removeEventListener("TabClose", this.exitDomFullScreen);
@@ -182,40 +152,30 @@ var FullScreen = {
}
},
observe: function(aSubject, aTopic, aData)
getMouseTargetRect: function()
{
if (aData == "browser.fullscreen.autohide") {
if (gPrefService.getBoolPref("browser.fullscreen.autohide")) {
gBrowser.mPanelContainer.addEventListener("mousemove",
this._collapseCallback, false);
}
else {
gBrowser.mPanelContainer.removeEventListener("mousemove",
this._collapseCallback, false);
}
}
return this._mouseTargetRect;
},
// Event callbacks
_expandCallback: function()
{
FullScreen.mouseoverToggle(true);
FullScreen.showNavToolbox();
},
_collapseCallback: function()
onMouseEnter: function()
{
FullScreen.mouseoverToggle(false);
FullScreen.hideNavToolbox();
},
_keyToggleCallback: function(aEvent)
{
// if we can use the keyboard (eg Ctrl+L or Ctrl+E) to open the toolbars, we
// should provide a way to collapse them too.
if (aEvent.keyCode == aEvent.DOM_VK_ESCAPE) {
FullScreen._shouldAnimate = false;
FullScreen.mouseoverToggle(false, true);
FullScreen.hideNavToolbox(true);
}
// F6 is another shortcut to the address bar, but its not covered in OpenLocation()
else if (aEvent.keyCode == aEvent.DOM_VK_F6)
FullScreen.mouseoverToggle(true);
FullScreen.showNavToolbox();
},
// Checks whether we are allowed to collapse the chrome
@@ -269,47 +229,6 @@ var FullScreen = {
// Animate the toolbars disappearing
_shouldAnimate: true,
_isAnimating: false,
_animationTimeout: 0,
_animationHandle: 0,
_animateUp: function() {
// check again, the user may have done something before the animation was due to start
if (!window.fullScreen || !this._safeToCollapse(false)) {
this._isAnimating = false;
this._shouldAnimate = true;
return;
}
this._animateStartTime = window.mozAnimationStartTime;
if (!this._animationHandle)
this._animationHandle = window.mozRequestAnimationFrame(this);
},
sample: function (timeStamp) {
const duration = 1500;
const timePassed = timeStamp - this._animateStartTime;
const pos = timePassed >= duration ? 1 :
1 - Math.pow(1 - timePassed / duration, 4);
if (pos >= 1) {
// We've animated enough
this._cancelAnimation();
gNavToolbox.style.marginTop = "";
this.mouseoverToggle(false);
return;
}
gNavToolbox.style.marginTop = (gNavToolbox.boxObject.height * pos * -1) + "px";
this._animationHandle = window.mozRequestAnimationFrame(this);
},
_cancelAnimation: function() {
window.mozCancelAnimationFrame(this._animationHandle);
this._animationHandle = 0;
clearTimeout(this._animationTimeout);
this._isAnimating = false;
this._shouldAnimate = false;
},
cancelWarning: function(event) {
if (!this.warningBox)
@@ -328,67 +247,20 @@ var FullScreen = {
this.warningBox.setAttribute("hidden", true);
this.warningBox.removeAttribute("fade-warning-out");
this.warningBox.removeAttribute("obscure-browser");
this.warningBox = null;
},
setFullscreenAllowed: function(isApproved) {
// The "remember decision" checkbox is hidden when showing for documents that
// the permission manager can't handle (documents with URIs without a host).
// We simply require those to be approved every time instead.
let rememberCheckbox = document.getElementById("full-screen-remember-decision");
let uri = this.fullscreenDoc.nodePrincipal.URI;
if (!rememberCheckbox.hidden) {
if (rememberCheckbox.checked)
Services.perms.add(uri,
"fullscreen",
isApproved ? Services.perms.ALLOW_ACTION : Services.perms.DENY_ACTION,
Services.perms.EXPIRE_NEVER);
else if (isApproved) {
// The user has only temporarily approved fullscren for this fullscreen
// session only. Add the permission (so Goanna knows to approve any further
// fullscreen requests for this host in this fullscreen session) but add
// a listener to revoke the permission when the chrome document exits
// fullscreen.
Services.perms.add(uri,
"fullscreen",
Services.perms.ALLOW_ACTION,
Services.perms.EXPIRE_SESSION);
let host = uri.host;
var onFullscreenchange = function onFullscreenchange(event) {
if (event.target == document && document.mozFullScreenElement == null) {
// The chrome document has left fullscreen. Remove the temporary permission grant.
Services.perms.remove(host, "fullscreen");
document.removeEventListener("mozfullscreenchange", onFullscreenchange);
}
}
document.addEventListener("mozfullscreenchange", onFullscreenchange);
}
}
if (this.warningBox)
this.warningBox.setAttribute("fade-warning-out", "true");
// If the document has been granted fullscreen, notify Goanna so it can resume
// any pending pointer lock requests, otherwise exit fullscreen; the user denied
// the fullscreen request.
if (isApproved)
Services.obs.notifyObservers(this.fullscreenDoc, "fullscreen-approved", "");
else
document.mozCancelFullScreen();
},
warningBox: null,
warningFadeOutTimeout: null,
fullscreenDoc: null,
// Shows the fullscreen approval UI, or if the domain has already been approved
// for fullscreen, shows a warning that the site has entered fullscreen for a short
// duration.
// Shows a warning that the site has entered fullscreen for a short duration.
showWarning: function(targetDoc) {
if (!document.mozFullScreen ||
!gPrefService.getBoolPref("full-screen-api.approval-required"))
let timeout = gPrefService.getIntPref("full-screen-api.warning.timeout");
if (!document.mozFullScreen || timeout <= 0)
return;
// Set the strings on the fullscreen approval UI.
// Set the strings on the fullscreen warning UI.
this.fullscreenDoc = targetDoc;
let uri = this.fullscreenDoc.nodePrincipal.URI;
let host = null;
@@ -396,11 +268,8 @@ var FullScreen = {
host = uri.host;
} catch (e) { }
let hostLabel = document.getElementById("full-screen-domain-text");
let rememberCheckbox = document.getElementById("full-screen-remember-decision");
let isApproved = false;
if (host) {
// Document's principal's URI has a host. Display a warning including the hostname and
// show UI to enable the user to permanently grant this host permission to enter fullscreen.
// Document's principal's URI has a host. Display a warning including the hostname.
let utils = {};
Cu.import("resource://gre/modules/DownloadUtils.jsm", utils);
let displayHost = utils.DownloadUtils.getURIHost(uri.spec)[0];
@@ -408,17 +277,8 @@ var FullScreen = {
hostLabel.textContent = bundle.formatStringFromName("fullscreen.entered", [displayHost], 1);
hostLabel.removeAttribute("hidden");
rememberCheckbox.label = bundle.formatStringFromName("fullscreen.rememberDecision", [displayHost], 1);
rememberCheckbox.checked = false;
rememberCheckbox.removeAttribute("hidden");
// Note we only allow documents whose principal's URI has a host to
// store permission grants.
isApproved = Services.perms.testPermission(uri, "fullscreen") == Services.perms.ALLOW_ACTION;
} else {
hostLabel.setAttribute("hidden", "true");
rememberCheckbox.setAttribute("hidden", "true");
}
// Note: the warning box can be non-null if the warning box from the previous request
@@ -436,77 +296,77 @@ var FullScreen = {
this.warningBox.removeAttribute("fade-warning-out");
}
// If fullscreen mode has not yet been approved for the fullscreen
// document's domain, show the approval UI and don't auto fade out the
// fullscreen warning box. Otherwise, we're just notifying of entry into
// fullscreen mode. Note if the resource's host is null, we must be
// showing a local file or a local data URI, and we require explicit
// approval every time.
let authUI = document.getElementById("full-screen-approval-pane");
if (isApproved) {
authUI.setAttribute("hidden", "true");
this.warningBox.removeAttribute("obscure-browser");
} else {
// Partially obscure the <browser> element underneath the approval UI.
this.warningBox.setAttribute("obscure-browser", "true");
authUI.removeAttribute("hidden");
}
// If we're not showing the fullscreen approval UI, we're just notifying the user
// of the transition, so set a timeout to fade the warning out after a few moments.
if (isApproved)
this.warningFadeOutTimeout =
setTimeout(
function() {
if (this.warningBox)
this.warningBox.setAttribute("fade-warning-out", "true");
}.bind(this),
3000);
// Set a timeout to fade the warning out after a few moments.
this.warningFadeOutTimeout = setTimeout(() => {
if (this.warningBox) {
this.warningBox.setAttribute("fade-warning-out", "true");
}
}, timeout);
},
mouseoverToggle: function(aShow, forceHide)
{
// Don't do anything if:
// a) we're already in the state we want,
// b) we're animating and will become collapsed soon, or
// c) we can't collapse because it would be undesirable right now
if (aShow != this._isChromeCollapsed || (!aShow && this._isAnimating) ||
(!aShow && !this._safeToCollapse(forceHide)))
showNavToolbox: function(trackMouse = true) {
this._fullScrToggler.hidden = true;
gNavToolbox.removeAttribute("fullscreenShouldAnimate");
gNavToolbox.style.marginTop = "";
if (!this._isChromeCollapsed) {
return;
}
// Track whether mouse is near the toolbox
this._isChromeCollapsed = false;
if (trackMouse) {
let rect = gBrowser.mPanelContainer.getBoundingClientRect();
this._mouseTargetRect = {
top: rect.top + 50,
bottom: rect.bottom,
left: rect.left,
right: rect.right
};
MousePosTracker.addListener(this);
}
},
hideNavToolbox: function(forceHide = false) {
this._fullScrToggler.hidden = document.mozFullScreen;
if (this._isChromeCollapsed) {
if (forceHide) {
gNavToolbox.removeAttribute("fullscreenShouldAnimate");
}
return;
}
if (!this._safeToCollapse(forceHide)) {
this._fullScrToggler.hidden = true;
return;
}
// browser.fullscreen.animateUp
// 0 - never animate up
// 1 - animate only for first collapse after entering fullscreen (default for perf's sake)
// 2 - animate every time it collapses
if (gPrefService.getIntPref("browser.fullscreen.animateUp") == 0)
let animateUp = gPrefService.getIntPref("browser.fullscreen.animateUp");
if (animateUp == 0) {
this._shouldAnimate = false;
if (!aShow && this._shouldAnimate) {
this._isAnimating = true;
this._shouldAnimate = false;
this._animationTimeout = setTimeout(this._animateUp.bind(this), 800);
return;
}
// The chrome is collapsed so don't spam needless mousemove events
if (aShow) {
gBrowser.mPanelContainer.addEventListener("mousemove",
this._collapseCallback, false);
}
else {
gBrowser.mPanelContainer.removeEventListener("mousemove",
this._collapseCallback, false);
}
// Hiding/collapsing the toolbox interferes with the tab bar's scrollbox,
// so we just move it off-screen instead. See bug 430687.
gNavToolbox.style.marginTop =
aShow ? "" : -gNavToolbox.getBoundingClientRect().height + "px";
this._fullScrToggler.collapsed = aShow;
this._isChromeCollapsed = !aShow;
if (gPrefService.getIntPref("browser.fullscreen.animateUp") == 2)
} else if (animateUp == 2) {
this._shouldAnimate = true;
}
if (this._shouldAnimate && !forceHide) {
gNavToolbox.setAttribute("fullscreenShouldAnimate", true);
this._shouldAnimate = false;
// Hide the fullscreen toggler until the transition ends.
let listener = () => {
gNavToolbox.removeEventListener("transitionend", listener, true);
if (this._isChromeCollapsed)
this._fullScrToggler.hidden = false;
};
gNavToolbox.addEventListener("transitionend", listener, true);
this._fullScrToggler.hidden = true;
}
gNavToolbox.style.marginTop =
-gNavToolbox.getBoundingClientRect().height + "px";
this._isChromeCollapsed = true;
MousePosTracker.removeListener(this);
},
showXULChrome: function(aTag, aShow)
@@ -1,14 +1,6 @@
/*
#ifdef 0
* This Source Code Form is subject to the terms of the Mozilla Public
/* 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
*/
// One of the possible values for the mousewheel.* preferences.
// From nsEventStateManager.cpp.
const MOUSE_SCROLL_ZOOM = 3;
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
/**
* Controls the "full zoom" setting and its site-specific preferences.
@@ -36,7 +28,6 @@ var FullZoom = {
return this._siteSpecificPref;
},
//**************************************************************************//
// nsISupports
QueryInterface: XPCOMUtils.generateQI([Ci.nsIDOMEventListener,
@@ -45,12 +36,10 @@ var FullZoom = {
Ci.nsISupportsWeakReference,
Ci.nsISupports]),
//**************************************************************************//
// Initialization & Destruction
init: function FullZoom_init() {
// Listen for scrollwheel events so we can save scrollwheel-based changes.
window.addEventListener("DOMMouseScroll", this, false);
gBrowser.addEventListener("ZoomChangeUsingMouseWheel", this);
// Register ourselves with the service so we know when our pref changes.
this._cps2 = Cc["@mozilla.org/content-pref/service;1"].
@@ -74,76 +63,30 @@ var FullZoom = {
}
// This should be nulled after initialization.
this._initialLocations.clear();
this._initialLocations = null;
},
destroy: function FullZoom_destroy() {
gPrefService.removeObserver("browser.zoom.", this);
this._cps2.removeObserverForName(this.name, this);
window.removeEventListener("DOMMouseScroll", this, false);
gBrowser.removeEventListener("ZoomChangeUsingMouseWheel", this);
},
//**************************************************************************//
// Event Handlers
// nsIDOMEventListener
handleEvent: function FullZoom_handleEvent(event) {
switch (event.type) {
case "DOMMouseScroll":
this._handleMouseScrolled(event);
case "ZoomChangeUsingMouseWheel":
let browser = this._getTargetedBrowser(event);
this._ignorePendingZoomAccesses(browser);
this._applyZoomToPref(browser);
break;
}
},
_handleMouseScrolled: function FullZoom__handleMouseScrolled(event) {
// Construct the "mousewheel action" pref key corresponding to this event.
// Based on nsEventStateManager::WheelPrefs::GetBasePrefName().
var pref = "mousewheel.";
var pressedModifierCount = event.shiftKey + event.ctrlKey + event.altKey +
event.metaKey + event.getModifierState("OS");
if (pressedModifierCount != 1) {
pref += "default.";
} else if (event.shiftKey) {
pref += "with_shift.";
} else if (event.ctrlKey) {
pref += "with_control.";
} else if (event.altKey) {
pref += "with_alt.";
} else if (event.metaKey) {
pref += "with_meta.";
} else {
pref += "with_win.";
}
pref += "action";
// Don't do anything if this isn't a "zoom" scroll event.
var isZoomEvent = false;
try {
isZoomEvent = (gPrefService.getIntPref(pref) == MOUSE_SCROLL_ZOOM);
} catch (e) {}
if (!isZoomEvent)
return;
// XXX Lazily cache all the possible action prefs so we don't have to get
// them anew from the pref service for every scroll event? We'd have to
// make sure to observe them so we can update the cache when they change.
// We have to call _applyZoomToPref in a timeout because we handle the
// event before the event state manager has a chance to apply the zoom
// during nsEventStateManager::PostHandleEvent.
let browser = gBrowser.selectedBrowser;
let token = this._getBrowserToken(browser);
window.setTimeout(function () {
if (token.isCurrent)
this._applyZoomToPref(browser);
}.bind(this), 0);
},
// nsIObserver
observe: function (aSubject, aTopic, aData) {
@@ -165,12 +108,12 @@ var FullZoom = {
// nsIContentPrefObserver
onContentPrefSet: function FullZoom_onContentPrefSet(aGroup, aName, aValue) {
this._onContentPrefChanged(aGroup, aValue);
onContentPrefSet: function FullZoom_onContentPrefSet(aGroup, aName, aValue, aIsPrivate) {
this._onContentPrefChanged(aGroup, aValue, aIsPrivate);
},
onContentPrefRemoved: function FullZoom_onContentPrefRemoved(aGroup, aName) {
this._onContentPrefChanged(aGroup, undefined);
onContentPrefRemoved: function FullZoom_onContentPrefRemoved(aGroup, aName, aIsPrivate) {
this._onContentPrefChanged(aGroup, undefined, aIsPrivate);
},
/**
@@ -181,7 +124,7 @@ var FullZoom = {
* @param aValue The new value of the changed preference. Pass undefined to
* indicate the preference's removal.
*/
_onContentPrefChanged: function FullZoom__onContentPrefChanged(aGroup, aValue) {
_onContentPrefChanged: function FullZoom__onContentPrefChanged(aGroup, aValue, aIsPrivate) {
if (this._isNextContentPrefChangeInternal) {
// Ignore changes that FullZoom itself makes. This works because the
// content pref service calls callbacks before notifying observers, and it
@@ -194,9 +137,10 @@ var FullZoom = {
if (!browser.currentURI)
return;
let ctxt = this._loadContextFromBrowser(browser);
let domain = this._cps2.extractDomain(browser.currentURI.spec);
if (aGroup) {
if (aGroup == domain)
if (aGroup == domain && ctxt.usePrivateBrowsing == aIsPrivate)
this._applyPrefToZoom(aValue, browser);
return;
}
@@ -208,10 +152,9 @@ var FullZoom = {
// zoom should be set to the new global preference now that the global
// preference has changed.
let hasPref = false;
let ctxt = this._loadContextFromBrowser(browser);
let token = this._getBrowserToken(browser);
this._cps2.getByDomainAndName(browser.currentURI.spec, this.name, ctxt, {
handleResult: function () hasPref = true,
handleResult: function () { hasPref = true; },
handleCompletion: function () {
if (!hasPref && token.isCurrent)
this._applyPrefToZoom(undefined, browser);
@@ -234,6 +177,7 @@ var FullZoom = {
*/
onLocationChange: function FullZoom_onLocationChange(aURI, aIsTabSwitch, aBrowser) {
let browser = aBrowser || gBrowser.selectedBrowser;
// If we haven't been initialized yet but receive an onLocationChange
// notification then let's store and replay it upon initialization.
if (this._initialLocations) {
@@ -247,14 +191,14 @@ var FullZoom = {
this._ignorePendingZoomAccesses(browser);
if (!aURI || (aIsTabSwitch && !this.siteSpecific)) {
this._notifyOnLocationChange();
this._notifyOnLocationChange(browser);
return;
}
// Avoid the cps roundtrip and apply the default/global pref.
if (aURI.spec == "about:blank") {
this._applyPrefToZoom(undefined, browser,
this._notifyOnLocationChange.bind(this));
this._notifyOnLocationChange.bind(this, browser));
return;
}
@@ -262,7 +206,7 @@ var FullZoom = {
if (!aIsTabSwitch && browser.isSyntheticDocument) {
ZoomManager.setZoomForBrowser(browser, 1);
// _ignorePendingZoomAccesses already called above, so no need here.
this._notifyOnLocationChange();
this._notifyOnLocationChange(browser);
return;
}
@@ -271,7 +215,7 @@ var FullZoom = {
let pref = this._cps2.getCachedByDomainAndName(aURI.spec, this.name, ctxt);
if (pref) {
this._applyPrefToZoom(pref.value, browser,
this._notifyOnLocationChange.bind(this));
this._notifyOnLocationChange.bind(this, browser));
return;
}
@@ -279,14 +223,14 @@ var FullZoom = {
let value = undefined;
let token = this._getBrowserToken(browser);
this._cps2.getByDomainAndName(aURI.spec, this.name, ctxt, {
handleResult: function (resultPref) value = resultPref.value,
handleResult: function (resultPref) { value = resultPref.value; },
handleCompletion: function () {
if (!token.isCurrent) {
this._notifyOnLocationChange();
this._notifyOnLocationChange(browser);
return;
}
this._applyPrefToZoom(value, browser,
this._notifyOnLocationChange.bind(this));
this._notifyOnLocationChange.bind(this, browser));
}.bind(this)
});
},
@@ -299,7 +243,6 @@ var FullZoom = {
menuItem.setAttribute("checked", !ZoomManager.useFullZoom);
},
//**************************************************************************//
// Setting & Pref Manipulation
/**
@@ -323,19 +266,32 @@ var FullZoom = {
},
/**
* Sets the zoom level of the page in the current browser to the global zoom
* level.
* Sets the zoom level for the given browser to the given floating
* point value, where 1 is the default zoom level.
*/
reset: function FullZoom_reset() {
let browser = gBrowser.selectedBrowser;
setZoom: function (value, browser = gBrowser.selectedBrowser) {
ZoomManager.setZoomForBrowser(browser, value);
this._ignorePendingZoomAccesses(browser);
this._applyZoomToPref(browser);
},
/**
* Sets the zoom level of the page in the given browser to the global zoom
* level.
*
* @return A promise which resolves when the zoom reset has been applied.
*/
reset: function FullZoom_reset(browser = gBrowser.selectedBrowser) {
let token = this._getBrowserToken(browser);
this._getGlobalValue(browser, function (value) {
let result = this._getGlobalValue(browser).then(value => {
if (token.isCurrent) {
ZoomManager.setZoomForBrowser(browser, value === undefined ? 1 : value);
this._ignorePendingZoomAccesses(browser);
Services.obs.notifyObservers(browser, "browser-fullZoom:zoomReset", "");
}
});
this._removePref(browser);
return result;
},
/**
@@ -383,7 +339,7 @@ var FullZoom = {
}
let token = this._getBrowserToken(aBrowser);
this._getGlobalValue(aBrowser, function (value) {
this._getGlobalValue(aBrowser).then(value => {
if (token.isCurrent) {
ZoomManager.setZoomForBrowser(aBrowser, value === undefined ? 1 : value);
this._ignorePendingZoomAccesses(aBrowser);
@@ -399,6 +355,7 @@ var FullZoom = {
* @param browser The zoom of this browser will be saved. Required.
*/
_applyZoomToPref: function FullZoom__applyZoomToPref(browser) {
Services.obs.notifyObservers(browser, "browser-fullZoom:zoomChange", "");
if (!this.siteSpecific ||
gInPrintPreviewMode ||
browser.isSyntheticDocument)
@@ -419,6 +376,7 @@ var FullZoom = {
* @param browser The zoom of this browser will be removed. Required.
*/
_removePref: function FullZoom__removePref(browser) {
Services.obs.notifyObservers(browser, "browser-fullZoom:zoomReset", "");
if (browser.isSyntheticDocument)
return;
let ctxt = this._loadContextFromBrowser(browser);
@@ -429,7 +387,6 @@ var FullZoom = {
});
},
//**************************************************************************//
// Utilities
/**
@@ -461,6 +418,30 @@ var FullZoom = {
};
},
/**
* Returns the browser that the supplied zoom event is associated with.
* @param event The ZoomChangeUsingMouseWheel event.
* @return The associated browser element, if one exists, otherwise null.
*/
_getTargetedBrowser: function FullZoom__getTargetedBrowser(event) {
let target = event.originalTarget;
// With remote content browsers, the event's target is the browser
// we're looking for.
const XUL_NS = "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul";
if (target instanceof window.XULElement &&
target.localName == "browser" &&
target.namespaceURI == XUL_NS)
return target;
// With in-process content browsers, the event's target is the content
// document.
if (target.nodeType == Node.DOCUMENT_NODE)
return gBrowser.getBrowserForDocument(target);
throw new Error("Unexpected ZoomChangeUsingMouseWheel event source");
},
/**
* Increments the zoom change token for the given browser so that pending
* async operations know that it may be unsafe to access they zoom when they
@@ -491,54 +472,49 @@ var FullZoom = {
/**
* Gets the global browser.content.full-zoom content preference.
*
* WARNING: callback may be called synchronously or asynchronously. The
* reason is that it's usually desirable to avoid turns of the event loop
* where possible, since they can lead to visible, jarring jumps in zoom
* level. It's not always possible to avoid them, though. As a convenience,
* then, this method takes a callback and returns nothing.
*
* @param browser The content browser pertaining to the zoom.
* @param callback Synchronously or asynchronously called when done. It's
* bound to this object (FullZoom) and called as:
* callback(prefValue)
* @param browser The browser pertaining to the zoom.
* @returns Promise<prefValue>
* Resolves to the preference value when done.
*/
_getGlobalValue: function FullZoom__getGlobalValue(browser, callback) {
_getGlobalValue: function FullZoom__getGlobalValue(browser) {
// * !("_globalValue" in this) => global value not yet cached.
// * this._globalValue === undefined => global value known not to exist.
// * Otherwise, this._globalValue is a number, the global value.
if ("_globalValue" in this) {
callback.call(this, this._globalValue, true);
return;
}
let value = undefined;
this._cps2.getGlobal(this.name, this._loadContextFromBrowser(browser), {
handleResult: function (pref) value = pref.value,
handleCompletion: function (reason) {
this._globalValue = this._ensureValid(value);
callback.call(this, this._globalValue);
}.bind(this)
return new Promise(resolve => {
if ("_globalValue" in this) {
resolve(this._globalValue);
return;
}
let value = undefined;
this._cps2.getGlobal(this.name, this._loadContextFromBrowser(browser), {
handleResult: function (pref) { value = pref.value; },
handleCompletion: (reason) => {
this._globalValue = this._ensureValid(value);
resolve(this._globalValue);
}
});
});
},
/**
* Gets the load context from the given content browser.
* Gets the load context from the given Browser.
*
* @param Browser The Browser whose load context will be returned.
* @return The nsILoadContext of the given Browser.
* @return The nsILoadContext of the given Browser.
*/
_loadContextFromBrowser: function FullZoom__loadContextFromBrowser(browser) {
return browser.loadContext;
},
/**
* Asynchronously broadcasts a "browser-fullZoom:locationChange" notification
* so that tests can select tabs, load pages, etc. and be notified when the
* zoom levels on those pages change. The notification is always asynchronous
* so that observers are guaranteed a consistent behavior.
* Asynchronously broadcasts "browser-fullZoom:location-change" so that
* listeners can be notified when the zoom levels on those pages change.
* The notification is always asynchronous so that observers are guaranteed a
* consistent behavior.
*/
_notifyOnLocationChange: function FullZoom__notifyOnLocationChange() {
_notifyOnLocationChange: function FullZoom__notifyOnLocationChange(browser) {
this._executeSoon(function () {
Services.obs.notifyObservers(null, "browser-fullZoom:locationChange", "");
Services.obs.notifyObservers(browser, "browser-fullZoom:location-change", "");
});
},
@@ -13,7 +13,7 @@
// chrome-only, we must listen for the simple gesture events during
// the capturing phase and call stopPropagation on every event.
let gGestureSupport = {
var gGestureSupport = {
_currentRotation: 0,
_lastRotateDelta: 0,
_rotateMomentumThreshold: .75,
@@ -532,7 +532,7 @@ let gGestureSupport = {
};
// History Swipe Animation Support (bug 678392)
let gHistorySwipeAnimation = {
var gHistorySwipeAnimation = {
active: false,
isLTR: false,
@@ -85,8 +85,8 @@
observes="workOfflineMenuitemState"
oncommand="BrowserOffline.toggleOfflineStatus();"/>
<menuitem id="menu_restart"
label="&appMenuRestart.label;"
accesskey="&appMenuRestart.accesskey;"
label="&restartCmd.label;"
accesskey="&restartCmd.accesskey;"
command="cmd_restartApplication"/>
<menuitem id="menu_FileQuitItem"
#ifdef XP_WIN
@@ -534,43 +534,12 @@
label="&webDeveloperMenu.label;"
accesskey="&webDeveloperMenu.accesskey;">
<menupopup id="menuWebDeveloperPopup">
#ifdef MOZ_DEVTOOLS
<menuitem id="menu_devToolbox"
observes="devtoolsMenuBroadcaster_DevToolbox"
accesskey="&devToolboxMenuItem.accesskey;"/>
<menuseparator id="menu_devtools_separator"/>
<menuitem id="menu_devToolbar"
observes="devtoolsMenuBroadcaster_DevToolbar"
accesskey="&devToolbarMenu.accesskey;"/>
<menuitem id="menu_chromeDebugger"
observes="devtoolsMenuBroadcaster_ChromeDebugger"/>
<menuitem id="menu_browserConsole"
observes="devtoolsMenuBroadcaster_BrowserConsole"
accesskey="&browserConsoleCmd.accesskey;"/>
<menuitem id="menu_responsiveUI"
observes="devtoolsMenuBroadcaster_ResponsiveUI"
accesskey="&responsiveDesignTool.accesskey;"/>
<menuitem id="menu_eyedropper"
observes="devtoolsMenuBroadcaster_Eyedropper"
accesskey="&eyedropper.accesskey;"/>
<menuitem id="menu_scratchpad"
observes="devtoolsMenuBroadcaster_Scratchpad"
accesskey="&scratchpad.accesskey;"/>
#endif
<menuitem id="menu_pageSource"
observes="devtoolsMenuBroadcaster_PageSource"
accesskey="&pageSourceCmd.accesskey;"/>
<menuitem id="javascriptConsole"
observes="devtoolsMenuBroadcaster_ErrorConsole"
accesskey="&errorConsoleCmd.accesskey;"/>
#ifdef MOZ_DEVTOOLS
<menuitem id="menu_devtools_connect"
observes="devtoolsMenuBroadcaster_connect"/>
#endif
<menuseparator id="devToolsEndSeparator"/>
<menuitem id="getMoreDevtools"
observes="devtoolsMenuBroadcaster_GetMoreTools"
accesskey="&getMoreDevtoolsCmd.accesskey;"/>
</menupopup>
</menu>
<menuitem id="menu_pageInfo"
@@ -189,11 +189,24 @@ var StarUI = {
this._itemId = aItemId !== undefined ? aItemId : this._itemId;
this.beginBatch();
this.panel.openPopup(aAnchorElement, aPosition);
let onPanelReady = fn => {
let target = this.panel;
if (target.parentNode) {
// By targeting the panel's parent and using a capturing listener, we
// can have our listener called before others waiting for the panel to
// be shown (which probably expect the panel to be fully initialized)
target = target.parentNode;
}
target.addEventListener("popupshown", function(event) {
fn();
}, {"capture": true, "once": true});
};
gEditItemOverlay.initPanel(this._itemId,
{ hiddenRows: ["description", "location",
{ onPanelReady,
hiddenRows: ["description", "location",
"loadInSidebar", "keyword"] });
this.panel.openPopup(aAnchorElement, aPosition);
},
panelShown:
@@ -959,7 +972,7 @@ var PlacesMenuDNDHandler = {
* This object handles the initialization and uninitialization of the bookmarks
* toolbar.
*/
let PlacesToolbarHelper = {
var PlacesToolbarHelper = {
_place: "place:folder=TOOLBAR",
get _viewElt() {
@@ -1006,7 +1019,7 @@ let PlacesToolbarHelper = {
* menu button.
*/
let BookmarkingUI = {
var BookmarkingUI = {
get button() {
if (!this._button) {
this._button = document.getElementById("bookmarks-menu-button");
@@ -470,28 +470,12 @@ var gPluginHandler = {
}
},
// Match the behaviour of nsPermissionManager
_getHostFromPrincipal: function PH_getHostFromPrincipal(principal) {
if (!principal.URI || principal.URI.schemeIs("moz-nullprincipal")) {
return "(null)";
}
try {
if (principal.URI.host)
return principal.URI.host;
} catch (e) {}
return principal.origin;
},
_makeCenterActions: function PH_makeCenterActions(notification) {
let contentWindow = notification.browser.contentWindow;
let cwu = contentWindow.QueryInterface(Ci.nsIInterfaceRequestor)
.getInterface(Ci.nsIDOMWindowUtils);
let principal = contentWindow.document.nodePrincipal;
// This matches the behavior of nsPermssionManager, used for display purposes only
let principalHost = this._getHostFromPrincipal(principal);
let centerActions = [];
let pluginsFound = new Set();
@@ -517,11 +501,11 @@ var gPluginHandler = {
let permissionObj = Services.perms.
getPermissionObject(principal, pluginInfo.permissionString, false);
if (permissionObj) {
pluginInfo.pluginPermissionHost = permissionObj.host;
pluginInfo.pluginPermissionPrePath = permissionObj.principal.originNoSuffix;
pluginInfo.pluginPermissionType = permissionObj.expireType;
}
else {
pluginInfo.pluginPermissionHost = principalHost;
pluginInfo.pluginPermissionPrePath = principal.originNoSuffix;
pluginInfo.pluginPermissionType = undefined;
}
@@ -92,24 +92,9 @@
<command id="Tools:Search" oncommand="BrowserSearch.webSearch();"/>
<command id="Tools:Downloads" oncommand="BrowserDownloadsUI();"/>
#ifdef MOZ_DEVTOOLS
<command id="Tools:DevToolbox" oncommand="gDevToolsBrowser.toggleToolboxCommand(gBrowser);"/>
<command id="Tools:DevToolbar" oncommand="DeveloperToolbar.toggle();" disabled="true" hidden="true"/>
<command id="Tools:DevToolbarFocus" oncommand="DeveloperToolbar.focusToggle();" disabled="true"/>
<command id="Tools:DevAppMgr" oncommand="gDevToolsBrowser.openAppManager(gBrowser);" disabled="true" hidden="true"/>
<command id="Tools:WebIDE" oncommand="gDevToolsBrowser.openWebIDE();" disabled="true" hidden="true"/>
<command id="Tools:ChromeDebugger" oncommand="BrowserToolboxProcess.init();" disabled="true" hidden="true"/>
<command id="Tools:BrowserConsole" oncommand="HUDService.openBrowserConsoleOrFocus();"/>
<command id="Tools:Scratchpad" oncommand="Scratchpad.openScratchpad();" disabled="true" hidden="true"/>
<command id="Tools:ResponsiveUI" oncommand="ResponsiveUI.toggle();" disabled="true" hidden="true"/>
<command id="Tools:Eyedropper" oncommand="openEyedropper();"/>
#endif
<command id="Tools:Addons" oncommand="BrowserOpenAddonsMgr();"/>
<command id="Tools:Permissions" oncommand="BrowserOpenPermissionsMgr();"/>
<command id="Tools:ErrorConsole" oncommand="toJavaScriptConsole()" disabled="true" hidden="true"/>
#ifdef MOZ_DEVTOOLS
<command id="Tools:DevToolsConnect" oncommand="gDevToolsBrowser.openConnectScreen(gBrowser)" disabled="true" hidden="true"/>
#endif
<command id="Tools:Sanitize"
oncommand="Cc['@mozilla.org/browser/browserglue;1'].getService(Ci.nsIBrowserGlue).sanitize(window);"/>
<command id="Tools:PrivateBrowsing"
@@ -170,46 +155,6 @@
#endif
<broadcaster id="workOfflineMenuitemState"/>
#ifdef MOZ_DEVTOOLS
<!-- DevTools broadcasters -->
<broadcaster id="devtoolsMenuBroadcaster_DevToolbox"
label="&devToolboxMenuItem.label;"
type="checkbox" autocheck="false"
command="Tools:DevToolbox"
key="key_devToolbox"/>
<broadcaster id="devtoolsMenuBroadcaster_DevToolbar"
label="&devToolbarMenu.label;"
type="checkbox" autocheck="false"
command="Tools:DevToolbar"
key="key_devToolbar"/>
<broadcaster id="devtoolsMenuBroadcaster_DevAppMgr"
label="&devAppMgrMenu.label;"
command="Tools:DevAppMgr"/>
<broadcaster id="devtoolsMenuBroadcaster_webide"
label="&webide.label;"
command="Tools:WebIDE"
key="key_webide"/>
<broadcaster id="devtoolsMenuBroadcaster_ChromeDebugger"
label="&chromeDebuggerMenu.label;"
command="Tools:ChromeDebugger"/>
<broadcaster id="devtoolsMenuBroadcaster_BrowserConsole"
label="&browserConsoleCmd.label;"
key="key_browserConsole"
command="Tools:BrowserConsole"/>
<broadcaster id="devtoolsMenuBroadcaster_Scratchpad"
label="&scratchpad.label;"
command="Tools:Scratchpad"
key="key_scratchpad"/>
<broadcaster id="devtoolsMenuBroadcaster_ResponsiveUI"
label="&responsiveDesignTool.label;"
type="checkbox" autocheck="false"
command="Tools:ResponsiveUI"
key="key_responsiveUI"/>
<broadcaster id="devtoolsMenuBroadcaster_Eyedropper"
label="&eyedropper.label;"
type="checkbox" autocheck="false"
command="Tools:Eyedropper"/>
#endif
<broadcaster id="devtoolsMenuBroadcaster_PageSource"
label="&pageSourceCmd.label;"
key="key_viewSource"
@@ -217,14 +162,6 @@
<broadcaster id="devtoolsMenuBroadcaster_ErrorConsole"
label="&errorConsoleCmd.label;"
command="Tools:ErrorConsole"/>
<broadcaster id="devtoolsMenuBroadcaster_GetMoreTools"
label="&getMoreDevtoolsCmd.label;"
oncommand="openUILinkIn(gPrefService.getCharPref('browser.getdevtools.url'), 'tab');"/>
#ifdef MOZ_DEVTOOLS
<broadcaster id="devtoolsMenuBroadcaster_connect"
label="&devtoolsConnect.label;"
command="Tools:DevToolsConnect"/>
#endif
</broadcasterset>
<keyset id="mainKeyset">
@@ -271,21 +208,6 @@
<key id="key_openDownloads" key="&downloads.commandkey;" command="Tools:Downloads" modifiers="accel"/>
#endif
<key id="key_openAddons" key="&addons.commandkey;" command="Tools:Addons" modifiers="accel,shift"/>
#ifdef MOZ_DEVTOOLS
<key id="key_browserConsole" key="&browserConsoleCmd.commandkey;" command="Tools:BrowserConsole" modifiers="accel,shift"/>
<key id="key_devToolbox" keycode="VK_F12" keytext="F12" command="Tools:DevToolbox"/>
<key id="key_devToolbar" keycode="&devToolbar.keycode;" modifiers="shift"
keytext="&devToolbar.keytext;" command="Tools:DevToolbarFocus"/>
<key id="key_responsiveUI" key="&responsiveDesignTool.commandkey;" command="Tools:ResponsiveUI"
#ifdef XP_MACOSX
modifiers="accel,alt"
#else
modifiers="accel,shift"
#endif
/>
<key id="key_scratchpad" keycode="&scratchpad.keycode;" modifiers="shift"
keytext="&scratchpad.keytext;" command="Tools:Scratchpad"/>
#endif
<key id="openFileKb" key="&openFileCmd.commandkey;" command="Browser:OpenFile" modifiers="accel"/>
<key id="key_savePage" key="&savePageCmd.commandkey;" command="Browser:SavePage" modifiers="accel"/>
<key id="printKb" key="&printCmd.commandkey;" command="cmd_print" modifiers="accel"/>
@@ -3,7 +3,7 @@
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
// gSyncUI handles updating the tools menu
let gSyncUI = {
var gSyncUI = {
_obs: ["weave:service:sync:start",
"weave:service:sync:delayed",
"weave:service:quota:remaining",
@@ -7,7 +7,7 @@
/**
* Keeps thumbnails of open web pages up-to-date.
*/
let gBrowserThumbnails = {
var gBrowserThumbnails = {
/**
* Pref that controls whether we can store SSL content on disk
*/
@@ -92,7 +92,12 @@ let gBrowserThumbnails = {
filterForThumbnailExpiration:
function Thumbnails_filterForThumbnailExpiration(aCallback) {
aCallback([browser.currentURI.spec for (browser of gBrowser.browsers)]);
// Tycho: aCallback([browser.currentURI.spec for (browser of gBrowser.browsers)]);
let result = [];
for (let browser of gBrowser.browsers) {
result.push(browser.currentURI.spec);
}
aCallback(result);
},
/**
@@ -137,7 +142,7 @@ let gBrowserThumbnails = {
// FIXME Bug 720575 - Don't capture thumbnails for SVG or XML documents as
// that currently regresses Talos SVG tests.
if (doc instanceof SVGDocument || doc instanceof XMLDocument)
if (doc instanceof XMLDocument)
return false;
// There's no point in taking screenshot of loading pages.
@@ -0,0 +1,45 @@
/* 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 UserAgentCompatibility = {
PREF_UA_COMPAT: "general.useragent.compatMode",
PREF_UA_COMPAT_GECKO: "general.useragent.compatMode.gecko",
PREF_UA_COMPAT_FIREFOX: "general.useragent.compatMode.firefox",
init: function() {
this.checkPreferences();
Services.prefs.addObserver(this.PREF_UA_COMPAT, this, false);
Services.prefs.addObserver(this.PREF_UA_COMPAT_GECKO, this, false);
Services.prefs.addObserver(this.PREF_UA_COMPAT_FIREFOX, this, false);
},
uninit: function() {
Services.prefs.removeObserver(this.PREF_UA_COMPAT, this, false);
Services.prefs.removeObserver(this.PREF_UA_COMPAT_GECKO, this, false);
Services.prefs.removeObserver(this.PREF_UA_COMPAT_FIREFOX, this, false);
},
observe: function() {
this.checkPreferences();
},
checkPreferences: function() {
var compatMode = Services.prefs.getIntPref(this.PREF_UA_COMPAT);
switch(compatMode) {
case 0:
Services.prefs.setBoolPref(this.PREF_UA_COMPAT_GECKO, false);
Services.prefs.setBoolPref(this.PREF_UA_COMPAT_FIREFOX, false);
break;
case 1:
Services.prefs.setBoolPref(this.PREF_UA_COMPAT_GECKO, true);
Services.prefs.setBoolPref(this.PREF_UA_COMPAT_FIREFOX, false);
break;
case 2:
Services.prefs.setBoolPref(this.PREF_UA_COMPAT_GECKO, true);
Services.prefs.setBoolPref(this.PREF_UA_COMPAT_FIREFOX, true);
break;
}
}
};
@@ -3,7 +3,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/.
let WebrtcIndicator = {
var WebrtcIndicator = {
init: function () {
let temp = {};
Cu.import("resource:///modules/webrtcUI.jsm", temp);
+89 -19
View File
@@ -43,8 +43,6 @@ tabbrowser {
.tabbrowser-tab:not([pinned]) {
-moz-box-flex: 100;
max-width: 250px;
min-width: 100px;
width: 0;
transition: min-width 175ms ease-out,
max-width 200ms ease-out,
@@ -67,6 +65,12 @@ tabbrowser {
display: none;
}
.tabbrowser-tab[pinned] {
-moz-box-flex: 0;
min-width: 0 !important;
max-width: none !important;
}
.tabbrowser-tabs[positionpinnedtabs] > .tabbrowser-tab[pinned] {
position: fixed !important;
display: block; /* position:fixed already does this (bug 579776), but let's be explicit */
@@ -115,8 +119,17 @@ toolbar[printpreview="true"] {
#titlebar {
-moz-binding: url("chrome://global/content/bindings/general.xml#windowdragbox");
-moz-window-dragging: drag;
}
%ifdef XP_WIN
#main-window[tabsontop="true"] #TabsToolbar,
#main-window[tabsontop="true"] #toolbar-menubar,
#main-window[tabsontop="true"] #navigator-toolbox > toolbar:-moz-lwtheme {
-moz-window-dragging: drag;
}
%endif
#titlebar-spacer {
pointer-events: none;
}
@@ -271,6 +284,10 @@ panel[noactions] > richlistbox > richlistitem[type~="action"] > .ac-url-box > .a
-moz-binding: url("chrome://browser/content/urlbarBindings.xml#urlbar-rich-result-popup");
}
#DateTimePickerPanel[active="true"] {
-moz-binding: url("chrome://global/content/bindings/datetimepopup.xml#datetime-popup");
}
/* Pale Moon: Address bar: Feeds */
#ub-feed-button > .button-box > .box-inherit > .button-text,
#ub-feed-button > .button-box > .button-menu-dropmarker {
@@ -315,6 +332,66 @@ panel[noactions] > richlistbox > richlistitem[type~="action"] > .ac-url-box > .a
visibility: hidden;
}
/* Private Autocomplete */
textbox[type="private-autocomplete"] {
-moz-binding: url("chrome://browser/content/autocomplete.xml#autocomplete");
}
panel[type="private-autocomplete"] {
-moz-binding: url("chrome://browser/content/autocomplete.xml#autocomplete-result-popup");
}
panel[type="private-autocomplete-richlistbox"] {
-moz-binding: url("chrome://browser/content/autocomplete.xml#private-autocomplete-rich-result-popup");
}
.private-autocomplete-tree {
-moz-binding: url("chrome://browser/content/autocomplete.xml#private-autocomplete-tree");
-moz-user-focus: ignore;
}
.private-autocomplete-treebody {
-moz-binding: url("chrome://browser/content/autocomplete.xml#private-autocomplete-treebody");
}
.private-autocomplete-richlistbox {
-moz-binding: url("chrome://browser/content/autocomplete.xml#private-autocomplete-richlistbox");
-moz-user-focus: ignore;
}
.private-autocomplete-richlistbox > scrollbox {
overflow-x: hidden !important;
}
.private-autocomplete-richlistitem {
-moz-binding: url("chrome://browser/content/autocomplete.xml#private-autocomplete-richlistitem");
-moz-box-orient: vertical;
overflow: -moz-hidden-unscrollable;
}
.private-autocomplete-treerows {
-moz-binding: url("chrome://browser/content/autocomplete.xml#private-autocomplete-treerows");
}
.private-autocomplete-history-dropmarker {
display: none;
}
.private-autocomplete-history-dropmarker[enablehistory="true"] {
display: -moz-box;
-moz-binding: url("chrome://browser/content/autocomplete.xml#private-history-dropmarker");
}
.ac-ellipsis-after {
visibility: hidden;
}
.ac-url-text[type~="action"],
.ac-action-text:not([type~="action"]) {
visibility: collapse;
}
/* ::::: Unified Back-/Forward Button ::::: */
#back-button > .toolbarbutton-menu-dropmarker,
#forward-button > .toolbarbutton-menu-dropmarker {
@@ -431,6 +508,7 @@ window[chromehidden~="toolbar"] toolbar:not(.toolbar-primary):not(#nav-bar):not(
width: 100%;
height: 100%;
z-index: 2147483647 !important;
pointer-events: none;
}
#full-screen-warning-container[fade-warning-out] {
@@ -439,22 +517,13 @@ window[chromehidden~="toolbar"] toolbar:not(.toolbar-primary):not(#nav-bar):not(
opacity: 0.0;
}
/* When the modal fullscreen approval UI is showing, don't allow interaction
with the page, but when we're just showing the warning upon entering
fullscreen on an already approved page, do allow interaction with the page.
*/
#full-screen-warning-container:not([obscure-browser]) {
pointer-events: none;
}
#full-screen-warning-message {
/* We must specify a max-width, otherwise word-wrap:break-word doesn't
work in descendant <description> and <label> elements. Bug 630864. */
max-width: 800px;
}
#full-screen-domain-text,
#full-screen-remember-decision > .checkbox-label-box > .checkbox-label {
#full-screen-domain-text {
word-wrap: break-word;
/* We must specify a min-width, otherwise word-wrap:break-word doesn't work. Bug 630864. */
min-width: 1px;
@@ -533,11 +602,11 @@ window[chromehidden~="toolbar"] toolbar:not(.toolbar-primary):not(#nav-bar):not(
max-width: 280px;
}
.form-validation-anchor {
.popup-anchor {
/* should occupy space but not be visible */
opacity: 0;
visibility: hidden;
pointer-events: none;
-moz-stack-sizing: ignore;
}
#addon-progress-notification {
@@ -618,10 +687,6 @@ statuspanel[inactive][previoustype=overLink] {
-moz-box-align: end;
}
.panel-inner-arrowcontentfooter[footertype="promobox"] {
-moz-binding: url("chrome://browser/content/urlbarBindings.xml#promobox");
}
/* highlighter */
%include highlighter.css
@@ -681,7 +746,7 @@ toolbarbutton[type="badged"] {
}
/* Strict icon size for PMkit 'ui/button' */
toolbarbutton[pmkit-button="true"] > .toolbarbutton-badge-container > .toolbarbutton-icon {
toolbarbutton[pmkit-button="true"] > .toolbarbutton-badge-stack > .toolbarbutton-icon {
width: 16px;
height: 16px;
}
@@ -691,3 +756,8 @@ toolbarbutton[pmkit-button="true"] > .toolbarbutton-badge-container > .toolbarbu
#main-window[inFullscreen] #high-priority-global-notificationbox {
visibility: collapse;
}
#navigator-toolbox[fullscreenShouldAnimate] {
transition: 0.7s margin-top ease-out;
transition-delay: 0.8s;
}
File diff suppressed because it is too large. Load diff
+29 -48
View File
@@ -13,7 +13,7 @@
<?xml-stylesheet href="chrome://browser/content/places/places.css" type="text/css"?>
#ifdef MOZ_DEVTOOLS
<?xml-stylesheet href="chrome://global/skin/devtools/common.css" type="text/css"?>
<?xml-stylesheet href="chrome://devtools/skin/devtools-browser.css" type="text/css"?>
#endif
<?xml-stylesheet href="chrome://browser/skin/" type="text/css"?>
@@ -65,6 +65,9 @@
# wishes to include *must* go into the global-scripts.inc file
# so that they can be shared by macBrowserOverlay.xul.
#include global-scripts.inc
#ifdef MOZ_DEVTOOLS
#include global-devtools-theme-scripts.inc
#endif
<script type="application/javascript" src="chrome://browser/content/nsContextMenu.js"/>
<script type="application/javascript" src="chrome://global/content/contentAreaUtils.js"/>
@@ -125,9 +128,25 @@
<!-- for search and content formfill/pw manager -->
<panel type="autocomplete" id="PopupAutoComplete" noautofocus="true" hidden="true"/>
<panel type="private-autocomplete" id="PopupAutoComplete" noautofocus="true" hidden="true"/>
<!-- for url bar autocomplete -->
<panel type="autocomplete-richlistbox" id="PopupAutoCompleteRichResult" noautofocus="true" hidden="true"/>
<panel type="private-autocomplete-richlistbox" id="PopupAutoCompleteRichResult" noautofocus="true" hidden="true"/>
<!-- for date/time picker. consumeoutsideclicks is set to never, so that
clicks on the anchored input box are never consumed. -->
<panel id="DateTimePickerPanel"
type="arrow"
hidden="true"
orient="vertical"
noautofocus="true"
norolluponanchor="true"
consumeoutsideclicks="never"
level="parent"
tabspecific="true">
<iframe id="dateTimePopupFrame"/>
</panel>
<!-- for invalid form error message -->
<panel id="invalid-form-popup" type="arrow" orient="vertical" noautofocus="true" hidden="true" level="parent">
@@ -136,7 +155,6 @@
<panel id="editBookmarkPanel"
type="arrow"
footertype="promobox"
orient="vertical"
ignorekeys="true"
consumeoutsideclicks="true"
@@ -410,8 +428,8 @@
<toolbaritem id="urlbar-container" align="center" flex="400" persist="width" combined="true"
title="&locationItem.title;" class="chromeclass-location" removable="true">
<textbox id="urlbar" flex="1"
placeholder="&urlbar.placeholder2;"
type="autocomplete"
placeholder=""
type="private-autocomplete"
autocompletesearch="urlinline history"
autocompletesearchparam="enable-actions"
autocompletepopup="PopupAutoCompleteRichResult"
@@ -434,14 +452,15 @@
<image id="addons-notification-icon" class="notification-anchor-icon" role="button"/>
<image id="indexedDB-notification-icon" class="notification-anchor-icon" role="button"/>
<image id="password-notification-icon" class="notification-anchor-icon" role="button"/>
<image id="webapps-notification-icon" class="notification-anchor-icon" role="button"/>
<image id="plugins-notification-icon" class="notification-anchor-icon" role="button"/>
<image id="web-notifications-notification-icon" class="notification-anchor-icon" role="button"/>
<image id="alert-plugins-notification-icon" class="notification-anchor-icon" role="button"/>
<image id="blocked-plugins-notification-icon" class="notification-anchor-icon" role="button"/>
<image id="mixed-content-blocked-notification-icon" class="notification-anchor-icon" role="button"/>
#ifdef MOZ_WEBRTC
<image id="webRTC-shareDevices-notification-icon" class="notification-anchor-icon" role="button"/>
<image id="webRTC-sharingDevices-notification-icon" class="notification-anchor-icon" role="button"/>
#endif
<image id="pointerLock-notification-icon" class="notification-anchor-icon" role="button"/>
<image id="servicesInstall-notification-icon" class="notification-anchor-icon" role="button"/>
</box>
@@ -513,7 +532,7 @@
flex="100" persist="width" removable="true">
<searchbar id="searchbar" flex="1"/>
</toolbaritem>
#ifdef MOZ_WEBRTC
<toolbarbutton id="webrtc-status-button"
class="toolbarbutton-1 chromeclass-toolbar-additional"
type="menu"
@@ -525,7 +544,7 @@
onpopuphiding="WebrtcIndicator.clearPopup(this);"
oncommand="WebrtcIndicator.menuCommand(event.target);"/>
</toolbarbutton>
#endif
<toolbarbutton id="bookmarks-menu-button"
class="toolbarbutton-1 chromeclass-toolbar-additional"
persist="class"
@@ -921,7 +940,7 @@
</toolbarpalette>
</toolbox>
<hbox id="fullscr-toggler" collapsed="true"/>
<hbox id="fullscr-toggler" hidden="true"/>
<hbox flex="1" id="browser">
<vbox id="browser-border-start" hidden="true" layer="true"/>
@@ -941,7 +960,8 @@
flex="1" contenttooltip="aHTMLTooltip"
tabcontainer="tabbrowser-tabs"
contentcontextmenu="contentAreaContextMenu"
autocompletepopup="PopupAutoComplete"/>
autocompletepopup="PopupAutoComplete"
datetimepicker="DateTimePickerPanel"/>
<chatbar id="pinnedchats" layer="true" mousethrough="always" hidden="true"/>
<statuspanel id="statusbar-display" inactive="true"/>
</vbox>
@@ -953,51 +973,12 @@
<vbox id="full-screen-warning-message" align="center">
<description id="full-screen-domain-text"/>
<description class="full-screen-description" value="&fullscreenExitHint.value;"/>
<vbox id="full-screen-approval-pane" align="center">
<description class="full-screen-description" value="&fullscreenApproval.value;"/>
<hbox>
<button label="&fullscreenAllowButton.label;"
oncommand="FullScreen.setFullscreenAllowed(true);"
class="full-screen-approval-button"/>
<button label="&fullscreenExitButton.label;"
oncommand="FullScreen.setFullscreenAllowed(false);"
class="full-screen-approval-button"/>
</hbox>
<checkbox id="full-screen-remember-decision"/>
</vbox>
</vbox>
</hbox>
</hbox>
<vbox id="browser-bottombox" layer="true">
<notificationbox id="global-notificationbox"/>
#ifdef MOZ_DEVTOOLS
<toolbar id="developer-toolbar"
class="devtools-toolbar"
hidden="true">
#ifdef XP_MACOSX
<toolbarbutton id="developer-toolbar-closebutton"
class="devtools-closebutton"
oncommand="DeveloperToolbar.hide();"
tooltiptext="&devToolbarCloseButton.tooltiptext;"/>
#endif
<stack class="gclitoolbar-stack-node" flex="1">
<textbox class="gclitoolbar-input-node" rows="1"/>
<hbox class="gclitoolbar-complete-node"/>
</stack>
<toolbarbutton id="developer-toolbar-toolbox-button"
class="developer-toolbar-button"
observes="devtoolsMenuBroadcaster_DevToolbox"
tooltiptext="&devToolbarToolsButton.tooltip;"/>
#ifndef XP_MACOSX
<toolbarbutton id="developer-toolbar-closebutton"
class="devtools-closebutton"
oncommand="DeveloperToolbar.hide();"
tooltiptext="&devToolbarCloseButton.tooltiptext;"/>
#endif
</toolbar>
#endif
<toolbar id="addon-bar"
toolbarname="&statusBar.label;" accesskey="&statusBar.accesskey;"
collapsed="true"
+121 -6
View File
@@ -3,9 +3,9 @@
* 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/. */
let Cc = Components.classes;
let Ci = Components.interfaces;
let Cu = Components.utils;
var Cc = Components.classes;
var Ci = Components.interfaces;
var Cu = Components.utils;
Cu.import("resource://gre/modules/XPCOMUtils.jsm");
@@ -13,6 +13,8 @@ XPCOMUtils.defineLazyModuleGetter(this, "BrowserUtils",
"resource://gre/modules/BrowserUtils.jsm");
XPCOMUtils.defineLazyModuleGetter(this, "LoginManagerContent",
"resource://gre/modules/LoginManagerContent.jsm");
XPCOMUtils.defineLazyModuleGetter(this, "LoginFormFactory",
"resource://gre/modules/LoginManagerContent.jsm");
XPCOMUtils.defineLazyModuleGetter(this, "InsecurePasswordUtils",
"resource://gre/modules/InsecurePasswordUtils.jsm");
XPCOMUtils.defineLazyModuleGetter(this, "FormSubmitObserver",
@@ -47,8 +49,9 @@ addMessageListener("Browser:HideSessionRestoreButton", function (message) {
});
addEventListener("DOMFormHasPassword", function(event) {
InsecurePasswordUtils.checkForInsecurePasswords(event.target);
LoginManagerContent.onFormPassword(event);
LoginManagerContent.onDOMFormHasPassword(event, content);
let formLike = LoginFormFactory.createFromForm(event.target);
InsecurePasswordUtils.reportInsecurePasswords(formLike);
});
addEventListener("DOMAutoComplete", function(event) {
LoginManagerContent.onUsernameInput(event);
@@ -57,8 +60,120 @@ addEventListener("blur", function(event) {
LoginManagerContent.onUsernameInput(event);
});
// Provide gContextMenuContentData for 'sdk/context-menu'
var handleContentContextMenu = function (event) {
let defaultPrevented = event.defaultPrevented;
if (!Services.prefs.getBoolPref("dom.event.contextmenu.enabled")) {
let plugin = null;
try {
plugin = event.target.QueryInterface(Ci.nsIObjectLoadingContent);
} catch (e) {}
if (plugin && plugin.displayedType == Ci.nsIObjectLoadingContent.TYPE_PLUGIN) {
// Don't open a context menu for plugins.
return;
}
defaultPrevented = false;
}
if (defaultPrevented)
return;
let addonInfo = {};
let subject = {
event: event,
addonInfo: addonInfo,
};
subject.wrappedJSObject = subject;
Services.obs.notifyObservers(subject, "content-contextmenu", null);
let doc = event.target.ownerDocument;
let docLocation = doc.mozDocumentURIIfNotForErrorPages;
docLocation = docLocation && docLocation.spec;
let charSet = doc.characterSet;
let baseURI = doc.baseURI;
let referrer = doc.referrer;
let referrerPolicy = doc.referrerPolicy;
let frameOuterWindowID = doc.defaultView.QueryInterface(Ci.nsIInterfaceRequestor)
.getInterface(Ci.nsIDOMWindowUtils)
.outerWindowID;
let loginFillInfo = LoginManagerContent.getFieldContext(event.target);
// The same-origin check will be done in nsContextMenu.openLinkInTab.
let parentAllowsMixedContent = !!docShell.mixedContentChannel;
// get referrer attribute from clicked link and parse it
// if per element referrer is enabled, the element referrer overrules
// the document wide referrer
if (Services.prefs.getBoolPref("network.http.enablePerElementReferrer")) {
let referrerAttrValue = Services.netUtils.parseAttributePolicyString(event.target.
getAttribute("referrerpolicy"));
if (referrerAttrValue !== Ci.nsIHttpChannel.REFERRER_POLICY_UNSET) {
referrerPolicy = referrerAttrValue;
}
}
// Media related cache info parent needs for saving
let contentType = null;
let contentDisposition = null;
if (event.target.nodeType == Ci.nsIDOMNode.ELEMENT_NODE &&
event.target instanceof Ci.nsIImageLoadingContent &&
event.target.currentURI) {
try {
let imageCache =
Cc["@mozilla.org/image/tools;1"].getService(Ci.imgITools)
.getImgCacheForDocument(doc);
let props =
imageCache.findEntryProperties(event.target.currentURI, doc);
try {
contentType = props.get("type", Ci.nsISupportsCString).data;
} catch (e) {}
try {
contentDisposition =
props.get("content-disposition", Ci.nsISupportsCString).data;
} catch (e) {}
} catch (e) {}
}
let selectionInfo = BrowserUtils.getSelectionDetails(content);
let loadContext = docShell.QueryInterface(Ci.nsILoadContext);
let userContextId = loadContext.originAttributes.userContextId;
let browser = docShell.chromeEventHandler;
let mainWin = browser.ownerGlobal;
mainWin.gContextMenuContentData = {
isRemote: false,
event: event,
popupNode: event.target,
browser: browser,
addonInfo: addonInfo,
documentURIObject: doc.documentURIObject,
docLocation: docLocation,
charSet: charSet,
referrer: referrer,
referrerPolicy: referrerPolicy,
contentType: contentType,
contentDisposition: contentDisposition,
selectionInfo: selectionInfo,
loginFillInfo,
parentAllowsMixedContent,
userContextId,
};
}
Cc["@mozilla.org/eventlistenerservice;1"]
.getService(Ci.nsIEventListenerService)
.addSystemEventListener(global, "contextmenu", handleContentContextMenu, false);
// Lazily load the finder code
addMessageListener("Finder:Initialize", function () {
let {RemoteFinderListener} = Cu.import("resource://gre/modules/RemoteFinder.jsm", {});
new RemoteFinderListener(global);
});
});
addEventListener("DOMWebNotificationClicked", function(event) {
sendAsyncMessage("DOMWebNotificationClicked", {});
}, false);
@@ -0,0 +1,6 @@
# -*- Mode: Java; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
# 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/.
<script type="application/javascript" src="chrome://browser/content/browser-devtools-theme.js"/>
@@ -24,6 +24,9 @@
# wishes to include *must* go into the global-scripts.inc file
# so that they can be shared by this overlay.
#include global-scripts.inc
#ifdef MOZ_DEVTOOLS
#include global-devtools-theme-scripts.inc
#endif
<script type="application/javascript">
function OpenBrowserWindowFromDockMenu(options) {
@@ -7,7 +7,7 @@
/**
* This singleton implements site dragging functionality.
*/
let gDrag = {
var gDrag = {
/**
* The site offset to the drag start point.
*/
@@ -4,7 +4,7 @@
* You can obtain one at http://mozilla.org/MPL/2.0/. */
#endif
let gDragDataHelper = {
var gDragDataHelper = {
get mimeType() {
return "text/x-moz-url";
},
@@ -11,7 +11,7 @@ const DELAY_REARRANGE_MS = 100;
/**
* This singleton implements site dropping functionality.
*/
let gDrop = {
var gDrop = {
/**
* The last drop target.
*/
@@ -9,7 +9,7 @@
* indicate the transformation that results from dropping a cell at a certain
* position.
*/
let gDropPreview = {
var gDropPreview = {
/**
* Rearranges the sites currently contained in the grid when a site would be
* dropped onto the given cell.
@@ -9,7 +9,7 @@
* the default DnD target detection relies on the cursor's position. We want
* to pick a drop target based on the dragged site's position.
*/
let gDropTargetShim = {
var gDropTargetShim = {
/**
* Cache for the position of all cells, cleaned after drag finished.
*/
@@ -7,7 +7,7 @@
/**
* This singleton represents the grid that contains all sites.
*/
let gGrid = {
var gGrid = {
/**
* The DOM node of the grid.
*/
@@ -59,8 +59,13 @@ let gGrid = {
* Refreshes the grid and re-creates all sites.
*/
refresh: function Grid_refresh() {
let cells = this.cells;
if (!cells) {
return;
}
// Remove all sites.
this.cells.forEach(function (cell) {
cells.forEach(function (cell) {
let node = cell.node;
let child = node.firstElementChild;
@@ -109,7 +114,12 @@ let gGrid = {
// (Re-)initialize all cells.
let cellElements = this.node.querySelectorAll(".newtab-cell");
this._cells = [new Cell(this, cell) for (cell of cellElements)];
// Tycho: this._cells = [new Cell(this, cell) for (cell of cellElements)];
this._cells = [];
for (let cellItem of cellElements) {
this._cells.push(new Cell(this, cellItem));
}
},
/**
@@ -4,8 +4,8 @@
"use strict";
let Cu = Components.utils;
let Ci = Components.interfaces;
var Cu = Components.utils;
var Ci = Components.interfaces;
Cu.import("resource://gre/modules/XPCOMUtils.jsm");
Cu.import("resource://gre/modules/Services.jsm");
@@ -18,7 +18,7 @@ XPCOMUtils.defineLazyModuleGetter(this, "Rect",
XPCOMUtils.defineLazyModuleGetter(this, "PrivateBrowsingUtils",
"resource://gre/modules/PrivateBrowsingUtils.jsm");
let {
var {
links: gLinks,
allPages: gAllPages,
linkChecker: gLinkChecker,
@@ -8,7 +8,7 @@
* This singleton represents the whole 'New Tab Page' and takes care of
* initializing all its components.
*/
let gPage = {
var gPage = {
/**
* Initializes the page.
*/
@@ -9,7 +9,7 @@
* in the DOM and by showing or hiding the node. It additionally provides
* convenience methods to work with a site's DOM node.
*/
let gTransformation = {
var gTransformation = {
/**
* Returns the width of the left and top border of a cell. We need to take it
* into account when measuring and comparing site and cell positions.
@@ -8,7 +8,7 @@
* Dialog allowing to undo the removal of single site or to completely restore
* the grid's original state.
*/
let gUndoDialog = {
var gUndoDialog = {
/**
* The undo dialog's timeout in miliseconds.
*/
@@ -8,7 +8,7 @@
* This singleton provides functionality to update the current grid to a new
* set of pinned and blocked sites. It adds, moves and removes sites.
*/
let gUpdater = {
var gUpdater = {
/**
* Updates the current grid according to its pinned and blocked sites.
* This removes old, moves existing and creates new sites to fill gaps.
@@ -4,6 +4,8 @@
Components.utils.import("resource://gre/modules/PrivateBrowsingUtils.jsm");
var gContextMenuContentData = null;
function nsContextMenu(aXulMenu, aIsShift) {
this.shouldDisplay = true;
this.initMenu(aXulMenu, aIsShift);
@@ -39,6 +41,7 @@ nsContextMenu.prototype = {
},
hiding: function CM_hiding() {
gContextMenuContentData = null;
InlineSpellCheckerUI.clearSuggestionsFromMenu();
InlineSpellCheckerUI.clearDictionaryListFromMenu();
InlineSpellCheckerUI.uninit();
@@ -265,7 +268,7 @@ nsContextMenu.prototype = {
// Hide menu entries for images, show otherwise
if (this.inFrame) {
if (mimeTypeIsTextBased(this.target.ownerDocument.contentType))
if (BrowserUtils.mimeTypeIsTextBased(this.target.ownerDocument.contentType))
this.isFrameImage.removeAttribute('hidden');
else
this.isFrameImage.setAttribute('hidden', 'true');
@@ -422,12 +425,17 @@ nsContextMenu.prototype = {
},
inspectNode: function CM_inspectNode() {
let {devtools} = Cu.import("resource://gre/modules/devtools/Loader.jsm", {});
let {devtools} = Cu.import("resource://devtools/shared/Loader.jsm", {});
let gBrowser = this.browser.ownerDocument.defaultView.gBrowser;
let tt = devtools.TargetFactory.forTab(gBrowser.selectedTab);
return gDevTools.showToolbox(tt, "inspector").then(function(toolbox) {
let target = devtools.TargetFactory.forTab(gBrowser.selectedTab);
return gDevTools.showToolbox(target, "inspector").then(function(toolbox) {
let inspector = toolbox.getCurrentPanel();
inspector.selection.setNode(this.target, "browser-context-menu");
this.browser.messageManager.sendAsyncMessage("debug:inspect", {}, {node: this.target});
inspector.walker.findInspectingNode().then(nodeFront => {
inspector.selection.setNodeFront(nodeFront, "browser-context-menu");
});
}.bind(this));
},
@@ -745,7 +753,8 @@ nsContextMenu.prototype = {
urlSecurityCheck(this.linkURL, doc.nodePrincipal);
openLinkIn(this.linkURL, "window",
{ charset: doc.characterSet,
referrerURI: doc.documentURIObject });
referrerURI: doc.documentURIObject,
referrerPolicy: doc.referrerPolicy });
},
// Open linked-to URL in a new private window.
@@ -755,6 +764,7 @@ nsContextMenu.prototype = {
openLinkIn(this.linkURL, "window",
{ charset: doc.characterSet,
referrerURI: doc.documentURIObject,
referrerPolicy: doc.referrerPolicy,
private: true });
},
@@ -764,7 +774,8 @@ nsContextMenu.prototype = {
urlSecurityCheck(this.linkURL, doc.nodePrincipal);
openLinkIn(this.linkURL, "tab",
{ charset: doc.characterSet,
referrerURI: doc.documentURIObject });
referrerURI: doc.documentURIObject,
referrerPolicy: doc.referrerPolicy });
},
// open URL in current tab
@@ -901,11 +912,15 @@ nsContextMenu.prototype = {
Ci.nsIScriptSecurityManager.DISALLOW_SCRIPT);
let doc = this.target.ownerDocument;
openUILink(viewURL, e, { disallowInheritPrincipal: true,
referrerURI: doc.documentURIObject });
referrerURI: doc.documentURIObject,
forceAllowDataURI: true });
}
},
saveVideoFrameAsImage: function () {
let referrerURI = document.documentURIObject;
let isPrivate = PrivateBrowsingUtils.isBrowserPrivate(this.browser);
urlSecurityCheck(this.mediaURL, this.browser.contentPrincipal,
Ci.nsIScriptSecurityManager.DISALLOW_SCRIPT);
let name = "";
@@ -923,7 +938,9 @@ nsContextMenu.prototype = {
canvas.height = video.videoHeight;
var ctxDraw = canvas.getContext("2d");
ctxDraw.drawImage(video, 0, 0);
saveImageURL(canvas.toDataURL("image/jpeg", ""), name, "SaveImageTitle", true, false, document.documentURIObject, this.target.ownerDocument);
saveImageURL(canvas.toDataURL("image/jpeg", ""), name, "SaveImageTitle",
true, false, referrerURI, null, null, null,
isPrivate);
},
fullScreenVideo: function () {
@@ -1106,10 +1123,17 @@ nsContextMenu.prototype = {
}
}
// set up a channel to do the saving
var ioService = Cc["@mozilla.org/network/io-service;1"].
getService(Ci.nsIIOService);
var channel = ioService.newChannelFromURI(makeURI(linkURL));
// setting up a new channel for 'right click - save link as ...'
// ideally we should use:
// * doc - as the loadingNode, and/or
// * this.principal - as the loadingPrincipal
// for now lets use systemPrincipal to bypass mixedContentBlocker
// checks after redirects, see bug: 1136055
var channel = NetUtil.newChannel({
uri: makeURI(linkURL),
loadUsingSystemPrincipal: true
});
if (linkDownload)
channel.contentDispositionFilename = linkDownload;
if (channel instanceof Ci.nsIPrivateBrowsingChannel) {
@@ -1142,7 +1166,7 @@ nsContextMenu.prototype = {
timer.TYPE_ONE_SHOT);
// kick off the channel with our proxy object as the listener
channel.asyncOpen(new saveAsListener(), null);
channel.asyncOpen2(new saveAsListener());
},
// Save URL of clicked-on link.
@@ -1174,6 +1198,8 @@ nsContextMenu.prototype = {
// Save URL of the clicked upon image, video, or audio.
saveMedia: function() {
var doc = this.target.ownerDocument;
let referrerURI = doc.documentURIObject;
let isPrivate = PrivateBrowsingUtils.isBrowserPrivate(this.browser);
if (this.onCanvas) {
// Bypass cache, since it's a blob: URL.
var target = this.target;
@@ -1189,14 +1215,16 @@ nsContextMenu.prototype = {
resolve(win.URL.createObjectURL(blob));
})
}}).then(function (blobURL) {
saveImageURL(blobURL, "canvas.png", "SaveImageTitle", true,
false, doc.documentURIObject, doc);
saveImageURL(blobURL, "canvas.png", "SaveImageTitle",
true, false, referrerURI, null, null, null,
isPrivate);
}, Components.utils.reportError);
}
} else if (this.onImage) {
urlSecurityCheck(this.mediaURL, doc.nodePrincipal);
saveImageURL(this.mediaURL, null, "SaveImageTitle", false,
false, doc.documentURIObject, doc);
saveImageURL(this.mediaURL, null, "SaveImageTitle",
false, false, referrerURI, doc, null, null,
isPrivate);
} else if (this.onVideo || this.onAudio) {
urlSecurityCheck(this.mediaURL, doc.nodePrincipal);
var dialogTitle = this.onVideo ? "SaveVideoTitle" : "SaveAudioTitle";
@@ -1373,9 +1401,8 @@ nsContextMenu.prototype = {
isDisabledForEvents: function(aNode) {
let ownerDoc = aNode.ownerDocument;
return
ownerDoc.defaultView &&
ownerDoc.defaultView
return ownerDoc.defaultView &&
ownerDoc.defaultView
.QueryInterface(Components.interfaces.nsIInterfaceRequestor)
.getInterface(Components.interfaces.nsIDOMWindowUtils)
.isNodeDisabledForEvents(aNode);
@@ -7,7 +7,7 @@
var browser;
var dialog = {};
var pref = null;
let openLocationModule = {};
var openLocationModule = {};
try {
pref = Components.classes["@mozilla.org/preferences-service;1"]
.getService(Components.interfaces.nsIPrefBranch);
@@ -16,7 +16,7 @@ try {
}
Components.utils.import("resource:///modules/openLocationLastURL.jsm", openLocationModule);
let gOpenLocationLastURL = new openLocationModule.OpenLocationLastURL(window.opener);
var gOpenLocationLastURL = new openLocationModule.OpenLocationLastURL(window.opener);
function onLoad()
{
@@ -61,45 +61,52 @@ function doEnabling()
function open()
{
var url;
var postData = {};
var mayInheritPrincipal = {value: false};
if (browser)
url = browser.getShortcutOrURI(dialog.input.value, postData, mayInheritPrincipal);
else
url = dialog.input.value;
getShortcutOrURIAndPostData(dialog.input.value).then(data => {
let url;
let postData = null;
let mayInheritPrincipal = false;
try {
// Whichever target we use for the load, we allow third-party services to
// fixup the URI
switch (dialog.openWhereList.value) {
case "0":
var webNav = Components.interfaces.nsIWebNavigation;
var flags = webNav.LOAD_FLAGS_ALLOW_THIRD_PARTY_FIXUP |
webNav.LOAD_FLAGS_FIXUP_SCHEME_TYPOS;
if (!mayInheritPrincipal.value)
flags |= webNav.LOAD_FLAGS_DISALLOW_INHERIT_OWNER;
browser.gBrowser.loadURIWithFlags(url, flags, null, null, postData.value);
break;
case "1":
window.opener.delayedOpenWindow(getBrowserURL(), "all,dialog=no",
url, postData.value, null, null, true);
break;
case "3":
browser.delayedOpenTab(url, null, null, postData.value, true);
break;
if (browser) {
url = data.url;
postData = data.postData;
mayInheritPrincipal = data.mayInheritPrincipal;
} else {
url = dialog.input.value;
}
}
catch(exception) {
}
if (pref) {
gOpenLocationLastURL.value = dialog.input.value;
pref.setIntPref("general.open_location.last_window_choice", dialog.openWhereList.value);
}
try {
// Whichever target we use for the load, we allow third-party services to
// fixup the URI
switch (dialog.openWhereList.value) {
case "0":
var webNav = Components.interfaces.nsIWebNavigation;
var flags = webNav.LOAD_FLAGS_ALLOW_THIRD_PARTY_FIXUP |
webNav.LOAD_FLAGS_FIXUP_SCHEME_TYPOS;
if (!mayInheritPrincipal)
flags |= webNav.LOAD_FLAGS_DISALLOW_INHERIT_PRINCIPAL;
browser.gBrowser.loadURIWithFlags(url, flags, null, null, postData);
break;
case "1":
window.opener.delayedOpenWindow(getBrowserURL(), "all,dialog=no",
url, postData, null, null, true);
break;
case "3":
browser.delayedOpenTab(url, null, null, postData, true);
break;
}
}
catch(exception) {
}
if (pref) {
gOpenLocationLastURL.value = dialog.input.value;
pref.setIntPref("general.open_location.last_window_choice", dialog.openWhereList.value);
}
// Delay closing slightly to avoid timing bug on Linux.
window.close();
});
// Delay closing slightly to avoid timing bug on Linux.
window.close();
return false;
}
+3 -3
View File
@@ -1,6 +1,6 @@
let Cc = Components.classes;
let Ci = Components.interfaces;
let Cu = Components.utils;
var Cc = Components.classes;
var Ci = Components.interfaces;
var Cu = Components.utils;
Cu.import("resource://gre/modules/XPCOMUtils.jsm");
var padlock_PadLock =
@@ -2,7 +2,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/. */
const Cu = Components.utils;
var Cu = Components.utils;
Cu.import("resource://gre/modules/LoadContextInfo.jsm");
Cu.import("resource://gre/modules/Services.jsm");
@@ -359,7 +359,7 @@ function loadPageInfo()
makeTabs(gDocument, gWindow);
initFeedTab();
onLoadPermission();
onLoadPermission(gDocument.nodePrincipal);
/* Call registered overlay init functions */
onLoadRegistry.forEach(function(func) { func(); });
@@ -857,7 +857,7 @@ function onBlockImage()
if (checkbox.checked)
permissionManager.add(uri, "image", nsIPermissionManager.DENY_ACTION);
else
permissionManager.remove(uri.host, "image");
permissionManager.remove(uri, "image");
}
function onImageSelect()
@@ -1112,8 +1112,9 @@ var imagePermissionObserver = {
var row = getSelectedRow(imageTree);
var item = gImageView.data[row][COL_IMAGE_NODE];
var url = gImageView.data[row][COL_IMAGE_ADDRESS];
if (makeURI(url).host == permission.host)
if (permission.matchesURI(makeURI(url), true)) {
makeBlockImage(url);
}
}
}
}
@@ -52,7 +52,6 @@
<command id="cmd_cookieDef" oncommand="onCheckboxClick('cookie');"/>
<command id="cmd_desktop-notificationDef" oncommand="onCheckboxClick('desktop-notification');"/>
<command id="cmd_installDef" oncommand="onCheckboxClick('install');"/>
<command id="cmd_fullscreenDef" oncommand="onCheckboxClick('fullscreen');"/>
<command id="cmd_geoDef" oncommand="onCheckboxClick('geo');"/>
<command id="cmd_indexedDBDef" oncommand="onCheckboxClick('indexedDB');"/>
<command id="cmd_pluginsDef" oncommand="onCheckboxClick('plugins');"/>
@@ -61,12 +60,9 @@
<command id="cmd_cookieToggle" oncommand="onRadioClick('cookie');"/>
<command id="cmd_desktop-notificationToggle" oncommand="onRadioClick('desktop-notification');"/>
<command id="cmd_installToggle" oncommand="onRadioClick('install');"/>
<command id="cmd_fullscreenToggle" oncommand="onRadioClick('fullscreen');"/>
<command id="cmd_geoToggle" oncommand="onRadioClick('geo');"/>
<command id="cmd_indexedDBToggle" oncommand="onRadioClick('indexedDB');"/>
<command id="cmd_pluginsToggle" oncommand="onPluginRadioClick(event);"/>
<command id="cmd_pointerLockDef" oncommand="onCheckboxClick('pointerLock');"/>
<command id="cmd_pointerLockToggle" oncommand="onRadioClick('pointerLock');"/>
</commandset>
<keyset id="pageInfoKeySet">
@@ -405,31 +401,6 @@
</radiogroup>
</hbox>
</vbox>
<vbox class="permission" id="permFullscreenRow">
<label class="permissionLabel" id="permFullscreenLabel"
value="&permFullscreen;" control="fullscreenRadioGroup"/>
<hbox id="permFullscreenBox" role="group" aria-labelledby="permFullscreenLabel">
<checkbox id="fullscreenDef" command="cmd_fullscreenDef" label="&permUseDefault;"/>
<spacer flex="1"/>
<radiogroup id="fullscreenRadioGroup" orient="horizontal">
<radio id="fullscreen#0" command="cmd_fullscreenToggle" label="&permAskAlways;"/>
<radio id="fullscreen#1" command="cmd_fullscreenToggle" label="&permAllow;"/>
<radio id="fullscreen#2" command="cmd_fullscreenToggle" label="&permBlock;"/>
</radiogroup>
</hbox>
</vbox>
<vbox class="permission" id="permPointerLockRow" >
<label class="permissionLabel" id="permPointerLockLabel"
value="&permPointerLock2;" control="pointerLockRadioGroup"/>
<hbox id="permPointerLockBox" role="group" aria-labelledby="permPointerLockLabel">
<checkbox id="pointerLockDef" command="cmd_pointerLockDef" label="&permAskAlways;"/>
<spacer flex="1"/>
<radiogroup id="pointerLockRadioGroup" orient="horizontal">
<radio id="pointerLock#1" command="cmd_pointerLockToggle" label="&permAllow;"/>
<radio id="pointerLock#2" command="cmd_pointerLockToggle" label="&permBlock;"/>
</radiogroup>
</hbox>
</vbox>
</vbox>
</vbox>
@@ -12,9 +12,10 @@ const IMAGE_DENY = 2;
const COOKIE_DENY = 2;
const COOKIE_SESSION = 2;
const nsIQuotaManager = Components.interfaces.nsIQuotaManager;
const nsIQuotaManagerService = Components.interfaces.nsIQuotaManagerService;
var gPermURI;
var gPermPrincipal;
var gPrefs;
var gUsageRequest;
@@ -75,20 +76,6 @@ var gPermObj = {
{
return UNKNOWN;
},
fullscreen: function getFullscreenDefaultPermissions()
{
if (!gPrefs.getBoolPref("full-screen-api.enabled")) {
return DENY;
}
return UNKNOWN;
},
pointerLock: function getPointerLockPermissions()
{
if (!gPrefs.getBoolPref("full-screen-api.pointer-lock.enabled")) {
return DENY;
}
return ALLOW;
},
};
var permissionObserver = {
@@ -97,7 +84,7 @@ var permissionObserver = {
if (aTopic == "perm-changed") {
var permission = aSubject.QueryInterface(
Components.interfaces.nsIPermission);
if (permission.host == gPermURI.host) {
if (permission.matchesURI(gPermURI, true)) {
if (permission.type in gPermObj)
initRow(permission.type);
else if (permission.type.startsWith("plugin"))
@@ -107,7 +94,7 @@ var permissionObserver = {
}
};
function onLoadPermission()
function onLoadPermission(principal)
{
gPrefs = Components.classes[PREFERENCES_CONTRACTID]
.getService(Components.interfaces.nsIPrefBranch);
@@ -116,8 +103,9 @@ function onLoadPermission()
var permTab = document.getElementById("permTab");
if (/^https?$/.test(uri.scheme)) {
gPermURI = uri;
gPermPrincipal = principal;
var hostText = document.getElementById("hostText");
hostText.value = gPermURI.host;
hostText.value = gPermURI.prePath;
for (var i in gPermObj)
initRow(i);
@@ -187,7 +175,7 @@ function onCheckboxClick(aPartId)
var command = document.getElementById("cmd_" + aPartId + "Toggle");
var checkbox = document.getElementById(aPartId + "Def");
if (checkbox.checked) {
permissionManager.remove(gPermURI.host, aPartId);
permissionManager.remove(gPermURI, aPartId);
command.setAttribute("disabled", "true");
var perm = gPermObj[aPartId]();
setRadioState(aPartId, perm);
@@ -211,7 +199,7 @@ function onRadioClick(aPartId)
var id = radioGroup.selectedItem.id;
var permission = id.split('#')[1];
if (permission == UNKNOWN) {
permissionManager.remove(gPermURI.host, aPartId);
permissionManager.remove(gPermURI, aPartId);
} else {
permissionManager.add(gPermURI, aPartId, permission);
}
@@ -230,10 +218,13 @@ function initIndexedDBRow()
row.appendChild(extras);
var quotaManager = Components.classes["@mozilla.org/dom/quota/manager;1"]
.getService(nsIQuotaManager);
var quotaManagerService =
Components.classes["@mozilla.org/dom/quota-manager-service;1"]
.getService(nsIQuotaManagerService);
gUsageRequest =
quotaManager.getUsageForURI(gPermURI, onIndexedDBUsageCallback);
quotaManagerService.getUsageForPrincipal(gPermPrincipal,
onIndexedDBUsageCallback);
var status = document.getElementById("indexedDBStatus");
var button = document.getElementById("indexedDBClear");
@@ -245,22 +236,24 @@ function initIndexedDBRow()
function onIndexedDBClear()
{
Components.classes["@mozilla.org/dom/quota/manager;1"]
.getService(nsIQuotaManager)
.clearStoragesForURI(gPermURI);
Components.classes["@mozilla.org/dom/quota-manager-service;1"]
.getService(nsIQuotaManagerService)
.clearStoragesForPrincipal(gPermPrincipal);
var permissionManager = Components.classes[PERMISSION_CONTRACTID]
.getService(nsIPermissionManager);
permissionManager.remove(gPermURI.host, "indexedDB");
permissionManager.remove(gPermURI, "indexedDB");
initIndexedDBRow();
}
function onIndexedDBUsageCallback(uri, usage, fileUsage)
function onIndexedDBUsageCallback(request)
{
let uri = request.principal.URI;
if (!uri.equals(gPermURI)) {
throw new Error("Callback received for bad URI: " + uri);
throw new Error("Callback received for bad URI: " + uri.spec);
}
let usage = request.result.usage;
if (usage) {
if (!("DownloadUtils" in window)) {
Components.utils.import("resource://gre/modules/DownloadUtils.jsm");
@@ -355,20 +348,33 @@ function initPluginsRow() {
}
}
let entries = [
{
// Tycho:
// let entries = [
// {
// "permission": item[0],
// "obj": item[1],
// }
// for (item of permissionMap)
// ];
let entries = [];
for (let item of permissionMap) {
entries.push({
"permission": item[0],
"obj": item[1],
}
for (item of permissionMap)
];
"obj": item[1]
});
}
entries.sort(function(a, b) {
return ((a.obj.name < b.obj.name) ? -1 : (a.obj.name == b.obj.name ? 0 : 1));
});
let permissionEntries = [
fillInPluginPermissionTemplate(p.permission, p.obj) for (p of entries)
];
// Tycho:
// let permissionEntries = [
// fillInPluginPermissionTemplate(p.permission, p.obj) for (p of entries)
// ];
let permissionEntries = [];
entries.forEach(function (p) {
permissionEntries.push(fillInPluginPermissionTemplate(p.permission, p.obj));
});
let permPluginsRow = document.getElementById("permPluginsRow");
clearPluginPermissionTemplate();
@@ -2,7 +2,6 @@
<panel id="notification-popup"
type="arrow"
footertype="promobox"
position="after_start"
hidden="true"
orient="vertical"
@@ -54,7 +53,7 @@
</hbox>
</panel>
#ifdef MOZ_WEBRTC
<popupnotification id="webRTC-shareDevices-notification" hidden="true">
<popupnotificationcontent id="webRTC-selectCamera" orient="vertical">
<separator class="thin"/>
@@ -75,7 +74,7 @@
</menulist>
</popupnotificationcontent>
</popupnotification>
#endif
<popupnotification id="servicesInstall-notification" hidden="true">
<popupnotificationcontent orient="vertical" align="start">
<!-- XXX bug 974146, tests are looking for this, can't remove yet. -->
@@ -89,6 +88,14 @@
</popupnotificationcontent>
</popupnotification>
<popupnotification id="password-notification" hidden="true">
<popupnotificationcontent orient="vertical">
<textbox id="password-notification-username"/>
<textbox id="password-notification-password" type="password" show-content=""/>
<checkbox id="password-notification-visibilityToggle" hidden="true"/>
</popupnotificationcontent>
</popupnotification>
<popupnotification id="mixed-content-blocked-notification" hidden="true">
<popupnotificationcontent orient="vertical" align="start">
<separator/>
+13 -6
View File
@@ -15,7 +15,7 @@ XPCOMUtils.defineLazyModuleGetter(this, "Promise",
XPCOMUtils.defineLazyModuleGetter(this, "Task",
"resource://gre/modules/Task.jsm");
XPCOMUtils.defineLazyModuleGetter(this, "console",
"resource://gre/modules/devtools/Console.jsm");
"resource://gre/modules/Console.jsm");
function Sanitizer() {}
Sanitizer.prototype = {
@@ -148,7 +148,8 @@ Sanitizer.prototype = {
if (cookie.creationTime > this.range[0])
// This cookie was created after our cutoff, clear it
cookieMgr.remove(cookie.host, cookie.name, cookie.path, false);
cookieMgr.remove(cookie.host, cookie.name, cookie.path,
false, cookie.originAttributes);
}
}
else {
@@ -213,10 +214,16 @@ Sanitizer.prototype = {
history: {
clear: function ()
{
if (this.range)
PlacesUtils.history.removeVisitsByTimeframe(this.range[0], this.range[1]);
else
PlacesUtils.history.removeAllPages();
if (this.range) {
PlacesUtils.history.removeVisitsByFilter({
beginDate: new Date(this.range[0] / 1000),
endDate: new Date(this.range[1] / 1000)
}).catch(Components.utils.reportError);;
} else {
// Remove everything.
PlacesUtils.history.clear()
.catch(Components.utils.reportError);
}
try {
var os = Components.classes["@mozilla.org/observer-service;1"]
@@ -3,8 +3,8 @@
* 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/. */
const Cc = Components.classes;
const Ci = Components.interfaces;
var Cc = Components.classes;
var Ci = Components.interfaces;
var gSanitizePromptDialog = {
@@ -2,7 +2,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/. */
const Cu = Components.utils;
var Cu = Components.utils;
Cu.import("resource://services-common/utils.js");
Cu.import("resource://services-sync/main.js");
@@ -11,7 +11,7 @@ Cu.import("resource://gre/modules/PlacesUtils.jsm", this);
Cu.import("resource://gre/modules/Services.jsm");
Cu.import("resource://gre/modules/XPCOMUtils.jsm");
let RemoteTabViewer = {
var RemoteTabViewer = {
_tabsList: null,
init: function () {
@@ -2,9 +2,9 @@
* 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/. */
const Ci = Components.interfaces;
const Cc = Components.classes;
const Cu = Components.utils;
var Ci = Components.interfaces;
var Cc = Components.classes;
var Cu = Components.utils;
Cu.import("resource://services-sync/main.js");
Cu.import("resource://gre/modules/XPCOMUtils.jsm");
@@ -15,7 +15,7 @@ const ADD_DEVICE_PAGE = 0;
const SYNC_KEY_PAGE = 1;
const DEVICE_CONNECTED_PAGE = 2;
let gSyncAddDevice = {
var gSyncAddDevice = {
init: function init() {
this.pin1.setAttribute("maxlength", PIN_PART_LENGTH);
@@ -2,13 +2,13 @@
* 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/. */
const Ci = Components.interfaces;
const Cc = Components.classes;
var Ci = Components.interfaces;
var Cc = Components.classes;
Components.utils.import("resource://services-sync/main.js");
Components.utils.import("resource://gre/modules/Services.jsm");
let Change = {
var Change = {
_dialog: null,
_dialogType: null,
_status: null,
@@ -6,8 +6,8 @@ const {classes: Cc, interfaces: Ci, utils: Cu, results: Cr} = Components;
Cu.import("resource://gre/modules/Services.jsm");
Cu.import("resource://services-sync/main.js");
let gProgressBar;
let gCounter = 0;
var gProgressBar;
var gCounter = 0;
function onLoad(event) {
Services.obs.addObserver(onEngineSync, "weave:engine:sync:finish", false);
@@ -10,7 +10,7 @@ const Cu = Components.utils;
Cu.import("resource://services-sync/main.js");
Cu.import("resource://gre/modules/DownloadUtils.jsm");
let gSyncQuota = {
var gSyncQuota = {
init: function init() {
this.bundle = document.getElementById("quotaStrings");
@@ -86,7 +86,7 @@ let gSyncQuota = {
};
let gUsageTreeView = {
var gUsageTreeView = {
_ignored: {keys: true,
meta: true,
@@ -2,10 +2,10 @@
* 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/. */
const Ci = Components.interfaces;
const Cc = Components.classes;
const Cr = Components.results;
const Cu = Components.utils;
var Ci = Components.interfaces;
var Cc = Components.classes;
var Cr = Components.results;
var Cu = Components.utils;
// page consts
@@ -8,7 +8,7 @@
const PERMISSIONS_RWUSR = 0x180;
// Weave should always exist before before this file gets included.
let gSyncUtils = {
var gSyncUtils = {
get bundle() {
delete this.bundle;
return this.bundle = Services.strings.createBundle("chrome://browser/locale/syncSetup.properties");
+260 -111
View File
@@ -30,7 +30,7 @@
<xul:vbox flex="1" class="browserContainer">
<xul:stack flex="1" class="browserStack" anonid="browserStack">
<xul:browser anonid="initialBrowser" type="content-primary" message="true" disablehistory="true"
xbl:inherits="tooltip=contenttooltip,contextmenu=contentcontextmenu,autocompletepopup"/>
xbl:inherits="tooltip=contenttooltip,contextmenu=contentcontextmenu,autocompletepopup,datetimepicker"/>
</xul:stack>
</xul:vbox>
</xul:hbox>
@@ -138,19 +138,19 @@
]]></getter>
</property>
<property name="formValidationAnchor" readonly="true">
<property name="popupAnchor" readonly="true">
<getter><![CDATA[
if (this.mCurrentTab._formValidationAnchor) {
return this.mCurrentTab._formValidationAnchor;
if (this.mCurrentTab._popupAnchor) {
return this.mCurrentTab._popupAnchor;
}
let stack = this.mCurrentBrowser.parentNode;
// Create an anchor for the form validation popup
// Create an anchor for the popup
const NS_XUL = "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul";
let formValidationAnchor = document.createElementNS(NS_XUL, "hbox");
formValidationAnchor.className = "form-validation-anchor";
formValidationAnchor.hidden = true;
stack.appendChild(formValidationAnchor);
return this.mCurrentTab._formValidationAnchor = formValidationAnchor;
let popupAnchor = document.createElementNS(NS_XUL, "hbox");
popupAnchor.className = "popup-anchor";
popupAnchor.hidden = true;
stack.appendChild(popupAnchor);
return this.mCurrentTab._popupAnchor = popupAnchor;
]]></getter>
</property>
@@ -302,6 +302,16 @@
</body>
</method>
<method name="getBrowserForContentWindow">
<parameter name="aWindow"/>
<body>
<![CDATA[
var tab = this._getTabForContentWindow(aWindow);
return tab ? tab.linkedBrowser : null;
]]>
</body>
</method>
<method name="getBrowserForOuterWindowID">
<parameter name="aID"/>
<body>
@@ -560,6 +570,12 @@
const nsIWebProgressListener = Components.interfaces.nsIWebProgressListener;
const nsIChannel = Components.interfaces.nsIChannel;
let location, originalLocation;
try {
aRequest.QueryInterface(nsIChannel)
location = aRequest.URI;
originalLocation = aRequest.originalURI;
} catch (ex) {}
if (aStateFlags & nsIWebProgressListener.STATE_START) {
this.mRequestCount++;
@@ -578,16 +594,8 @@
if (aStateFlags & nsIWebProgressListener.STATE_START &&
aStateFlags & nsIWebProgressListener.STATE_IS_NETWORK) {
// It's okay to clear what the user typed when we start
// loading a document. If the user types, this counter gets
// set to zero, if the document load ends without an
// onLocationChange, this counter gets decremented
// (so we keep it while switching tabs after failed loads)
// We need to add 2 because loadURIWithFlags may have
// cancelled a pending load which would have cleared
// its anchor scroll detection temporary increment.
if (aWebProgress.isTopLevel)
this.mBrowser.userTypedClear += 2;
this.mBrowser.urlbarChangeTracker.startedLoad();
if (this._shouldShowProgress(aRequest)) {
if (!(aStateFlags & nsIWebProgressListener.STATE_RESTORING)) {
@@ -615,8 +623,8 @@
this.mTab.removeAttribute("progress");
if (aWebProgress.isTopLevel) {
if (!Components.isSuccessCode(aStatus) &&
!isTabEmpty(this.mTab)) {
let isSuccessful = Components.isSuccessCode(aStatus);
if (!isSuccessful && !isTabEmpty(this.mTab)) {
// Restore the current document's location in case the
// request was stopped (possibly from a content script)
// before the location changed.
@@ -625,14 +633,8 @@
if (this.mTab.selected && gURLBar)
URLBarSetURI();
} else {
// The document is done loading, we no longer want the
// value cleared.
if (this.mBrowser.userTypedClear > 1)
this.mBrowser.userTypedClear -= 2;
else if (this.mBrowser.userTypedClear > 0)
this.mBrowser.userTypedClear--;
} else if (isSuccessful) {
this.mBrowser.urlbarChangeTracker.finishedLoad();
}
if (!this.mBrowser.mIconURL)
@@ -642,8 +644,6 @@
if (this.mBlank)
this.mBlank = false;
var location = aRequest.QueryInterface(nsIChannel).URI;
// For keyword URIs clear the user typed value since they will be changed into real URIs
if (location.scheme == "keyword")
this.mBrowser.userTypedValue = null;
@@ -686,13 +686,12 @@
let topLevel = aWebProgress.isTopLevel;
if (topLevel) {
// If userTypedClear > 0, the document loaded correctly and we should be
// clearing the user typed value. We also need to clear the typed value
// We need to clear the typed value
// if the document failed to load, to make sure the urlbar reflects the
// failed URI (particularly for SSL errors). However, don't clear the value
// if the error page's URI is about:blank, because that causes complete
// loss of urlbar contents for invalid URI errors (see bug 867957).
if (this.mBrowser.userTypedClear > 0 ||
if (this.mBrowser.didStartLoadSinceLastUserTyping() ||
((aFlags & Ci.nsIWebProgressListener.LOCATION_CHANGE_ERROR_PAGE) &&
aLocation.spec != "about:blank"))
this.mBrowser.userTypedValue = null;
@@ -707,7 +706,8 @@
let autocomplete = this.mTabBrowser._placesAutocomplete;
if (this.mBrowser.registeredOpenURI) {
autocomplete.unregisterOpenPage(this.mBrowser.registeredOpenURI);
autocomplete.unregisterOpenPage(this.mBrowser.registeredOpenURI,
this.mBrowser.getAttribute("usercontextid") || 0);
delete this.mBrowser.registeredOpenURI;
}
// Tabs in private windows aren't registered as "Open" so
@@ -715,7 +715,8 @@
if (!isBlankPageURL(aLocation.spec) &&
(!PrivateBrowsingUtils.isWindowPrivate(window) ||
PrivateBrowsingUtils.permanentPrivateBrowsing)) {
autocomplete.registerOpenPage(aLocation);
autocomplete.registerOpenPage(aLocation,
this.mBrowser.getAttribute("usercontextid") || 0);
this.mBrowser.registeredOpenURI = aLocation;
}
}
@@ -726,8 +727,10 @@
aFlags]);
}
if (topLevel)
if (topLevel) {
this.mBrowser.lastURI = aLocation;
this.mBrowser.lastLocationChange = Date.now();
}
},
onStatusChange: function (aWebProgress, aRequest, aStatus, aMessage) {
@@ -766,19 +769,28 @@
<method name="setIcon">
<parameter name="aTab"/>
<parameter name="aURI"/>
<parameter name="aLoadingPrincipal"/>
<body>
<![CDATA[
var browser = this.getBrowserForTab(aTab);
let browser = this.getBrowserForTab(aTab);
browser.mIconURL = aURI instanceof Ci.nsIURI ? aURI.spec : aURI;
if (aURI && this.mFaviconService) {
if (!(aURI instanceof Ci.nsIURI))
if (!(aURI instanceof Ci.nsIURI)) {
aURI = makeURI(aURI);
this.mFaviconService.setAndFetchFaviconForPage(browser.currentURI,
aURI, false,
PrivateBrowsingUtils.isWindowPrivate(window) ?
this.mFaviconService.FAVICON_LOAD_PRIVATE :
this.mFaviconService.FAVICON_LOAD_NON_PRIVATE);
}
// We do not serialize the principal from within SessionStore.jsm,
// hence if aLoadingPrincipal is null we default to the
// systemPrincipal which will allow the favicon to load.
let loadingPrincipal = aLoadingPrincipal
? aLoadingPrincipal
: Services.scriptSecurityManager.getSystemPrincipal();
let loadType = PrivateBrowsingUtils.isWindowPrivate(window)
? this.mFaviconService.FAVICON_LOAD_PRIVATE
: this.mFaviconService.FAVICON_LOAD_NON_PRIVATE;
this.mFaviconService.setAndFetchFaviconForPage(
browser.currentURI, aURI, false, loadType, null, loadingPrincipal);
}
let sizedIconUrl = browser.mIconURL || "";
@@ -874,7 +886,7 @@
if (!this.isFailedIcon(url))
icon = url;
}
this.setIcon(aTab, icon);
this.setIcon(aTab, icon, browser.contentPrincipal);
]]>
</body>
</method>
@@ -1252,6 +1264,7 @@
<parameter name="aAllowThirdPartyFixup"/>
<body>
<![CDATA[
var aReferrerPolicy;
var aFromExternal;
var aRelatedToCurrent;
if (arguments.length == 2 &&
@@ -1259,6 +1272,7 @@
!(arguments[1] instanceof Ci.nsIURI)) {
let params = arguments[1];
aReferrerURI = params.referrerURI;
aReferrerPolicy = params.referrerPolicy;
aCharset = params.charset;
aPostData = params.postData;
aLoadInBackground = params.inBackground;
@@ -1272,6 +1286,7 @@
var owner = bgLoad ? null : this.selectedTab;
var tab = this.addTab(aURI, {
referrerURI: aReferrerURI,
referrerPolicy: aReferrerPolicy,
charset: aCharset,
postData: aPostData,
ownerTab: owner,
@@ -1291,6 +1306,24 @@
<parameter name="aLoadInBackground"/>
<parameter name="aReplace"/>
<body><![CDATA[
let aAllowThirdPartyFixup;
let aTargetTab;
let aNewIndex = -1;
let aPostDatas = [];
let aUserContextId;
if (arguments.length == 2 &&
typeof arguments[1] == "object") {
let params = arguments[1];
aLoadInBackground = params.inBackground;
aReplace = params.replace;
aAllowThirdPartyFixup = params.allowThirdPartyFixup;
aTargetTab = params.targetTab;
aNewIndex = typeof params.newIndex === "number" ?
params.newIndex : aNewIndex;
aPostDatas = params.postDatas || aPostDatas;
aUserContextId = params.userContextId;
}
if (!aURIs.length)
return;
@@ -1308,22 +1341,53 @@
var multiple = aURIs.length > 1;
var owner = multiple || aLoadInBackground ? null : this.selectedTab;
var firstTabAdded = null;
var targetTabIndex = -1;
if (aReplace) {
let browser;
if (aTargetTab) {
browser = this.getBrowserForTab(aTargetTab);
targetTabIndex = aTargetTab._tPos;
} else {
browser = this.mCurrentBrowser;
targetTabIndex = this.tabContainer.selectedIndex;
}
let flags = Ci.nsIWebNavigation.LOAD_FLAGS_NONE;
if (aAllowThirdPartyFixup) {
flags |= Ci.nsIWebNavigation.LOAD_FLAGS_ALLOW_THIRD_PARTY_FIXUP |
Ci.nsIWebNavigation.LOAD_FLAGS_FIXUP_SCHEME_TYPOS;
}
try {
this.loadURI(aURIs[0], null, null);
browser.loadURIWithFlags(aURIs[0], {
flags, postData: aPostDatas[0]
});
} catch (e) {
// Ignore failure in case a URI is wrong, so we can continue
// opening the next ones.
}
} else {
firstTabAdded = this.addTab(aURIs[0], {
ownerTab: owner,
skipAnimation: multiple,
allowThirdPartyFixup: aAllowThirdPartyFixup,
postData: aPostDatas[0],
userContextId: aUserContextId
});
if (aNewIndex !== -1) {
this.moveTabTo(firstTabAdded, aNewIndex);
targetTabIndex = firstTabAdded._tPos;
}
}
else
firstTabAdded = this.addTab(aURIs[0], {ownerTab: owner, skipAnimation: multiple});
var tabNum = this.tabContainer.selectedIndex;
let tabNum = targetTabIndex;
for (let i = 1; i < aURIs.length; ++i) {
let tab = this.addTab(aURIs[i], {skipAnimation: true});
if (aReplace)
let tab = this.addTab(aURIs[i], {
skipAnimation: true,
allowThirdPartyFixup: aAllowThirdPartyFixup,
postData: aPostDatas[i],
userContextId: aUserContextId
});
if (targetTabIndex !== -1)
this.moveTabTo(tab, ++tabNum);
}
@@ -1348,6 +1412,7 @@
<body>
<![CDATA[
const NS_XUL = "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul";
var aReferrerPolicy;
var aFromExternal;
var aRelatedToCurrent;
var aSkipAnimation;
@@ -1356,6 +1421,7 @@
!(arguments[1] instanceof Ci.nsIURI)) {
let params = arguments[1];
aReferrerURI = params.referrerURI;
aReferrerPolicy = params.referrerPolicy;
aCharset = params.charset;
aPostData = params.postData;
aOwner = params.ownerTab;
@@ -1379,6 +1445,9 @@
t.setAttribute("label", aURI);
t.setAttribute("crop", "end");
t.style.maxWidth = this.tabContainer.mTabMaxWidth + "px";
t.style.minWidth = this.tabContainer.mTabMinWidth + "px";
t.width = 0;
t.setAttribute("validate", "never"); //PMed
t.setAttribute("onerror", "this.removeAttribute('image');");
t.className = "tabbrowser-tab";
@@ -1430,6 +1499,10 @@
b.setAttribute("autocompletepopup", this.getAttribute("autocompletepopup"));
b.setAttribute("autoscrollpopup", this._autoScrollPopup.id);
if (this.hasAttribute("datetimepicker")) {
b.setAttribute("datetimepicker", this.getAttribute("datetimepicker"));
}
// Create the browserStack container
var stack = document.createElementNS(NS_XUL, "stack");
stack.className = "browserStack";
@@ -1523,7 +1596,13 @@
if (aFromExternal)
flags |= Ci.nsIWebNavigation.LOAD_FLAGS_FROM_EXTERNAL;
try {
b.loadURIWithFlags(aURI, flags, aReferrerURI, aCharset, aPostData);
b.loadURIWithFlags(aURI, {
flags: flags,
referrerURI: aReferrerURI,
referrerPolicy: aReferrerPolicy,
charset: aCharset,
postData: aPostData,
});
} catch (ex) {
Cu.reportError(ex);
}
@@ -1566,7 +1645,7 @@
}
if (animate) {
mozRequestAnimationFrame(function () {
requestAnimationFrame(function () {
this.tabContainer._handleTabTelemetryStart(t, aURI);
// kick the animation off
@@ -1865,7 +1944,8 @@
this.mTabListeners[aTab._tPos].destroy();
if (browser.registeredOpenURI && !aTabWillBeMoved) {
this._placesAutocomplete.unregisterOpenPage(browser.registeredOpenURI);
this._placesAutocomplete.unregisterOpenPage(browser.registeredOpenURI,
browser.getAttribute("usercontextid") || 0);
delete browser.registeredOpenURI;
}
@@ -2133,7 +2213,7 @@
// Workarounds for bug 458697
// Icon might have been set on DOMLinkAdded, don't override that.
if (!ourBrowser.mIconURL && otherBrowser.mIconURL)
this.setIcon(aOurTab, otherBrowser.mIconURL);
this.setIcon(aOurTab, otherBrowser.mIconURL, otherBrowser.contentPrincipal);
var isBusy = aOtherTab.hasAttribute("busy");
if (isBusy) {
aOurTab.setAttribute("busy", "true");
@@ -2209,7 +2289,8 @@
<![CDATA[
// If the current URI is registered as open remove it from the list.
if (aOurBrowser.registeredOpenURI) {
this._placesAutocomplete.unregisterOpenPage(aOurBrowser.registeredOpenURI);
this._placesAutocomplete.unregisterOpenPage(aOurBrowser.registeredOpenURI,
aOurBrowser.getAttribute("usercontextid") || 0);
delete aOurBrowser.registeredOpenURI;
}
@@ -2633,6 +2714,11 @@
<parameter name="aPostData"/>
<body>
<![CDATA[
// Note - the callee understands both:
// (a) loadURIWithFlags(aURI, aFlags, ...)
// (b) loadURIWithFlags(aURI, { flags: aFlags, ... })
// Forwarding it as (a) here actually supports both (a) and (b),
// so you can call us either way too.
return this.mCurrentBrowser.loadURIWithFlags(aURI, aFlags, aReferrerURI, aCharset, aPostData);
]]>
</body>
@@ -2716,6 +2802,9 @@
get finder() {
return this.mTabBrowser.mCurrentBrowser.finder;
},
destroy: function() {
this.finder.destroy();
},
addResultListener: function(aListener) {
this.mListeners.add(aListener);
this.finder.addResultListener(aListener);
@@ -2736,21 +2825,33 @@
set caseSensitive(val) {
return this.finder.caseSensitive = val;
},
fastFind: function(aSearchString, aLinksOnly, aDrawOutline) {
this.finder.fastFind(aSearchString, aLinksOnly, aDrawOutline);
set entireWord(val) {
return this.finder.entireWord = val;
},
findAgain: function(aFindBackwards, aLinksOnly, aDrawOutline) {
this.finder.findAgain(aFindBackwards, aLinksOnly, aDrawOutline);
get highlighter() {
return this.finder.highlighter;
},
get matchesCountLimit() {
return this.finder.matchesCountLimit;
},
fastFind: function(...args) {
this.finder.fastFind(...args);
},
findAgain: function(...args) {
this.finder.findAgain(...args);
},
setSearchStringToSelection: function() {
return this.finder.setSearchStringToSelection();
},
highlight: function(aHighlight, aWord) {
this.finder.highlight(aHighlight, aWord);
highlight: function(...args) {
this.finder.highlight(...args);
},
getInitialSelection: function() {
this.finder.getInitialSelection();
},
getActiveSelectionText: function() {
return this.finder.getActiveSelectionText();
},
enableSelection: function() {
this.finder.enableSelection();
},
@@ -2760,11 +2861,38 @@
focusContent: function() {
this.finder.focusContent();
},
onFindbarClose: function() {
this.finder.onFindbarClose();
},
onFindbarOpen: function() {
this.finder.onFindbarOpen();
},
onModalHighlightChange: function(...args) {
return this.finder.onModalHighlightChange(...args);
},
onHighlightAllChange: function(...args) {
return this.finder.onHighlightAllChange(...args);
},
keyPress: function(aEvent) {
this.finder.keyPress(aEvent);
},
requestMatchesCount: function(aWord, aMatchLimit, aLinksOnly) {
this.finder.requestMatchesCount(aWord, aMatchLimit, aLinksOnly);
requestMatchesCount: function(...args) {
this.finder.requestMatchesCount(...args);
},
onIteratorRangeFound: function(...args) {
this.finder.onIteratorRangeFound(...args);
},
onIteratorReset: function() {
this.finder.onIteratorReset();
},
onIteratorRestart: function(...args) {
this.finder.onIteratorRestart(...args);
},
onIteratorStart: function(...args) {
this.finder.onIteratorStart(...args);
},
onLocationChange: function(...args) {
this.finder.onLocationChange(...args);
}
})
]]></field>
@@ -2773,6 +2901,19 @@
onget="return this.mCurrentBrowser.docShell"
readonly="true"/>
<property name="messageManager"
readonly="true">
<getter>
<![CDATA[
let frameLoader = this.mCurrentBrowser.frameLoader;
if (!frameLoader) {
return null;
}
return frameLoader.messageManager;
]]>
</getter>
</property>
<property name="webNavigation"
onget="return this.mCurrentBrowser.webNavigation"
readonly="true"/>
@@ -2789,6 +2930,10 @@
readonly="true"
onget="return this.mCurrentBrowser.contentWindow"/>
<property name="contentWindowAsCPOW"
readonly="true"
onget="return this.mCurrentBrowser.contentWindow;"/>
<property name="sessionHistory"
onget="return this.mCurrentBrowser.sessionHistory;"
readonly="true"/>
@@ -2809,6 +2954,10 @@
onget="return this.mCurrentBrowser.contentDocument;"
readonly="true"/>
<property name="contentDocumentAsCPOW"
onget="return this.mCurrentBrowser.contentDocument;"
readonly="true"/>
<property name="contentTitle"
onget="return this.mCurrentBrowser.contentTitle;"
readonly="true"/>
@@ -2859,23 +3008,6 @@
}
}
// We need to take care of FAYT-watching as long as the findbar
// isn't initialized. The checks on aEvent are copied from
// _shouldFastFind (see findbar.xml).
if (!gFindBarInitialized &&
!(aEvent.ctrlKey || aEvent.metaKey) &&
!aEvent.defaultPrevented) {
let charCode = aEvent.charCode;
if (charCode) {
let char = String.fromCharCode(charCode);
if (char == "'" || char == "/" ||
Services.prefs.getBoolPref("accessibility.typeaheadfind")) {
gFindBar._onBrowserKeypress(aEvent);
return;
}
}
}
#ifdef XP_MACOSX
if (!aEvent.metaKey)
return;
@@ -2903,10 +3035,6 @@
]]></body>
</method>
<property name="userTypedClear"
onget="return this.mCurrentBrowser.userTypedClear;"
onset="return this.mCurrentBrowser.userTypedClear = val;"/>
<property name="userTypedValue"
onget="return this.mCurrentBrowser.userTypedValue;"
onset="return this.mCurrentBrowser.userTypedValue = val;"/>
@@ -2950,13 +3078,31 @@
let browser = aMessage.target;
switch (aMessage.name) {
case "DOMTitleChanged":
case "DOMTitleChanged": {
let tab = this.getTabForBrowser(browser);
if (!tab)
return;
let titleChanged = this.setTabTitle(tab);
if (titleChanged && !tab.selected && !tab.hasAttribute("busy"))
tab.setAttribute("titlechanged", "true");
break;
}
case "DOMWebNotificationClicked": {
let tab = this.getTabForBrowser(browser);
if (!tab)
return;
this.selectedTab = tab;
window.focus();
break;
}
case "Findbar:Keypress":
if (!gFindBarInitialized) {
// If the find bar for this tab is not yet alive, change that,
// and make sure we return the result:
return gFindBar.receiveMessage(aMessage);
}
break;
}
]]></body>
</method>
@@ -3022,6 +3168,8 @@
this._outerWindowIDBrowserMap.set(this.mCurrentBrowser.outerWindowID,
this.mCurrentBrowser);
}
messageManager.addMessageListener("DOMWebNotificationClicked", this);
messageManager.addMessageListener("Findbar:Keypress", this);
]]>
</constructor>
@@ -3055,7 +3203,8 @@
for (var i = 0; i < this.mTabListeners.length; ++i) {
let browser = this.getBrowserAtIndex(i);
if (browser.registeredOpenURI) {
this._placesAutocomplete.unregisterOpenPage(browser.registeredOpenURI);
this._placesAutocomplete.unregisterOpenPage(browser.registeredOpenURI,
browser.getAttribute("usercontextid") || 0);
delete browser.registeredOpenURI;
}
browser.webProgress.removeProgressListener(this.mTabFilters[i]);
@@ -3264,6 +3413,8 @@
<implementation implements="nsIDOMEventListener">
<constructor>
<![CDATA[
this.mTabMinWidth = Services.prefs.getIntPref("browser.tabs.tabMinWidth");
this.mTabMaxWidth = Services.prefs.getIntPref("browser.tabs.tabMaxWidth");
this.mTabClipWidth = Services.prefs.getIntPref("browser.tabs.tabClipWidth");
this.mCloseButtons = Services.prefs.getIntPref("browser.tabs.closeButtons");
this._closeWindowWithLastTab = Services.prefs.getBoolPref("browser.tabs.closeWindowWithLastTab");
@@ -3271,6 +3422,9 @@
var tab = this.firstChild;
tab.setAttribute("label",
this.tabbrowser.mStringBundle.getString("tabs.emptyTabTitle"));
tab.style.minWidth = this.mTabMinWidth + "px";
tab.style.maxWidth = this.mTabMaxWidth + "px";
tab.width = 0;
tab.setAttribute("crop", "end");
tab.setAttribute("onerror", "this.removeAttribute('image');");
this.adjustTabstrip();
@@ -4362,40 +4516,35 @@
this.tabbrowser.updateCurrentBrowser(true);
} else {
// Pass true to disallow dropping javascript: or data: urls
let url;
let links;
try {
url = browserDragAndDrop.drop(event, { }, true);
links = browserDragAndDrop.dropLinks(event, true);
} catch (ex) {}
// // valid urls don't contain spaces ' '; if we have a space it isn't a valid url.
// if (!url || url.includes(" ")) //PMed
if (!url) //FF
if (!links || links.length === 0) //FF
return;
let bgLoad = Services.prefs.getBoolPref("browser.tabs.loadInBackground");
let inBackground = Services.prefs.getBoolPref("browser.tabs.loadInBackground");
if (event.shiftKey)
bgLoad = !bgLoad;
inBackground = !inBackground;
let tab = this._getDragTargetTab(event);
if (!tab || dropEffect == "copy") {
// We're adding a new tab.
let newIndex = this._getDropIndex(event);
let newTab = this.tabbrowser.loadOneTab(url, {inBackground: bgLoad, allowThirdPartyFixup: true});
this.tabbrowser.moveTabTo(newTab, newIndex);
} else {
// Load in an existing tab.
try {
let webNav = Ci.nsIWebNavigation;
let flags = webNav.LOAD_FLAGS_ALLOW_THIRD_PARTY_FIXUP |
webNav.LOAD_FLAGS_FIXUP_SCHEME_TYPOS;
this.tabbrowser.getBrowserForTab(tab).loadURIWithFlags(url, flags);
if (!bgLoad)
this.selectedItem = tab;
} catch(ex) {
// Just ignore invalid urls
}
}
let targetTab = this._getDragTargetTab(event);
let userContextId = this.selectedItem
.getAttribute("usercontextid") || 0;
let replace = !(!targetTab || dropEffect == "copy");
let newIndex = this._getDropIndex(event);
let urls = links.map(link => link.url);
this.tabbrowser.loadTabs(urls, {
inBackground,
replace,
allowThirdPartyFixup: true,
targetTab,
newIndex,
userContextId,
});
}
if (draggedTab) {
@@ -17,32 +17,32 @@
xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
xmlns:xbl="http://www.mozilla.org/xbl">
<binding id="urlbar" extends="chrome://global/content/bindings/autocomplete.xml#autocomplete">
<binding id="urlbar" extends="chrome://browser/content/autocomplete.xml#private-autocomplete">
<content sizetopopup="pref">
<xul:hbox anonid="textbox-container"
class="autocomplete-textbox-container urlbar-textbox-container"
class="private-autocomplete-textbox-container urlbar-textbox-container"
flex="1" xbl:inherits="focused">
<children includes="image|deck|stack|box">
<xul:image class="autocomplete-icon" allowevents="true"/>
<xul:image class="private-autocomplete-icon" allowevents="true"/>
</children>
<xul:hbox anonid="textbox-input-box"
class="textbox-input-box urlbar-input-box"
flex="1" xbl:inherits="tooltiptext=inputtooltiptext">
<children/>
<html:input anonid="input"
class="autocomplete-textbox urlbar-input textbox-input uri-element-right-align"
class="private-autocomplete-textbox urlbar-input textbox-input uri-element-right-align"
allowevents="true"
xbl:inherits="tooltiptext=inputtooltiptext,value,type,maxlength,disabled,size,readonly,placeholder,tabindex,accesskey"/>
</xul:hbox>
<children includes="hbox"/>
</xul:hbox>
<xul:dropmarker anonid="historydropmarker"
class="autocomplete-history-dropmarker urlbar-history-dropmarker"
class="private-autocomplete-history-dropmarker urlbar-history-dropmarker"
allowevents="true"
xbl:inherits="open,enablehistory,parentfocused=focused"/>
<xul:popupset anonid="popupset"
class="autocomplete-result-popupset"/>
class="private-autocomplete-result-popupset"/>
<children includes="toolbarbutton"/>
</content>
@@ -263,6 +263,9 @@
var postData = null;
var action = this._parseActionUrl(url);
let lastLocationChange = gBrowser.selectedBrowser.lastLocationChange;
let matchLastLocationChange = true;
if (action) {
url = action.param;
if (this.hasAttribute("actiontype")) {
@@ -275,82 +278,94 @@
}
return;
}
continueOperation.call(this);
}
else {
[url, postData, mayInheritPrincipal] = this._canonizeURL(aTriggeringEvent);
if (!url)
return;
this._canonizeURL(aTriggeringEvent, response => {
[url, postData, mayInheritPrincipal] = response;
if (url) {
matchLastLocationChange = (lastLocationChange ==
gBrowser.selectedBrowser.lastLocationChange);
continueOperation.call(this);
}
});
}
this.value = url;
gBrowser.userTypedValue = url;
try {
addToUrlbarHistory(url);
} catch (ex) {
// Things may go wrong when adding url to session history,
// but don't let that interfere with the loading of the url.
Cu.reportError(ex);
}
function loadCurrent() {
let webnav = Ci.nsIWebNavigation;
let flags = webnav.LOAD_FLAGS_ALLOW_THIRD_PARTY_FIXUP |
webnav.LOAD_FLAGS_FIXUP_SCHEME_TYPOS;
// Pass LOAD_FLAGS_DISALLOW_INHERIT_OWNER to prevent any loads from
// inheriting the currently loaded document's principal, unless this
// URL is marked as safe to inherit (e.g. came from a bookmark
// keyword).
if (!mayInheritPrincipal)
flags |= Ci.nsIWebNavigation.LOAD_FLAGS_DISALLOW_INHERIT_OWNER;
gBrowser.loadURIWithFlags(url, flags, null, null, postData);
}
// Focus the content area before triggering loads, since if the load
// occurs in a new tab, we want focus to be restored to the content
// area when the current tab is re-selected.
gBrowser.selectedBrowser.focus();
let isMouseEvent = aTriggeringEvent instanceof MouseEvent;
let altEnter = !isMouseEvent && aTriggeringEvent && aTriggeringEvent.altKey;
if (altEnter) {
// XXX This was added a long time ago, and I'm not sure why it is
// necessary. Alt+Enter's default action might cause a system beep,
// or something like that?
aTriggeringEvent.preventDefault();
aTriggeringEvent.stopPropagation();
}
// If the current tab is empty, ignore Alt+Enter (just reuse this tab)
altEnter = altEnter && !isTabEmpty(gBrowser.selectedTab);
if (isMouseEvent || altEnter) {
// Use the standard UI link behaviors for clicks or Alt+Enter
let where = "tab";
if (isMouseEvent)
where = whereToOpenLink(aTriggeringEvent, false, false);
if (where == "current") {
loadCurrent();
} else {
this.handleRevert();
let params = { allowThirdPartyFixup: true,
postData: postData,
initiatingDoc: document };
openUILinkIn(url, where, params);
function continueOperation()
{
this.value = url;
gBrowser.userTypedValue = url;
try {
addToUrlbarHistory(url);
} catch (ex) {
// Things may go wrong when adding url to session history,
// but don't let that interfere with the loading of the url.
Cu.reportError(ex);
}
function loadCurrent() {
let flags = Ci.nsIWebNavigation.LOAD_FLAGS_ALLOW_THIRD_PARTY_FIXUP;
// Pass LOAD_FLAGS_DISALLOW_INHERIT_PRINCIPAL to prevent any loads from
// inheriting the currently loaded document's principal, unless this
// URL is marked as safe to inherit (e.g. came from a bookmark
// keyword).
if (!mayInheritPrincipal)
flags |= Ci.nsIWebNavigation.LOAD_FLAGS_DISALLOW_INHERIT_PRINCIPAL;
// If the value wasn't typed, we know that we decoded the value as
// UTF-8 (see losslessDecodeURI)
if (!this.valueIsTyped)
flags |= Ci.nsIWebNavigation.LOAD_FLAGS_URI_IS_UTF8;
gBrowser.loadURIWithFlags(url, flags, null, null, postData);
}
// Focus the content area before triggering loads, since if the load
// occurs in a new tab, we want focus to be restored to the content
// area when the current tab is re-selected.
gBrowser.selectedBrowser.focus();
let isMouseEvent = aTriggeringEvent instanceof MouseEvent;
// If the current tab is empty, ignore Alt+Enter (just reuse this tab)
let altEnter = !isMouseEvent && aTriggeringEvent &&
aTriggeringEvent.altKey && !isTabEmpty(gBrowser.selectedTab);
if (isMouseEvent || altEnter) {
// Use the standard UI link behaviors for clicks or Alt+Enter
let where = "tab";
if (isMouseEvent)
where = whereToOpenLink(aTriggeringEvent, false, false);
if (where == "current") {
if (matchLastLocationChange) {
loadCurrent();
}
} else {
this.handleRevert();
let params = { allowThirdPartyFixup: true,
postData: postData,
initiatingDoc: document };
if (!this.valueIsTyped)
params.isUTF8 = true;
openUILinkIn(url, where, params);
}
} else {
if (matchLastLocationChange) {
loadCurrent();
}
}
} else {
loadCurrent();
}
]]></body>
</method>
<method name="_canonizeURL">
<parameter name="aTriggeringEvent"/>
<parameter name="aCallback"/>
<body><![CDATA[
var url = this.value;
if (!url)
return ["", null, false];
if (!url) {
aCallback(["", null, false]);
return;
}
// Only add the suffix when the URL bar value isn't already "URL-like",
// and only if we get a keyboard event, to match user expectations.
@@ -403,11 +418,9 @@
}
}
var postData = {};
var mayInheritPrincipal = { value: false };
url = getShortcutOrURI(url, postData, mayInheritPrincipal);
return [url, postData.value, mayInheritPrincipal.value];
getShortcutOrURIAndPostData(url).then(data => {
aCallback([data.url, data.postData, data.mayInheritPrincipal]);
});
]]></body>
</method>
@@ -442,11 +455,12 @@
<method name="onDrop">
<parameter name="aEvent"/>
<body><![CDATA[
let url = browserDragAndDrop.drop(aEvent, { })
let links = browserDragAndDrop.dropLinks(aEvent);
// The URL bar automatically handles inputs with newline characters,
// so we can get away with treating text/x-moz-url flavours as text/plain.
if (url) {
if (links.length > 0 && links[0].url) {
let url = links[0].url;
aEvent.preventDefault();
this.value = url;
SetPageProxyState("invalid");
@@ -823,7 +837,7 @@
</implementation>
</binding>
<binding id="urlbar-rich-result-popup" extends="chrome://global/content/bindings/autocomplete.xml#autocomplete-rich-result-popup">
<binding id="urlbar-rich-result-popup" extends="chrome://browser/content/autocomplete.xml#private-autocomplete-rich-result-popup">
<implementation>
<field name="_maxResults">0</field>
@@ -990,9 +1004,11 @@
document.getAnonymousElementByAttribute(this, "anonid", "cancel");
</field>
<field name="DownloadUtils" readonly="true">
let utils = {};
Components.utils.import("resource://gre/modules/DownloadUtils.jsm", utils);
utils.DownloadUtils;
{
let utils = {};
Components.utils.import("resource://gre/modules/DownloadUtils.jsm", utils);
utils.DownloadUtils;
}
</field>
<method name="destroy">
@@ -1354,8 +1370,8 @@
return;
}
let host = gPluginHandler._getHostFromPrincipal(this.notification.browser.contentWindow.document.nodePrincipal);
this._setupDescription("pluginActivateMultiple.message", null, host);
let prePath = this.notification.browser.contentWindow.document.nodePrincipal.URI.prePath;
this._setupDescription("pluginActivateMultiple.message", null, prePath);
var showBox = document.getAnonymousElementByAttribute(this, "anonid", "plugin-notification-showbox");
@@ -1394,7 +1410,7 @@
<method name="_setupSingleState">
<body><![CDATA[
var action = this.notification.options.centerActions[0];
var host = action.pluginPermissionHost;
var prePath = action.pluginPermissionPrePath;
let label, linkLabel, linkUrl, button1, button2;
@@ -1489,7 +1505,7 @@
Cu.reportError(Error("Unexpected blocklist state"));
}
}
this._setupDescription(label, action.pluginName, host);
this._setupDescription(label, action.pluginName, prePath);
this._setupLink(linkLabel, action.detailsLink);
this._primaryButton.label = gNavigatorBundle.getString(button1.label);
@@ -1510,7 +1526,7 @@
<method name="_setupDescription">
<parameter name="baseString" />
<parameter name="pluginName" /> <!-- null for the multiple-plugin case -->
<parameter name="host" />
<parameter name="prePath" />
<body><![CDATA[
var bsn = this._brandShortName;
var span = document.getAnonymousElementByAttribute(this, "anonid", "click-to-play-plugins-notification-description");
@@ -1518,17 +1534,17 @@
span.removeChild(span.lastChild);
}
var args = ["__host__", this._brandShortName];
var args = ["__prepath__", this._brandShortName];
if (pluginName) {
args.unshift(pluginName);
}
var bases = gNavigatorBundle.getFormattedString(baseString, args).
split("__host__", 2);
split("__prepath__", 2);
span.appendChild(document.createTextNode(bases[0]));
var hostSpan = document.createElementNS("http://www.w3.org/1999/xhtml", "em");
hostSpan.appendChild(document.createTextNode(host));
span.appendChild(hostSpan);
var prePathSpan = document.createElementNS("http://www.w3.org/1999/xhtml", "em");
prePathSpan.appendChild(document.createTextNode(prePath));
span.appendChild(prePathSpan);
span.appendChild(document.createTextNode(bases[1] + " "));
]]></body>
</method>
@@ -1764,203 +1780,14 @@
</implementation>
</binding>
<binding id="promobox">
<content>
<xul:hbox class="panel-promo-box" align="start" flex="1">
<xul:hbox align="center" flex="1">
<xul:image class="panel-promo-icon"/>
<xul:description anonid="promo-message" class="panel-promo-message" flex="1">
<xul:description anonid="promo-link"
class="plain text-link inline-link"
onclick="document.getBindingParent(this).onLinkClick();"/>
</xul:description>
</xul:hbox>
<xul:toolbarbutton class="panel-promo-closebutton close-icon"
oncommand="document.getBindingParent(this).onCloseButtonCommand();"
tooltiptext="&closeNotification.tooltip;"/>
</xul:hbox>
</content>
<implementation implements="nsIDOMEventListener">
<constructor><![CDATA[
this._panel.addEventListener("popupshowing", this, false);
]]></constructor>
<destructor><![CDATA[
this._panel.removeEventListener("popupshowing", this, false);
]]></destructor>
<field name="_panel" readonly="true"><![CDATA[
let node = this.parentNode;
while(node && node.localName != "panel") {
node = node.parentNode;
}
node;
]]></field>
<field name="_promomessage" readonly="true">
document.getAnonymousElementByAttribute(this, "anonid", "promo-message");
</field>
<field name="_promolink" readonly="true">
document.getAnonymousElementByAttribute(this, "anonid", "promo-link");
</field>
<field name="_brandBundle" readonly="true">
Services.strings.createBundle("chrome://branding/locale/brand.properties");
</field>
<property name="_viewsLeftMap">
<getter><![CDATA[
let viewsLeftMap = {};
try {
viewsLeftMap = JSON.parse(Services.prefs.getCharPref("browser.syncPromoViewsLeftMap"));
} catch (ex) {
// If the old preference exists, migrate it to the new one.
try {
let oldPref = Services.prefs.getIntPref("browser.syncPromoViewsLeft");
Services.prefs.clearUserPref("browser.syncPromoViewsLeft");
viewsLeftMap.bookmarks = oldPref;
viewsLeftMap.passwords = oldPref;
Services.prefs.setCharPref("browser.syncPromoViewsLeftMap",
JSON.stringify(viewsLeftMap));
} catch (ex2) {}
}
return viewsLeftMap;
]]></getter>
</property>
<property name="_viewsLeft">
<getter><![CDATA[
let views = 5;
let map = this._viewsLeftMap;
if (this._notificationType in map) {
views = map[this._notificationType];
}
return views;
]]></getter>
<setter><![CDATA[
let map = this._viewsLeftMap;
map[this._notificationType] = val;
Services.prefs.setCharPref("browser.syncPromoViewsLeftMap",
JSON.stringify(map));
return val;
]]></setter>
</property>
<property name="_notificationType">
<getter><![CDATA[
// Use the popupid attribute to identify the notification type,
// otherwise just rely on the panel id for common arrowpanels.
let type = this._panel.firstChild.getAttribute("popupid") ||
this._panel.id;
if (type.startsWith("password-"))
return "passwords";
if (type == "editBookmarkPanel")
return "bookmarks";
if (type == "addon-install-complete") {
if (!Services.prefs.prefHasUserValue("services.sync.username"))
return "addons";
if (!Services.prefs.getBoolPref("services.sync.engine.addons"))
return "addons-sync-disabled";
}
return null;
]]></getter>
</property>
<property name="_notificationMessage">
<getter><![CDATA[
return gNavigatorBundle.getFormattedString(
"syncPromoNotification." + this._notificationType + ".description",
[this._brandBundle.GetStringFromName("syncBrandShortName")]
);
]]></getter>
</property>
<property name="_notificationLink">
<getter><![CDATA[
if (this._notificationType == "addons-sync-disabled") {
return "https://forum.palemoon.org/viewforum.php?f=52";
}
return "http://www.palemoon.org/sync/";
]]></getter>
</property>
<method name="onCloseButtonCommand">
<body><![CDATA[
this._viewsLeft = 0;
this.hidden = true;
]]></body>
</method>
<method name="onLinkClick">
<body><![CDATA[
// Open a new selected tab and close the current panel.
gBrowser.loadOneTab(this._promolink.getAttribute("href"),
{ inBackground: false });
this._panel.hidePopup();
]]></body>
</method>
<method name="handleEvent">
<parameter name="event"/>
<body><![CDATA[
if (event.type != "popupshowing" || event.target != this._panel)
return;
// A previous notification may have unhidden this.
this.hidden = true;
// Only handle supported notification panels.
if (!this._notificationType) {
return;
}
let viewsLeft = this._viewsLeft;
if (viewsLeft) {
// XXX: Short-circuit this for now.
// TO-DO: Clean up this code for sync promotion
this._viewsLeft = 0;
viewsLeft = 0;
return;
// XXX
if (Services.prefs.prefHasUserValue("services.sync.username") &&
this._notificationType != "addons-sync-disabled") {
// If the user has already setup Sync, don't show the notification.
this._viewsLeft = 0;
// Be sure to hide the panel, in case it was visible and the user
// decided to setup Sync after noticing it.
viewsLeft = 0;
// The panel is still hidden, just bail out.
return;
}
else {
this._viewsLeft = viewsLeft - 1;
}
this._promolink.setAttribute("href", this._notificationLink);
this._promolink.value = gNavigatorBundle.getString("syncPromoNotification.learnMoreLinkText");
this.hidden = false;
// HACK: The description element doesn't wrap correctly in panels,
// thus set a width on it, based on the available space, before
// setting its textContent. Then set its height as well, to
// fix wrong height calculation on Linux (bug 659578).
this._panel.addEventListener("popupshown", function panelShown() {
this._panel.removeEventListener("popupshown", panelShown, true);
// Previous popupShown events may close the panel or change
// its contents, so ensure this is still valid.
if (this._panel.state != "open" || !this._notificationType)
return;
this._promomessage.width = this._promomessage.getBoundingClientRect().width;
this._promomessage.firstChild.textContent = this._notificationMessage;
this._promomessage.height = this._promomessage.getBoundingClientRect().height;
}.bind(this), true);
}
]]></body>
</method>
</implementation>
</binding>
<binding id="toolbarbutton-badged" display="xul:button"
extends="chrome://global/content/bindings/toolbarbutton.xml#toolbarbutton">
<content>
<children includes="observes|template|menupopup|panel|tooltip"/>
<xul:hbox class="toolbarbutton-badge-container" align="start" pack="end" flex="1">
<xul:hbox class="toolbarbutton-badge" xbl:inherits="badge"/>
<xul:stack class="toolbarbutton-badge-stack">
<xul:image class="toolbarbutton-icon" xbl:inherits="validate,src=image,label"/>
</xul:hbox>
<xul:label class="toolbarbutton-badge" xbl:inherits="value=badge" top="0" end="0"/>
</xul:stack>
<xul:label class="toolbarbutton-text" crop="right" flex="1"
xbl:inherits="value=label,accesskey,crop"/>
</content>
Loaded 100 of 5963 files, more files were not shown because too many files have changed in this diff. Show more