Commit Graph

18480 Commits

Author SHA1 Message Date
Julian_Chu
cc55dbf6b2 Bug 1315937 - Add custom items to menu of CustomTabsActivity r=sebastian
If 3rd-party app provides any custom menu items, add them to PopupMenu
and handle corresponding pending intent.

MozReview-Commit-ID: 5STg49hsCWF

--HG--
extra : rebase_source : 34240988a8b89bacb8baef206cf9bf9f93dbf8ef
2017-03-02 16:44:56 +08:00
Julian_Chu
a0f2a53d84 Bug 1315937 - Add basic custom menu to CustomTabsActivity r=sebastian
Besides custom-menu-items from 3-rd party apps, we designed a custom
menu which always has
  * buttons for Forward, Reload
  * One menu item for 'Open by Firefox'
  * a footer 'Powered by Firefox'

This patch adds a button as an anchor to standard menu. Once user click
it, to show a custom menu (GeckoPopupMenu) base on the anchor.

In current design, there is only one style for menu, regardless of Dark
or Light theme.

MozReview-Commit-ID: 5RMiGDlxLTU

--HG--
extra : rebase_source : 0d867d1b2aa4fd72dbf4eda14ab3ed5ce841f9cc
2017-03-01 13:42:10 +08:00
Julian_Chu
be6df56f1d Bug 1315937 - add theme to CustomTabsActivity r=sebastian
CustomTabsActivity is usually be used by 3rd-party apps. Its look and
feel is usually different from GeckoApp. To give separated themes to
ensure any change to CustomTabs won't effect GeckoApp.

MozReview-Commit-ID: 7aBnnPXv3nQ

--HG--
extra : rebase_source : 019778cdadbe1ec6239e85e0fae1e873f453edcd
2017-03-01 11:43:35 +08:00
Julian_Chu
cecf566099 Bug 1315937 - Only create option menu items once. r=sebastian
Menu items in CustomTabsActivity are static. Not necessary to create
items several times. However `onPrepareOptionsMenu()` will be called
before menu is shown.

Cannot use `onCreateOptionsMenu()` due to GeckoApp overwrited
`onCreatePanelMenu()` and pass different instance to sub-class. Since
CustomTabsActivity does not use custom menu, just overwrite
`onCreatePanelMenu()` should be safe.

MozReview-Commit-ID: 2oTN85GurqS

--HG--
extra : rebase_source : 3006b661eefab1cf191db6f9a660a7a618f4cb12
2017-02-23 18:42:18 +08:00
Eugen Sawin
03be261a54 Bug 1345976 - [1.1] Add GeckoView.loadUri based on bundle events. r=snorp,jchen 2017-03-13 12:26:06 +01:00
Eugen Sawin
2091e1b9ee Bug 1345966 - [1.0] Remove redundant browserDOMWindow overrides. r=snorp 2017-03-13 12:26:06 +01:00
John Lin
d65535053d Bug 1346235 - part 4: recycle unpopulated input samples. r=jchen
MozReview-Commit-ID: Lr0aSQ0OfRg

--HG--
extra : rebase_source : 71f37d29c5d3a08e63171956fa5a02e716bcec0a
2017-03-17 15:06:39 +08:00
John Lin
f737b4804b Bug 1346235 - part 3: forward shared memory allocation error to peer process. r=jchen
MozReview-Commit-ID: KDIMylv9tVt

--HG--
extra : rebase_source : fa4326ce1ca97a46ed9f3cb639a17dfa9950fe4e
2017-03-17 15:17:16 +08:00
John Lin
bbbc27bc08 Bug 1346235 - part 2: translate memory error to I/O failure. r=jchen
MozReview-Commit-ID: F2ca0q2JQp

--HG--
extra : rebase_source : 9c23a461dbd2ebe3c61ee08e066af51d3b6fe249
2017-03-17 15:04:26 +08:00
John Lin
106b6939c6 Bug 1346235 - part 1: translate native error to Java exception. r=jchen
MozReview-Commit-ID: BcpfJLSzTvk

--HG--
extra : rebase_source : 53d6e9efa064b4a5ab32676d349a5c0cadb78ea7
2017-03-17 14:21:27 +08:00
Dragana Damjanovic dd.mozilla@gmail.com
1a2aee5585 Bug 1348675 - Remove the separate prefs for the pipelining on the android version of firefox. r=mcmanus 2017-03-19 09:38:00 +01:00
Wes Kocher
77632ccd1b Merge m-c to inbound, a=merge
MozReview-Commit-ID: JXQqoTEXxwz
2017-03-10 17:22:54 -08:00
Wes Kocher
3d76fcb59e Backed out changeset 0cbf58746cae (bug 1345267) under suspicion of causing android x86 chrome mochitest failures a=backout
MozReview-Commit-ID: CrUlU8uVeLx
2017-03-10 16:26:10 -08:00
Mike Conley
a62a9a5c3c Bug 1345956 - Back out bug 1320732 (changeset 36be06539887) for sometimes making checkboxes / radio buttons hard to see. r=snorp
MozReview-Commit-ID: 4ZX0zT8JGTI

--HG--
extra : rebase_source : 5a8fd5b3dab9aef912d0e6b2cf3b025ccd12451e
2017-03-09 13:27:29 -05:00
Michael Kaply
4d301ff840 Bug 1345014 - Add max_aspect to support 16.74:9 screens. r=snorp
MozReview-Commit-ID: 9b7BveqBOX1

--HG--
extra : rebase_source : 931e7fe04325b419f394954d8672edf387768db9
2017-03-08 15:49:50 -06:00
Jim Chen
1ca602cde7 Bug 1343562 - Look for omni.ja from multiple sources; r=nalexander
Look for omni.ja to copy from in dist/fennec and in dist/fennec/assets,
but throw an error if we find multiple copies of omni.ja that are
potentially conflicting.
2017-03-10 16:29:41 -05:00
Sebastian Hengst
772d7c9a4f Backed out changeset ffeffef36f34 (bug 1344892) on request of developer for issues with Android reftests. r=backout on a CLOSED TREE 2017-03-10 21:53:00 +01:00
Jim Chen
c96d20e3f4 Bug 1344892 - Let native calls dispatch to XPCOM event queue; r=snorp
Bug 1344892 - 1. Add option to dispatch to priority queue; r=snorp

For the regular "gecko" option, change to dispatching to the XPCOM event
queue, and add a new "gecko_priority" option that dispatches calls to
the widget event queue.

Bug 1344892 - 2. Update dispatchTo = "gecko" options; r=snorp

Update some existing dispatchTo = "gecko" options to "gecko_priority",
which typically involve UI events or JNI management calls like
disposeNative.

Bug 1344892 - 3. Update auto-generated bindings; r=me
2017-03-10 14:10:15 -05:00
Jim Chen
e6b653c89a Bug 1346019 - Guard against null GeckoApp in GeckoUpdateReceiver; r=me
Don't dispatch the "Update:CheckResult" event if we don't have an active
GeckoApp. r=me for trivial patch.
2017-03-10 13:48:07 -05:00
Dylan Roeh
767a13c3cf Bug 1325021 - Set mDoorHangerPopup to null after destroying it. r=sebastian 2017-03-09 13:28:35 -06:00
Dylan Roeh
dc1e041d78 Bug 1345267 - Check NEON compatibility in BrowserApp/GeckoApp.onCreate() and fail with an appropriate error message if necessary. r=jchen 2017-03-10 10:29:31 -06:00
Grigory Kruglov
9c2a8e93e0 Bug 1329793 - Re-subscribe for a push channel periodically r=eoger,nalexander
On startup and at the beginning of a sync we check how long it has been since we've subscribed
to a channel for fxa service. If it's been over 21 days, request re-subscription.

MozReview-Commit-ID: GzvPecZ9hTy

--HG--
extra : rebase_source : d0292acddbdd231502808469d4e5502a4ac93779
2017-03-08 18:14:43 -08:00
Carsten "Tomcat" Book
45b510057b Merge mozilla-central to autoland
--HG--
extra : rebase_source : dcccfd463c74743c692814695c9a7f0cba61e3ee
2017-03-09 11:26:20 +01:00
Carsten "Tomcat" Book
6d06361383 merge mozilla-inbound to mozilal-central a=merge 2017-03-09 11:23:25 +01:00
Eugen Sawin
30669c12dd Bug 1343613 - [1.7.1] Add missing file. r=me 2017-03-09 00:54:33 +01:00
Timothy Guan-tin Chien
0127cd03e2 Bug 1344431 - Tell parent the non-reader-able reader page is not readable, r=Gijs
Although regression window testing pin this to bug 1260276, I believe
this is a regression from bug 1126967. Bug 1260276 just make it more
visible because we stop automatically redirect users to the original
page.

This patch fix the bug by checking if the current page is in readerable
state (i.e. not error state), and send the message accordingly.

MozReview-Commit-ID: B5UJcPvVlAc

--HG--
extra : rebase_source : 630347e1f4256550857d84bc6e8a30036b114362
2017-03-06 16:31:47 +08:00
Tom Klein
13fdc02ec9 Bug 1331154 - 10. Add testReorderTabs UI test. r=sebastian
MozReview-Commit-ID: InLNHxFhClB

--HG--
extra : rebase_source : 3f1c33f2d38ab3455eb582cd882bfd07caf804d5
2017-02-25 19:28:36 -06:00
Tom Klein
5c35217bc3 Bug 1331154 - 9. Add TabsPanelComponent. r=sebastian
TabsPanelComponent and TabStripComponent share a lot of functionality, so factor
out TabsPresenterComponent.

MozReview-Commit-ID: Gnbo8gvowj6

--HG--
extra : rebase_source : 5f6738723893ac055354aafd7e872686598c0a8b
2017-02-25 19:28:05 -06:00
Tom Klein
43d91a5467 Bug 1331154 - 8. Add a long-press-then-drag test helper. r=sebastian
MozReview-Commit-ID: AZF76PBfXz0

--HG--
extra : rebase_source : 52d3f1f59a76e59059aec80b7f2290b84c45a4dd
2017-02-27 22:29:23 -06:00
Tom Klein
00ebd942d3 Bug 1331154 - 7. Update the tab strip after tabs are moved in the tabs tray. r=sebastian
The tabs tray is drawn on top of the tab strip, not instead of it, so the tab
strip needs to be updated after tabs are moved in the tabs tray before the tab
strip becomes user-visible again.

This introduces a slight change in behavior: *if* a move (of a tab matching the
privacy state of the tab strip) occurs while the tabs panel is open, the tab
strip will be scrolled to the currently selected tab when the tabs panel is
closed - previously the tab strip maintained its old scroll position if a tab
wasn't closed or added while the tabs panel was open.

MozReview-Commit-ID: Ipy5huthNYB

--HG--
extra : rebase_source : e7a3432cdad104b3cec45eeb798f239ae08dd9b9
2017-02-25 19:22:01 -06:00
Wes Kocher
c1d1ad8a06 Merge m-c to autoland, a=merge
MozReview-Commit-ID: 1huLsbfIJEB
2017-03-08 17:15:08 -08:00
Andrea Marchesini
12b54aa0f5 Bug 1299500 - Get rid of DeviceStorage API - part 10 - DeviceStorage, r=ehsan, r=billm 2017-03-08 20:15:45 +01:00
Dylan Roeh
eb065403f2 Bug 1338055 - Prevent crash from destroying PromptService multiple times. r=sebastian 2017-03-07 08:59:10 -06:00
Carsten "Tomcat" Book
f6885163cd Merge mozilla-central to mozilla-inbound 2017-03-08 14:28:34 +01:00
Luca Greco
5640e485c4 Bug 1345574 - Fix missing tab details in pageAction.onClicked events on Android. r=kmag
MozReview-Commit-ID: EqnNcku8LHE

--HG--
extra : rebase_source : 3a7e69856f60c5468fcd75edace54148137170bf
2017-03-08 18:52:17 +01:00
Jim Chen
53a1107cd1 Bug 1343075 - Use GeckoEditableSupport from PuppetWidget; r=masayuki r=rbarker r=snorp r=esawin
Bug 1343075 - 1a. Add TextEventDispatcherListener::GetIMEUpdatePreference; r=masayuki

Add a GetIMEUpdatePreference method to TextEventDispatcherListener to
optionally control which IME notifications are received by NotifyIME.
This patch also makes nsBaseWidget forward its GetIMEUpdatePreference
call to the widget's native TextEventDispatcherListener.

Bug 1343075 - 1b. Implement GetIMEUpdatePreference for all TextEventDispatcherListener; r=masayuki

This patch implements GetIMEUpdatePreference for all
TextEventDispatcherListener implementations, by moving previous
implementations of nsIWidget::GetIMEUpdatePreference.

Bug 1343075 - 2. Allow setting a PuppetWidget's native TextEventDispatcherListener; r=masayuki

In PuppetWidget, add getter and setter for the widget's native
TextEventDispatcherListener. This allows overriding of PuppetWidget's
default IME handling. For example, on Android, the PuppetWidget's native
TextEventDispatcherListener will communicate directly with Java IME code
in the main process.

Bug 1343075 - 3. Add AIDL interface for main process; r=rbarker

Add AIDL definition and implementation for an interface for the main
process that child processes can access.

Bug 1343075 - 4. Set Gecko thread JNIEnv for child process; r=snorp

Add a JNIEnv* parameter to XRE_SetAndroidChildFds, which is used to set
the Gecko thread JNIEnv for child processes. XRE_SetAndroidChildFds is
the only Android-specific entry point for child processes, so I think
it's the most logical place to initialize JNI.

Bug 1343075 - 5. Support multiple remote GeckoEditableChild; r=esawin

Support remote GeckoEditableChild instances that are created in the
content processes and connect to the parent process GeckoEditableParent
through binders.

Support having multiple GeckoEditableChild instances in GeckoEditable by
keeping track of which child is currently focused, and only allow
calls to/from the focused child by using access tokens.

Bug 1343075 - 6. Add method to get GeckoEditableParent instance; r=esawin

Add IProcessManager.getEditableParent, which a content process can call
to get the GeckoEditableParent instance that corresponds to a given
content process tab, from the main process.

Bug 1343075 - 7. Support GeckoEditableSupport in content processes; r=esawin

Support creating and running GeckoEditableSupport attached to a
PuppetWidget in content processes.

Because we don't know PuppetWidget's lifetime as well as nsWindow's,
when attached to PuppetWidget, we need to attach/detach our native
object on focus/blur, respectively.

Bug 1343075 - 8. Connect GeckoEditableSupport on PuppetWidget creation; r=esawin

Listen to the "tab-child-created" notification and attach our content
process GeckoEditableSupport to the new PuppetWidget.

Bug 1343075 - 9. Update auto-generated bindings; r=me
2017-03-07 22:34:39 -05:00
Phil Ringnalda
394951281e Backed out 2 changesets (bug 1343613) for Android crashes in nsWindow::GeckoViewSupport::EnableEventDispatcher]
Backed out changeset f9632a8f4b14 (bug 1343613)
Backed out changeset 4aa287ae1cec (bug 1343613)
2017-03-07 18:56:35 -08:00
Eugen Sawin
5728cb6576 Bug 1343613 - [2.3] Add GeckoView event queuing in EventDispatcher. r=jchen,snorp 2017-03-08 00:19:42 +01:00
Eugen Sawin
5db48b0409 Bug 1343613 - [1.7] Refactor native call queuing out of GeckoThread. r=jchen 2017-03-08 00:19:42 +01:00
Jim Chen
1294cccf48 Bug 1337467 - Convert observers to bundle events; r=rbarker r=sebastian
Bug 1337467 - 1. Convert "Window:Resize" observer to event; r=rbarker

Bug 1337467 - 2. Convert "ScrollTo:FocusedInput" observer to event; r=rbarker

Bug 1337467 - 3. Convert "Update:CheckResult" observer to event; r=sebastian

Also remove notifyCheckUpdateResult from GeckoInterface.

Bug 1337467 - 4. Convert "GeckoView:ImportScript" observer to event; r=sebastian

Bug 1337467 - 5. Convert accessibility observers to events; r=sebastian

Bug 1337467 - 6. Convert media/casting observers to events; r=sebastian

Bug 1337467 - 7. Convert "Sanitize:ClearData" observer to event; r=sebastian

Bug 1337467 - 8. Convert "Notification:Event" observer to event; r=sebastian

Bug 1337467 - 9. Convert BrowserApp observers to events; r=sebastian

Bug 1337467 - 10. Convert Tab observers to events; r=sebastian

Bug 1337467 - 11. Convert "Passwords:Init" and "FormHistory:Init" observers to events; r=sebastian

Bug 1337467 - 12. Convert Reader observers to events; r=sebastian

Bug 1337467 - 13. Convert Distribution observers to events; r=sebastian

Bug 1337467 - 14. Convert "Fonts:Reload" observer to event; r=sebastian

Bug 1337467 - 15. Convert RecentTabsAdapter observers to events; r=sebastian

Bug 1337467 - 16. Convert "Session:Prefetch" observer to event; r=sebastian

Bug 1337467 - 17. Convert "Browser:Quit" and "FullScreen:Exit" observers to events; r=sebastian

Bug 1337467 - 18. Convert SessionStore observers to events; r=sebastian

The "Session:NotifyLocationChange" observer is sent by browser.js and
requires passing a browser reference, so it's left as an observer.

Bug 1337467 - 19. Remove unused "Tab:Screenshot:Cancel" notifyObserver call; r=me

Bug 1337467 - 20. Convert "Session:Navigate" observer to event; r=sebastian

Bug 1337467 - 21. Convert "Locale:*" observers to events; r=sebastian

Bug 1337467 - Add log for unhandled events; r=me

Add back the log indicating no listener for an event, which can be
useful when reading logcat. r=me for trivial change.

Bug 1337467 - Don't return error from EventDispatcher when OnEvent fails; r=me

When a listener's OnEvent method returns an error, continue to dispatch
to other listeners and don't return an error from the dispatch function.
This avoids unexpected errors when dispatching events. r=me for trivial
patch.
2017-03-07 12:34:04 -05:00
Florian Quèze
37bbced84d Bug 1344711 - hand cleanup of remaining useless try blocks around get*Pref calls identified by eslint, r=jaws.
--HG--
extra : rebase_source : 18c027010838faba91f0ac699f9bde07f85500e7
2017-03-07 15:29:48 +01:00
Florian Quèze
cd762cc83c Bug 1344711 - script-generated patch to remove try blocks around get*Pref calls, r=jaws.
--HG--
extra : rebase_source : c6e20e6e79b0ca5de751c52712d96cbea9432d26
2017-03-07 15:29:48 +01:00
Carsten "Tomcat" Book
41ba400533 Merge mozilla-central to mozilla-inbound 2017-03-07 15:18:32 +01:00
Carsten "Tomcat" Book
087da3f0d9 merge mozilla-inbound to mozilla-central a=merge 2017-03-07 15:13:31 +01:00
John Lin
434199e7be Bug 1340160 - catch more local and remote Java exceptions. r=snorp
MozReview-Commit-ID: JkfIFsKc5oe

--HG--
extra : rebase_source : 8f2a437a20ebdf803b90d9cefa1088de02037887
2017-03-06 14:30:00 +08:00
Phil Ringnalda
9676504256 Backed out changeset 00daf2c5342a (bug 1340661) for Android reftest failures in ua-style-sheet-checkbox-radio-1.html 2017-03-07 20:57:57 -08:00
Randall Barker
1b04875fd3 Bug 1344517 - Keep dynamic toolbar visible while page is loading r=kats 2017-03-06 14:01:46 -08:00
Jim Chen
3f746133a9 Bug 1337910 - Notify observers from Gecko event queue; r=snorp
Call NotifyObservers from the Gecko event queue instead of the Android
event queue, to better support Promises in notified JS code.
2017-03-06 15:32:37 -05:00
Wes Kocher
bfc6ee87c5 Merge m-c to autoland, a=merge
MozReview-Commit-ID: 7cTf6LvHTEo
2017-03-07 16:44:35 -08:00
Mike Conley
9036c3c896 Bug 1340661 - Manually draw checkbox and radio frames on Android. r=snorp,tnikkel
MozReview-Commit-ID: 8IiaRZNJs16

--HG--
extra : rebase_source : 8844292c6bbfec709752a51d293fc3b9bdfdced8
2017-03-03 18:36:12 -05:00
suman
165770f91e Bug 1326374 Changed the method spelling from Lollopop to lollipop. r=sebastian,walkingice
MozReview-Commit-ID: FSOglE5UuRa

--HG--
extra : rebase_source : 0f4d67bc9c22e3e2038d931d9c86f7d153f2a5a4
2017-02-25 22:06:07 +05:30
Tom Klein
c68bc06849 Bug 1331154 - 6. Notify session store when a tab is moved. r=JanH
MozReview-Commit-ID: 66PqTqMiy0T

--HG--
extra : rebase_source : 99fa467f136a8ba7d2a970fc5f416c0bf952f9a3
2017-02-02 21:32:26 -06:00
Tom Klein
9994c5b150 Bug 1331154 - 5. Notify browser.js when a tab gets moved. r=sebastian
Session store will be notified in the next patch.

MozReview-Commit-ID: APTJykdnMF2

--HG--
extra : rebase_source : f3cdd3e5529f470834c32d6ae2289a6d272cba67
2017-02-02 21:02:51 -06:00
Tom Klein
8494bb4923 Bug 1331154 - 4. Don't use deck for user-visible tabs order. r=JanH,sebastian
Every way I've tried to move a browser in the deck results in the browser being
reset (it loses its docShell and contentDocument).  So now we treat
deck.children as a set of browsers instead of a list, and make BrowserApp._tabs
the sole keeper of the user visible tabs list order.  That means
deck.selectedIndex should no longer be used to get the user visible index of the
currently selected tab (deck.selectedPanel is still valid), and that all
additions to deck can be appends.

Note if this gets reverted at some later date: there's currently a bug, which
this change renders moot, where we reinsert a close-undo tab correctly in the
_tabs list, but incorrectly append it to the deck instead of inserting it.

MozReview-Commit-ID: Id7FR1p1nfN

--HG--
extra : rebase_source : 1506f513e653c67d066601fb9038bee098be9479
2017-02-12 16:17:29 -06:00
Tom Klein
f892b6de0a Bug 1331154 - 3. Add a cache to remember the position of the last tab move. r=sebastian
MozReview-Commit-ID: 5gEpwYuphKm

--HG--
extra : rebase_source : 52da5edee5e8ebdb797cdd3d17787156eba66796
2017-02-02 15:55:25 -06:00
Tom Klein
e58cc999fc Bug 1331154 - 2. Update the tabs list in Tabs when a tab is moved. r=sebastian
A cache to remember the position of the tab that was just moved will be added in
the next commit.

MozReview-Commit-ID: 5V4FSpcJ69Z

--HG--
extra : rebase_source : b81d9f4de6d72244ec314d8edf27397fbe601668
2017-02-05 10:47:47 -06:00
Tom Klein
be99c1abe9 Bug 1331154 - 1. Add TabsLayout support for reordering tabs. r=sebastian
Future commits will update the tabs lists in Tabs and gecko; for now we're just
updating the TabsLayoutAdapter list.

When considering some of the changes in TabsTouchHelperCallback, note that
TabStripView uses the new drag and drop, but not swipe to close.

MozReview-Commit-ID: EEseqmVIZmY

--HG--
extra : rebase_source : 779b8ac3f0f9b7b57f9932205890b564aea86d9d
extra : source : 54bfd72900af26472346f75f9fe50334ed273481
2017-02-02 17:15:27 -06:00
Sebastian Hengst
9913356b39 Backed out changeset 8bd27accc2a0 (bug 1340661) for mass-failing on Android at gfx/thebes/gfxPrefs.h:377. r=backout on a CLOSED TREE 2017-03-07 21:36:20 +01:00
Mike Conley
8c8d67a332 Bug 1340661 - Manually draw checkbox and radio frames on Android. r=snorp,tnikkel
MozReview-Commit-ID: 8IiaRZNJs16

--HG--
extra : rebase_source : 7cedbc046bd7bff552b16d2f10d16af56a9c3f79
2017-03-03 18:36:12 -05:00
Jan Henning
2669dd3183 Bug 1343603 - Part 2 - Test that clearing history clears the cached session store data, too. r=ahunt
MozReview-Commit-ID: 3YhHnmnkgCS

--HG--
extra : rebase_source : ce9cdf0df97d7bf6be116037f690a3a44c97346e
2017-03-02 20:19:58 +01:00
Jan Henning
ff6a093d9d Bug 1343603 - Part 1 - Immediately clear cached session store history data when clearing history. r=ahunt
The session store keeps a serialised copy of a tab's session history around so that the gathering of the data (which can be somewhat expensive) can be decoupled from writing it to disk.

When the user clears Firefox's history, we therefore need to discard this data as well (except for the currently open entry), so it doesn't stick around until the next time some navigation/history change occurs in that tab. Otherwise, if Firefox or just the tab is closed before the purged state has been re-collected by the session store, the supposedly purged session history will resurface when the tab is restored again.

Bug 1337940 means that we'll now catch the history notifications caused by the session history being purged, however
- we still need to handle zombified tabs separately, since as far as the rest of Gecko is concerned, those simply consist of a plain "about:blank" browser with the true state being stashed away in the session store data, so the purging of the live session history data won't have any real effect
- the history purging on the tab happens after the session store receives the "browser:purge-session-history" notification, meaning that these changes received through the regular history notifications won't get written to disk immediately

Therefore we now explicitly purge the session history data of all tabs in our notification handler, so this state can then immediately be saved to disk.

MozReview-Commit-ID: KkR0Tif9BBk

--HG--
extra : rebase_source : 5744c88e2871cd873e2484e9688deb53bf8d44f2
2017-03-02 20:29:52 +01:00
Jan Henning
51cfb79ec0 Bug 1343174 - Part 3 - Test that selectOrAddTab() finds zombified tabs as well. r=ahunt
MozReview-Commit-ID: AXeAgRltRP1

--HG--
extra : rebase_source : 2c1b3bd951b04b605368d6b4caa67a22ecd0e9c4
2017-02-28 20:55:29 +01:00
Jan Henning
f05b95948c Bug 1343174 - Part 2 - Rewrite test_selectoraddtab to track tabs instead of browsers. r=ahunt
It's easy to get a tab's browser, but going the other way round requires always calling getTabForBrowser(), which then additionally has to search each open tab in turn to find the tab with the matching browser.
Also, the browser won't survive tab zombification, so for Part 3 we'll have to start keeping a reference to the tab object anyway.

MozReview-Commit-ID: B2aC7vB0cuj

--HG--
extra : rebase_source : 233b6deec58c0c47640e8a0b597d77324ce66963
2017-02-28 20:44:03 +01:00
Jan Henning
702a8c80a6 Bug 1343174 - Part 1 - When looking for tabs with the same URL, fall back to the session store data for zombie tabs. r=ahunt
Delay-loaded tabs all have browsers pointing to about:blank, so there's not much sense in querying browser.currentURI for them. Instead we read their session data to determine the correct URL, which allows selectOrAddTab to successfully detect duplicate tabs even when they are zombified.

MozReview-Commit-ID: JZ179Y85Ehe

--HG--
extra : rebase_source : bc34d34d501a994ce989c27858cc529b78b5ae3d
2017-02-28 21:09:39 +01:00
Jan Henning
659b62bd26 Bug 1340828 - Part 3 - Switch Fennec's session store over to SessionHistory.jsm. r=sebastian
Fennec's session store code was forked from Desktop a few years ago. Since then, the Desktop session store code has been refactored and modularised, which allows us to pull in again the bits the are compatible with our session store architecture and don't require any mobile-specific handling.

The handling of session history is such a case - with the exception of the "wyciwyg" filtering, any differences between SessionHistory.jsm and our equivalent in sessionstore.js seems to stem from Desktop bugfixes that were never ported over to our copy of the code.

Switching Fennec's session store over to use SessionHistory.jsm will prevent those sort of errors from occurring again in the future and hopefully simplify the maintenance of the session history code going forward.

MozReview-Commit-ID: Hm0TWTwtPsI

--HG--
extra : rebase_source : 5935c7baeefbd2c75754fe609b684aaf40ee85e9
2017-02-18 23:35:48 +01:00
Jan Henning
73b4249e96 Bug 1344464 - Part 1 - Restart input after removing autocomplete text for keyboards that require it. r=jchen
When we detect text being deleted from the URL bar via setComposingText while we're displaying an autocomplete suggestion, we clear the autocomplete text and prevent the keyboard's delete from having any effect on the URL bar by returning false.

Some keyboards might not handle this correctly and assume that they've in fact successfully set the new text, so the next time the user presses a key can lead to weird behaviour. As a workaround, we therefore additionally restart the input for affected keyboards.

MozReview-Commit-ID: DucveafL3AB

--HG--
extra : rebase_source : 3ba1701adf7e4e8a03d263a75c04717aadaab663
2017-03-04 21:09:15 +01:00
Jan Henning
19159002e9 Bug 1344464 - Part 0 - Remove unneeded code. r=jchen
MozReview-Commit-ID: 2mPPx4fMTM2

--HG--
extra : rebase_source : 3a9fd58de214649dba8fd66b22ae4c5fbf0442cd
2017-03-04 21:59:35 +01:00
Jan Henning
53cf8e265c Bug 743662 - Restore session once when addons require a restart. r=sebastian
MozReview-Commit-ID: C5Q9cYnxnhj

--HG--
extra : rebase_source : 3f50c6a4a207e7950dd9eeaaf089fbeac078d627
2017-03-03 19:05:49 +01:00
Carsten "Tomcat" Book
d0bd960945 merge mozilla-inbound to mozilla-central a=merge 2017-03-06 10:53:27 +01:00
Tushar Saini (:shatur)
ab529e5e79 Bug 1305528 - Remove ignoreEvent from API events for which it is inappropriate. r=bsilverberg,mixedpuppy
MozReview-Commit-ID: Cado1fxLYxr

--HG--
extra : rebase_source : 263d0ef1bc2f38866571d2bb6d555b8dcc9dca38
2017-03-02 02:01:44 +05:30
Wes Kocher
1b29a33fce Merge m-c to autoland, a=merge
MozReview-Commit-ID: K0Q4b2wzvlJ
2017-03-03 17:29:54 -08:00
Wes Kocher
c4f1f63f47 Merge autoland to central, a=merge
MozReview-Commit-ID: tSEg2GfeWi
2017-03-03 17:27:33 -08:00
Carsten "Tomcat" Book
45d42cf9c7 Merge mozilla-central to autoland 2017-03-03 13:07:34 +01:00
Carsten "Tomcat" Book
cf269a43bd merge mozilla-inbound to mozilla-central a=merge 2017-03-03 13:03:48 +01:00
Sebastian Kaspari
3824713252 Bug 1342329 - Only link the "default browser" setting to the default apps screen. r=ahunt
MozReview-Commit-ID: I7mrsbXGng1

--HG--
extra : rebase_source : eae4762aabd973b56dba7e2be584e9638fd5bc3a
2017-03-03 11:12:48 +01:00
Carsten "Tomcat" Book
06813a3df9 Merge mozilla-central to mozilla-inbound 2017-03-03 13:06:37 +01:00
Wes Kocher
901a8c09c1 Merge m-c to autoland, a=merge
MozReview-Commit-ID: AZeTEvGhLd1
2017-03-02 15:03:44 -08:00
Wes Kocher
a9419110b3 Backed out 2 changesets (bug 1334975, bug 1335539) for merge conflicts a=backout
Backed out changeset 429ff39f3d28 (bug 1335539)
Backed out changeset eea959a93ce4 (bug 1334975)

MozReview-Commit-ID: GlvA0B0vHRT
2017-03-02 14:57:21 -08:00
Ben Kelly
9e4cb4f2f0 Bug 1343895 Tune dom.timeout.max_consecutive_callbacks on fennec. r=smaug 2017-03-02 11:33:12 -05:00
Andrea Marchesini
b54dc840c3 Bug 1335539 - Get rid of nsIDOMWindowUtils.wrapDOMFile, r=smaug, r=Gijs 2017-03-02 17:15:29 +01:00
Carsten "Tomcat" Book
4a4777d1aa merge mozilla-inbound to mozilla-central a=merge 2017-03-02 14:02:48 +01:00
Jan Henning
ef37784cd5 Bug 1342820 - Reset navigation button state when clearing history. r=ahunt
Clearing history purges a tab's session history as well. Normally, we only update the navigation button state in the UI for a location change, so now we need to start listening for the appropriate message as well.

BrowserApp has already registered a background thread listener for "Sanitize:ClearHistory" - since this can be called during shutdown as well and their listener is more important (clearing the history DB), we defer to them and redispatch to the UI thread ourselves, so BrowserApp doesn't have to do this during shutdown.

MozReview-Commit-ID: C83mk6Z56Oq

--HG--
extra : rebase_source : 6dc40b1ff816b373783afa6bd34546a961e75571
2017-03-01 21:08:11 +01:00
Zibi Braniecki
3613954ec3 Bug 1339892 - Refactor mozIntl to have a nicer API and thin logic. r=smaug
MozReview-Commit-ID: J4QXXBy7JII

--HG--
rename : toolkit/components/mozintl/MozIntl.cpp => toolkit/components/mozintl/MozIntlHelper.cpp
rename : toolkit/components/mozintl/MozIntl.h => toolkit/components/mozintl/MozIntlHelper.h
rename : toolkit/components/mozintl/mozIMozIntl.idl => toolkit/components/mozintl/mozIMozIntlHelper.idl
extra : rebase_source : 9753dbeea2e11c7fde550df1a20b1c3d1b2063fe
2017-03-01 16:58:11 -08:00
Andrea Marchesini
4d21d3a57a Bug 1335539 - Get rid of nsIDOMWindowUtils.wrapDOMFile, r=smaug, r=Gijs 2017-03-03 09:42:54 +01:00
Nevin Chen
6a40b60418 Bug 1342354 - Add pref pref on/off switch for new bookmark features. r=ahunt
MozReview-Commit-ID: 1Rz7rAao5Is

--HG--
extra : rebase_source : b63e96e28a9367d16db40e3eeb47f714b04c8b0b
2017-02-24 18:05:10 +08:00
Alfredo.Yang
69731f92d5 Bug 1341967 - remove MOZ_RUST_MP4PARSE. r=kinetik
MozReview-Commit-ID: SgTlIo8wEi

--HG--
extra : rebase_source : 263a6cfcf50ee3582f3dc1bfc43d4fa0dcc00800
2017-03-01 14:44:42 +08:00
Jan Henning
0c214f050c Bug 1343995 - Wait for sanitizing to really finish before shutting down. r=jchen
BrowserApp's sanitize() function assumed that the Sanitizer would return promises for each sanitization handler, so it could wait for them to resolve before proceeding with shutdown (which was also the assumption behind the patch for bug 1266594). In fact even the Sanitizer expected to do this is well, since it wrapped each of its handling functions within a promise/task/sendRequestForResult. However it turns out that Sanitizer's clearItem function then failed to actually return this promise - apparently ever since this was implemented.

MozReview-Commit-ID: 6hN3UTXUIuV

--HG--
extra : rebase_source : 4971bc02962c817037a565595d3c1cedb0532d76
2017-03-02 21:34:23 +01:00
Wes Kocher
bd0bfddf8e Merge m-c to inbound, a=merge
MozReview-Commit-ID: Fypud50dqYw
2017-03-02 15:03:11 -08:00
Kris Maglione
95a63cc7ea Bug 1339872: Bump max tries for earliest runAt states. r=me
MozReview-Commit-ID: 6LeWXrgMcCE
2017-03-02 11:21:03 -08:00
Jim Chen
c7d526d4ee Bug 1339685 - Split GeckoEditable into parent and child classes; r=nalexander r=esawin r=snorp
Bug 1339685 - 1. Support compiling GeckoView aidl from multiple packages; r=nalexander

Specify a list of AIDL files for GeckoView so we can include AIDLs from
multiple packages, and not just those from the org.mozilla.gecko.process
package.

Bug 1339685 - 2. Add AIDLs for GeckoEditable; r=esawin

Add IGeckoEditableParent.aidl and IGeckoEditableChild.aidl for two-way
communication between the parent, which lives in the main process, and
the child, which lives in the main process or a child content process.

Bug 1339685 - 3. Refactor some GeckoEditable code; r=esawin

Auto-generate native constants for the constants in GeckoEditableClient,
instead of keeping a separate set of constants in native code.

Bug 1339685 - 4. Add GeckoEditableChild; r=esawin

Add the GeckoEditableChild class, which is currently only used in the
main process as the interface between the native nsWindow and
GeckoEditable. Eventually, it will be expanded to child content
processes as the interface between the native PuppetWidget and
main process GeckoEditable.

Bug 1339685 - 5. Use GeckoEditableChild from GeckoEditable; r=esawin

Make calls to GeckoEditableChild from GeckoEditable, and remove code
that exists in GeckoEditableChild from GeckoEditable.

Bug 1339685 - 6. Add GetNativeObject member to proxied native calls; r=snorp

Add a convenience function for getting the C++ object that is the target
of the native call.

Bug 1339685 - 7. Use GeckoEditableChild from native code; r=esawin

Make nsWindow and GeckoEditableSupport use GeckoEditableChild for
communication. nsWindow still keeps a reference to GeckoEditable for
switching views.

Bug 1339685 - 8. Updated generated bindings; r=me
2017-03-02 13:47:14 -05:00
Sebastian Kaspari
ff5dce313b Bug 1330973 - Use website description length for highlights ranking. r=Grisha
MozReview-Commit-ID: 7kZjNb2MSJ7

--HG--
extra : rebase_source : 8a5e12aaa78cee002330d57219465fd89c4c9c08
2017-02-02 17:08:30 +01:00
Sebastian Kaspari
4e6612f2c4 Bug 1330973 - WebsiteMetadata.jsm: Add description length to Metadata JSON. r=Grisha
MozReview-Commit-ID: 4zxaHPLEWJ6

--HG--
extra : rebase_source : 861de1b6e5f47435963d641aa6a2245f18a77128
2017-02-02 16:21:54 +01:00
Sebastian Kaspari
fd87861e7b Bug 1312016 - Activity Stream: Implement highlights ranking to mirror desktop add-on behavior. r=Grisha
This patch has multiple changes folded into:
* Remove old highlights query
* Add new query for retrieving recent history to consider for highlights
* First version of highlights ranking implementation
* Add new loader implementation that will return a list of Highlight objects instead of a Cursor
* Modify UI code to work with Highlight objects instead of a Cursor.

MozReview-Commit-ID: Pdx2YxrZKA

--HG--
extra : rebase_source : 495bd97e40270fb15c05d5b5f511d5dcf89fbd1b
2017-02-13 18:14:23 +01:00
Dylan Roeh
a21a7f8f67 Bug 1305815 - Issue EOL warning if non-NEON-compatible device detected. r=glandium 2017-03-01 13:26:12 -06:00
Jim Chen
e559b260ee Bug 1137567 - Make nsWindow for Android use TextEventDispatcher; r=esawin r=rbarker r=masayuki r=snorp
Bug 1137567 - 1. Allow dispatching key events during composition; r=esawin

We potentially dispatch key events during composition to provide
compatibility for pages that only listen to key events.

Bug 1137567 - 2. Allow keyboard events in DispatchInputEvent when not on APZ thread; r=rbarker

We use nsIWidget::DispatchInputEvent to dispatch our keyboard events on
the Gecko thread, which on Android is not the APZ controller thread. We
should allow these events to pass instead of crashing.

Bug 1137567 - 3. Add GeckoEditableSupport class to support TextEventDispatcher; r=masayuki

Add a separate GeckoEditableSupport class, which implements
TextEventDispatcherListener and uses TextEventDispatcher for IME
operations. The new class is entirely separate from nsWindow to allow it
to be independently used in content processes as well.

Most of the code is copied from nsWindow::GeckoViewSupport, and adapted
to use TextEventDispatcher.

Bug 1137567 - 4. Make nsWindow::WindowPtr available for outside classes; r=snorp

Make nsWindow::WindowPtr available not just for classes inside nsWindow
but for outside classes as well. Also, add support for RefPtr native
objects to nsWindow::NativePtr.

Bug 1137567 - 5. Use GeckoEditableSupport in nsWindow; r=esawin

Use the new GeckoEditableSupport class in nsWindow to replace the
previous code in nsWindow::GeckoViewSupport. GeckoEditable native
methods now go to GeckoEditableSupport instead of GeckoViewSupport.

Several native methods in GeckoEditable are changed from
dispatchTo="proxy" to dispatchTo="gecko", because we no longer need the
special nsWindow::WindowEvent wrapper for our native calls.

Bug 1137567 - 6. Use pushPrefEnv in test_assign_event_data.html; r=masayuki

setAndObserveCompositionPref in test_assign_event_data.html does not
invoke the callback if the pref is already set. This patch changes it to
use SpecialPowers.pushPrefEnv so the callback is always invoked.
2017-03-01 15:29:30 -05:00
Krishna
512218087a Bug 1276588 - Handling Hyphenation-Dictionaries in DownloadAction. r=sebastian
MozReview-Commit-ID: GTuR0IarjGe

--HG--
extra : rebase_source : 3718d249a0413d278b8a5e7d77a77086caafbd9e
2016-12-04 23:06:35 +08:00
Tom Klein
84ea537291 Bug 1216489 - 3. Remove unnecessary touch intercept code for TabsPanel. r=sebastian
MozReview-Commit-ID: 7pf9GRLgHXg

--HG--
extra : rebase_source : 3c7d376baffbe7577cdac923ef9ac2aebf7f33c0
2016-11-30 18:30:57 -06:00
Tom Klein
1540860821 Bug 1216489 - 2. Cleanup width and height calculations in TabsPanel. r=sebastian
MozReview-Commit-ID: I1chEZDnOyR

--HG--
extra : rebase_source : b0cab7c838c4cc51ae8b1bf49ebad6870c7c95bd
2016-11-30 17:31:37 -06:00
Tom Klein
64e697ee77 Bug 1216489 - 1. Cleanup TabsPanel includes and remove member variable. r=sebastian
MozReview-Commit-ID: 9eTBEf8xj1l

--HG--
extra : rebase_source : 368250516367973b35e7ae6a4206462619c8a35d
2016-11-30 17:02:53 -06:00
Tom Klein
ce402fbf10 Bug 1340929 - Don't scroll to a new tab opened from a link. r=sebastian
We used to scroll in addTab to make sure a new tab created by a close-tab-undo
at the start or the end of the list was made visible instead of staying where it
was created off the edge.  We're now taking care of that in selectTab (where it
should have stayed in the first place), where the select in that case occurs
between the time when the new tab is added to the adapter and when the layout
gets updated.  In the case where the new tab is at the start, that means the
check 'position < layoutManager.findFirstCompletelyVisibleItemPosition()' in
selectTab reads '0 < 0', which fails (which is why we need the new check for
'position == 0'), but the check 'position >
layoutManager.findLastCompletelyVisibleItemPosition()' for a tab added at the
end reads 'new_lengh -1 > old_length - 1' which already passes, so we don't need
a special case for undo-tab-close adds at the end in selectTab.  Tabs added at
the end by a normal "create new tab" still scroll for the same reason.

Robotium was confused by the duplicate 'add_tab' ids from the tab strip and the
tabs panel, so I renamed one of them.  Also note that the 'getTabId' added to
TabStripItemView for testing already exists on TabLayoutItemView, but the two
classes don't share a common base.

MozReview-Commit-ID: BzG2r8BSs90

--HG--
rename : mobile/android/tests/browser/robocop/src/org/mozilla/gecko/tests/testTabStripPrivacyMode.java => mobile/android/tests/browser/robocop/src/org/mozilla/gecko/tests/testTabStrip.java
extra : rebase_source : b2859647d9e26cdca24e1b03065d3c62e20f7b1b
extra : source : 119ee2655404e277c13d0e436fba1cad1272797e
2017-02-22 21:54:11 -06:00