Commit graph

1972 commits

Author SHA1 Message Date
Ehsan Akhgari
941548abbb Bug 1374892 - Implement nsISHistoryListener::OnLengthChanged/OnIndexChanged on the JS implementations to avoid generating silent exceptions when Gecko calls these functions; r=freesamael 2017-06-22 00:30:37 -04:00
Paolo Amadini
10ee6a5c4e Bug 1362970 - Part 2 - Script-generated patch to convert .then(null, ...) to .catch(...). r=florian
Changes to Promise tests designed to test .then(null) have been reverted, and the browser/extensions directory was excluded because the projects it contains have a separate process for accepting changes.

MozReview-Commit-ID: 1buqgX1EP4P

--HG--
extra : rebase_source : 3a9ea310d3e4a8642aabbc10636c04bfe2e77070
2017-06-19 11:32:37 +01:00
Dylan Roeh
31216ace5a Bug 1365599 - Make Tabs use the window event dispatcher rather than global in some instances. r=jchen 2017-06-16 13:40:48 -05:00
Michael Layzell
ac7ba92fd5 Bug 1368046 - Part 1: Propagate window.name across processes for RecvCreateWindowInDifferentProcess, r=smaug
MozReview-Commit-ID: 6xmLN9pbCKd
2017-06-07 12:54:53 -04:00
Wes Kocher
3c05a4998a Merge inbound to central, a=merge
MozReview-Commit-ID: Cb3YlCdVhQr
2017-06-05 17:34:09 -07:00
Jim Chen
50d7a19548 Bug 1367081 - 4. Load SelectHelper and InputWidgetHelper in PromptService.js; r=droeh
Right now SelectHelper and InputWidgetHelper are loaded in browser.js,
which means they only work for GeckoApp. This patch loads them in
PromptService.js instead, which means they will work in all windows. The
patch also changes some code in SelectHelper and InputWidgetHelper that
used to assume they are running under the browser.xul chrome window.

MozReview-Commit-ID: HveDzIzK1b4
2017-06-05 13:55:59 -04:00
Jim Chen
b51227fbc9 Bug 1367081 - 3. Include window when using Prompt.jsm; r=droeh
Include the window when using Prompt.jsm in JS so that the prompts can
be directed to the correct Activity.

MozReview-Commit-ID: 7AtYaCJXjDi
2017-06-05 13:55:58 -04:00
Varun Iyer
c7293ef605 Bug 1363843 - Remove Java Addons support from Fennec, Part 2 r=JanH
MozReview-Commit-ID: IefloUObRvY

--HG--
extra : rebase_source : 4ec4e5fe903798f41d11977d0cb655962e461466
2017-05-31 16:22:47 -07:00
Sebastian Hengst
cef1c12f64 Backed out changeset 6065144fe5b3 (bug 1367081) for failing test_hidden_select_option.html. r=backout 2017-06-02 23:36:38 +02:00
Sebastian Hengst
b017d64fb7 Backed out changeset 949bae6eaa96 (bug 1367081) 2017-06-02 23:35:23 +02:00
Jim Chen
d48ff8f555 Bug 1367081 - 4. Load SelectHelper and InputWidgetHelper in PromptService.js; r=droeh
Right now SelectHelper and InputWidgetHelper are loaded in browser.js,
which means they only work for GeckoApp. This patch loads them in
PromptService.js instead, which means they will work in all windows. The
patch also changes some code in SelectHelper and InputWidgetHelper that
used to assume they are running under the browser.xul chrome window.

MozReview-Commit-ID: Jfe6ODyYKVf
2017-06-02 16:16:11 -04:00
Jim Chen
1507e819e9 Bug 1367081 - 3. Include window when using Prompt.jsm; r=droeh
Include the window when using Prompt.jsm in JS so that the prompts can
be directed to the correct Activity.

MozReview-Commit-ID: CrPqf9gnDho
2017-06-02 16:16:11 -04:00
Jim Chen
858e777c78 Bug 1369108 - 3. Implement new device permission code path for Fennec; r=esawin
Instead of asking for permission in VideoCaptureDeviceInfoAndroid.java,
we now merely check for permission there. The actual permission prompt
now happens in WebrtcUI.js, using the new
"getUserMedia:ask-device-permission" and
"getUserMedia:got-device-permission" notifications.

MozReview-Commit-ID: DSVPjjW2JNR
2017-06-02 16:11:53 -04:00
Dylan Roeh
093f070363 Bug 1369393 - Backout GV-based custom tabs, PWAs, and Tabs.java changes. r=me 2017-06-01 09:28:31 -05:00
Dylan Roeh
3ee02fbbea Bug 1365599 - Make Tabs use the window event dispatcher rather than global in some instances. r=jchen 2017-05-31 16:58:54 -05:00
Nevin Chen
0f2aff9431 Bug 1361664 - Part2. Create MVP Triggers and Deeplinks for Mobile Marketing Automatin. r=maliu
This patch do 6 things. They are related so I put them in the same patch.
1. Extract MmaEvent Name
2. If MMA is diabled, don't send event.
3. Add check before sending 'Set Default Borwser' deep link
4. Add user attribute for delay messaging focus install status.
5. If the user pref off at runtime, we ask Leanplum to stop and prevent our app sending event to Leanplum.
6. Fix proguard. Only keep necceary files.

MozReview-Commit-ID: APEmr1JXBLH

--HG--
extra : rebase_source : 35b54c11004905c950c1ace84507554a2e1b4f39
2017-05-17 01:25:45 +08:00
Sebastian Hengst
bebf8c82cb Backed out changeset d289ee2c794d (bug 1361664)
MozReview-Commit-ID: gNRtEiyg7W
2017-05-27 14:00:27 +02:00
Nevin Chen
1fd979b26c Bug 1361664 - Part2. Create MVP Triggers and Deeplinks for Mobile Marketing Automatin. r=maliu
This patch do 5 things. They are related so I put them is the same patch.
1. Extract MmaEvent Name
2. If MMA is diabled, don't send event.
3. Add check before sending 'Set Default Borwser' deep link
4. Add user attribute for delay messaging focus install status.
5. If the user pref off at runtime, we ask Leanplum to stop and prevent our app sending event to Leanplum.

MozReview-Commit-ID: APEmr1JXBLH

--HG--
extra : rebase_source : 07913749581b2426f0e5ba3aeb8364b85dbd1b72
2017-05-17 01:25:45 +08:00
Sebastian Hengst
0c334f17dd Backed out changeset 59dc8710d768 (bug 1361664) 2017-05-26 13:40:51 +02:00
Nevin Chen
14a09a7b1f Bug 1361664 - Part2. Create MVP Triggers and Deeplinks for Mobile Marketing Automatin. r=maliu
This patch do 5 things. They are related so I put them is the same patch.
1. Extract MmaEvent Name
2. If MMA is diabled, don't send event.
3. Add check before sending 'Set Default Borwser' deep link
4. Add user attribute for delay messaging focus install status.
5. If the user pref off at runtime, we ask Leanplum to stop and prevent our app sending event to Leanplum.

MozReview-Commit-ID: APEmr1JXBLH

--HG--
extra : rebase_source : 59c360244bb41467763e3fa11305c00893b7198d
2017-05-17 01:25:45 +08:00
Nevin Chen
f4108311cc Bug 1358946 - Strip about:reader in intent data uri. r=maliu
MozReview-Commit-ID: AQ8txBAbtUr

--HG--
extra : amend_source : 5128c93b4796f3d9c568bf55aaa743c4493a0a84
2017-05-18 19:39:00 -04:00
Shih-Chiang Chien
0131b8b831 Bug 1363421 - Part 2, delay the initialization of UserAgentOverrides.jsm until first nsHttpChannel is created. r=mcmanus
UAOverridesBootstrapper.js is introduced to delay the initialization of
UserAgentOverrides.jsm until the creation of the first nsHttpChannel.
Uninit will be triggered at profile-change-net-teardown because no network
traffice after this point.


MozReview-Commit-ID: F8Lpn6RyZEm

--HG--
extra : rebase_source : 7c3649b50ad8594dc0968961fbbd2766d0d98b0a
2017-05-16 12:11:12 +08:00
Sebastian Hengst
aafad4390c Backed out changeset 86af05828caf (bug 1358946) for Android bustage in SafeIntent.java. r=backout 2017-05-18 13:54:07 +02:00
cnevinc
edd2beae07 Bug 1358946 - Strip about:reader in intent data uri. r=maliu
MozReview-Commit-ID: AQ8txBAbtUr

--HG--
extra : rebase_source : 96f9a73ced0a0a8d948e8fe89f3e15fc9780b9d6
2017-05-05 13:24:51 +08:00
Jan Henning
85451c5c8e Bug 1349155 - Show message when clearing user data on shutdown. r=sebastian
Properly clearing data (history etc.) when shutting down via "Quit" can introduce a possibly noticeable delay (up to the order of a few seconds in bad cases) before the UI actually closes. This patch shows a snackbar for this case, so we don't give users the impression of simply randomly hanging during shutdown.

MozReview-Commit-ID: AqYw8qK8xol

--HG--
extra : rebase_source : 3a1f650dd27ef07ec7eb21dc511decbd94c0a99c
2017-03-26 18:41:09 +02:00
Jan Henning
cd5c783e09 Bug 1253647 - Part 1 - Don't show page URL title on add-on restart doorhanger. r=sebastian
When a non-restartless add-on is (un)installed or updated, we show a doorhanger prompting the user to restart. Currently, the doorhanger's title is using the default logic for choosing its title, that is using the base domain of the tab the doorhanger is being displayed on.

By chance, when the doorhanger is triggered from about:addons there is no domain to display, so the doorhanger is just displaying the restart notification. If however an add-on is automatically updated while the user is browsing, then the restart prompt will show the domain of the currently open tab in conjunction with the restart message. This can be confusing for the user, as it looks like it was in fact the current page that triggered the restart prompt.

Therefore, we change this behaviour and just show a generic "Add-ons" as title for this case.

MozReview-Commit-ID: 3pMwSiLul99

--HG--
extra : rebase_source : 3c11fe19c5cef42226a849b78d554fa846114bfa
2017-05-10 22:24:14 +02:00
Gijs Kruitbosch
70316b8ea8 Bug 1358248, r=nechen,evanxd
MozReview-Commit-ID: 1EBZFcyvmY1

--HG--
extra : histedit_source : 62066947ec5c3eb6218869be6131dcae15159d74
2017-04-22 15:00:22 +01:00
Jan Henning
13d04aadff Bug 1353857 - Include the tab ID when notifying about leaving/entering a web app's scope. r=daleharvey,walkingice
We only want to process the AppEntered/Left message if it actually concerns our currently displayed tab.

MozReview-Commit-ID: EJ8RzRzDNAz

--HG--
extra : rebase_source : 2d05c8131a3b25968b36704647a9041b15599668
2017-04-17 16:37:58 +02:00
Jan Henning
823bb8f884 Bug 1351808 - Part 2 - Exclude non-standard tab types from session store. r=sebastian
Restoring anything other than normal browsing tabs (e.g. custom tabs, web apps) is more involved because those tabs
- don't appear in our normal tabs UI
- are opened in separate activities
- when we're starting up, Android's task switcher might or might not still have available task entries corresponding to such tabs from the last session

Therefore, for now, the session store will simply exclude those kinds of tabs from being saved in the session store data.

Instead of a real restore, if the corresponding tab has been closed or Gecko stopped running, we just recreate the custom tab/web app based on the stored Activity intent data we have available (bug 1352997).
Tab zombification while Gecko is running however remains fully supported, as we continue collecting session history data for all tab types, even if we don't necessarily save it to disk.

Because custom tabs/web apps currently still share a common Gecko browser window with normal tabs, we also have to modify our selected tab tracking logic accordingly, so that selecting one of these special tab types doesn't overwrite the last selected normal browsing tab.

To that effect, we now track the selected tab *ID* in memory and only convert that to a tab index when writing the data to disk. As the ID remains stable while Gecko is running, this makes tracking changes for a sub-group of tabs only easier, as we don't have to watch out for closing tabs of *any* kind affecting the tab index of everything behind them.

Bug 1346008#c3 has some preliminary ideas on how session restoring for custom tabs/web apps could be made to work.

MozReview-Commit-ID: 1q5Jtv0DKrE

--HG--
extra : rebase_source : 150e61f2a205e6bc6ea6cf346de0ba42b1935d13
2017-04-08 13:43:09 +02:00
Sebastian Hengst
b53ff60076 Backed out changeset 4aa74fee0d37 (bug 1351808) 2017-04-27 20:33:03 +02:00
Wes Kocher
19e79c95be Backed out changeset 9ce0883ffd62 (bug 1353857) because a dependent bug failed to land a=backout
MozReview-Commit-ID: GuGF9G3KmS6

--HG--
extra : rebase_source : baf19a05b9fd3dd291623a8102406721f8b4a88e
2017-04-27 11:25:22 -07:00
Jan Henning
3325142356 Bug 1353857 - Include the tab ID when notifying about leaving/entering a web app's scope. r=daleharvey,walkingice
We only want to process the AppEntered/Left message if it actually concerns our currently displayed tab.

MozReview-Commit-ID: EJ8RzRzDNAz

--HG--
extra : rebase_source : 2d05c8131a3b25968b36704647a9041b15599668
2017-04-17 16:37:58 +02:00
Jan Henning
bc56a16f39 Bug 1351808 - Part 2 - Exclude non-standard tab types from session store. r=sebastian
Restoring anything other than normal browsing tabs (e.g. custom tabs, web apps) is more involved because those tabs
- don't appear in our normal tabs UI
- are opened in separate activities
- when we're starting up, Android's task switcher might or might not still have available task entries corresponding to such tabs from the last session

Therefore, for now, the session store will simply exclude those kinds of tabs from being saved in the session store data.

Instead of a real restore, if the corresponding tab has been closed or Gecko stopped running, we just recreate the custom tab/web app based on the stored Activity intent data we have available (bug 1352997).
Tab zombification while Gecko is running however remains fully supported, as we continue collecting session history data for all tab types, even if we don't necessarily save it to disk.

Because custom tabs/web apps currently still share a common Gecko browser window with normal tabs, we also have to modify our selected tab tracking logic accordingly, so that selecting one of these special tab types doesn't overwrite the last selected normal browsing tab.

To that effect, we now track the selected tab *ID* in memory and only convert that to a tab index when writing the data to disk. As the ID remains stable while Gecko is running, this makes tracking changes for a sub-group of tabs only easier, as we don't have to watch out for closing tabs of *any* kind affecting the tab index of everything behind them.

Bug 1346008#c3 has some preliminary ideas on how session restoring for custom tabs/web apps could be made to work.

MozReview-Commit-ID: 1q5Jtv0DKrE

--HG--
extra : rebase_source : 150e61f2a205e6bc6ea6cf346de0ba42b1935d13
2017-04-08 13:43:09 +02:00
Florian Queze
4b1556a5f2 Bug 1355056 - replace (function(args) { /* do stuff using this */ }).bind(this) with arrow functions, r=jaws. 2017-04-27 00:25:45 +02:00
Eugen Sawin
df1af0cf56 Bug 1359176 - [1.1] Add consistent performance logs across the GeckoView example app and Fennec. r=bc 2017-04-27 00:22:10 +02:00
Jan Henning
0340ccd2e1 Bug 1357091 - Provide a default value when reading "manifest.install.enabled". r=daleharvey,walkingice
That pref isn't set by default, so trying to access it in that case throws a JS error.

MozReview-Commit-ID: 2KIUSztvoXS

--HG--
extra : rebase_source : b2769ba16247db9373c004f152c0e2233fb0652d
2017-04-17 16:39:32 +02:00
Ehsan Akhgari
6399dc4d9a Bug 1356922 - Part 1: Replace the next TabParent global pointer with per-window/tab next TabParent ID; r=billm,mconley
This patch replaces the usage of sNextTabParent pointer to store the next
PBrowser parent actor to be used by the next frame loader with the
following information:

  * In the case where the content JS has requested a new tab, the ID of the
    next TabParent will be stored on the <xul:browser> element.
  * In the case where the content JS has requested a new window, the ID of
    the next TabParent will be stored on the created nsXULWindow.
2017-04-24 14:18:29 -04:00
Carsten "Tomcat" Book
56de74382f Backed out changeset 753e71053540 (bug 1331742) 2017-04-24 12:27:49 +02:00
Wes Kocher
5cba60441b Merge m-c to inbound, a=merge
MozReview-Commit-ID: HfJqvXF2Ux7
2017-04-20 15:55:31 -07:00
Randall Barker
a606cd8b60 Bug 1335895 - Android GeckoView Dynamic Toolbar Version 3 r=botond,dvander,jchen,kats
This version of the Dynamic Toolbar moves the animation of the toolbar
from the Android UI thread to the compositor thread. All animation for
showing and hiding the toolbar are done with the compositor and a static
snapshot of the real toolbar.

MozReview-Commit-ID: BCe8zpbkWQt
2017-04-20 15:15:14 -07:00
Matthew Wein
549d74a605 Bug 1331742 - Part 4 - Add a position property to keep track of the menu item's position instead of using the ID r=sebastian
MozReview-Commit-ID: 7ZtfaVQFhKX

--HG--
extra : rebase_source : b1d9a62ca8c272eb4ff631d4331129c97153cb31
2017-03-25 22:35:54 -07:00
Alastor Wu
7175cf4a75 Bug 1348803 - part2 : modify event name to lower case letter. r=sebastian
Other events in browser.js are all lower case letter, also change these two to make them consistent.

MozReview-Commit-ID: LkzYUo6OrEA

--HG--
extra : rebase_source : 6853dc40c68c0939d7e318b3a1e88c39495d0648
2017-04-18 11:04:17 +08:00
Alastor Wu
dcf248107f Bug 1348803 - part1 : move fennec-only code to android/browser.js. r=sebastian
We could register media control related event after the tab has active media.
But we still need to register "audioFocusChange" in the beginning, because it
affect every tab even the tab has no active media.

MozReview-Commit-ID: ErIBUobnxbg

--HG--
extra : rebase_source : bdc8070f2f2a81f847ebb8e0ec87f6efeb86eb80
2017-04-18 11:03:49 +08:00
Zibi Braniecki
a1a4f0b7c9 Bug 1346616 - Migrate callsites that are retrieving requested locale from pref, to use LocaleService::GetRequestedLocales. r=jfkthame,Pike
I'm adding a helper function mozILocaleService::GetRequestedLocale to simplify
most of the callsites that are looking for the first of the requested locales.

In most cases, I'm just matching the behavior of the code with reusing
LocaleService API instead of direct manipulation on the prefs.
That includes how I handle error case scenarios.

In case of sdk/l10n/locale.js I am reusing LocaleService heuristics over
the custom one from the file since the ones in LocaleService are just
more correct and unified accross the whole platform.

In case of FallbackEncoding I have to turn it into a nsIObserver to listen
to intl:requested-locales-changed.

MozReview-Commit-ID: 7rOr2CovLK

--HG--
extra : rebase_source : 883a91b249b6953b7872bfb9a8851e8be7257c7b
2017-03-11 18:43:11 -08:00
Sebastian Hengst
7b30105d39 Backed out changeset 60d72c2dd49d (bug 1346616) for eslint failure in DirectoryLinksProvider.jsm. r=backout on a CLOSED TREE 2017-04-18 00:48:16 +02:00
Zibi Braniecki
cce53c69bc Bug 1346616 - Migrate callsites that are retrieving requested locale from pref, to use LocaleService::GetRequestedLocales. r=jfkthame,Pike
I'm adding a helper function mozILocaleService::GetRequestedLocale to simplify
most of the callsites that are looking for the first of the requested locales.

In most cases, I'm just matching the behavior of the code with reusing
LocaleService API instead of direct manipulation on the prefs.
That includes how I handle error case scenarios.

In case of sdk/l10n/locale.js I am reusing LocaleService heuristics over
the custom one from the file since the ones in LocaleService are just
more correct and unified accross the whole platform.

In case of FallbackEncoding I have to turn it into a nsIObserver to listen
to intl:requested-locales-changed.

MozReview-Commit-ID: 7rOr2CovLK

--HG--
extra : rebase_source : 2f166cf1746f389a035f7cf557edcadeacb10fa0
2017-03-11 18:43:11 -08:00
Florian Queze
f935ddc4b3 Bug 1356569 - Remove notifyObservers' last parameter when it is falsy, r=jaws. 2017-04-14 21:51:39 +02:00
Florian Queze
37ff4fc7cc Bug 1356569 - Remove addObserver's last parameter when it is false, r=jaws. 2017-04-14 21:51:38 +02:00
Sebastian Hengst
a07223d699 Backed out changeset 322fde2d53bf (bug 1356569) so bug 1355161 can be backed out. r=backout 2017-04-14 23:39:22 +02:00
Sebastian Hengst
738d097aae Backed out changeset 55f3df15eaa6 (bug 1356569) 2017-04-14 23:39:17 +02:00