Convert from a system add-on into a component

RESOLVED FIXED in Firefox 60

Status

()

defect
P1
normal
RESOLVED FIXED
2 years ago
9 months ago

People

(Reporter: mythmon, Assigned: mythmon)

Tracking

(Depends on 1 bug, Blocks 3 bugs)

Trunk
Firefox 60
Points:
---
Dependency tree / graph

Firefox Tracking Flags

(firefox60 fixed)

Details

Attachments

(2 attachments, 1 obsolete attachment)

Currently the code for the normandy client lives as a system add-on at browser/extensions/shield-recipe-client. Since we are planning to begin shipping system add-ons via Normandy (bug 1436111) it would be strange if Normandy itself was a system add-on.

The new path for the code should be toolkit/components/normandy. This means that normandy will be available to any product built from mozilla-central. We should make sure it is disabled by default in the build system, and enabled only where we want it. For now that is just Firefox Desktop, but in the future may also include Fennec.
Priority: -- → P2
Blocks: 1436111
Blocks: 1437122
Status: NEW → ASSIGNED
Priority: P2 → P1
Mike, what's the planned time frame and ETA for this change? I'm asking this since I see Fx60 marked as affected.
Flags: needinfo?(mcooper)
I'm not sure how Fx60 was marked as affected. I don't think that's correct (and I've removed it). This particular issue isn't version-sensitive, it just blocks some other work, so it isn't targeting any particular version. It also isn't a bug, so it seems odd to mark any particular version as "affected".

As far as timeframe, I'm hoping to have development of this completed this week. I don't think we need to have this feature in Fx60 though, so it could hold off if it is getting too late in the cycle.
Flags: needinfo?(mcooper)
Comment on attachment 8952797 [details]
Bug 1436113 - Part 1: Move browser/extensions/shield-recipe-client to toolkit/components/normandy

https://reviewboard.mozilla.org/r/222020/#review227944

Tentative r=me... it's a big patch, but it looks OK assuming try is happy.

::: toolkit/components/normandy/content/AboutPages.jsm:101
(Diff revision 1)
> +    if (registered) {
> +      return;
> +    }
> +    registered = true;

Why can this now be run more than once?

::: toolkit/components/normandy/content/AboutPages.jsm:164
(Diff revision 1)
>       */
>      unregisterParentListeners() {
>        Services.mm.removeMessageListener("Shield:GetStudyList", this);
>        Services.mm.removeMessageListener("Shield:RemoveStudy", this);
>        Services.mm.removeMessageListener("Shield:OpenDataPreferences", this);
> +      Services.mm.removeMessageListener("Shield:GetStudiesEnabled", this);

Is this just syncing in some additional github stuff?

::: toolkit/components/normandy/content/shield-content-frame.js:52
(Diff revision 1)
> +      case "GetRemoteValue:StudiesEnabled":
> +        sendAsyncMessage("Shield:GetStudiesEnabled");
> +        break;
> +      case "NavigateToDataPreferences":
> +        sendAsyncMessage("Shield:OpenDataPreferences");
> +        break;

Why are these moving?

::: toolkit/components/normandy/moz.build:8
(Diff revision 1)
>  # This Source Code Form is subject to the terms of the Mozilla Public
>  # License, v. 2.0. If a copy of the MPL was not distributed with this
>  # file, You can obtain one at http://mozilla.org/MPL/2.0/.
>  
> -DEFINES['MOZ_APP_VERSION'] = CONFIG['MOZ_APP_VERSION']
> -DEFINES['MOZ_APP_MAXVERSION'] = CONFIG['MOZ_APP_MAXVERSION']
> +with Files('**'):
> +    BUG_COMPONENT = ('Firefox', 'Normandy')

Looks like this is called `Normandy Client` on bugzilla, so that should match.

::: toolkit/components/normandy/test/browser/browser.ini:19
(Diff revision 1)
> -[browser_ClientEnvironment.js]
> -[browser_ShieldRecipeClient.js]
> +[browser_NormandyDriver.js]
> +[browser_Normandy.js]

It looks like you alphabetized these. As a human, I'd expect `Normandy.js` to be sorted before `NormandyDriver.js` but I expect I have to defer to the python here? Unless you did this manually, in which case please put them the other way around. :-)

::: toolkit/components/normandy/test/browser/browser_about_studies.js:9
(Diff revision 1)
> -ChromeUtils.import("resource://shield-recipe-client/lib/RecipeRunner.jsm", this);
> -ChromeUtils.import("resource://shield-recipe-client-content/AboutPages.jsm", this);
> +ChromeUtils.import("resource://normandy/lib/RecipeRunner.jsm", this);
> +ChromeUtils.import("resource://normandy-content/AboutPages.jsm", this);
>  
>  function withAboutStudies(testFunc) {
> -  return async (...args) => (
> -    BrowserTestUtils.withNewTab("about:studies", async browser => (
> +  return async (...args) => {
> +    await AboutPages.init();

Why do we need to do this? Doesn't the about page init in/of itself?

::: toolkit/components/normandy/Normandy.jsm:49
(Diff revision 1)
> +
> +let studyPrefsChanged = {};
> +
> +this.Normandy = {
> +  init() {
> +    Services.console.logStringMessage("Normandy.init");

We shouldn't land with this in there.

::: toolkit/components/normandy/test/browser/browser_Normandy.js:1
(Diff revision 1)
> +"use strict";

Can you mark this as a move of browser_bootstrap.js using `hg move --after` ?

I'm assuming there are no real changes compared to before, except that now we're invoking Normandy instead of the slightly hacky bootstrap loading.
Attachment #8952797 - Flags: review?(gijskruitbosch+bugs) → review+
Comment on attachment 8952798 [details]
Bug 1436113 - Part 2: Refactor "shield-recipe-client" to "normandy"

https://reviewboard.mozilla.org/r/222022/#review227950

Looks OK to me, though there's bits that want to be in the previous cset and some more follow-up material, perhaps.

::: .eslintignore:422
(Diff revision 1)
>  # Third party
>  toolkit/modules/third_party/**
>  third_party/**
> +
> +# Normandy prefs use #ifdef
> +toolkit/components/normandy/prefs.js

This looks like a leftover? I don't see this file in either this or the other cset. Did I just miss it?

::: toolkit/components/normandy/Normandy.jsm:99
(Diff revision 1)
> +    } catch (err) {
> +      log.error("Failed to initialize preferences UI:", err);
> +    }
> +
> +    await RecipeRunner.init();
> +    Services.obs.notifyObservers(null, SHIELD_INIT_NOTIFICATION);

As a follow-up, do we really still need this AS-related stuff now that we ship that everywhere?

::: toolkit/components/normandy/test/unit/head_xpc.js
(Diff revision 1)
> -// Load our bootstrap extension manifest so we can access our chrome/resource URIs.
> -// Cargo culted from formautofill system add-on
> -const EXTENSION_ID = "shield-recipe-client@mozilla.org";
> -let extensionDir = Services.dirsvc.get("GreD", Ci.nsIFile);
> -extensionDir.append("browser");

I think this technically belongs in the earlier cset.
Attachment #8952798 - Flags: review?(gijskruitbosch+bugs) → review+
Blocks: 1440056
Comment on attachment 8952798 [details]
Bug 1436113 - Part 2: Refactor "shield-recipe-client" to "normandy"

https://reviewboard.mozilla.org/r/222022/#review227950

> This looks like a leftover? I don't see this file in either this or the other cset. Did I just miss it?

You're right, this is a leftover. I had tried to put Normandy's prefs in Normandy's directory, but ultimately the build system defeated me, and I couldn't figure out how to have a separate prefs file just for Normandy.

> As a follow-up, do we really still need this AS-related stuff now that we ship that everywhere?

Although this has only  been used for Activity Stream, I think it is still valuable to know when Normandy has finished applying study preferences, so that features can react accordingly.
Comment on attachment 8952797 [details]
Bug 1436113 - Part 1: Move browser/extensions/shield-recipe-client to toolkit/components/normandy

https://reviewboard.mozilla.org/r/222020/#review228050
Comment on attachment 8952797 [details]
Bug 1436113 - Part 1: Move browser/extensions/shield-recipe-client to toolkit/components/normandy

https://reviewboard.mozilla.org/r/222020/#review228052
Comment on attachment 8952797 [details]
Bug 1436113 - Part 1: Move browser/extensions/shield-recipe-client to toolkit/components/normandy

https://reviewboard.mozilla.org/r/222020/#review227944

> Why can this now be run more than once?

It can't, I added this to track down some strange problems I was seeing, that ended up being related to this module being accessed from both the main and content processes.

> Is this just syncing in some additional github stuff?

I'm not entirely sure what happened, but the changes from bug 1435838 stopped working after the migration, and this was part of my fix. Maybe it would have been better in a different cset or bug?

> Why are these moving?

There are comments here that categorize these message types into "Actions that require the parent process" and "Actions that can be performed in the content process". These values were categorized wrong, moving them makes them match the comments.

> It looks like you alphabetized these. As a human, I'd expect `Normandy.js` to be sorted before `NormandyDriver.js` but I expect I have to defer to the python here? Unless you did this manually, in which case please put them the other way around. :-)

`/bin/sort` put them in this order. I did it again with Emac's `M-x sort`, and it put it in the order that makes more sense for humans. I'll flip the ordering.
Blocks: 1440156
We're sorry, Autoland could not rebase your commits for you automatically. Please manually rebase your commits and try again.

hg error in cmd: hg rebase -s 59ed06e6b3cae7fefb19c08bf524ec0be431b114 -d cc147bc11c0e: rebasing 448936:59ed06e6b3ca "Bug 1436113 - Part 1: Move browser/extensions/shield-recipe-client to toolkit/components/normandy r=Gijs"
local [dest] changed browser/extensions/shield-recipe-client/bootstrap.js which other [source] deleted
use (c)hanged version, (d)elete, or leave (u)nresolved? u
merging browser/components/enterprisepolicies/tests/browser/browser_policy_disable_shield.js
merging browser/components/nsBrowserGlue.js
merging browser/extensions/shield-recipe-client/content/AboutPages.jsm and toolkit/components/normandy/content/AboutPages.jsm to toolkit/components/normandy/content/AboutPages.jsm
merging browser/extensions/shield-recipe-client/lib/ActionSandboxManager.jsm and toolkit/components/normandy/lib/ActionSandboxManager.jsm to toolkit/components/normandy/lib/ActionSandboxManager.jsm
merging browser/extensions/shield-recipe-client/lib/AddonStudies.jsm and toolkit/components/normandy/lib/AddonStudies.jsm to toolkit/components/normandy/lib/AddonStudies.jsm
merging browser/extensions/shield-recipe-client/lib/Addons.jsm and toolkit/components/normandy/lib/Addons.jsm to toolkit/components/normandy/lib/Addons.jsm
merging browser/extensions/shield-recipe-client/lib/CleanupManager.jsm and toolkit/components/normandy/lib/CleanupManager.jsm to toolkit/components/normandy/lib/CleanupManager.jsm
merging browser/extensions/shield-recipe-client/lib/ClientEnvironment.jsm and toolkit/components/normandy/lib/ClientEnvironment.jsm to toolkit/components/normandy/lib/ClientEnvironment.jsm
merging browser/extensions/shield-recipe-client/lib/EventEmitter.jsm and toolkit/components/normandy/lib/EventEmitter.jsm to toolkit/components/normandy/lib/EventEmitter.jsm
merging browser/extensions/shield-recipe-client/lib/FilterExpressions.jsm and toolkit/components/normandy/lib/FilterExpressions.jsm to toolkit/components/normandy/lib/FilterExpressions.jsm
merging browser/extensions/shield-recipe-client/lib/Heartbeat.jsm and toolkit/components/normandy/lib/Heartbeat.jsm to toolkit/components/normandy/lib/Heartbeat.jsm
merging browser/extensions/shield-recipe-client/lib/LogManager.jsm and toolkit/components/normandy/lib/LogManager.jsm to toolkit/components/normandy/lib/LogManager.jsm
merging browser/extensions/shield-recipe-client/lib/NormandyApi.jsm and toolkit/components/normandy/lib/NormandyApi.jsm to toolkit/components/normandy/lib/NormandyApi.jsm
merging browser/extensions/shield-recipe-client/lib/NormandyDriver.jsm and toolkit/components/normandy/lib/NormandyDriver.jsm to toolkit/components/normandy/lib/NormandyDriver.jsm
merging browser/extensions/shield-recipe-client/lib/PreferenceExperiments.jsm and toolkit/components/normandy/lib/PreferenceExperiments.jsm to toolkit/components/normandy/lib/PreferenceExperiments.jsm
merging browser/extensions/shield-recipe-client/lib/PreferenceFilters.jsm and toolkit/components/normandy/lib/PreferenceFilters.jsm to toolkit/components/normandy/lib/PreferenceFilters.jsm
merging browser/extensions/shield-recipe-client/lib/RecipeRunner.jsm and toolkit/components/normandy/lib/RecipeRunner.jsm to toolkit/components/normandy/lib/RecipeRunner.jsm
merging browser/extensions/shield-recipe-client/lib/Sampling.jsm and toolkit/components/normandy/lib/Sampling.jsm to toolkit/components/normandy/lib/Sampling.jsm
merging browser/extensions/shield-recipe-client/lib/SandboxManager.jsm and toolkit/components/normandy/lib/SandboxManager.jsm to toolkit/components/normandy/lib/SandboxManager.jsm
merging browser/extensions/shield-recipe-client/lib/ShieldPreferences.jsm and toolkit/components/normandy/lib/ShieldPreferences.jsm to toolkit/components/normandy/lib/ShieldPreferences.jsm
merging browser/extensions/shield-recipe-client/lib/ShieldRecipeClient.jsm and toolkit/components/normandy/lib/ShieldRecipeClient.jsm to toolkit/components/normandy/lib/ShieldRecipeClient.jsm
merging browser/extensions/shield-recipe-client/lib/Storage.jsm and toolkit/components/normandy/lib/Storage.jsm to toolkit/components/normandy/lib/Storage.jsm
merging browser/extensions/shield-recipe-client/lib/TelemetryEvents.jsm and toolkit/components/normandy/lib/TelemetryEvents.jsm to toolkit/components/normandy/lib/TelemetryEvents.jsm
merging browser/extensions/shield-recipe-client/lib/Uptake.jsm and toolkit/components/normandy/lib/Uptake.jsm to toolkit/components/normandy/lib/Uptake.jsm
merging browser/extensions/shield-recipe-client/lib/Utils.jsm and toolkit/components/normandy/lib/Utils.jsm to toolkit/components/normandy/lib/Utils.jsm
merging browser/extensions/shield-recipe-client/test/browser/browser_RecipeRunner.js and toolkit/components/normandy/test/browser/browser_RecipeRunner.js to toolkit/components/normandy/test/browser/browser_RecipeRunner.js
warning: conflicts while merging toolkit/components/normandy/lib/ShieldRecipeClient.jsm! (edit, then use 'hg resolve --mark')
unresolved conflicts (see hg resolve, then hg rebase --continue)
We're sorry, Autoland could not rebase your commits for you automatically. Please manually rebase your commits and try again.

hg error in cmd: hg rebase -s 455384893aeda3fa56b522ba08c54b434221831f -d 8e1b5f09ce6d: rebasing 449185:455384893aed "Bug 1436113 - Part 1: Move browser/extensions/shield-recipe-client to toolkit/components/normandy r=Gijs"
merging browser/components/nsBrowserGlue.js
rebasing 449186:f1f94efc58d8 "Bug 1436113 - Part 2: Refactor "shield-recipe-client" to "normandy" r=Gijs" (tip)
other [source] changed testing/marionette/doc/api/server.js.html which local [dest] deleted
use (c)hanged version, leave (d)eleted, or leave (u)nresolved? u
merging browser/app/profile/firefox.js
merging testing/xpcshell/head.js
unresolved conflicts (see hg resolve, then hg rebase --continue)
We're sorry, Autoland could not rebase your commits for you automatically. Please manually rebase your commits and try again.

hg error in cmd: hg rebase -s 9b978dd046818c091028b44e65d58c2044699fbc -d a20647d8a887: rebasing 449210:9b978dd04681 "Bug 1436113 - Part 1: Move browser/extensions/shield-recipe-client to toolkit/components/normandy r=Gijs"
merging browser/extensions/shield-recipe-client/test/browser/browser_EventEmitter.js and toolkit/components/normandy/test/browser/browser_EventEmitter.js to toolkit/components/normandy/test/browser/browser_EventEmitter.js
warning: conflicts while merging toolkit/components/normandy/test/browser/browser_EventEmitter.js! (edit, then use 'hg resolve --mark')
unresolved conflicts (see hg resolve, then hg rebase --continue)
Pushed by mcooper@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/88dd78f248e2
Part 1: Move browser/extensions/shield-recipe-client to toolkit/components/normandy r=Gijs
https://hg.mozilla.org/integration/autoland/rev/0a2b1c60cec5
Part 2: Refactor "shield-recipe-client" to "normandy" r=Gijs
Backout by nbeleuzu@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/43a77c7e3938
Backed out 2 changesets for ESlint failure on Normandy.jsm. CLOSED TREE
I've fixed the issue and re-requested autoland in reviewboard.
Flags: needinfo?(mcooper)
We're sorry, Autoland could not rebase your commits for you automatically. Please manually rebase your commits and try again.

hg error in cmd: hg rebase -s cfeaf6c6290843d4dcbb4dd576d0aa0df914bdc7 -d 44363ede4383: rebasing 449431:cfeaf6c62908 "Bug 1436113 - Part 1: Move browser/extensions/shield-recipe-client to toolkit/components/normandy r=Gijs"
merging browser/base/content/test/static/browser_all_files_referenced.js
merging browser/components/enterprisepolicies/tests/browser/browser_policy_disable_shield.js
merging browser/components/nsBrowserGlue.js
merging browser/extensions/moz.build
merging toolkit/components/moz.build
merging browser/extensions/shield-recipe-client/content/AboutPages.jsm and toolkit/components/normandy/content/AboutPages.jsm to toolkit/components/normandy/content/AboutPages.jsm
merging browser/extensions/shield-recipe-client/content/about-studies/about-studies.html and toolkit/components/normandy/content/about-studies/about-studies.html to toolkit/components/normandy/content/about-studies/about-studies.html
merging browser/extensions/shield-recipe-client/content/about-studies/about-studies.js and toolkit/components/normandy/content/about-studies/about-studies.js to toolkit/components/normandy/content/about-studies/about-studies.js
merging browser/extensions/shield-recipe-client/content/about-studies/common.js and toolkit/components/normandy/content/about-studies/common.js to toolkit/components/normandy/content/about-studies/common.js
merging browser/extensions/shield-recipe-client/content/about-studies/img/shield-logo.png and toolkit/components/normandy/content/about-studies/img/shield-logo.png to toolkit/components/normandy/content/about-studies/img/shield-logo.png
merging browser/extensions/shield-recipe-client/content/shield-content-frame.js and toolkit/components/normandy/content/shield-content-frame.js to toolkit/components/normandy/content/shield-content-frame.js
merging browser/extensions/shield-recipe-client/content/shield-content-process.js and toolkit/components/normandy/content/shield-content-process.js to toolkit/components/normandy/content/shield-content-process.js
merging browser/extensions/shield-recipe-client/jar.mn and toolkit/components/normandy/jar.mn to toolkit/components/normandy/jar.mn
merging browser/extensions/shield-recipe-client/lib/ActionSandboxManager.jsm and toolkit/components/normandy/lib/ActionSandboxManager.jsm to toolkit/components/normandy/lib/ActionSandboxManager.jsm
merging browser/extensions/shield-recipe-client/lib/AddonStudies.jsm and toolkit/components/normandy/lib/AddonStudies.jsm to toolkit/components/normandy/lib/AddonStudies.jsm
merging browser/extensions/shield-recipe-client/lib/Addons.jsm and toolkit/components/normandy/lib/Addons.jsm to toolkit/components/normandy/lib/Addons.jsm
merging browser/extensions/shield-recipe-client/lib/ClientEnvironment.jsm and toolkit/components/normandy/lib/ClientEnvironment.jsm to toolkit/components/normandy/lib/ClientEnvironment.jsm
merging browser/extensions/shield-recipe-client/lib/EventEmitter.jsm and toolkit/components/normandy/lib/EventEmitter.jsm to toolkit/components/normandy/lib/EventEmitter.jsm
merging browser/extensions/shield-recipe-client/lib/FilterExpressions.jsm and toolkit/components/normandy/lib/FilterExpressions.jsm to toolkit/components/normandy/lib/FilterExpressions.jsm
merging browser/extensions/shield-recipe-client/lib/Heartbeat.jsm and toolkit/components/normandy/lib/Heartbeat.jsm to toolkit/components/normandy/lib/Heartbeat.jsm
merging browser/extensions/shield-recipe-client/lib/NormandyApi.jsm and toolkit/components/normandy/lib/NormandyApi.jsm to toolkit/components/normandy/lib/NormandyApi.jsm
merging browser/extensions/shield-recipe-client/lib/NormandyDriver.jsm and toolkit/components/normandy/lib/NormandyDriver.jsm to toolkit/components/normandy/lib/NormandyDriver.jsm
merging browser/extensions/shield-recipe-client/lib/PreferenceExperiments.jsm and toolkit/components/normandy/lib/PreferenceExperiments.jsm to toolkit/components/normandy/lib/PreferenceExperiments.jsm
merging browser/extensions/shield-recipe-client/lib/RecipeRunner.jsm and toolkit/components/normandy/lib/RecipeRunner.jsm to toolkit/components/normandy/lib/RecipeRunner.jsm
merging browser/extensions/shield-recipe-client/lib/ShieldPreferences.jsm and toolkit/components/normandy/lib/ShieldPreferences.jsm to toolkit/components/normandy/lib/ShieldPreferences.jsm
merging browser/extensions/shield-recipe-client/lib/Utils.jsm and toolkit/components/normandy/lib/Utils.jsm to toolkit/components/normandy/lib/Utils.jsm
merging browser/extensions/shield-recipe-client/moz.build and toolkit/components/normandy/moz.build to toolkit/components/normandy/moz.build
merging browser/extensions/shield-recipe-client/skin/shared/Heartbeat.css and toolkit/components/normandy/skin/shared/Heartbeat.css to toolkit/components/normandy/skin/shared/Heartbeat.css
merging browser/extensions/shield-recipe-client/test/browser/browser.ini and toolkit/components/normandy/test/browser/browser.ini to toolkit/components/normandy/test/browser/browser.ini
merging browser/extensions/shield-recipe-client/test/browser/browser_ActionSandboxManager.js and toolkit/components/normandy/test/browser/browser_ActionSandboxManager.js to toolkit/components/normandy/test/browser/browser_ActionSandboxManager.js
merging browser/extensions/shield-recipe-client/test/browser/browser_AddonStudies.js and toolkit/components/normandy/test/browser/browser_AddonStudies.js to toolkit/components/normandy/test/browser/browser_AddonStudies.js
merging browser/extensions/shield-recipe-client/test/browser/browser_Addons.js and toolkit/components/normandy/test/browser/browser_Addons.js to toolkit/components/normandy/test/browser/browser_Addons.js
merging browser/extensions/shield-recipe-client/test/browser/browser_CleanupManager.js and toolkit/components/normandy/test/browser/browser_CleanupManager.js to toolkit/components/normandy/test/browser/browser_CleanupManager.js
merging browser/extensions/shield-recipe-client/test/browser/browser_ClientEnvironment.js and toolkit/components/normandy/test/browser/browser_ClientEnvironment.js to toolkit/components/normandy/test/browser/browser_ClientEnvironment.js
merging browser/extensions/shield-recipe-client/test/browser/browser_EventEmitter.js and toolkit/components/normandy/test/browser/browser_EventEmitter.js to toolkit/components/normandy/test/browser/browser_EventEmitter.js
merging browser/extensions/shield-recipe-client/test/browser/browser_FilterExpressions.js and toolkit/components/normandy/test/browser/browser_FilterExpressions.js to toolkit/components/normandy/test/browser/browser_FilterExpressions.js
merging browser/extensions/shield-recipe-client/test/browser/browser_Heartbeat.js and toolkit/components/normandy/test/browser/browser_Heartbeat.js to toolkit/components/normandy/test/browser/browser_Heartbeat.js
merging browser/extensions/shield-recipe-client/test/browser/browser_LogManager.js and toolkit/components/normandy/test/browser/browser_LogManager.js to toolkit/components/normandy/test/browser/browser_LogManager.js
merging browser/extensions/shield-recipe-client/test/browser/browser_bootstrap.js and toolkit/components/normandy/test/browser/browser_Normandy.js to toolkit/components/normandy/test/browser/browser_Normandy.js
merging browser/extensions/shield-recipe-client/test/browser/browser_NormandyDriver.js and toolkit/components/normandy/test/browser/browser_NormandyDriver.js to toolkit/components/normandy/test/browser/browser_NormandyDriver.js
merging browser/extensions/shield-recipe-client/test/browser/browser_PreferenceExperiments.js and toolkit/components/normandy/test/browser/browser_PreferenceExperiments.js to toolkit/components/normandy/test/browser/browser_PreferenceExperiments.js
merging browser/extensions/shield-recipe-client/test/browser/browser_RecipeRunner.js and toolkit/components/normandy/test/browser/browser_RecipeRunner.js to toolkit/components/normandy/test/browser/browser_RecipeRunner.js
merging browser/extensions/shield-recipe-client/test/browser/browser_ShieldPreferences.js and toolkit/components/normandy/test/browser/browser_ShieldPreferences.js to toolkit/components/normandy/test/browser/browser_ShieldPreferences.js
merging browser/extensions/shield-recipe-client/test/browser/browser_Storage.js and toolkit/components/normandy/test/browser/browser_Storage.js to toolkit/components/normandy/test/browser/browser_Storage.js
merging browser/extensions/shield-recipe-client/test/browser/browser_about_studies.js and toolkit/components/normandy/test/browser/browser_about_studies.js to toolkit/components/normandy/test/browser/browser_about_studies.js
merging browser/extensions/shield-recipe-client/test/browser/head.js and toolkit/components/normandy/test/browser/head.js to toolkit/components/normandy/test/browser/head.js
merging browser/extensions/shield-recipe-client/test/unit/head_xpc.js and toolkit/components/normandy/test/unit/head_xpc.js to toolkit/components/normandy/test/unit/head_xpc.js
merging browser/extensions/shield-recipe-client/test/unit/test_NormandyApi.js and toolkit/components/normandy/test/unit/test_NormandyApi.js to toolkit/components/normandy/test/unit/test_NormandyApi.js
merging browser/extensions/shield-recipe-client/test/unit/test_Sampling.js and toolkit/components/normandy/test/unit/test_Sampling.js to toolkit/components/normandy/test/unit/test_Sampling.js
merging browser/extensions/shield-recipe-client/test/unit/test_SandboxManager.js and toolkit/components/normandy/test/unit/test_SandboxManager.js to toolkit/components/normandy/test/unit/test_SandboxManager.js
merging browser/extensions/shield-recipe-client/test/unit/test_Utils.js and toolkit/components/normandy/test/unit/test_Utils.js to toolkit/components/normandy/test/unit/test_Utils.js
warning: toolkit/components/normandy/content/about-studies/img/shield-logo.png looks like a binary file.
warning: conflicts while merging toolkit/components/normandy/content/about-studies/img/shield-logo.png! (edit, then use 'hg resolve --mark')
unresolved conflicts (see hg resolve, then hg rebase --continue)
Pushed by mcooper@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/18a7f08a6cdc
Part 1: Move browser/extensions/shield-recipe-client to toolkit/components/normandy r=Gijs
https://hg.mozilla.org/integration/autoland/rev/8ccf1c3f156f
Part 2: Refactor "shield-recipe-client" to "normandy" r=Gijs
Backed out for bc failures on browser_about_studies.js

Log: https://treeherder.mozilla.org/logviewer.html#?job_id=165094206&repo=autoland&lineNumber=16203
Flags: needinfo?(mcooper)
Backout by nbeleuzu@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/e03272cbedc0
Backed out 2 changesets for bc failures on browser_about_studies.js
Attachment #8952798 - Attachment is obsolete: true
Comment on attachment 8955629 [details]
Bug 1436113 - Part 2: Refactor "shield-recipe-client" to "normandy"

I'm not sure how this got set back to r?Gijs. Gijs has reviewed an earlier version of this code, and I think that the changes here are small enough to not need re-review.
Attachment #8955629 - Flags: review?(gijskruitbosch+bugs) → review+
Comment on attachment 8955629 [details]
Bug 1436113 - Part 2: Refactor "shield-recipe-client" to "normandy"

I guess it was a bit naive of me to think that I could set r+ from other users. Putting things back.
Flags: needinfo?(mcooper)
Attachment #8955629 - Flags: review+ → review?(gijskruitbosch+bugs)
Comment on attachment 8955629 [details]
Bug 1436113 - Part 2: Refactor "shield-recipe-client" to "normandy"

https://reviewboard.mozilla.org/r/224722/#review230806

rs=me per comments on the bug that there are no changes.
Attachment #8955629 - Flags: review?(gijskruitbosch+bugs) → review+
We're sorry, Autoland could not rebase your commits for you automatically. Please manually rebase your commits and try again.

hg error in cmd: hg rebase -s cc6b4f1d3e40988e969ee1ed20bd6015adbe6ccb -d 8fb041894883: rebasing 450436:cc6b4f1d3e40 "Bug 1436113 - Part 1: Move browser/extensions/shield-recipe-client to toolkit/components/normandy r=Gijs"
rebasing 450437:ce1d8f67be8c "Bug 1436113 - Part 2: Refactor "shield-recipe-client" to "normandy" r=Gijs" (tip)
merging browser/app/profile/firefox.js
warning: conflicts while merging browser/app/profile/firefox.js! (edit, then use 'hg resolve --mark')
unresolved conflicts (see hg resolve, then hg rebase --continue)
We're sorry, Autoland could not rebase your commits for you automatically. Please manually rebase your commits and try again.

hg error in cmd: hg rebase -s cc6b4f1d3e40988e969ee1ed20bd6015adbe6ccb -d 8fb041894883: rebasing 450436:cc6b4f1d3e40 "Bug 1436113 - Part 1: Move browser/extensions/shield-recipe-client to toolkit/components/normandy r=Gijs"
rebasing 450437:ce1d8f67be8c "Bug 1436113 - Part 2: Refactor "shield-recipe-client" to "normandy" r=Gijs" (tip)
merging browser/app/profile/firefox.js
warning: conflicts while merging browser/app/profile/firefox.js! (edit, then use 'hg resolve --mark')
unresolved conflicts (see hg resolve, then hg rebase --continue)
We're sorry, Autoland could not rebase your commits for you automatically. Please manually rebase your commits and try again.

hg error in cmd: hg rebase -s 23de90d080eb96bed8cab7c9f8557f1b27c5d9ae -d 8fb041894883: rebasing 450450:23de90d080eb "Bug 1436113 - Part 1: Move browser/extensions/shield-recipe-client to toolkit/components/normandy r=Gijs"
rebasing 450451:9fb6772a231d "Bug 1436113 - Part 2: Refactor "shield-recipe-client" to "normandy" r=Gijs" (tip)
merging browser/app/profile/firefox.js
warning: conflicts while merging browser/app/profile/firefox.js! (edit, then use 'hg resolve --mark')
unresolved conflicts (see hg resolve, then hg rebase --continue)
Pushed by mcooper@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/c174737a9d9b
Part 1: Move browser/extensions/shield-recipe-client to toolkit/components/normandy r=Gijs
https://hg.mozilla.org/integration/autoland/rev/94f5c92fc711
Part 2: Refactor "shield-recipe-client" to "normandy" r=Gijs
https://hg.mozilla.org/mozilla-central/rev/c174737a9d9b
https://hg.mozilla.org/mozilla-central/rev/94f5c92fc711
Status: ASSIGNED → RESOLVED
Closed: Last year
Resolution: --- → FIXED
Target Milestone: --- → Firefox 60
Note that this patch removed the extensions.shield-recipe-client.api_url
pref from various automation tools in the tree that targets release
channels out-of-tree.  This change should not have been made without
approval from a peer of the Testing component.  I’m remedying
this as part of https://bugzilla.mozilla.org/show_bug.cgi?id=1401129.
No longer depends on: 1447324
Depends on: 1498940
You need to log in before you can comment on or make changes to this bug.