Граф коммитов

23052 Коммитов

Автор SHA1 Сообщение Дата
Andrzej Hunt e8919657c8 Bug 1356693 - Pre: use IOUtils.safeStreamClose() in IOUtils r=walkingice
MozReview-Commit-ID: 3dikakcAKqI

--HG--
extra : rebase_source : 97370160c6f8fe40d57ed8372097c585cdc94aa6
2017-04-14 15:24:45 -07:00
Wes Kocher a463bb4c4c Merge m-c to autoland, a=merge
MozReview-Commit-ID: 6CUQEJghjzU
2017-04-27 13:37:47 -07: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
Carsten "Tomcat" Book e1e203f1f5 Merge mozilla-central to autoland 2017-04-27 16:36:41 +02:00
Carsten "Tomcat" Book 95c30cae37 Backed out changeset 0ca9044bb930 (bug 1356693) for android crashes
--HG--
extra : rebase_source : 689c8de0aaee267b02e5d79af840ecf969739648
2017-04-27 15:20:09 +02:00
Carsten "Tomcat" Book 1b10cd192e Backed out changeset 76c560e8d908 (bug 1356693)
--HG--
extra : rebase_source : baca62931b318645fc18b39153a837d7b15af81e
2017-04-27 15:19:55 +02:00
Carsten "Tomcat" Book 3cc309c314 Backed out changeset 8b672583d57c (bug 1356693)
--HG--
extra : rebase_source : 94d92549f1dfdaf81de6612e54d1aab9889ade53
2017-04-27 15:19:53 +02:00
Carsten "Tomcat" Book d7e4098cb8 Backed out changeset 6d26ad68f31f (bug 1356693)
--HG--
extra : rebase_source : 2f0adc16fa93b32d8183fa51b36cbb02e95597bd
2017-04-27 15:19:50 +02:00
Carsten "Tomcat" Book 30461c9143 Backed out changeset 731479637eda (bug 1356693)
--HG--
extra : rebase_source : 10edf5c7c726659be04670b01f607f7099624322
2017-04-27 15:19:48 +02:00
Carsten "Tomcat" Book 6fe25dded2 Backed out changeset 1fd99a71f607 (bug 1356693)
--HG--
extra : rebase_source : 5381e1aab3a5ac3f6dc74c690d83ebf38df20e96
2017-04-27 15:19:46 +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
Jan Henning 4f5955815a Bug 1351808 - Part 1 - Replace some magic numbers in session store. r=sebastian
MozReview-Commit-ID: BzqieZVi7h4

--HG--
extra : rebase_source : 019d80844d65d075314ab57197793decca0853c5
2017-04-08 14:18:23 +02:00
Jan Henning eaf04b0fea Bug 1352997 - Part 7 - Don't switch activities if we're closing a tab while exiting the activity. r=sebastian,walkingice
Closing the currently selected tab will select another tab, which can trigger an activity switch if the tab types differ. We don't want that if we're about to close the activity, as that'll bring that activity into the foreground instead of simply walking back along the activity history stack.

To give an example: Without this patch, closing the last custom tab will select a normal browsing tab, which will trigger an activity switch, so instead of returning to the user's previous activity, pressing back will send us to BrowserApp.

There's one additional catch:
If we change our onDone() behaviour and no longer finish() the SingleTabActivity when exiting (in order to avoid a costly restart of Gecko should the user return to us soon), this means that the activity that has just been exited could be brought back into the foreground via the onResume() codepath.

In that case the mLastActiveGeckoApp-check won't be triggered if no other GeckoApp-based activity was active in the meantime, so we wouldn't reselect/reopen the activity's desired tab, but instead display the tab that was selected when closing the previous tab. Therefore, we track this via an additional flag that is set for this case.

MozReview-Commit-ID: 3jOvBXQUrfo

--HG--
extra : rebase_source : a535fff92c02ef9d711faf6083e9146ed992fc03
2017-04-14 19:58:09 +02:00
Jan Henning 612ab15860 Bug 1352997 - Part 6 - Switch over web apps and implement additional startup logic for them. r=sebastian,walkingice
Web Apps are single task activities, but Android's task switcher will only ever return the intent that originally created the activity and will never ever update its stored intent for subsequent launches via onNewIntent, so we have to do this ourselves.

Additionally, web apps have some additional logic when being launched via a new intent that checks whether the currently loaded page matches the scope of the web app intent and then resets it if necessary. We now hook up this logic to the new SingleTabActivity wiring.

MozReview-Commit-ID: 9bo4gXbfPNg

--HG--
extra : rebase_source : 3f8cf1e2e96889313ef83ad9ba92b7a36985b82a
2017-04-04 21:50:33 +02:00
Jan Henning a31794fbba Bug 1352997 - Part 5 - Implement common behaviour for custom tabs/web apps and switch over the former. r=sebastian,walkingice
This implements the common behaviour for restoring the correct tab when switching to/from custom tab and web app activities. Unlike our normal UI, those activities are basically single tab activities, that is each activity is linked to a certain Gecko tab, with no facilities (bugs aside) for the user to directly load/select a different tab within that activity.

Therefore, here we basically update the selected tab only when the activity is starting up and initially creating its new (or, especially once tab type switching will be implemented, taking over an existing) content tab.

When subsequently restoring, we then check whether the tab is still available. If it is, we select it, if not, we fall back to opening a new tab based on the available intent data.

This also means that we no longer have to finish() the activity on closing so the activity state (finished) matches the tab (closed), which means that we no longer have to prematurely kill Gecko as a side effect of that.

MozReview-Commit-ID: KjFz1qrqWLy

--HG--
extra : rebase_source : 188fd2275083ddb982af806d4660c02caab85bee
2017-04-08 19:19:32 +02:00
Jan Henning 6dcea3ee36 Bug 1352997 - Part 4 - Remember the tab selected by session restoring if somebody other than BrowserApp is starting up first. r=sebastian,walkingice
The first activity to run triggers Gecko startup and therefore session restore. Since the selected tab stored in the session file is only of interest for BrowserApp, we need to store it somewhere safe if some other activity (e.g. custom tab/web app) starts up first.

This is because currently everything needs to share the same Gecko browser window, so those other activities selecting a tab of their own when starting up will necessarily override session restore's tab selection.


MozReview-Commit-ID: 9GwTDbzgWF9

--HG--
extra : rebase_source : 6ff06fb1e1405201908ade4b04eba54a1a5aa7d5
2017-04-08 19:15:19 +02:00
Jan Henning abba7e0388 Bug 1352997 - Part 3 - Re-implement tracking of last selected tab for BrowserApp. r=sebastian,walkingice
Currently, we basically take a snapshot of the currently selected tab when pausing an activity and then later re-select that tab ID when switching back from another activity within our application. In practice, this doesn't seem entirely fool-proof, so when switching between our normal UI (BrowserApp) and custom tabs or web apps we can eventually end up with the wrong tab being selected in the wrong activity.

In this part, we'll rip out the current code and replace it by a new implementation for BrowserApp - following parts will then cover custom tabs and web apps.

As BrowserApp is our normal tabbed browsing interface, we can simply track all tab switches for BROWSING-type tabs as they happen, which ensures that our data is always up-to-date.

Because tab IDs remain unique only within the same application session and are reused if we're terminated and then later restart, we need to take additional precautions to make sure we're really selecting the correct tab object - the savedInstanceState can carry even across (OOM-)kills. Therefore we now additionally also store and compare the current per-session UUID to make sure that the tab we're trying to select is really the same one it was when the activity was last running.

For BrowserApp caring about this is less important because on a full startup, the selection behaviour will be overridden by session restore anyway (although we can still hit it if only BrowserApp gets destroyed while Gecko keeps running, or if BrowserApp is launched after some other activity has already loaded Gecko), but it'll be quite relevant for web apps and custom tabs which don't have that benefit.

As it stands, this patch temporarily breaks behaviour around activity restoring for custom tabs/web apps, but tearing the old implementation out in one go was easier and the patch needs to be split somewhere.

MozReview-Commit-ID: I0Tq9XZGvpV

--HG--
extra : rebase_source : a7409f58b8df1f32f74b137513ece1e162605280
2017-04-08 22:55:10 +02:00
Jan Henning 639bd9d811 Bug 1352997 - Part 2 - Provide dedicated methods for typical homepage operations. r=sebastian,walkingice
That is figuring out whether a homepage has been set (but not caring about the specific page), or else getting the homepage URL with an automatic fallback (to about:home) if no homepage has been set.

MozReview-Commit-ID: D6Uy3A4P4Qc

--HG--
extra : rebase_source : 184240fc79678a2e78d7052635acc4b836fce400
2017-04-09 19:30:21 +02:00
Jan Henning 8467f9e026 Bug 1352997 - Part 1 - Register GeckoApp's onTabsChangedListener earlier. r=sebastian,walkingice
For BrowserApp we want to switch the last selected tab tracking to use tab selection events instead, so we need to register the listener earlier in order to catch the initial selection of the startup tab as well.

MozReview-Commit-ID: F7luIE6oNK

--HG--
extra : rebase_source : d08216a7a73b2f372b2357326e5c9d6de622c4d9
2017-04-08 11:16:13 +02:00
Jan Henning 0fcae12707 Bug 1351739 - Part 6 - Finish the WebAppActivity when closing via onDone. r=sebastian,walkingice
Custom and web app tabs behave as any other externally launched URLs, that is pressing the back button closes not only the activity, but the tab as well when reaching the beginning of session history. Therefore, we should finish the activity in this case (just as the CustomTabsActivity already does), so the next launch runs through the onCreate code path and opens a new tab again.

MozReview-Commit-ID: 14AhWkmb5O7

--HG--
extra : rebase_source : cfed1b6069409efe2444131c41db1ae2e828c43a
2017-04-02 15:43:31 +02:00
Jan Henning 7568f47029 Bug 1351739 - Part 5 - Implement activity switching for web apps. r=sebastian,walkingice
Differences to custom tabs:
- We don't have to store the full intent, just storing the manifest path is enough.
- Akin to the LauncherActivity we have to route the request to the correct WebAppActivity instance depending on the manifest path.

We also have to modify the intent handling when GeckoApp is starting up - the intent handling of the GeckoApp + BrowserApp combo requires "nulling" out (by setting it to ACTION_MAIN) the current intent if it's not a fresh intent (e.g. the activity is recreated after having been destroyed or relaunched from the task switcher).

For web apps on the other hand we want to keep the intent around even in those cases, as it contains state we need even later on. Additionally, we want to make use of GeckoApp's startup code for either selecting the tab from the intent or loading a new tab. Therefore we save the launch intent and restore it once GeckoApp's onCreate() has run.

Note that this solution is not entirely correct either, because with this each onCreate() call will open a new tab, even when this is not necessary when only the activity (but not Firefox and Gecko as a whole) had been destroyed. This behaviour will be fixed as part of bug 1352997.

This approach is also a bit different than the one chosen in bug 1351605 for custom tabs, which was independently developed in parallel. Bug 1352997 will unify this, too.

MozReview-Commit-ID: 94uZ3c8CUVD

--HG--
extra : rebase_source : 4997207d048924518870852d40cfc1fed233fab1
2017-04-02 18:26:45 +02:00
Jan Henning 4cc5180850 Bug 1351739 - Part 4 - Handle selected tab temporarily being undefined. r=sebastian,walkingice
This can happen if closing a tab (via the back button) simultaneously also triggered an activity switch (by selecting the parent tab). In that case the tab is closed, but formal selection of the new tab only completes after we've switched activities. At the moment activity switching might trigger an application-background/foreground cycle, which means we could hit the selected tab temporarily being undefined in Gecko.

MozReview-Commit-ID: 6p4cOqj29HX

--HG--
extra : rebase_source : 81db83e79d31cf6398f449bba14a4fb1bdc97810
2017-04-09 19:49:02 +02:00
Jan Henning 65014acc8c Bug 1351739 - Part 3 - Switch activities when a custom tab is selected/unselected. r=sebastian,walkingice
On tab selection, the Tabs instance now checks whether the type of the tab to be selected matches the currently running activity. If it doesn't, the tab switching is aborted and instead, an intent for the correct activity is sent. When the new activity launches, it finds that the intent also includes a tab ID, which means that instead of opening a new tab we retry the tab selection, which will then succeed now that we're in the correct activity.

Because for custom tabs the launch intent can contain all sorts of customisations, we now have to save the intent when a custom tab is opened for the first time, so that later on, when switching e.g. from BrowserApp back to a custom tab we can use the correct intent to launch the custom tab activity.

MozReview-Commit-ID: KWdkweKBocz

--HG--
extra : rebase_source : 6487f39a697a500d3a3eda505345f72f755bcbb7
2017-04-08 23:10:51 +02:00
Jan Henning 446b2c2ab7 Bug 1351739 - Part 2 - Convert CustomTabsActivity to SafeIntents. r=sebastian,walkingice
These are potentially untrusted external intents, so we should use SafeIntents for interacting with them.

MozReview-Commit-ID: 3nmjg85wbr1

--HG--
extra : rebase_source : 97c54e1dee8fc132aa3bb1d9c42051a4eb330018
2017-04-02 14:09:36 +02:00
Jan Henning 9fcd07adad Bug 1351739 - Part 1 - Track the currently active activity. r=sebastian,walkingice
Required because later on, we'll need to know if we're in the correct activity for a tab or need to switch activities.

As a follow-up, we can later also hook up our current manual activity tracking from GeckoApplication to this (we most probably won't be able to get rid of the GeckoActivityStatus shenanigans, though).

MozReview-Commit-ID: 5lZrAMsB9Gy

--HG--
extra : rebase_source : 5a8fec92cad15db05063dbb940874615c317c768
2017-04-02 11:22:12 +02:00
Jan Henning 1c3e4ca69b Bug 1351739 - Part 0 - Use INVALID_TAB_ID more. r=sebastian,walkingice
-1 is probably not all that mysterious as far as magic numbers go, but still...

MozReview-Commit-ID: zK3P6HeWzK

--HG--
extra : rebase_source : 59530eafb11f68fddb29a53775a394fcd1a08d69
2017-04-06 21:30:55 +02:00
Jan Henning c768aca43c Bug 1351739 - Part -1 - Housekeeping. r=sebastian,walkingice
MozReview-Commit-ID: Ev6jl4N3K0g

--HG--
extra : rebase_source : b62fda2b9c1c1a7e233c2245cedc5b61b2fcc930
2017-04-07 20:51:41 +02:00
Sebastian Hengst e1f043f96f Backed out changeset f349db3287ad (bug 1351808) for bustage on Android in GeckoApp.java. r=backout 2017-04-27 20:33:40 +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
Michael Kaply ae592e21d4 Bug 1360267 - Fix link in about:healthreport. r=snorp
MozReview-Commit-ID: Ea32Zp4HG63

--HG--
extra : rebase_source : 49cb98279b16fede560700a478e0b1b263c0f234
2017-04-27 12:20:00 -05: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
Jan Henning 1e1372dff5 Bug 1351808 - Part 1 - Replace some magic numbers in session store. r=sebastian
MozReview-Commit-ID: BzqieZVi7h4

--HG--
extra : rebase_source : 019d80844d65d075314ab57197793decca0853c5
2017-04-08 14:18:23 +02:00
Alexandre Poirot c90bccb53a Bug 1356231 - Use toolkit EventEmitter.jsm instead of devtools module. r=mossop
MozReview-Commit-ID: 49JI7NtLwKK

--HG--
extra : rebase_source : 7fb015f56be94c4bbe2d56506653f069c9ad8dd3
2017-04-27 17:58:09 +02:00
Edouard Oger 45eeac5526 Bug 1360047 - Generate random GUIDs more reliably in TestFxAccountDeviceListUpdater. r=eoger
MozReview-Commit-ID: 9Ak99iIxOzY

--HG--
extra : rebase_source : 784fe09fadff525affb81563deb3044b5d8ca859
2017-04-27 09:50:24 -07:00
Nevin Chen c530f92f50 Bug 1329156 - Add telemetry for customtab customization usage. r=walkingice
MozReview-Commit-ID: EJrFzvHOqOU

--HG--
extra : rebase_source : b23aed0f61d120af3f99a842f54a1848415f26e2
2017-04-26 13:37:38 +08:00
Andrzej Hunt d8e202e0c6 Bug 1356693 - infer: fix RESOURCE_LEAK's in geckoview r=walkingice
Similar to some previous commits, we prefer non-throwing constructors
in order to ensure we never lose a reference to an unclosed stream.
InpuStreamReader(..., Charset) is preferred over InputStreamReader(..., String)
since the latter can throw when the String is not a valid Charset.
(In reality we know that our Charset Strings are correct, but the compiler
 isn't able to determine that for itself. Moreover, using the preparsed
 Charset is more efficient.)

MozReview-Commit-ID: 9z07G3hqPI3

--HG--
extra : rebase_source : 6ed740bf5a1e5296bd2afe5c58b19a43acab0647
2017-04-26 17:22:30 +08:00
Andrzej Hunt 1f9929fe75 Bug 1356693 - infer: fix RESOURCE_LEAK's in stumbler r=walkingice
MozReview-Commit-ID: 8bMGr6v9DKn

--HG--
extra : rebase_source : e8c1f7cbbd598ac5765ef10b84ee993bba42f858
2017-04-17 16:33:57 -07:00
Andrzej Hunt 1c5d02830f Bug 1356693 - infer: fix RESOURCE_LEAK's in services r=Grisha
The primary issue is that we use a throwing InputStreamReader
constructor. If it throws, then any nested streams will be lost.
We can fix that by using the non-throwing InputStreamReader
constructor (which uses a Charset as the second parameter,
instead of a String which causes an Exception to be thrown
if it can't be parsed)

We also simplify some nested Stream's a little: most of the
Stream constructors don't throw, so there's no harm in not keeping
individual references to those that don't throw - and that
results in less Stream references for us to handle.

MozReview-Commit-ID: 2hyRFGVmGnU

--HG--
extra : rebase_source : 15dd97d28012a017326b01ae8ddc370c7f1ec484
2017-04-14 20:58:59 -07:00
Andrzej Hunt 9614743c8f Bug 1356693 - infer: fix RESOURCE_LEAK's in base r=walkingice
MozReview-Commit-ID: Gm9GqOk37UZ

--HG--
extra : rebase_source : 762eac583f5d017aa0ccfa96a669d72c57f6f5bd
2017-04-19 08:26:38 -07:00
Andrzej Hunt 5108247dc0 Bug 1356693 - Pre: MergeCursor can handle null cursors r=Grisha
MergeCursor can handle null cursors (and is lightweight), we
don't need to specifically handle each case - which results in simpler
code.

MozReview-Commit-ID: CGwMi9LKYTj

--HG--
extra : rebase_source : 74c0c83ba4e8ea6ca036c24372ee7ff07a1cbc78
2017-04-27 11:57:41 +08:00
Andrzej Hunt 5341e86001 Bug 1356693 - Pre: use IOUtils.safeStreamClose() in IOUtils r=walkingice
MozReview-Commit-ID: 3dikakcAKqI

--HG--
extra : rebase_source : 05dd41ed123cdd9400da84fbcc03caef03624578
2017-04-14 15:24:45 -07:00
Wes Kocher 226702fd85 Merge m-c to autoland a=merge
MozReview-Commit-ID: LOGgOErcV9L
2017-04-26 17:43:38 -07:00
Wes Kocher c90904f9bf Merge inbound to central, a=merge CLOSED TREE
MozReview-Commit-ID: 9HQViJrDT6S
2017-04-26 17:30:31 -07:00
Nick Alexander 9c8fde7730 Bug 1254355 - Follow-up: Use #ifdef, not #if, for MOZ_CRASHREPORTER. r=gps
On a CLOSED TREE

Style varies across the tree, and this matters as we transition to
Python and moz.build.  AppConstants.jsm already uses #ifdef, so this
is consistent with that.

MozReview-Commit-ID: Bal37lqlvjq

--HG--
extra : source : 41d155de1019c0c6c693e2bf46bd1dd7b91d244a
extra : amend_source : 989f6ba2447a2b40d4bc6604241d7986c0d5dd00
2017-04-18 17:26:15 -07:00
Nick Alexander 2bb32a2659 Bug 1254355 - Part 2: Generate AndroidManifest.xml using GENERATED_FILES. r=gps,mshal
MozReview-Commit-ID: BVYylS4qsP1

--HG--
extra : rebase_source : 6a9307175a8e876562571e0e5f276fff59c601db
extra : source : 6a0e9a3f26735b442f289c65c231986e1f829f9e
2017-04-25 13:42:19 -07:00
Andrea Marchesini 8beb8af7d4 Bug 1357846 - Introducing nsIFilePicker.displaySpecialDirectory, r=smaug
nsIFilePicker.displaySpecialDirectory is a string that can be set to TmpD,
Desk, or any other special directory value. The real value of this directory
will be read in the parent process.
2017-04-26 18:20:19 +02:00
James Willcox b69c4e2972 Bug 1359420 - Send correct status code in GeckoView security change listener r=esawin
MozReview-Commit-ID: 3B3PNxCNnm3
2017-04-26 10:11:35 -05:00
James Willcox 820edda4fd Bug 1359419 - Add GeckoView.preload() r=esawin
MozReview-Commit-ID: 6DYq2oiz1Ug
2017-04-26 10:11:28 -05:00
James Willcox 96b2d70241 Bug 1359422 - Add GeckoView constructor that allows both xml attribs and settings r=esawin
MozReview-Commit-ID: 8U1ojpLSSiK
2017-04-26 10:11:13 -05:00
Carsten "Tomcat" Book 68e9a2dfd5 Merge mozilla-central to mozilla-inbound 2017-04-26 09:04:59 +02:00
Carsten "Tomcat" Book 8f4e4ca99b merge mozilla-inbound to mozilla-central a=merge 2017-04-26 08:41:31 +02:00
Carsten "Tomcat" Book d9cce3c040 merge autoland to mozilla-central a=merge 2017-04-26 08:40:02 +02:00
Randall Barker fdcdbcefb5 Bug 1359659 - Ensure the complete pinned state is sent from the UI thread to the compositor r=jchen
MozReview-Commit-ID: GXRtfDZ8R17
2017-04-25 22:20:38 -07:00
Wes Kocher 5e8bdb175d Merge inbound to m-c a=merge
MozReview-Commit-ID: A85cs7Yriqj
2017-04-25 13:53:00 -07:00
Dale Harvey 7311d5038a Bug 1355676 - Check for nulls when decoding icons. r=sebastian 2017-04-25 16:53:29 +01:00
Mike Conley 47d93efc2d Bug 1357169 - Don't apply some unnecessary style rules to checkboxes or radio inputs on Android. r=mats
MozReview-Commit-ID: GGLkTmnBtxa

--HG--
extra : rebase_source : 1efc907e4203946bec2fd187c2fe12e7ea9be536
2017-04-20 16:15:07 -04:00
Randall Barker c82d528d56 Bug 1358805 - part 5: Update the dynamic toolbar animator to gracefully handle toolbar snapshot generation failure r=kats
MozReview-Commit-ID: B3t6l5ZqhC5
2017-04-25 15:14:00 -07:00
Randall Barker b1e89ec4b1 Bug 1358805 - part 4: Allow custom tabs to pin the dynamic toolbar r=droeh
MozReview-Commit-ID: BXoLU0BGrZq
2017-04-25 15:13:59 -07:00
Randall Barker 01ebd7c57f Bug 1358805 - part 3: Keep the toolbar state between UI thread and compositor thread consistent once IPC is open r=kats
MozReview-Commit-ID: H7qrShryomi
2017-04-25 15:13:59 -07:00
Randall Barker 7752cdc25d Bug 1358805 - part 2: Allow DynamicToolbarAnimator to query if the UiCompositorController is open in the case it missed the open message r=kats
MozReview-Commit-ID: 8wdMpQh44Zc
2017-04-25 15:13:58 -07:00
Randall Barker fc2f1cfb8d Bug 1358805 - part 1: Add new UiCompositorController message types TOOLBAR_SNAPSHOT_FAILED and IS_COMPOSITOR_CONTROLLER_OPEN r=kats
MozReview-Commit-ID: Ezd8Ng7Zsxm
2017-04-25 15:13:58 -07:00
Randall Barker b81353aaae Bug 1358554 - On Android devices that use static action bar prevent content from sliding down after a long press r=jchen
Only show real toolbar chrome for fixed action bar. Showing the static
snapshot causes the content to shift.

MozReview-Commit-ID: D4EN8qbe8Fu
2017-04-25 09:54:28 -07:00
Mike Conley 622087afdf Bug 1357169 - Backed out changeset 61f417a156ac (Bug 418833). r=mats
MozReview-Commit-ID: 4R6PYCBDQXy

--HG--
extra : rebase_source : f666d43fa15c0e4b66ac1aa9e9c198f1bc3b4758
extra : source : 1f94cae5a27284c114b1f568a14c372345fd60d2
2017-03-31 09:38:56 -04:00
Edouard Oger 027e105cad Bug 1351805 part 3 - Refresh the remote devices list on Married/Engaged states. r=Grisha
MozReview-Commit-ID: 1Ktbtlzc1fI

--HG--
extra : rebase_source : 0d17b41e17b01f65d38be93b7b01be056c75f652
2017-04-19 17:45:49 -04:00
Edouard Oger f86ddc39d6 Bug 1351805 part 2 - Add remote devices to the Browser Provider. r=Grisha
MozReview-Commit-ID: 9yGU2Gy6mX1

--HG--
extra : rebase_source : f7c3bdd1ea703f5726c6c650736211625b4af8b3
2017-04-07 12:24:46 -04:00
Edouard Oger 61034e9bd7 Bug 1351805 part 1 - Create a org.mozilla.gecko.fxa.devices package. r=Grisha,nalexander
MozReview-Commit-ID: FjJmRiHlqEg

--HG--
extra : rebase_source : 0342756d408c89c82e2afbf3c561fd2efad9cb4f
2017-04-07 11:56:38 -04:00
Wes Kocher c9b3f40856 Backed out 3 changesets (bug 1351805) for android Test failures a=backout
Backed out changeset da34da5f310a (bug 1351805)
Backed out changeset 430b56176e04 (bug 1351805)
Backed out changeset a3dfb4b9dc66 (bug 1351805)

MozReview-Commit-ID: AE4RcKV3akz
2017-04-25 12:47:59 -07:00
Edouard Oger dd3f4bde18 Bug 1351805 part 3 - Refresh the remote devices list on Married/Engaged states. r=Grisha
MozReview-Commit-ID: 1Ktbtlzc1fI

--HG--
extra : rebase_source : 2d52926ee1ba8511a32b5a9cfdc13cd04ef4bbb8
2017-04-19 17:45:49 -04:00
Edouard Oger c48ef3d269 Bug 1351805 part 2 - Add remote devices to the Browser Provider. r=Grisha
MozReview-Commit-ID: 9yGU2Gy6mX1

--HG--
extra : rebase_source : 43557fec627f45e4a5e381233c5a5d3115246153
2017-04-07 12:24:46 -04:00
Edouard Oger 96c75ddc3d Bug 1351805 part 1 - Create a org.mozilla.gecko.fxa.devices package. r=Grisha,nalexander
MozReview-Commit-ID: FjJmRiHlqEg

--HG--
extra : rebase_source : 0342756d408c89c82e2afbf3c561fd2efad9cb4f
2017-04-07 11:56:38 -04:00
Carsten "Tomcat" Book aac521e681 Merge mozilla-central to mozilla-inbound 2017-04-25 11:52:19 +02:00
Chris Peterson 7b85322694 Bug 1358949 - Lower eslint cyclomatic complexity threshold in some directories. r=standard8
We can lower the eslint cyclomatic complexity threshold in some directories without adding eslint suppression comments in any .js source files. We need to specify the complexity rule in accessible/.eslintrc because it doesn't inherit the mozilla/recommended rules. eslint's default complexity threshold is 20.

Also bump the eslint-plugin-mozilla version because we modified the mozilla/recommended rules.

MozReview-Commit-ID: 57T4gAjPH7z

--HG--
extra : rebase_source : 4565abfa722b9459cfb4e006e843da13ed7cffd4
extra : intermediate-source : 658588564c08c9fd5e60633d1457f24087de8570
extra : source : 7e0526e3b943419a80c0cd2fa462cabbf8925eb1
2017-04-23 19:23:18 -07:00
Iris Hsiao 1548482ea5 merge mozilla-inbound to mozilla-central a=merge 2017-04-25 11:21:30 +08:00
Julian_Chu 2ec693fe0e Bug 1359098 - fix getDrawable method missing problem in CustomTabs r=nechen
The method Context.getDrawable was introduced in API 21. To be
compatible with Kitkat, should use Resources.getDrawable instead.

MozReview-Commit-ID: 1ZajYWPTVj0

--HG--
extra : rebase_source : d9aa89d3cae5040b861cc6c07f2a2461fab4ce82
2017-04-25 10:06:15 +08:00
Iris Hsiao 3b17383f8d Merge mozilla-central to autoland 2017-04-25 11:28:40 +08: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 0068d23bc3 Merge mozilla-central to autoland 2017-04-24 12:43:55 +02:00
Carsten "Tomcat" Book fbf32f4dad Backed out changeset 32ab1a3d736f (bug 1331742) for causing Bug 1358888 and help fixing a topcrash 2017-04-24 12:28:24 +02:00
Carsten "Tomcat" Book 4b8d8ef79f Backed out changeset c91b14d9ad2a (bug 1331742) 2017-04-24 12:27:55 +02:00
Carsten "Tomcat" Book 174c21f39f Backed out changeset 31f4919d1f6c (bug 1331742) 2017-04-24 12:27:51 +02:00
Carsten "Tomcat" Book 56de74382f Backed out changeset 753e71053540 (bug 1331742) 2017-04-24 12:27:49 +02:00
Carsten "Tomcat" Book 850b8f9b6d Backed out changeset 79579aab8851 (bug 1331742) 2017-04-24 12:27:45 +02:00
Sebastian Hengst 8f6b13e209 Backed out changeset 41d155de1019 (bug 1254355) on suspicion of breaking Android L10n nightlies. r=backout a=backout
MozReview-Commit-ID: 4VnZVlHUYUA
2017-04-23 10:41:09 +02:00
Sebastian Hengst eaf61dee27 Backed out changeset 6a0e9a3f2673 (bug 1254355)
MozReview-Commit-ID: 4Xr3OibxQMU
2017-04-23 10:40:28 +02:00
Sebastian Hengst 72222922b8 Backed out changeset 33d4c8885613 (bug 1254355)
MozReview-Commit-ID: HleVV7ZhIuj
2017-04-23 10:40:27 +02:00
Sebastian Hengst 473a1509ea merge mozilla-inbound to mozilla-central. r=merge a=merge
MozReview-Commit-ID: 289I7nCINwK
2017-04-22 10:48:16 +02:00
Randall Barker af484e7317 Bug 1358592 - Dynamic Toolbar v3 breaks back button rendering on android tablets r=esawin
Now that ShapedButton uses Mode.DST_OUT, the path needs to be inverted
so the back button is rendered correctly.

MozReview-Commit-ID: 8shpFf49zRG
2017-04-21 15:28:50 -07:00
Eugen Sawin 1b914c5725 Bug 1323296 - [1.0] Move Gecko initialization into the GeckoView initialization. r=jchen 2017-04-21 23:45:46 +02:00
Carsten "Tomcat" Book 975e251aff merge mozilla-inbound to mozilla-central a=merge 2017-04-21 10:57:02 +02:00
brainbreaker bed092fb4a Bug 1351667 - UI test that traverses settings screens; r=sebastian
This commit adds a robocop test that traverses all the settings
 screens except the 'Make default browser' one.

MozReview-Commit-ID: LqWrFL9v877

--HG--
extra : rebase_source : 2e7f5e1887ace438f948b49f6515e1d732ad8aa2
2017-04-18 19:40:11 +05:30
Nick Alexander c0bab36955 Bug 1254355 - Follow-up: Use full paths to match GENERATED_FILES targets. r=mshal
This was just an error that's not obvious on try builds.  We were
using local paths ($(DEPTH) expands to ../../../ in
mobile/android/base) and GENERATED_FILES produces targets with
absolute paths.

MozReview-Commit-ID: LDhh6mcgSD6

--HG--
extra : rebase_source : be0cf0c41873871082c640d051ead748746eb78c
2017-04-21 14:10:05 -07:00
Jan Henning f5375aad23 Bug 1352108 - Add missing attributes to custom tab activity declaration. r=sebastian
Not handling the appropriate configuration changes means that e.g. each rotation destroys and recreates the CustomTabActivity, which'll introduce a slight delay until we eventually repaint the web content.

As for the soft input mode, if we don't specify adjustResize, then the IME might actually simply overlap our window and obscure the end of content if the user has already scrolled down as far as possible.

MozReview-Commit-ID: BzBmIoGbhca

--HG--
extra : rebase_source : 8746621d8fec712e37aac4efdd76da6b0c3b396f
2017-04-24 21:05:39 +02:00
Iris Hsiao 7e2d844c6e Merge mozilla-central to autoland 2017-04-24 14:28:11 +08:00
Andrzej Hunt 29689d9c31 Bug 1358338 - findbugs: Ignore generated R.*/Manifest* r=sebastian
MozReview-Commit-ID: AwBdVmK6Hc

--HG--
extra : rebase_source : b081f15df43c0051dff5ae5209b53ad06cf7928e
2017-04-20 19:46:15 -07:00
Jing-wei Wu f6298f0174 Bug 1232439 - Part 4: Adjust bookmark list UI layout. r=ahunt
MozReview-Commit-ID: 5s74hg5daC5

--HG--
extra : rebase_source : 53b1e0d84f3cdbabbe82a1e7aea6caf2b7f6bc9c
2017-04-06 11:44:20 +08:00
Jing-wei Wu d6a7a9c21f Bug 1232439 - Part 3: Implement full-page bookmark edit dialog. r=ahunt,Grisha
MozReview-Commit-ID: 8wB9CEptVeu

--HG--
extra : rebase_source : 05e9007f52c0a5428b5c316e64b6ead09c11c931
2017-04-20 09:04:28 +08:00
Jing-wei Wu 54d4446fc0 Bug 1232439 - Part 2: Support get/update/remove bookmark record by ID in BrowserDB. r=Grisha
MozReview-Commit-ID: 6RNKCUiZE8K

--HG--
extra : rebase_source : e8f46fed85f484d423feedd1d5b7e8314346080f
2017-04-05 14:03:16 +08:00
Ralph Giles a256407bbf Bug 1359499 - Update builders to a cargo version with RUSTC_WRAPPER. r=mshal
Update tooltool manifests to reference rustc 1.16.0 stable repacks
which include cargo 1.19.0 nightly builds from 2017-04-19 which
support the RUSTC_WRAPPER environment override.

We're shipping with an unstable cargo while this feature makes its
way to release because it is necessary for deploying sccache support
for rust language code in our build and test automation.

MozReview-Commit-ID: Iow2894OPq7

--HG--
extra : rebase_source : f1a8e6cab612714f7b73ca8a14d14cabe9f4aef7
2017-04-25 12:15:52 -07:00
Jing-wei Wu 35b968a344 Bug 1232439 - Part 1: Setup A/B experiment for enabling full bookmark management in Nightly. r=Grisha
The experiment in Switchboard is "full-bookmark-management", and it's enabled for 100% of the Nightly audience.

MozReview-Commit-ID: EhA0BcouPPn

--HG--
extra : rebase_source : beeddc921a089606d8a752b75c3a0280a1803972
2017-03-23 14:14:24 +08:00
Andrzej Hunt f1be49c357 Bug 1357630 - infer: (NULL_DEREFERENCE) add null-check to getAppEventDispatcher r=nalexander
Every single caller of getAppEventDispatcher() and getEventDispatcher()
assumes a non-null return value, so let's make sure we're actually returning
a non-null value. This commit doesn't effectively change runtime behaviour
(any previously NPE crashes will now result in a crash due to IllegalStateException),
however we now at least have an obvious error message in that situation.

In reality, no code should run before onCreate(), so this should realistically
never happen - but we should still check to ensure that is the case.

(This removes 28 infer NULL_DEREFERENCE warnings.)

MozReview-Commit-ID: GhzwKWfkAbD

--HG--
extra : rebase_source : f6b13f590b437ebb63e502f774a70164054ecf7e
2017-04-18 20:10:44 -07:00
Wes Kocher 4f3c2d9829 Merge m-c to autoland, a=merge
MozReview-Commit-ID: DPzfAm14Tdx
2017-04-20 15:52:28 -07:00
Wes Kocher 5ce5528fb1 Merge inbound to m-c a=merge
MozReview-Commit-ID: DQDuEiYLWCO
2017-04-20 15:30:43 -07:00
James Willcox bbde9021e6 Bug 1358155 - Bump core ping version and docs r=frank
MozReview-Commit-ID: 1h417verpc2

--HG--
extra : rebase_source : 293cbbf4c01c5535579ab5d3862a01ef4de50234
2017-04-20 09:43:51 -05:00
Munro Mengjue Chiang c805ded682 Bug 1353313 - Add synchronization mechanism to CodecProxy. r=jolin
MozReview-Commit-ID: 3sqW06nIkoJ
2017-04-14 10:04:24 +08:00
Nick Alexander d1d66db6c9 Bug 1254355 - Part 2: Generate AndroidManifest.xml using GENERATED_FILES. r=gps
MozReview-Commit-ID: 8McGHkPYyhI

--HG--
extra : rebase_source : 7e2e6f9f901956c34089335157ce4fe754cf2472
2017-04-17 13:47:41 -07:00
Nick Alexander 45d40668a3 Bug 1254355 - Pre: Use #ifdef, not #if, for MOZ_CRASHREPORTER. r=gps
Style varies across the tree, and this matters as we transition to
Python and moz.build.  AppConstants.jsm already uses #ifdef, so this
is consistent with that.

MozReview-Commit-ID: Bal37lqlvjq

--HG--
extra : rebase_source : 8e4e459a9bdbc3a2cacde728f45e6edecc272e24
2017-04-18 17:26:15 -07:00
Wes Kocher ca3a99fc7e Merge m-c to inbound, a=merge 2017-04-19 17:15:26 -07:00
Tom Klein cd1f0d6b9b Bug 1354440 - Make the fade at the end of the tab strip work with RTL. r=maliu
MozReview-Commit-ID: AVjtekO4eli

--HG--
extra : rebase_source : 15962eb23b722be3de6625494aafd28c97c19bd9
2017-04-20 01:26:10 -05: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
Carsten "Tomcat" Book 87edaf78ee Merge mozilla-central to autoland
--HG--
extra : rebase_source : 46bdde97ce6567ce8a06b1609de547ef11b24c2a
2017-04-20 13:06:52 +02:00
Matthew Wein 09d1616dc7 Bug 1331742 - Part 5 - Add unit tests for browserAction.onClicked r=mixedpuppy
MozReview-Commit-ID: Ko8eQYfIM0H

--HG--
extra : rebase_source : 0774a850694d8ea52d7c39872e5ac02f4acec4c5
2017-04-10 16:15:54 -04: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
Matthew Wein 0bb36b786b Bug 1331742 - Part 3 - Create and register ext-browserAction.js r=mixedpuppy
MozReview-Commit-ID: CGR4689b6oo

--HG--
extra : rebase_source : 912519c647c2051d03307f52ca778efb1f9e7480
2017-04-19 21:44:41 -04:00
Matthew Wein 35c2d73d83 Bug 1331742 - Part 2 - Create a module for managing browser actions similar to PageActions.jsm r=sebastian
MozReview-Commit-ID: 2epdMD75e84

--HG--
extra : rebase_source : a542b3ca2e673e4fcfdebab56108c2df66239630
2017-03-25 22:36:05 -07:00
James Willcox dc970b5ee0 Bug 1357786 - Use device CPU architecture in Fennec core ping r=sebastian
MozReview-Commit-ID: HXjaNdQzNGF

--HG--
extra : rebase_source : 86398402078b9212078639d1393d8fc845fcc7f6
2017-04-19 10:25:01 -05:00
Jan Henning 659bac6328 Bug 1357505 - Check tab queue array length before parsing to avoid unnecessary exceptions. r=sebastian
MozReview-Commit-ID: LrlegpviPZk

--HG--
extra : rebase_source : 357d8c879ce3f8c1eac8446b76394c64d0d8c9f6
2017-04-18 21:19:17 +02:00
Sylvestre Ledru 392d4c4a1a Bug 1354821 - Generate fennec nightly apk with org.mozilla.fennec_aurora as id r=rail
* nightly-aurora-id is a copy of nightly
* mobile/android/branding/aurora/ is a copy of nightly with the id and package name changed

MozReview-Commit-ID: 2VT0dHDXEMg

--HG--
extra : rebase_source : 7396a1a7eabb4037fb6936bfc1af10666a677e14
2017-04-18 11:59:55 +02:00
Julian_Chu c5f0b243ca Bug 1353019: update menu icon of CustomTabsActivity as per page loading r=sebastian
There is a control in menu for reloading or stop-page-loading. Its icon
should be updated per page loading progress.

MozReview-Commit-ID: BNanAQj3xS4

--HG--
extra : rebase_source : 9964c320f3e430583fcdd79034c834af0c115fbc
2017-04-19 11:49:11 +08:00
Julian_Chu d486a74857 Bug 1353019: fix icon creation issue in GeckoMenuItem r=sebastian
If change icon via resource id, we should create mIcon as well. And
method `getIcon` should return the drawable which be used currently, but
not generating a new drawable via resource id.

Without this patch, we cannot change icon of a GeckoMenuItem until we
set the icon back. ie.

    Drawable icon = menuItem.getIcon();
    icon.setLevel(42); // does not work, cause the icon is new instance.

MozReview-Commit-ID: KxW66OgI9po

--HG--
extra : rebase_source : 7b9c1dc13d9b3b214e5dcb3ee366dca7e60f3fe7
2017-04-19 15:39:14 +08:00
John Lin 9fa31b9fb4 Bug 1343541 - restore signal actions changed by Android debugger. r=glandium
Android shows a dialog box when it detects app crashing. OOP decoder needs to hide that from user to resume playback gracefully.

MozReview-Commit-ID: 3cE3GiHAuQk

--HG--
extra : rebase_source : 67bec5dfda1e878fa7dea877ef58d485b4e17944
2017-04-12 17:34:17 +08:00
Carsten "Tomcat" Book 7bcdfe36bc Merge mozilla-central to autoland 2017-04-19 10:57:24 +02:00
Carsten "Tomcat" Book 44e9c21039 merge mozilla-inbound to mozilla-central a=merge 2017-04-19 10:32:48 +02:00
Jim Chen c9d615b096 Bug 1322581 - 5. Add PromptDelegate implementation to GeckoView example; r=snorp
Add a sample implementation of PromptDelegate to GeckoView example.
2017-04-18 17:45:02 -04:00
Jim Chen 0bb39e6f5f Bug 1322581 - 4. Add JS GeckoView prompt implementation; r=snorp
Add the necessary XPCOM components to handle prompts for GeckoView. The
JS code mostly package the prompts into GeckoView:Prompt events, and send
them to the Java side if in parent process, or to the parent process if
in child process.
2017-04-18 17:45:02 -04:00
Jim Chen 8503fd2101 Bug 1322581 - 3. Add event listener for GeckoView:Prompt event; r=snorp
Add an event listener for the GeckoView:Prompt event, which JS code will
use to sent over prompt requests and to receive prompt results. Both
global and per-GeckoView listeners are required because we may not know
the origin GeckoView for certain prompts, so some prompts will not have
an associated GeckoView. This is also the reason for having a static
default PromptDelegate in additional to an instance per-GeckoView
PromptDelegate. All prompts without associated GeckoViews are sent
directly to the default PromptDelegate.
2017-04-18 17:45:01 -04:00
Jim Chen e2f7e4a529 Bug 1322581 - 2. Add PromptDelegate interface; r=snorp
Add a PromptDelegate interface that implements possible prompts shown by
a GeckoView application. All prompt methods include a callback parameter
for the implementation to call back to GeckoView with results from the
prompt.
2017-04-18 17:44:57 -04:00
Jim Chen f15b130cbb Bug 1322581 - 1. Remove GeckoView.ChromeDelegate; r=snorp
Remove the old ChromeDelegate interface, to be replaced by
PromptDelegate in a future patch.
2017-04-18 17:44:57 -04:00
Jim Chen f3eca63a21 Bug 1354911 - Guard against null menu item names; r=sebastian
Addons may give us invalid menu item names; bail instead of crashing in
such cases.
2017-04-18 17:42:58 -04:00
Wes Kocher 61ed56921b Merge m-c to inbound, a=merge 2017-04-18 14:38:53 -07:00
Julian_Chu 752ba9adf6 Bug 1352993 - Part 3, CustomTabsActivity prvoides presenter r=sebastian
CustomTabsActivity use standard ActionBar, so we can easily use action
mode for text-selection.

MozReview-Commit-ID: CSu0d24Z7dt

--HG--
extra : rebase_source : 9040e515a6208459aa5b0b7470e491c7474fe4ec
2017-04-18 18:51:11 +08:00
Julian_Chu afbcff523b Bug 1352993 - Part 2, Add presenter class which response text-selection r=sebastian
To create new interface ActionModePresenter, a presenter could to
operate action-mode.

For pre-marshmallow Android version, we use ActionBar to provide UI
action for text-selection. Therefore BrowserApp will implement this
presenter for text-selection.

MozReview-Commit-ID: GdLB3ke2pYe

--HG--
extra : rebase_source : 5467a7d514810fa846fefcf37e5eb2f55a643c3f
2017-04-18 18:12:43 +08:00
Julian_Chu b139b481bd Bug 1352993 - Part 1, Generalize ActionModeCompat r=sebastian
We want to reuse ActionBarTextSelection in more activities, so remove
custom classes from it, to make it easier to interactive with general
Andorid classes.

To achieve that
    * Let ActionModeCompat to be a subclass of ActionMode
    * Get rid of GeckoMenu

BrowserApp is the only one consumer for ActionModeCompat, and it do
understand the class type. We could move animateIn to it safely. After
doing this, TextSelectionActionModeCallback could become a general
ActionMode.Callback.

MozReview-Commit-ID: 7FTwDTe1JYG

--HG--
extra : rebase_source : cf7cbba40745bbfbd34099f238c904bb4d3c6438
2017-04-18 15:26:53 +08:00
Julian_Chu 0bf1b90932 Bug 1352993 - Part 0, remove useless variable r=sebastian
No one is using this variable, remove it.

MozReview-Commit-ID: LLcxoh4mRrE

--HG--
extra : rebase_source : e9b418c8adefa8459e04b3ad65e17e376a9369ad
2017-04-14 17:45:15 +08:00
Andrzej Hunt aee9d1bfa4 Bug 1261983 - infer: close file input stream in case of GZIP failure r=nechen
This commit also cleans up extraneous stream closes: these streams
are closed in finally, so we don't need to also clean them up in
the main try block body.

MozReview-Commit-ID: EXxlmmtqvyq

--HG--
extra : amend_source : 72ad8cb816202e8e3f234157bae092cea004d34a
2017-04-14 12:10:25 -07:00
Tom Klein f075e911e0 Bug 1350737 - Make the selected tab's row the first visible row when the tabs tray opens. r=sebastian
That helps usability in the following scenario:
1) Open more tabs than will fit on screen in the tabs tray (and fill the last
row with tabs if the tabs tray is in a grid mode);
2) Scroll to the bottom;
3) Open one of the last visible tabs, and from that open tab open a new
background tab (e.g. long click on a link in a page and choose "Open in new
tab");
4) Reopen the tabs tray.

With the fix, the new tab will be visible at the bottom of the list, whereas
previously in list mode it was not visible at all, and in grid modes only the
top of the title was visible.

(Bug 1299905 would make this sort of situation more widely applicable.)

This patch also has the side effect of scrolling the selected tab to the top of
the tabs tray on each rotation (previously it was just scrolled into view).

MozReview-Commit-ID: 4MKY7P1Mihk

--HG--
extra : rebase_source : a00776803b199a949ba598805e79a71fde82e2f3
2017-03-26 21:44:23 -05: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
Matthew Wein 29488c9b00 Bug 1331742 - Part 1 - Create and register browser_action.json r=mixedpuppy
MozReview-Commit-ID: AwYuTDU3Ki4

--HG--
rename : browser/components/extensions/schemas/browser_action.json => mobile/android/components/extensions/schemas/browser_action.json
extra : rebase_source : 40d21958c2800a35e9a691f379694c6ca3b1c73e
2017-03-15 21:02:56 -04:00
Shane Caraveo f6660740ac Bug 1326298 implement off-main-thread delivery with start/stop/error listeners, r=kmag
MozReview-Commit-ID: Ke4NsthrbP2

--HG--
extra : rebase_source : 0324030e5f7f534256ff0c469bb486dc52e282c2
2017-04-18 15:50:53 -07:00
Sebastian Hengst 0e96a7ee95 Backed out changeset a5af7f7132f6 (bug 1254355) for failing android lint job (unused file crash_reporter.png). r=backout 2017-04-19 01:05:06 +02:00
Grigory Kruglov 68882a5021 Bug 1335198 - Add support for synchronizing bookmark creation date r=rnewman
Incoming records might be missing the dateAdded field, and so we perform some pre-processing:
- during reconciliation, dateAdded is set to the lowest of (remote lastModified, remote dateAdded, local dateAdded)
- during insertion, if dateAdded is missing it is set to lastModified

Whenever we modify dateAdded for a record during sync, we also bump its lastModified value. This will trigger an
upload of this record, and consequently a re-upload by clients which are able to provide an older dateAdded value.
It is possible that this might cause conflicts on other devices, but the expected likelyhood of that happening is low.


MozReview-Commit-ID: 3tDeXKSBgrO

--HG--
extra : rebase_source : 26cb13838df7a4adb6d4fe3c51f0ecf3fd2eda95
2017-04-18 18:04:45 -04:00
Ralph Giles 927fc2a00a Bug 1357119 - Include aarch64 in rustc package for builders. r=mshal
Add the aarch64-linux-android libstd to the android-cross
repackage of the upstream rust 1.16.0 stable builds.

MozReview-Commit-ID: gmZL7QCodQ

--HG--
extra : rebase_source : dc4072c3214188195aa6abda939d550df4e617d9
2017-04-18 10:24:08 -07:00
Nick Alexander 5918c2009b Bug 1254355 - Part 2: Generate AndroidManifest.xml using GENERATED_FILES. r=gps
MozReview-Commit-ID: 8McGHkPYyhI

--HG--
extra : rebase_source : 0789187e4c3a589060dcd9913f376410a390a6f7
2017-04-17 13:47:41 -07:00
Nick Alexander 7c46e515ed Bug 1254355 - Part 1: Prepare to generalize generate_build_config. r=gps
I'm taking another kick at this.  Since glandium's negative review of
older patches a year ago, generate_build_config.py landed (with your
r+, gps).  These patches extend that mechanism to generate
AndroidManifest.xml.  This sets the stage for that.

This is all in service of Bug 1355625, which will need the
generate_build_config.py extension point to do things that the
preprocessor cannot handle: generating Java code, copying resource
files, and merging resource XML declarations.

MozReview-Commit-ID: AcyC3CBMQl1

--HG--
extra : rebase_source : c379b07de4b9f9b4bfe53e6a0adac13f08a71c73
2017-04-17 13:38:24 -07:00
Michael Kaply 820e8c33db Bug 1357121 - Allow dashes and underscore in OTA distribution name. r=nalexander
MozReview-Commit-ID: 9PchGiKPGLi

--HG--
extra : rebase_source : 42360222fb3abc359d46180dc385c89a4c706cfb
2017-04-17 13:11:43 -05:00
Michael Kaply f9cb2ecf9b Bug 1359223 - Add geckoview to checkstyle and correct style issues. r=snorp
MozReview-Commit-ID: AM0bdF8dZQW

--HG--
extra : rebase_source : e6f21dafc2fa99cb1ddbac102fad8c3cbafb1516
2017-04-24 16:06:43 -05:00
Carsten "Tomcat" Book 3b4328e578 Merge mozilla-central to autoland
--HG--
extra : rebase_source : bc4cd926477775ac802f400a79f553034d569a18
2017-04-26 09:08:31 +02:00
Andrzej Hunt a1a692f7f5 Bug 1357783 - infer: Avoid CONTEXT_LEAK in stumbler r=sebastian
This solves 2 issues:
- We keep a reference to Tracker (which is implemented by a Service) forever,
  which is solved by keeping a WeakReference.
- We kept another reference to the Service by using it as a Context - we can
  avoid that by using the ApplicationContext instead.

MozReview-Commit-ID: 6UNSkZx12an

--HG--
extra : rebase_source : bfb50d02246e4377ef23179747987bc82731fd54
2017-04-18 23:18:41 -07:00