Compare commits

..
Author SHA1 Message Date
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
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 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
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
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
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 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 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
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
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 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
2815 changed files with 64769 additions and 854192 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'
-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:
+26
View File
@@ -0,0 +1,26 @@
# 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.
### 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> >;
@@ -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
}
-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
}
+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']
-8
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
+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>
+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']:
+158 -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,26 @@
#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
#ifdef MOZ_SANDBOX
#include "mozilla/sandboxing/SandboxInitialization.h"
#endif
#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) \
&& !(defined(XP_LINUX) && defined(MOZ_SANDBOX))
#define MOZ_BROWSER_CAN_BE_CONTENTPROC
#include "../../ipc/contentproc/plugin-container.cpp"
#endif
using namespace mozilla;
@@ -56,12 +50,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 +72,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 +111,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 +188,26 @@ 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];
}
XREShellData shellData;
#if defined(XP_WIN) && defined(MOZ_SANDBOX)
shellData.sandboxBrokerServices =
sandboxing::GetInitializedBrokerServices();
#endif
return XRE_XPCShellMain(--argc, argv, envp, &shellData);
}
if (appini) {
@@ -224,6 +217,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 +231,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 +242,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 +252,29 @@ 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
#if defined(XP_WIN) && defined(MOZ_SANDBOX)
sandbox::BrokerServices* brokerServices =
sandboxing::GetInitializedBrokerServices();
#if defined(MOZ_CONTENT_SANDBOX)
if (!brokerServices) {
Output("Couldn't initialize the broker services.\n");
return 255;
}
#endif
appData.sandboxBrokerServices = brokerServices;
#endif
#ifdef LIBFUZZER
if (getenv("LIBFUZZER"))
XRE_LibFuzzerSetMain(argc, argv, libfuzzer_main);
#endif
return XRE_main(argc, argv, &appData, mainFlags);
}
static bool
@@ -298,11 +290,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 +302,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 +328,72 @@ 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")) {
#if defined(XP_WIN) && defined(MOZ_SANDBOX)
// We need to initialize the sandbox TargetServices before InitXPCOMGlue
// because we might need the sandbox broker to give access to some files.
if (IsSandboxedProcess() && !sandboxing::GetInitializedTargetServices()) {
Output("Failed to initialize the sandbox target services.");
return 255;
}
#endif
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 +403,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();
@@ -1036,6 +1036,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);
@@ -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;
}
};
@@ -304,7 +304,7 @@ var FullScreen = {
},
_cancelAnimation: function() {
window.mozCancelAnimationFrame(this._animationHandle);
window.cancelAnimationFrame(this._animationHandle);
this._animationHandle = 0;
clearTimeout(this._animationTimeout);
this._isAnimating = false;
@@ -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");
@@ -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);
+76 -7
View File
@@ -115,8 +115,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 +280,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 +328,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 {
@@ -533,11 +606,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 +691,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 +750,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;
}
+131 -178
View File
@@ -3,10 +3,11 @@
# 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 Ci = Components.interfaces;
let Cu = Components.utils;
var Ci = Components.interfaces;
var Cu = Components.utils;
Cu.import("resource://gre/modules/XPCOMUtils.jsm");
Cu.import("resource://gre/modules/Services.jsm");
Cu.import("resource:///modules/RecentWindow.jsm");
XPCOMUtils.defineLazyModuleGetter(this, "CharsetMenu",
@@ -65,6 +66,9 @@ XPCOMUtils.defineLazyGetter(window, "gFindBar", function() {
return findbar;
});
XPCOMUtils.defineLazyModuleGetter(this, "BrowserUtils",
"resource://gre/modules/BrowserUtils.jsm");
XPCOMUtils.defineLazyGetter(this, "gPrefService", function() {
return Services.prefs;
});
@@ -109,20 +113,6 @@ XPCOMUtils.defineLazyGetter(this, "PopupNotifications", function () {
}
});
#ifdef MOZ_DEVTOOLS
XPCOMUtils.defineLazyGetter(this, "DeveloperToolbar", function() {
let tmp = {};
Cu.import("resource://gre/modules/devtools/DeveloperToolbar.jsm", tmp);
return new tmp.DeveloperToolbar(window, document.getElementById("developer-toolbar"));
});
XPCOMUtils.defineLazyGetter(this, "BrowserToolboxProcess", function() {
let tmp = {};
Cu.import("resource://gre/modules/devtools/ToolboxProcess.jsm", tmp);
return tmp.BrowserToolboxProcess;
});
#endif
XPCOMUtils.defineLazyModuleGetter(this, "PageThumbs",
"resource://gre/modules/PageThumbs.jsm");
@@ -152,7 +142,12 @@ let gInitialPages = [
#include browser-plugins.js
#include browser-tabPreviews.js
#include browser-thumbnails.js
#include browser-uacompat.js
#ifdef MOZ_WEBRTC
#include browser-webrtcUI.js
#endif
#include browser-gestureSupport.js
#ifdef MOZ_SERVICES_SYNC
@@ -336,6 +331,48 @@ const gSessionHistoryObserver = {
}
};
var gURLBarSettings = {
prefSuggest: "browser.urlbar.suggest.",
/*
For searching in the source code:
browser.urlbar.suggest.bookmark
browser.urlbar.suggest.history
browser.urlbar.suggest.openpage
*/
prefSuggests: [
"bookmark",
"history",
"openpage"
],
prefKeyword: "keyword.enabled",
observe: function(aSubject, aTopic, aData) {
if (aTopic != "nsPref:changed")
return;
this.writePlaceholder();
},
writePlaceholder: function() {
let attribute = "placeholder";
let prefs = this.prefSuggests.map(pref => {
return this.prefSuggest + pref;
});
prefs.push(this.prefKeyword);
let placeholderDefault = prefs.some(pref => {
return gPrefService.getBoolPref(pref);
});
if (placeholderDefault) {
gURLBar.setAttribute(
attribute, gNavigatorBundle.getString("urlbar.placeholder"));
} else {
gURLBar.setAttribute(
attribute, gNavigatorBundle.getString("urlbar.placeholderURLOnly"));
}
}
};
/**
* Given a starting docshell and a URI to look up, find the docshell the URI
* is loaded in.
@@ -663,6 +700,8 @@ const gXSSObserver = {
};
var gBrowserInit = {
delayedStartupFinished: false,
onLoad: function() {
gMultiProcessBrowser = gPrefService.getBoolPref("browser.tabs.remote");
@@ -685,6 +724,14 @@ var gBrowserInit = {
window.addEventListener("AppCommand", HandleAppCommandEvent, true);
// These routines add message listeners. They must run before
// loading the frame script to ensure that we don't miss any
// message sent between when the frame script is loaded and when
// the listener is registered.
#ifdef MOZ_DEVTOOLS
DevToolsTheme.init();
#endif
messageManager.loadFrameScript("chrome://browser/content/content.js", true);
messageManager.loadFrameScript("chrome://browser/content/content-sessionStore.js", true);
@@ -872,6 +919,7 @@ var gBrowserInit = {
TabsInTitlebar.init();
retrieveToolbarIconsizesFromTheme();
ToolbarIconColor.init();
UserAgentCompatibility.init();
#ifdef XP_WIN
if (window.matchMedia("(-moz-os-version: windows-win8)").matches &&
@@ -968,11 +1016,18 @@ var gBrowserInit = {
Services.obs.addObserver(gXPInstallObserver, "addon-install-complete", false);
Services.obs.addObserver(gXSSObserver, "xss-on-violate-policy", false);
gPrefService.addObserver(gURLBarSettings.prefSuggest, gURLBarSettings, false);
gPrefService.addObserver(gURLBarSettings.prefKeyword, gURLBarSettings, false);
gURLBarSettings.writePlaceholder();
BrowserOffline.init();
OfflineApps.init();
IndexedDBPromptHelper.init();
AddonManager.addAddonListener(AddonsMgrListener);
#ifdef MOZ_WEBRTC
WebrtcIndicator.init();
#endif
// Ensure login manager is up and running.
Services.logins;
@@ -1114,27 +1169,6 @@ var gBrowserInit = {
setUrlAndSearchBarWidthForConditionalForwardButton();
});
#ifdef MOZ_DEVTOOLS
// Enable Chrome Debugger?
let chromeEnabled = gPrefService.getBoolPref("devtools.chrome.enabled");
let remoteEnabled = chromeEnabled &&
gPrefService.getBoolPref("devtools.debugger.chrome-enabled") &&
gPrefService.getBoolPref("devtools.debugger.remote-enabled");
if (remoteEnabled) {
let cmd = document.getElementById("Tools:ChromeDebugger");
cmd.removeAttribute("disabled");
cmd.removeAttribute("hidden");
}
// Enable Scratchpad in the UI, if the preference allows this.
let scratchpadEnabled = gPrefService.getBoolPref(Scratchpad.prefEnabledName);
if (scratchpadEnabled) {
let cmd = document.getElementById("Tools:Scratchpad");
cmd.removeAttribute("disabled");
cmd.removeAttribute("hidden");
}
#endif
// Enable Error Console?
let consoleEnabled = gPrefService.getBoolPref("devtools.errorconsole.enabled");
if (consoleEnabled) {
@@ -1152,19 +1186,6 @@ var gBrowserInit = {
document.getElementById("appmenu_charsetMenu").hidden = true;
#endif
#ifdef MOZ_DEVTOOLS
// Enable Responsive UI?
let responsiveUIEnabled = gPrefService.getBoolPref("devtools.responsiveUI.enabled");
if (responsiveUIEnabled) {
let cmd = document.getElementById("Tools:ResponsiveUI");
cmd.removeAttribute("disabled");
cmd.removeAttribute("hidden");
}
// Add Devtools menuitems and listeners
gDevToolsBrowser.registerBrowserWindow(window);
#endif
let appMenuButton = document.getElementById("appmenu-button");
let appMenuPopup = document.getElementById("appmenu-popup");
if (appMenuButton && appMenuPopup) {
@@ -1205,6 +1226,8 @@ var gBrowserInit = {
setTimeout(function () { BrowserChromeTest.markAsReady(); }, 0);
});
this.delayedStartupFinished = true;
Services.obs.notifyObservers(window, "browser-delayed-startup-finished", "");
},
@@ -1240,15 +1263,6 @@ var gBrowserInit = {
if (!this._loadHandled)
return;
#ifdef MOZ_DEVTOOLS
gDevToolsBrowser.forgetBrowserWindow(window);
let desc = Object.getOwnPropertyDescriptor(window, "DeveloperToolbar");
if (desc && !desc.get) {
DeveloperToolbar.destroy();
}
#endif
// First clean up services initialized in gBrowserInit.onLoad (or those whose
// uninit methods don't depend on the services having been initialized).
@@ -1278,6 +1292,12 @@ var gBrowserInit = {
ToolbarIconColor.uninit();
#ifdef MOZ_DEVTOOLS
DevToolsTheme.uninit();
#endif
UserAgentCompatibility.uninit();
var enumerator = Services.wm.getEnumerator(null);
enumerator.getNext();
if (!enumerator.hasMoreElements()) {
@@ -1313,6 +1333,13 @@ var gBrowserInit = {
Services.obs.removeObserver(gXPInstallObserver, "addon-install-complete");
Services.obs.removeObserver(gXSSObserver, "xss-on-violate-policy");
try {
gPrefService.removeObserver(gURLBarSettings.prefSuggest, gURLBarSettings);
gPrefService.removeObserver(gURLBarSettings.prefKeyword, gURLBarSettings);
} catch (ex) {
Cu.reportError(ex);
}
try {
gPrefService.removeObserver(gHomeButton.prefDomain, gHomeButton);
} catch (ex) {
@@ -2010,49 +2037,43 @@ function readFromClipboard()
return url;
}
function BrowserViewSourceOfDocument(aDocument)
function BrowserViewSourceOfDocument(aArgsOrDocument)
{
var pageCookie;
var webNav;
let args;
// Get the document charset
var docCharset = "charset=" + aDocument.characterSet;
if (aArgsOrDocument instanceof Document) {
let doc = aArgsOrDocument;
// Get the nsIWebNavigation associated with the document
try {
var win;
var ifRequestor;
let requestor = doc.defaultView
.QueryInterface(Ci.nsIInterfaceRequestor);
let browser = requestor.getInterface(Ci.nsIWebNavigation)
.QueryInterface(Ci.nsIDocShell)
.chromeEventHandler;
let outerWindowID = requestor.getInterface(Ci.nsIDOMWindowUtils)
.outerWindowID;
let URL = browser.currentURI.spec;
args = { browser, outerWindowID, URL };
} else {
args = aArgsOrDocument;
}
// Get the DOMWindow for the requested document. If the DOMWindow
// cannot be found, then just use the content window...
//
// XXX: This is a bit of a hack...
win = aDocument.defaultView;
if (win == window) {
win = content;
let viewInternal = () => {
top.gViewSourceUtils.viewSource(args);
}
// Check if external view source is enabled. If so, try it. If it fails,
// fallback to internal view source.
if (Services.prefs.getBoolPref("view_source.editor.external")) {
top.gViewSourceUtils
.openInExternalEditor(args, null, null, null, result => {
if (!result) {
viewInternal();
}
ifRequestor = win.QueryInterface(Components.interfaces.nsIInterfaceRequestor);
webNav = ifRequestor.getInterface(nsIWebNavigation);
} catch(err) {
// If nsIWebNavigation cannot be found, just get the one for the whole
// window...
webNav = gBrowser.webNavigation;
});
} else {
// Display using internal view source
viewInternal();
}
//
// Get the 'PageDescriptor' for the current document. This allows the
// view-source to access the cached copy of the content rather than
// refetching it from the network...
//
try{
var PageLoader = webNav.QueryInterface(Components.interfaces.nsIWebPageDescriptor);
pageCookie = PageLoader.currentDescriptor;
} catch(err) {
// If no page descriptor is available, just use the view-source URL...
}
top.gViewSourceUtils.viewSource(webNav.currentURI.spec, pageCookie, aDocument);
}
// doc - document to use for source, or null for this window's document
@@ -2313,7 +2334,7 @@ function BrowserOnAboutPageLoad(doc) {
/**
* Handle command events bubbling up from error page content
*/
let BrowserOnClick = {
var BrowserOnClick = {
handleEvent: function BrowserOnClick_handleEvent(aEvent) {
if (!aEvent.isTrusted || // Don't trust synthetic events
aEvent.button == 2 || aEvent.target.localName != "button") {
@@ -2833,7 +2854,7 @@ const DOMLinkHandler = {
break;
let tab = gBrowser.tabs[browserIndex];
gBrowser.setIcon(tab, uri.spec);
gBrowser.setIcon(tab, uri.spec, link.ownerDocument.nodePrincipal);
iconAdded = true;
}
break;
@@ -3425,26 +3446,6 @@ function updateCharacterEncodingMenuState()
}
}
/**
* Returns true if |aMimeType| is text-based, false otherwise.
*
* @param aMimeType
* The MIME type to check.
*
* If adding types to this function, please also check the similar
* function in findbar.xml
*/
function mimeTypeIsTextBased(aMimeType)
{
return aMimeType.startsWith("text/") ||
aMimeType.endsWith("+xml") ||
aMimeType == "application/x-javascript" ||
aMimeType == "application/javascript" ||
aMimeType == "application/json" ||
aMimeType == "application/xml" ||
aMimeType == "mozilla.application/cached-xul";
}
var XULBrowserWindow = {
// Stored Status, Link and Loading values
status: "",
@@ -3668,7 +3669,7 @@ var XULBrowserWindow = {
this.setDefaultStatus(msg);
// Disable menu entries for images, enable otherwise
if (!gMultiProcessBrowser && content.document && mimeTypeIsTextBased(content.document.contentType))
if (!gMultiProcessBrowser && content.document && BrowserUtils.mimeTypeIsTextBased(content.document.contentType))
this.isImage.removeAttribute('disabled');
else
this.isImage.setAttribute('disabled', 'true');
@@ -3716,7 +3717,7 @@ var XULBrowserWindow = {
}
// Disable menu entries for images, enable otherwise
if (!gMultiProcessBrowser && content.document && mimeTypeIsTextBased(content.document.contentType))
if (!gMultiProcessBrowser && content.document && BrowserUtils.mimeTypeIsTextBased(content.document.contentType))
this.isImage.removeAttribute('disabled');
else
this.isImage.setAttribute('disabled', 'true');
@@ -3814,11 +3815,16 @@ var XULBrowserWindow = {
gFindBar.close();
}
// XXX
// See: https://github.com/MoonchildProductions/Pale-Moon/issues/364
// An actual preference: findbar.highlightAll
/*
if (!(gPrefService.getBoolPref("accessibility.typeaheadfind.highlightallremember") ||
gPrefService.getBoolPref("accessibility.typeaheadfind.highlightallbydefault"))) {
// fix bug 253793 - turn off highlight when page changes
gFindBar.getElement("highlight").checked = false;
}
*/
}
}
UpdateBackForwardCommands(gBrowser.webNavigation);
@@ -6825,20 +6831,9 @@ var TabContextMenu = {
};
#ifdef MOZ_DEVTOOLS
// Note: Do not delete! It is used for: base/content/nsContextMenu.js
XPCOMUtils.defineLazyModuleGetter(this, "gDevTools",
"resource://gre/modules/devtools/gDevTools.jsm");
XPCOMUtils.defineLazyModuleGetter(this, "gDevToolsBrowser",
"resource://gre/modules/devtools/gDevTools.jsm");
Object.defineProperty(this, "HUDService", {
get: function HUDService_getter() {
let devtools = Cu.import("resource://gre/modules/devtools/Loader.jsm", {}).devtools;
return devtools.require("devtools/webconsole/hudservice").HUDService;
},
configurable: true,
enumerable: true
});
"resource://devtools/client/framework/gDevTools.jsm");
#endif
// Prompt user to restart the browser in safe mode or normally
@@ -6929,49 +6924,6 @@ function toggleAddonBar() {
setToolbarVisibility(addonBar, addonBar.collapsed);
}
#ifdef MOZ_DEVTOOLS
var Scratchpad = {
prefEnabledName: "devtools.scratchpad.enabled",
openScratchpad: function SP_openScratchpad() {
return this.ScratchpadManager.openScratchpad();
}
};
XPCOMUtils.defineLazyGetter(Scratchpad, "ScratchpadManager", function() {
let tmp = {};
Cu.import("resource://gre/modules/devtools/scratchpad-manager.jsm", tmp);
return tmp.ScratchpadManager;
});
var ResponsiveUI = {
toggle: function RUI_toggle() {
this.ResponsiveUIManager.toggle(window, gBrowser.selectedTab);
}
};
XPCOMUtils.defineLazyGetter(ResponsiveUI, "ResponsiveUIManager", function() {
let tmp = {};
Cu.import("resource://gre/modules/devtools/responsivedesign.jsm", tmp);
return tmp.ResponsiveUIManager;
});
function openEyedropper() {
var eyedropper = new this.Eyedropper(this, { context: "menu",
copyOnSelect: true });
eyedropper.open();
}
Object.defineProperty(this, "Eyedropper", {
get: function() {
let devtools = Cu.import("resource://gre/modules/devtools/Loader.jsm", {}).devtools;
return devtools.require("devtools/eyedropper/eyedropper").Eyedropper;
},
configurable: true,
enumerable: true
});
#endif
XPCOMUtils.defineLazyGetter(window, "gShowPageResizers", function () {
#ifdef XP_WIN
// Only show resizers on Windows 2000 and XP
@@ -7051,7 +7003,8 @@ function focusNextFrame(event) {
if (element.ownerDocument == document)
focusAndSelectUrlBar();
}
let BrowserChromeTest = {
var BrowserChromeTest = {
_cb: null,
_ready: false,
markAsReady: function () {
@@ -7069,7 +7022,7 @@ let BrowserChromeTest = {
}
};
let ToolbarIconColor = {
var ToolbarIconColor = {
init: function () {
this._initialized = true;
+28 -34
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"
@@ -440,8 +458,10 @@
<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 +533,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 +545,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"
@@ -941,7 +961,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>
@@ -971,33 +992,6 @@
<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.
*/
@@ -109,7 +109,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));
},
@@ -901,11 +909,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 +935,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 +1120,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 +1163,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 +1195,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 +1212,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 +1398,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()
{
+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 =
@@ -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()
@@ -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;
@@ -107,7 +108,7 @@ var permissionObserver = {
}
};
function onLoadPermission()
function onLoadPermission(principal)
{
gPrefs = Components.classes[PREFERENCES_CONTRACTID]
.getService(Components.interfaces.nsIPrefBranch);
@@ -116,6 +117,7 @@ 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;
@@ -187,7 +189,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 +213,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 +232,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 +250,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 +362,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"]
@@ -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 () {
@@ -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);
@@ -8,7 +8,7 @@ const 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,
@@ -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");
+145 -51
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>
@@ -707,7 +717,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 +726,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;
}
}
@@ -766,19 +778,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 +895,7 @@
if (!this.isFailedIcon(url))
icon = url;
}
this.setIcon(aTab, icon);
this.setIcon(aTab, icon, browser.contentPrincipal);
]]>
</body>
</method>
@@ -1430,6 +1451,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";
@@ -1566,7 +1591,7 @@
}
if (animate) {
mozRequestAnimationFrame(function () {
requestAnimationFrame(function () {
this.tabContainer._handleTabTelemetryStart(t, aURI);
// kick the animation off
@@ -1865,7 +1890,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 +2159,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 +2235,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;
}
@@ -2716,6 +2743,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 +2766,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 +2802,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 +2842,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 +2871,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 +2895,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 +2949,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;
@@ -2950,13 +3023,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 +3113,8 @@
this._outerWindowIDBrowserMap.set(this.mCurrentBrowser.outerWindowID,
this.mCurrentBrowser);
}
messageManager.addMessageListener("DOMWebNotificationClicked", this);
messageManager.addMessageListener("Findbar:Keypress", this);
]]>
</constructor>
@@ -3055,7 +3148,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]);
@@ -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>
@@ -823,7 +823,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 +990,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">
@@ -1764,203 +1766,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>
@@ -205,6 +205,7 @@ function openUILinkIn(url, where, aAllowThirdPartyFixup, aPostData, aReferrerURI
openLinkIn(url, where, params);
}
/* eslint-disable complexity */
function openLinkIn(url, where, params) {
if (!where || !url)
return;
@@ -215,6 +216,7 @@ function openLinkIn(url, where, params) {
var aCharset = params.charset;
var aReferrerURI = params.referrerURI;
var aRelatedToCurrent = params.relatedToCurrent;
var aForceAllowDataURI = params.forceAllowDataURI;
var aInBackground = params.inBackground;
var aDisallowInheritPrincipal = params.disallowInheritPrincipal;
var aInitiatingDoc = params.initiatingDoc;
@@ -315,6 +317,9 @@ function openLinkIn(url, where, params) {
}
if (aDisallowInheritPrincipal)
flags |= Ci.nsIWebNavigation.LOAD_FLAGS_DISALLOW_INHERIT_OWNER;
if (aForceAllowDataURI) {
flags |= Ci.nsIWebNavigation.LOAD_FLAGS_FORCE_ALLOW_DATA_URI;
}
w.gBrowser.loadURIWithFlags(url, flags, aReferrerURI, null, aPostData);
break;
case "tabshifted":
+5
View File
@@ -53,6 +53,9 @@ browser.jar:
content/browser/browser-title.css (content/browser-title.css)
* content/browser/browser.js (content/browser.js)
* content/browser/browser.xul (content/browser.xul)
#ifdef MOZ_DEVTOOLS
content/browser/browser-devtools-theme.js (content/browser-devtools-theme.js)
#endif
* content/browser/browser-tabPreviews.xml (content/browser-tabPreviews.xml)
content/browser/content.js (content/content.js)
content/browser/padlock.xul (content/padlock.xul)
@@ -105,6 +108,8 @@ browser.jar:
* content/browser/sanitize.xul (content/sanitize.xul)
* content/browser/sanitizeDialog.js (content/sanitizeDialog.js)
content/browser/sanitizeDialog.css (content/sanitizeDialog.css)
* content/browser/autocomplete.css (content/autocomplete.css)
* content/browser/autocomplete.xml (content/autocomplete.xml)
content/browser/tabbrowser.css (content/tabbrowser.css)
* content/browser/tabbrowser.xml (content/tabbrowser.xml)
* content/browser/urlbarBindings.xml (content/urlbarBindings.xml)
@@ -4,4 +4,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/.
DIRS += ['content', 'locales']
DIST_SUBDIR = 'browser'
export('DIST_SUBDIR')
include('../shared/branding.mozbuild')
ApplicationBranding()
@@ -8,6 +8,8 @@ pref("app.releaseNotesURL", "http://www.palemoon.org/releasenotes.shtml");
// Enable Firefox compatmode by default.
pref("general.useragent.compatMode", 2);
pref("general.useragent.compatMode.gecko", true);
pref("general.useragent.compatMode.firefox", true);
// ========================= updates ========================
#if defined(XP_WIN)
@@ -4,52 +4,55 @@
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
DIRS += ['content', 'locales']
DIST_SUBDIR = 'browser'
export('DIST_SUBDIR')
JS_PREFERENCE_FILES += [
'pref/palemoon-branding.js',
]
if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'windows':
FINAL_TARGET_FILES['..'] += [
'palemoon.VisualElementsManifest.xml',
]
FINAL_TARGET_FILES.VisualElements += [
'VisualElements_150.png',
'VisualElements_70.png',
]
BRANDING_FILES += [
'../shared/newtab.ico',
'../shared/newwindow.ico',
'../shared/pbmode.ico',
'appname.bmp',
'branding.nsi',
'document.ico',
'firefox.ico',
'wizHeader.bmp',
'wizHeaderRTL.bmp',
'wizWatermark.bmp',
]
elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'cocoa':
BRANDING_FILES += [
'../shared/background.png',
'disk.icns',
'document.icns',
'dsstore',
'firefox.icns',
]
elif CONFIG['MOZ_WIDGET_GTK']:
BRANDING_FILES += [
'default16.png',
'default32.png',
'default48.png',
'mozicon128.png',
@template
def ApplicationBranding():
JS_PREFERENCE_PP_FILES += [
'pref/palemoon-branding.js',
]
DEFINES['MOZ_APP_VERSION'] = CONFIG['MOZ_APP_VERSION']
DEFINES['MOZ_BRANDING_DIRECTORY'] = CONFIG['MOZ_BRANDING_DIRECTORY']
DEFINES['MOZILLA_UAVERSION_U'] = CONFIG['MOZILLA_UAVERSION_U']
DEFINES['MOZILLA_COMPATVERSION_U'] = CONFIG['MOZILLA_COMPATVERSION_U']
if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'windows':
FINAL_TARGET_FILES['..'] += [
'palemoon.VisualElementsManifest.xml',
]
FINAL_TARGET_FILES.VisualElements += [
'VisualElements_150.png',
'VisualElements_70.png',
]
BRANDING_FILES += [
'../shared/newtab.ico',
'../shared/newwindow.ico',
'../shared/pbmode.ico',
'appname.bmp',
'branding.nsi',
'document.ico',
'firefox.ico',
'wizHeader.bmp',
'wizHeaderRTL.bmp',
'wizWatermark.bmp',
]
elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'cocoa':
BRANDING_FILES += [
'../shared/background.png',
'disk.icns',
'document.icns',
'dsstore',
'firefox.icns',
]
elif 'gtk' in CONFIG['MOZ_WIDGET_TOOLKIT']:
BRANDING_FILES += [
'default16.png',
'default32.png',
'default48.png',
'mozicon128.png',
]
FINAL_TARGET_FILES.icons += ['mozicon128.png']
FINAL_TARGET_FILES.chrome.icons.default += [
'default16.png',
'default32.png',
'default48.png',
]
DEFINES['MOZ_APP_VERSION'] = CONFIG['MOZ_APP_VERSION']
DEFINES['MOZ_BRANDING_DIRECTORY'] = CONFIG['MOZ_BRANDING_DIRECTORY']
DEFINES['MOZILLA_UAVERSION_U'] = CONFIG['MOZILLA_UAVERSION_U']
DEFINES['MOZILLA_COMPATVERSION_U'] = "52.9"
@@ -119,3 +119,11 @@ pref("browser.sessionstore.interval",60000); //every minute instead of every 10
pref("accessibility.force_disabled", 1);
// ============================================================================
// ===| DevTools |=============================================================
// Number of usages of the web console or scratchpad.
// If this is less than 5, then pasting code into the web console or scratchpad is disabled
pref("devtools.selfxss.count", 100);
// ============================================================================
@@ -36,6 +36,7 @@ pref("@GUAO_PREF@.yahoo.com","Mozilla/5.0 (@OS_SLICE@ rv:99.9) @GK_SLICE@ Firefo
pref("@GUAO_PREF@.youtube.com","Mozilla/5.0 (@OS_SLICE@ rv:42.0) @GK_SLICE@ Firefox/42.0 @PM_SLICE@");
pref("@GUAO_PREF@.gaming.youtube.com","Mozilla/5.0 (@OS_SLICE@ rv:42.0) @GK_SLICE@ Firefox/42.0");
pref("@GUAO_PREF@.dropbox.com","Mozilla/5.0 (Windows NT 6.1; Trident/7.0; rv:11.0) like Gecko");
pref("@GUAO_PREF@.players.brightcove.net","Mozilla/5.0 (Windows NT 6.1; Trident/7.0; rv:11.0) like Gecko");
// The never-ending Facebook debacle...
@@ -60,7 +61,6 @@ pref("@GUAO_PREF@.dailymotion.com","Mozilla/5.0 (@OS_SLICE@ rv:52.0) @GK_SLICE@
// The following requires native mode. Or it blocks.. "too old firefox", breakage, etc.
pref("@GUAO_PREF@.deviantart.com","Mozilla/5.0 (@OS_SLICE@ rv:@GRE_VERSION@) @GRE_DATE_SLICE@ @PM_SLICE@");
pref("@GUAO_PREF@.deviantart.net","Mozilla/5.0 (@OS_SLICE@ rv:@GRE_VERSION@) @GRE_DATE_SLICE@ @PM_SLICE@");
pref("@GUAO_PREF@.dropbox.com","Mozilla/5.0 (@OS_SLICE@ rv:@GRE_VERSION@) @GRE_DATE_SLICE@ @PM_SLICE@");
// UA-Sniffing domains below have indicated no interest in supporting Pale Moon (BOO!)
pref("@GUAO_PREF@.humblebundle.com","Mozilla/5.0 (@OS_SLICE@ rv:@GK_VERSION@) @GK_SLICE@ @FX_SLICE@ (Pale Moon)");
@@ -4,4 +4,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/.
DIRS += ['content', 'locales']
DIST_SUBDIR = 'browser'
export('DIST_SUBDIR')
include('../shared/branding.mozbuild')
ApplicationBranding()
@@ -4,4 +4,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/.
DIRS += ['content', 'locales']
DIST_SUBDIR = 'browser'
export('DIST_SUBDIR')
include('../shared/branding.mozbuild')
ApplicationBranding()
@@ -8,6 +8,8 @@ pref("app.releaseNotesURL", "http://www.palemoon.org/unstable/releasenotes.shtml
// Enable Firefox compatmode by default.
pref("general.useragent.compatMode", 2);
pref("general.useragent.compatMode.gecko", true);
pref("general.useragent.compatMode.firefox", true);
// ========================= updates ========================
#if defined(XP_WIN)
+12 -12
View File
@@ -3,40 +3,40 @@
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
installer:
@$(MAKE) -C browser/installer installer
@$(MAKE) -C application/palemoon/installer installer
package:
@$(MAKE) -C browser/installer
@$(MAKE) -C application/palemoon/installer
package-compare:
@$(MAKE) -C browser/installer package-compare
@$(MAKE) -C application/palemoon/installer package-compare
stage-package:
@$(MAKE) -C browser/installer stage-package
@$(MAKE) -C application/palemoon/installer stage-package
install::
@$(MAKE) -C browser/installer install
@$(MAKE) -C application/palemoon/installer install
clean::
@$(MAKE) -C browser/installer clean
@$(MAKE) -C application/palemoon/installer clean
distclean::
@$(MAKE) -C browser/installer distclean
@$(MAKE) -C application/palemoon/installer distclean
source-package::
@$(MAKE) -C browser/installer source-package
@$(MAKE) -C application/palemoon/installer source-package
upload::
@$(MAKE) -C browser/installer upload
@$(MAKE) -C application/palemoon/installer upload
source-upload::
@$(MAKE) -C browser/installer source-upload
@$(MAKE) -C application/palemoon/installer source-upload
hg-bundle::
@$(MAKE) -C browser/installer hg-bundle
@$(MAKE) -C application/palemoon/installer hg-bundle
l10n-check::
@$(MAKE) -C browser/locales l10n-check
@$(MAKE) -C application/palemoon/locales l10n-check
ifdef ENABLE_TESTS
# Implemented in testing/testsuite-targets.mk
@@ -9,8 +9,6 @@
#include "nsNetUtil.h"
#include "nsIScriptSecurityManager.h"
#include "mozilla/ArrayUtils.h"
#include "nsDOMString.h"
namespace mozilla {
namespace browser {
@@ -21,7 +19,6 @@ struct RedirEntry {
const char* id;
const char* url;
uint32_t flags;
const char* idbOriginPostfix;
};
/*
@@ -33,17 +30,47 @@ struct RedirEntry {
URI_SAFE_FOR_UNTRUSTED_CONTENT.
*/
static RedirEntry kRedirMap[] = {
{ "certerror", "chrome://browser/content/certerror/aboutCertError.xhtml",
{
"certerror", "chrome://browser/content/certerror/aboutCertError.xhtml",
nsIAboutModule::URI_SAFE_FOR_UNTRUSTED_CONTENT |
nsIAboutModule::ALLOW_SCRIPT |
nsIAboutModule::HIDE_FROM_ABOUTABOUT },
{ "feeds", "chrome://browser/content/feeds/subscribe.xhtml",
nsIAboutModule::HIDE_FROM_ABOUTABOUT
},
{
"downloads", "chrome://browser/content/downloads/contentAreaDownloadsView.xul",
nsIAboutModule::ALLOW_SCRIPT
},
{
"feeds", "chrome://browser/content/feeds/subscribe.xhtml",
nsIAboutModule::URI_SAFE_FOR_UNTRUSTED_CONTENT |
nsIAboutModule::ALLOW_SCRIPT |
nsIAboutModule::HIDE_FROM_ABOUTABOUT },
{ "privatebrowsing", "chrome://browser/content/aboutPrivateBrowsing.xhtml",
nsIAboutModule::ALLOW_SCRIPT },
{ "rights",
nsIAboutModule::HIDE_FROM_ABOUTABOUT
},
{
"home", "chrome://browser/content/abouthome/aboutHome.xhtml",
nsIAboutModule::URI_SAFE_FOR_UNTRUSTED_CONTENT |
nsIAboutModule::MAKE_LINKABLE |
nsIAboutModule::ALLOW_SCRIPT
},
{
"newtab", "chrome://browser/content/newtab/newTab.xul",
nsIAboutModule::ALLOW_SCRIPT
},
{
"palemoon", "chrome://global/content/memoriam.xhtml",
nsIAboutModule::URI_SAFE_FOR_UNTRUSTED_CONTENT |
nsIAboutModule::HIDE_FROM_ABOUTABOUT
},
{
"permissions", "chrome://browser/content/preferences/aboutPermissions.xul",
nsIAboutModule::ALLOW_SCRIPT
},
{
"privatebrowsing", "chrome://browser/content/aboutPrivateBrowsing.xhtml",
nsIAboutModule::ALLOW_SCRIPT
},
{
"rights",
#ifdef MOZ_OFFICIAL_BRANDING
"chrome://global/content/aboutRights.xhtml",
#else
@@ -51,34 +78,27 @@ static RedirEntry kRedirMap[] = {
#endif
nsIAboutModule::URI_SAFE_FOR_UNTRUSTED_CONTENT |
nsIAboutModule::MAKE_LINKABLE |
nsIAboutModule::ALLOW_SCRIPT },
{ "palemoon", "chrome://global/content/palemoon.xhtml",
nsIAboutModule::ALLOW_SCRIPT
},
{
"robots", "chrome://browser/content/aboutRobots.xhtml",
nsIAboutModule::URI_SAFE_FOR_UNTRUSTED_CONTENT |
nsIAboutModule::HIDE_FROM_ABOUTABOUT },
{ "logopage", "chrome://global/content/logopage.xhtml",
nsIAboutModule::URI_SAFE_FOR_UNTRUSTED_CONTENT |
nsIAboutModule::HIDE_FROM_ABOUTABOUT },
{ "robots", "chrome://browser/content/aboutRobots.xhtml",
nsIAboutModule::URI_SAFE_FOR_UNTRUSTED_CONTENT |
nsIAboutModule::ALLOW_SCRIPT },
{ "sessionrestore", "chrome://browser/content/aboutSessionRestore.xhtml",
nsIAboutModule::ALLOW_SCRIPT },
nsIAboutModule::ALLOW_SCRIPT
},
{
"sessionrestore", "chrome://browser/content/aboutSessionRestore.xhtml",
nsIAboutModule::ALLOW_SCRIPT
},
#ifdef MOZ_SERVICES_SYNC
{ "sync-progress", "chrome://browser/content/sync/progress.xhtml",
nsIAboutModule::ALLOW_SCRIPT },
{ "sync-tabs", "chrome://browser/content/sync/aboutSyncTabs.xul",
nsIAboutModule::ALLOW_SCRIPT },
{
"sync-progress", "chrome://browser/content/sync/progress.xhtml",
nsIAboutModule::ALLOW_SCRIPT
},
{
"sync-tabs", "chrome://browser/content/sync/aboutSyncTabs.xul",
nsIAboutModule::ALLOW_SCRIPT
},
#endif
{ "home", "chrome://browser/content/abouthome/aboutHome.xhtml",
nsIAboutModule::URI_SAFE_FOR_UNTRUSTED_CONTENT |
nsIAboutModule::MAKE_LINKABLE |
nsIAboutModule::ALLOW_SCRIPT },
{ "newtab", "chrome://browser/content/newtab/newTab.xul",
nsIAboutModule::ALLOW_SCRIPT },
{ "permissions", "chrome://browser/content/preferences/aboutPermissions.xul",
nsIAboutModule::ALLOW_SCRIPT },
{ "downloads", "chrome://browser/content/downloads/contentAreaDownloadsView.xul",
nsIAboutModule::ALLOW_SCRIPT },
};
static const int kRedirTotal = ArrayLength(kRedirMap);
@@ -148,30 +168,6 @@ AboutRedirector::GetURIFlags(nsIURI *aURI, uint32_t *result)
return NS_ERROR_ILLEGAL_VALUE;
}
NS_IMETHODIMP
AboutRedirector::GetIndexedDBOriginPostfix(nsIURI *aURI, nsAString &result)
{
NS_ENSURE_ARG_POINTER(aURI);
nsAutoCString name = GetAboutModuleName(aURI);
for (int i = 0; i < kRedirTotal; i++) {
if (name.Equals(kRedirMap[i].id)) {
const char* postfix = kRedirMap[i].idbOriginPostfix;
if (!postfix) {
break;
}
result.AssignASCII(postfix);
return NS_OK;
}
}
SetDOMStringToNull(result);
return NS_ERROR_ILLEGAL_VALUE;
}
nsresult
AboutRedirector::Create(nsISupports *aOuter, REFNSIID aIID, void **result)
{
@@ -18,17 +18,22 @@ LOCAL_INCLUDES += [
'../about',
'../dirprovider',
'../feeds',
'../migration',
'../shell',
]
if CONFIG['OS_ARCH'] == 'WINNT':
OS_LIBS += [
'esent',
'netapi32',
'ole32',
'shell32',
'shlwapi',
'version',
]
DELAYLOAD_DLLS += [
'esent.dll',
'netapi32.dll',
]
# Mac: Need to link with CoreFoundation for Mac Migrators (PList reading code)
# GTK2: Need to link with glib for GNOME shell service
@@ -4,14 +4,6 @@
/////////////////////////////////////////////////////////////////////////////
#ifdef XP_WIN
#define NS_WINIEHISTORYENUMERATOR_CID \
{ 0x93480624, 0x806e, 0x4756, { 0xb7, 0xcb, 0x0f, 0xb7, 0xdd, 0x74, 0x6a, 0x8f } }
#define NS_IEHISTORYENUMERATOR_CONTRACTID \
"@mozilla.org/profile/migrator/iehistoryenumerator;1"
#endif
#define NS_SHELLSERVICE_CID \
{ 0x63c7b9f4, 0xcc8, 0x43f8, { 0xb6, 0x66, 0xa, 0x66, 0x16, 0x55, 0xcb, 0x73 } }
Loaded 100 of 2815 files, more files were not shown because too many files have changed in this diff. Show more