For example, these values may be used in JS only.
--HG--
extra : commitid : 3gD1zA9TIOz
extra : rebase_source : d078121ec0aedd3a3b994539c3528a323ff24da3
The profile JSON is stored in the Account bundle. There's no need to
bump the bundle version, since missing (i.e., null) profile JSON is
legal.
This introduces and uses a general-purpose PicassoPreferenceIcon
Picasso Target that, on API 11+ devices, dynamically loads a
preference icon.
--HG--
extra : commitid : 5eCDv0G75qy
extra : rebase_source : 4380e6ea0d5992ca212de0bf95c6d471817f2f35
This is a small optimization that will also make it easier to flip the
MOZ_DISABLE_GECKOVIEW conditional. We don't currently package
geckolibs without geckoview, and it's reasonable to do both if we want
one.
--HG--
extra : commitid : FcLlG6E3PRQ
extra : rebase_source : ea22994bfa6815468763128995d41c0d6c625d60
extra : histedit_source : a25e0c5c4b5a97bde8871b5e4139e0f0fd4f6a36
This was just an error (on my part): I double-escaped slashes,
thinking that Make required escaping as well as the shell.
--HG--
extra : commitid : HLuwTvkaIl4
extra : rebase_source : 9d85d958d99a7ed5c35befdcee0245ec034e1354
extra : histedit_source : eaaac0578cacf96da86a2566144a93166be4396e
This avoids the "HandlerLeak" Android Lint warning.
--HG--
extra : commitid : 3sLO4YQ6Gjk
extra : rebase_source : 84cd05b1c4848895271e7f577ffa94b72de0281a
Not sure what to do here so I filed bug 1177901.
--HG--
extra : commitid : BCnmZfSMhyF
extra : rebase_source : dd2c7f167d62883616f522ada485e36966bbc862
Note: the tinted view is only a single color while the original asset contains
gradients.
--HG--
extra : commitid : DhaVxpPBMn2
extra : rebase_source : a1991ff478260441e6ac788ba5384a7e7a518d2a
You can now run by `cd mobile/android && eslint . --ext "[.js,.jsm]"`.
--HG--
extra : commitid : AAENN0WrJVl
extra : rebase_source : 4a7fb888ef16a29580fa7b5d394c44aabd387210
eslint can be run by `cd`ing to mobile/android and running `eslint .` (assuming
eslint is installed). Note that .jsm files have not yet been configured.
Add an eslintignore to avoid the files that will take more work.
--HG--
extra : commitid : LcrYaNh2sSn
extra : rebase_source : 43a2b1988049003b1e225fa60671a04f62c3d44a
This removes ambiguity as to which modules are being imported, making
import slightly faster as Python doesn't need to test so many
directories for file presence.
All files should already be using absolute imports because mach command
modules aren't imported to the package they belong to: they instead
belong to the "mach" package. So relative imports shouldn't have been
used.
--HG--
extra : commitid : 6tFME1KKfTD
extra : rebase_source : 78728f82f5487281620e00c2a8004cd5e1968087
DONTBUILD ON A CLOSED TREE: Android-only and the build changes are cosmetic.
Very much a first cut, but I'd like to get some Fennec early adopters testing.
This adds:
* |mach artifact install| to fetch and install Fennec binaries;
* |mach artifact last| to print details about what was last installed;
* |mach artifact {print,clear}-caches|, for debugging.
This code is exposed as a new mozbuild.artifacts Python but it's not
particularly general. My intention was to get things out of the mach command
more than produce a general artifact fetching API. We can leave that bike
shed to Bug 1124378.
I've been testing this with --disable-compile-environment and it works well
locally, although there's no reason a knowledgeable developer couldn't use
this in conjunction with a fully-built tree. (I don't know when such a
situation would arise, but I know of no technical impediment.)
--HG--
extra : commitid : 1T28aVfArqF
extra : rebase_source : b8c11244de8be0a14d605853f30cd47312d0a4ba
extra : histedit_source : 78a224501cd3cf0f86707c9c9549b61b4b248ba7
This was causing crashes on tablet devices.
I'm not sure what it was for but pretty sure it was an artifact that was never
removed in old tablet builds.
--HG--
extra : commitid : HVyBG7WSkjT
Inside a ScrollView. According to Android Lint:
ScrollView children must set their layout_width or layout_height attributes to
wrap_content rather than fill_parent or match_parent in the scrolling dimension
--- Who am I to argue?
--HG--
extra : commitid : EomuSjCkA7a
extra : rebase_source : 7c6fb5539f96744f3dfa2bd3613ecd95fe1d6e2e
We have a custom menu system here and interpret these attributes ourselves so
this warning isn't relevant to us.
--HG--
extra : commitid : 9iDtQH2P86
extra : rebase_source : 1f2e5c37e57057cd92971a3ff637837032f78516
This moves the tabs and clients table into the main per-profile
browser.db database. It's a code savings but it also makes it easier
to query against open tabs when inspecting parts of the browser
database, like history and bookmarks.
--HG--
extra : commitid : GFnp5ADiaKQ
extra : rebase_source : 944afa7a2af67cb177c72fdad2d0340f470e5d23
extra : amend_source : 2a1748ed22db0d9dc984f20ef9f53385c2ce9fdb
Also update the configure to use MOZ_APP_VERSION for MOZ_APP_VERSION_ABOUT
if not found
--HG--
extra : rebase_source : bf511748c78577a2b84465bf4798ee635b036c22
We will probably grow a helper module for handling these
account-related messages, but this is enough to develop an
about:accounts style add-on.
--HG--
extra : commitid : 4w3nNnJLd59
extra : rebase_source : 2f4cf9c5700bf9555d0dec9bdbf6341b274fbfd2
This falls under the InefficientWeight rule.
Changes completed via Android Studio quick-fix.
--HG--
extra : commitid : 4c64Y9Q3mS3
extra : rebase_source : b888629fed9da8f7bc95e58766d395d40b2d7926
Part of android lint's "MenuTitle" warning.
This is a stub (according to the comments) so we don't actually need a title. I
was going to suppress the lint output but since the title is the empty string
on v11+ where this value is used, I figured an empty string title should
suffice.
--HG--
extra : commitid : IZCdKP6BgtF
extra : rebase_source : 599d608cd815cdfb09f7a636bffa52ae62a4da3c
android-lint recommends this as part of it's "Orientation" rule.
--HG--
extra : commitid : CYxhIiVkqNA
extra : rebase_source : 6551415a01926febf2d6c85c2205881eea91e084
Via the ObsoleteLayoutParam android Lint warning. Fixed automagically by
Android Studio.
--HG--
extra : commitid : IpVcy4sZdGc
extra : rebase_source : adc3d171ff911ccc715c14ca7c7f05adb778cf29
There are several parts to this ticket:
1) Produce javaaddons-1.0.jar, a standalone JAR defining a (versioned)
Java interface suitable for consumption by third-party Java addon
implementations.
2) Support the new V1 interface in the JavaAddonManager.
3) Add Robocop JavascriptTests testing the JavaScript message passing
interface to and from Java.
This patch can be read as "not in tests/" and "everything in tests/".
--HG--
rename : mobile/android/base/JavaAddonManager.java => mobile/android/base/javaaddons/JavaAddonManager.java
extra : commitid : ApOd0Iz9BrZ
extra : rebase_source : 9808487ec3b233f31524e3694d1e997af78a0c84
extra : histedit_source : c8883a01805d7ed39ffb58e8523103260aa72d0b
The use case is to ship a classes.dex file in a Gecko add-on. This
makes it easy to extract such a file from an add-on to a temporary
location. (Sadly, the Android Dex loading classes expect files, not
streams.)
--HG--
extra : commitid : 5hvLXqQHtZz
extra : rebase_source : 6d5964253c7510f02c7ff7c3889264d341b2a61a
extra : histedit_source : f22be3f7c6a12f4aafc222e954d6cbeb466fe147
I want to include a file built during the Fennec build to the
roboextender extension; this is an easy way to arrange it.
I took the opportunity to make the extension file tree mirror the XPI
file tree, which always used base/.
--HG--
rename : testing/mochitest/roboextender/Makefile.in => mobile/android/tests/browser/robocop/roboextender/Makefile.in
rename : mobile/android/tests/browser/robocop/roboextender/SelectionUtils.js => mobile/android/tests/browser/robocop/roboextender/base/SelectionUtils.js
rename : mobile/android/tests/browser/robocop/roboextender/paymentsUI.html => mobile/android/tests/browser/robocop/roboextender/base/paymentsUI.html
rename : mobile/android/tests/browser/robocop/roboextender/robocop_home_banner.html => mobile/android/tests/browser/robocop/roboextender/base/robocop_home_banner.html
rename : mobile/android/tests/browser/robocop/roboextender/robocop_prompt_gridinput.html => mobile/android/tests/browser/robocop/roboextender/base/robocop_prompt_gridinput.html
rename : mobile/android/tests/browser/robocop/roboextender/testInputSelections.html => mobile/android/tests/browser/robocop/roboextender/base/testInputSelections.html
rename : mobile/android/tests/browser/robocop/roboextender/testSelectionHandler.html => mobile/android/tests/browser/robocop/roboextender/base/testSelectionHandler.html
rename : mobile/android/tests/browser/robocop/roboextender/testTextareaSelections.html => mobile/android/tests/browser/robocop/roboextender/base/testTextareaSelections.html
rename : testing/mochitest/roboextender/bootstrap.js => mobile/android/tests/browser/robocop/roboextender/bootstrap.js
rename : testing/mochitest/roboextender/chrome.manifest => mobile/android/tests/browser/robocop/roboextender/chrome.manifest
rename : testing/mochitest/roboextender/install.rdf => mobile/android/tests/browser/robocop/roboextender/install.rdf
rename : testing/mochitest/roboextender/moz.build => mobile/android/tests/browser/robocop/roboextender/moz.build
extra : commitid : 2BkQaW1ESSI
extra : rebase_source : cd7ca3327f77584542a77b26519c9a812f48c48e
extra : histedit_source : fe49f2ab0b6193b49a8c5c5cf4da51a5a4b993f7
I don't expect to have many devices attached to a Fennec instance so it's
unlkely we'll run into the performance issues of SparseArray when
adding/removing.
--HG--
extra : commitid : 71fM6BugV0U
extra : rebase_source : fc3969ba01078414d2945e64b514175cb7f563af
The function is required for a greasemonkey script and the code is expected to
be secure.
--HG--
extra : commitid : 4pQfBCCYBoK
extra : rebase_source : c952a45c6bad183e036b8557cdd7747993ae805d
extra : histedit_source : 9acabb865440c606cedd02d8cc7a02fe5c82dbb4
Automation and some third-party tooling expects fennec_ids.txt, but an
empty file should suffice.
--HG--
extra : commitid : VrUjkAKAOs
extra : rebase_source : ff5ed0ceccb002e1aef3377d18e380f648922096
extra : amend_source : 6e5f0bb8cc15dec19389cb5ad89b06549fdc3176
Before, we'd run this animate the dynamic toolbar over a specified duration
even if the dynamic toolbar was not actually animating anywhere. Thus, this
patch reduces excess work when the dynamic toolbar is not scrolled out of
place (e.g. onPanZoomStopped, onLocationChange, onTabChanged). This reduced
work includes allocating the RenderTask only when we need it.
--HG--
extra : commitid : 3tswkPeE27
extra : rebase_source : e0ffbbfdb8f60e80ef96372d71693aa2ee0490bc
This should hopefully improve power consumption and make us act closer to the
system scrollbars.
--HG--
extra : commitid : HibXXfEknav
extra : rebase_source : 6b4df1252df1c4e7fe4fb718214565289c001657
This patch moves the "fullscreen" event from the original place to the
second part, which indicates two other changes:
1. When the event is triggered, the value of fullScreen would have been
toggled to the new value, which is different from before. The changes in
browser/../browser-fullScreen.js and mobile/../browser.js are for this.
2. This event is no longer preventDefault-able, since it is triggered
after the fullscreen change. This leads to the removal of the test and
the only place which calls preventDefault on that event. That place is
a workaround for bug 1079222. To address that problem, this patch fixes
the intrinsic issue via stoping handling the fullscreen change once it
finds we failed to change the state of the widget.
--HG--
extra : source : 78f78a62ce31b33413f0b52532eb22e5712cb646
This should not have any effect on nightly or aurora.
Also fix browser/installer/windows/Makefile.in
webapprt/win/Makefile.in to use the variable instead
of the file
This includes a JUnit 3 test (not yet run in automation) to test this
functionality.
--HG--
extra : commitid : HXal0V7FwDo
extra : rebase_source : 2c91d276f431bbe9edd833177d7ec04d2d497f89
This also shows the switch button when adding a reading list item that
is already present.
--HG--
extra : commitid : FaFT97MAd73
extra : rebase_source : 36cc1450f44c29334a32910364a9df8f10c2d76e
The Android Activity chooser dialog will appear.
--HG--
extra : commitid : E3MlgMpVqno
extra : rebase_source : 98323dd28de470c392c6a689d6bf1a73e1542d23
This was just a remnant from earlier days. This launched the Fennec
activity, which is absolutely *not* something we want to do during
these browser JUnit 3 tests. That is, these should be pure
instrumentation tests that just run Java code in the correct package
and Java classloader context. They shouldn't interact with the App
lifecycle at all.
Not all the tests pass; I took a shot at fixing one but don't care to
dig deeply right now.
--HG--
extra : rebase_source : cc512347c2adfb5cd59f641893ed8a8edaf5ba94
extra : histedit_source : 4c14f269054ad98e0fbcb9eb6595247f285058df
There are few things happening here:
* A purely mechanical move of test sources into org.mozilla.test.browser.junit3.
This is only to make it easy to specify the suite in Spoon. (But it has the
advantage of making it possible to move files around in IntelliJ, since the
symlink points to src instead of org/mozilla/gecko.)
* Specifying the suite (package name) ended up requiring changes to the
spoon-gradle-plugin anyway. Hence, I've included this custom
spoon-gradle-plugin version locally, while I work to upstream the changes.
* Some Gradle trickery to make |mach gradle runBrowserTests| execute Spoon with
the correct package name.
--HG--
rename : mobile/android/tests/browser/junit3/src/BrowserTestCase.java => mobile/android/tests/browser/junit3/src/org/mozilla/tests/browser/junit3/BrowserTestCase.java
rename : mobile/android/tests/browser/junit3/src/TestDistribution.java => mobile/android/tests/browser/junit3/src/org/mozilla/tests/browser/junit3/TestDistribution.java
rename : mobile/android/tests/browser/junit3/src/TestGeckoBackgroundThread.java => mobile/android/tests/browser/junit3/src/org/mozilla/tests/browser/junit3/TestGeckoBackgroundThread.java
rename : mobile/android/tests/browser/junit3/src/TestGeckoMenu.java => mobile/android/tests/browser/junit3/src/org/mozilla/tests/browser/junit3/TestGeckoMenu.java
rename : mobile/android/tests/browser/junit3/src/TestGeckoProfilesProvider.java => mobile/android/tests/browser/junit3/src/org/mozilla/tests/browser/junit3/TestGeckoProfilesProvider.java
rename : mobile/android/tests/browser/junit3/src/TestGeckoSharedPrefs.java => mobile/android/tests/browser/junit3/src/org/mozilla/tests/browser/junit3/TestGeckoSharedPrefs.java
rename : mobile/android/tests/browser/junit3/src/TestImageDownloader.java => mobile/android/tests/browser/junit3/src/org/mozilla/tests/browser/junit3/TestImageDownloader.java
rename : mobile/android/tests/browser/junit3/src/TestJarReader.java => mobile/android/tests/browser/junit3/src/org/mozilla/tests/browser/junit3/TestJarReader.java
rename : mobile/android/tests/browser/junit3/src/TestRawResource.java => mobile/android/tests/browser/junit3/src/org/mozilla/tests/browser/junit3/TestRawResource.java
rename : mobile/android/tests/browser/junit3/src/TestSuggestedSites.java => mobile/android/tests/browser/junit3/src/org/mozilla/tests/browser/junit3/TestSuggestedSites.java
rename : mobile/android/tests/browser/junit3/src/TestTopSitesCursorWrapper.java => mobile/android/tests/browser/junit3/src/org/mozilla/tests/browser/junit3/TestTopSitesCursorWrapper.java
rename : mobile/android/tests/browser/junit3/src/harness/BrowserInstrumentationTestRunner.java => mobile/android/tests/browser/junit3/src/org/mozilla/tests/browser/junit3/harness/BrowserInstrumentationTestRunner.java
rename : mobile/android/tests/browser/junit3/src/harness/BrowserTestListener.java => mobile/android/tests/browser/junit3/src/org/mozilla/tests/browser/junit3/harness/BrowserTestListener.java
extra : rebase_source : 5eff7e0da0be912838fac0ddad5f6b357800eb45
extra : histedit_source : e76288628e14aeb155d2d3b4033d056c6efdc646
While it might seem like a good idea to disable all of the checks we don't
currently pass, Intellij uses the same lint configuration file as the
command-line invocation and so we'll be more likely to write in new errors by
disabling some checks.
--HG--
extra : commitid : 23gdgWSBmyt
extra : source : 7bd754d48b86b5104bc44067886af81c9315a3b6
This doesn't work for the Settings screen (bug 1170346).
--HG--
extra : commitid : 4Nfxo9FZGRp
extra : rebase_source : 0246d346d8ba5c21624d9bbfa26f14d6c30d37fd
These patches added complexity that we're removing by implementing this bug.
--HG--
extra : commitid : LqUrYf52Qbo
extra : rebase_source : 3ef8e5fc5059c6aa6d28d2fc5a2cca2381904986
This adds a flag to |mach robocop| that does everything to run a
Robocop test except launch the actual test. Instead of launching the
test, it starts the mochi.test server and launches Fennec with a test
profile; then it sits and waits forever.
This allows regular Java IDEs (IntelliJ, but previously Eclipse) to
run Robocop tests like regular instrumentation tests, "injecting" them
into the prepared testing environment. It's quite nice!
--HG--
extra : rebase_source : a5ab08222110a20291aebe70ef1fda0d340dbe7d
extra : source : e91ac9a35f86928fcd519911476ee7d68d06f921
This patch declares robocop.ini an instrumentation manifest. It's not
currently possible to declare tests that don't correspond to files, so
we include the .java extension. (This could be revisited.)
In |mach robocop|, we use the generic test resolving infrastructure to
select the 'instrumentation'/'robocop' flavor/subsuite tests. In
|runtestsremote.py|, we fall back to robocop.ini, as we always have.
--HG--
extra : rebase_source : b84246ab327c7ec576d82cc4b516e729978600c7
extra : histedit_source : 9b23a6f66e6422e5f334f31cea2a21036be45543