Commit Graph
92 Commits
Author SHA1 Message Date
Yannis Juglaret 7d6db075e1 Bug 1896965 - Define PKEY_Link_Arguments in MinGW builds. r=mconley
Differential Revision: https://phabricator.services.mozilla.com/D210614
2024-05-16 15:40:45 +00:00
Mike Conley 4c694fc39c Bug 1896632 - Manually define PKEY_Link_Arguments in JumpListBuilder for MINGW32 builds. r=yjuglaret,win-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D210315
2024-05-14 18:07:45 +00:00
Mike Conley dcfdd18c0d Bug 1890357 - Make JumpListBuilder resilient to E_ACCESSDENIED from ICustomDestinationList::AppendCategory. r=rkraesig,win-reviewers,arai
Differential Revision: https://phabricator.services.mozilla.com/D209558
2024-05-12 02:29:27 +00:00
Mike Conley 9da1faa0d1 Bug 1896147 - Part 2: Update TestJumpListBuilder to use the updated PopulateJumpList method. r=arai
Differential Revision: https://phabricator.services.mozilla.com/D210089
2024-05-12 02:29:26 +00:00
Mike Conley 70e7dc1b2d Bug 1896147 - Part 1: Use jsval rather than Array<jsval> for nsIJumpListBuilder.populateJumpList. r=arai
Differential Revision: https://phabricator.services.mozilla.com/D210055
2024-05-12 02:29:26 +00:00
Mike Conley 672ead9c73 Bug 1892070 - Avoid truncating long URLs when computing which items to remove from history via the Windows Jump List. r=rkraesig,win-reviewers,arai
Differential Revision: https://phabricator.services.mozilla.com/D209150
2024-05-09 14:20:36 +00:00
Mike Conley 0a17ad9edd Bug 1887868 - Only set Jump List App ID if the backend is available. r=win-reviewers,handyman
This also fixes an issue where we'd calculate the same App ID for normal
and private browsing windows if taskbar.grouping.useprofile was set to
true.

Differential Revision: https://phabricator.services.mozilla.com/D205721
2024-03-27 17:26:53 +00:00
Mike Conley 3cad94492e Bug 1529276 - Limit the IShellLinkW description to MAX_PATH. r=mhowell,win-reviewers
According to the Microsoft documentation, this is the maximum length
of the string allowed for the description property of an IShellLinkW.
This also adds a test for long descriptions to ensure that they are
properly truncated.

This patch also:

- Adjusts the tests a little bit to be less race-y, particularly with the
  SetAppID routine in the JumpListBuilder constructor.

- Fixes the issue where the tests weren't properly copying in the intended
  strings for test titles and descriptions.

Differential Revision: https://phabricator.services.mozilla.com/D193693
2023-11-23 18:28:32 +00:00
Mike Conley 6534c37132 Bug 1529276 - Create a new JumpListBuilder implementation that is simpler and doesn't block the main thread. r=mhowell,win-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D181675
2023-11-23 18:28:31 +00:00
Mike Conley 182e5a813f Bug 1529276 - Rename the old Windows jump list mechanism to LegacyJumpListBuilder. r=mhowell,bhearsum,win-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D181674
2023-11-23 18:28:31 +00:00
Cosmin Sabou 235027576d Backed out 6 changesets (bug 1529276) for causing windows non-unified build bustages.
Backed out changeset ce28bf4ceb89 (bug 1529276)
Backed out changeset d1f5c71b03c2 (bug 1529276)
Backed out changeset 4b9ca2a0747d (bug 1529276)
Backed out changeset 76e6475c68ba (bug 1529276)
Backed out changeset 2aebd14532e7 (bug 1529276)
Backed out changeset f3724116a44d (bug 1529276)
2023-11-23 02:04:24 +02:00
Mike Conley 4ec3ce7854 Bug 1529276 - Limit the IShellLinkW description to MAX_PATH. r=mhowell,win-reviewers
According to the Microsoft documentation, this is the maximum length
of the string allowed for the description property of an IShellLinkW.
This also adds a test for long descriptions to ensure that they are
properly truncated.

This patch also:

- Adjusts the tests a little bit to be less race-y, particularly with the
  SetAppID routine in the JumpListBuilder constructor.

- Fixes the issue where the tests weren't properly copying in the intended
  strings for test titles and descriptions.

Differential Revision: https://phabricator.services.mozilla.com/D193693
2023-11-22 21:28:57 +00:00
Mike Conley 4cfa0abfa6 Bug 1529276 - Create a new JumpListBuilder implementation that is simpler and doesn't block the main thread. r=mhowell,win-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D181675
2023-11-22 21:28:56 +00:00
Mike Conley a4246ce411 Bug 1529276 - Rename the old Windows jump list mechanism to LegacyJumpListBuilder. r=mhowell,bhearsum,win-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D181674
2023-11-22 21:28:55 +00:00
Sandor Molnar d929dadda1 Backed out 6 changesets (bug 1529276) for causing build bustages. CLOSED TREE
Backed out changeset bbc273ed7b53 (bug 1529276)
Backed out changeset cecadb59647e (bug 1529276)
Backed out changeset 45bb7eff2174 (bug 1529276)
Backed out changeset 18392ebcd16d (bug 1529276)
Backed out changeset e0776e6b4cff (bug 1529276)
Backed out changeset 666e52d79396 (bug 1529276)
2023-11-22 21:49:57 +02:00
Mike Conley 809a54e067 Bug 1529276 - Limit the IShellLinkW description to MAX_PATH. r=mhowell,win-reviewers
According to the Microsoft documentation, this is the maximum length
of the string allowed for the description property of an IShellLinkW.
This also adds a test for long descriptions to ensure that they are
properly truncated.

This patch also:

- Adjusts the tests a little bit to be less race-y, particularly with the
  SetAppID routine in the JumpListBuilder constructor.

- Fixes the issue where the tests weren't properly copying in the intended
  strings for test titles and descriptions.

Differential Revision: https://phabricator.services.mozilla.com/D193693
2023-11-22 19:24:08 +00:00
Mike Conley b345c2f9f4 Bug 1529276 - Create a new JumpListBuilder implementation that is simpler and doesn't block the main thread. r=mhowell,win-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D181675
2023-11-22 19:24:07 +00:00
Mike Conley d5d6835890 Bug 1529276 - Rename the old Windows jump list mechanism to LegacyJumpListBuilder. r=mhowell,bhearsum,win-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D181674
2023-11-22 19:24:07 +00:00
Nika Layzell 1582a62a38 Bug 1542802 - Part 1: Replace LazyIdleThread with a thin wrapper around nsThreadPool, r=jesup,gstoll
This does not reduce the number of threads we end up using in these
cases, but simplifies the complex implementation substantially by
relying on the idle thread lifetime management logic from nsThreadPool.

The nsISerialEventTarget implementation is maintained by wrapping the
nsThreadPool with a TaskQueue.

As a result of using these more reliable backing implementations, the
type is now also safe to use from any thread, rather than requiring
dispatches to all occur from the creator thread.

Unfortunately, this required some changes to the
UntrustedModulesProcessor, which was relying on the ability to fetch the
PRThread* (and from that the HANDLE) from the lazy thread in order to
perform priority changes on it. This was fixed by using a
nsIThreadPoolListener to watch the thread being created and destroyed,
and manually record a HANDLE to the thread which can be used for these
priority changes.

Differential Revision: https://phabricator.services.mozilla.com/D168017
2023-03-02 15:52:32 +00:00
Csoregi Natalia d542110f53 Backed out changeset eafcabbf729b (bug 1542802) for causing Gtest crashes. CLOSED TREE 2023-02-03 00:03:53 +02:00
Nika Layzell b735298e12 Bug 1542802 - Replace LazyIdleThread with a thin wrapper around nsThreadPool, r=jesup,gstoll
This does not reduce the number of threads we end up using in these
cases, but simplifies the complex implementation substantially by
relying on the idle thread lifetime management logic from nsThreadPool.

The nsISerialEventTarget implementation is maintained by wrapping the
nsThreadPool with a TaskQueue.

As a result of using these more reliable backing implementations, the
type is now also safe to use from any thread, rather than requiring
dispatches to all occur from the creator thread.

Unfortunately, this required some changes to the
UntrustedModulesProcessor, which was relying on the ability to fetch the
PRThread* (and from that the HANDLE) from the lazy thread in order to
perform priority changes on it. This was fixed by using a
nsIThreadPoolListener to watch the thread being created and destroyed,
and manually record a HANDLE to the thread which can be used for these
priority changes.

Differential Revision: https://phabricator.services.mozilla.com/D168017
2023-02-02 19:43:31 +00:00
Bryce Seager van Dyk 226e99a996 Bug 1762521 - Add further locking to JumpListBuilder. r=mhowell,jesup
This fixes two cases where thread safety analysis complains about us not holding
the monitor.

Differential Revision: https://phabricator.services.mozilla.com/D142775
2022-04-06 01:18:42 +00:00
Ben Hearsum 79024948c1 Bug 1751010: Create a separate jumplist for the Private Browsing taskbar icon. r=mhowell
Because the Private Browsing Jump List only contains Tasks it is static we can get away with only building it once.

Differential Revision: https://phabricator.services.mozilla.com/D138600
2022-03-01 14:16:48 +00:00
Butkovits Atila 441a1d2141 Backed out 5 changesets (bug 1751010) for causing failures at browser_startup_mainthreadio.js. CLOSED TREE
Backed out changeset af347bb985d4 (bug 1751010)
Backed out changeset 9944e42017ff (bug 1751010)
Backed out changeset 282a5cd52cd0 (bug 1751010)
Backed out changeset 2f54afb16002 (bug 1751010)
Backed out changeset 6ad85a8edf15 (bug 1751010)
2022-02-27 03:40:08 +02:00
Ben Hearsum a6f7e67a87 Bug 1751010: Create a separate jumplist for the Private Browsing taskbar icon. r=mhowell
Because the Private Browsing Jump List only contains Tasks it is static we can get away with only building it once.

Differential Revision: https://phabricator.services.mozilla.com/D138600
2022-02-25 18:33:45 +00:00
Marian-Vasile Laza 7824ab98b3 Backed out 4 changesets (bug 1751010) for causing xpcshell failures on test_taskbar_jumplistitems.js. CLOSED TREE
Backed out changeset 1ff3b5528d53 (bug 1751010)
Backed out changeset a21f1d8b6d8b (bug 1751010)
Backed out changeset 11df8f060a35 (bug 1751010)
Backed out changeset b94765877d57 (bug 1751010)
2022-02-23 14:56:22 -08:00
Ben Hearsum 70d50f1f1e Bug 1751010: Create a separate jumplist for the Private Browsing taskbar icon. r=mhowell
Because the Private Browsing Jump List only contains Tasks it is static we can get away with only building it once.

Differential Revision: https://phabricator.services.mozilla.com/D138600
2022-02-23 13:58:18 +00:00
Csoregi Natalia e8626c4668 Backed out 4 changesets (bug 1751010) for win bustages on nsWindow.cpp. CLOSED TREE
Backed out changeset b68d86cc545d (bug 1751010)
Backed out changeset b51b389bd0fd (bug 1751010)
Backed out changeset f128c61e50eb (bug 1751010)
Backed out changeset 1cbe75d59770 (bug 1751010)
2022-02-22 21:17:27 +02:00
Ben Hearsum d4d804538c Bug 1751010: Create a separate jumplist for the Private Browsing taskbar icon. r=mhowell
Because the Private Browsing Jump List only contains Tasks it is static we can get away with only building it once.

Differential Revision: https://phabricator.services.mozilla.com/D138600
2022-02-22 18:16:35 +00:00
Ben Hearsum 9ab78d978e Bug 1721488: Windows taskbar jumplists are not created when running as an app package r=mhowell
This patch simply avoids calling SetAppID and SetCurrentProcessExplicitAppUserModelID when we're running from a packaged app. For `SetCurrentProcessExplicitAppUserModelID`, I ended up skipping the calls to the functions that call it because I thought it was less surprising behaviour given the names (eg: I might be surprised if `SetTaskbarGroupId` silently didn't set the taskbar group id). It's easy enough to switch up if skipping the calls at a lower level makes more sense.

I couldn't find any automated tests around the Jump List functionality (and we don't have any tests running within MSIX packages yet anyways...), but it worked just fine in my manual test. I also tested the scenario where the AppxManifest.xml ID changes during an upgrade (which will probably happen when https://bugzilla.mozilla.org/show_bug.cgi?id=1736113 gets done). This causes Jump Lists to stop working at first restart, but they appear to rebuilt after the usual few minute wait.

Differential Revision: https://phabricator.services.mozilla.com/D131693
2021-11-23 16:21:01 +00:00
Aaron Klotz 89a9662e75 Bug 1707954: Part 4 - Build fixes to reflect EnsureMTA changes; r=Jamie
Now that we always have an MTA active, we don't need to explicitly try to
start it anymore. These locations in our source were doing so, which is now
not only redundant, but fails (since `EnsureMTA`'s default constructor is now
`private`).

We also fix a spot in `JumpListBuilder` where we need a lambda to capture by
reference to fix a static analysis issue.

Differential Revision: https://phabricator.services.mozilla.com/D113563
2021-06-14 21:53:19 +00:00
Marian-Vasile Laza 0769fc56df Backed out 4 changesets (bug 1707954) for causing bc failures in ClearOnShutdown.cpp.
CLOSED TREE

Backed out changeset 7cb0db27236c (bug 1707954)
Backed out changeset fd52d202d10b (bug 1707954)
Backed out changeset 55586d8f7bf4 (bug 1707954)
Backed out changeset 49406bdac5ec (bug 1707954)
2021-06-10 09:13:45 +03:00
Aaron Klotz 1f8e1513b9 Bug 1707954: Part 4 - Build fixes to reflect EnsureMTA changes; r=Jamie
Now that we always have an MTA active, we don't need to explicitly try to
start it anymore. These locations in our source were doing so, which is now
not only redundant, but fails (since `EnsureMTA`'s default constructor is now
`private`).

We also fix a spot in `JumpListBuilder` where we need a lambda to capture by
reference to fix a static analysis issue.

Differential Revision: https://phabricator.services.mozilla.com/D113563
2021-06-09 21:38:15 +00:00
Noemi Erli af0ce1473e Backed out 4 changesets (bug 1707954) for causing bustages in rules.mk CLOSED TREE
Backed out changeset fa23f9293250 (bug 1707954)
Backed out changeset e1b37839487b (bug 1707954)
Backed out changeset f72b810472fd (bug 1707954)
Backed out changeset fb4829011104 (bug 1707954)
2021-06-10 00:29:29 +03:00
Aaron Klotz 53a1dd3916 Bug 1707954: Part 4 - Build fixes to reflect EnsureMTA changes; r=Jamie
Now that we always have an MTA active, we don't need to explicitly try to
start it anymore. These locations in our source were doing so, which is now
not only redundant, but fails (since `EnsureMTA`'s default constructor is now
`private`).

We also fix a spot in `JumpListBuilder` where we need a lambda to capture by
reference to fix a static analysis issue.

Differential Revision: https://phabricator.services.mozilla.com/D113563
2021-06-09 20:28:06 +00:00
Simon Giesecke a69d79b6db Bug 1648010 - Replace uses of NS_LITERAL_STRING/NS_LITERAL_CSTRING macros by _ns literals. r=geckoview-reviewers,jgilbert,agi,hsivonen,froydnj
Differential Revision: https://phabricator.services.mozilla.com/D80860
2020-07-01 08:29:29 +00:00
Dave Townsend 935fb7cc34 Bug 1602195: Attempt to always set a default app user model id for the application and make sure that jump lists and recent documents are associated with it. r=mhowell
Once we start supporting different model IDs for different windows of the same
application we need to make sure that the normal windows have a model ID and
the jump lists and recent documents are tagged with the same ID. We do this by
always having an app default model ID, when no window specific model ID is set
the app default is used.

At some point we may want to extend the jump list stuff to support using a
different model ID but that isn't needed right now.

Differential Revision: https://phabricator.services.mozilla.com/D57152
2020-01-02 16:06:35 +00:00
Bogdan Tara 47166f5f0a Backed out 2 changesets (bug 1602195) for toolkit/components/alerts/test/test_alerts.html failures CLOSED TREE
Backed out changeset 399d66c91450 (bug 1602195)
Backed out changeset c007b95a362c (bug 1602195)
2019-12-19 03:50:16 +02:00
Dave Townsend 9487a03add Bug 1602195: Attempt to always set a default app user model id for the application and make sure that jump lists and recent documents are associated with it. r=mhowell
Once we start supporting different model IDs for different windows of the same
application we need to make sure that the normal windows have a model ID and
the jump lists and recent documents are tagged with the same ID. We do this by
always having an app default model ID, when no window specific model ID is set
the app default is used.

At some point we may want to extend the jump list stuff to support using a
different model ID but that isn't needed right now.

Differential Revision: https://phabricator.services.mozilla.com/D57152
2019-12-18 22:07:18 +00:00
Gurzau Raul dae806f865 Backed out 2 changesets (bug 1602195) for assertion failures at ServoUtils.h on a CLOSED TREE.
Backed out changeset 1ed20a4511bf (bug 1602195)
Backed out changeset db0d6cb87c2a (bug 1602195)
2019-12-18 21:13:02 +02:00
Dave Townsend 54246e3d07 Bug 1602195: Attempt to always set a default app user model id for the application and make sure that jump lists and recent documents are associated with it. r=mhowell
Once we start supporting different model IDs for different windows of the same
application we need to make sure that the normal windows have a model ID and
the jump lists and recent documents are tagged with the same ID. We do this by
always having an app default model ID, when no window specific model ID is set
the app default is used.

At some point we may want to extend the jump list stuff to support using a
different model ID but that isn't needed right now.

Differential Revision: https://phabricator.services.mozilla.com/D57152
2019-12-18 16:38:36 +00:00
Gabriele Svelto f03cdb2b2d Bug 1600545 - Remove useless inclusions of header files generated from IDL files in modules/, netwerk/, parser/, security/, startupcache/, storage/, toolkit/, tools/, uriloader/, widget/, xpcom/ and xpfe/ r=Ehsan
The inclusions were removed with the following very crude script and the
resulting breakage was fixed up by hand. The manual fixups did either
revert the changes done by the script, replace a generic header with a more
specific one or replace a header with a forward declaration.

find . -name "*.idl" | grep -v web-platform | grep -v third_party | while read path; do
    interfaces=$(grep "^\(class\|interface\).*:.*" "$path" | cut -d' ' -f2)
    if [ -n "$interfaces" ]; then
        if [[ "$interfaces" == *$'\n'* ]]; then
          regexp="\("
          for i in $interfaces; do regexp="$regexp$i\|"; done
          regexp="${regexp%%\\\|}\)"
        else
          regexp="$interfaces"
        fi
        interface=$(basename "$path")
        rg -l "#include.*${interface%%.idl}.h" . | while read path2; do
            hits=$(grep -v "#include.*${interface%%.idl}.h" "$path2" | grep -c "$regexp" )
            if [ $hits -eq 0 ]; then
                echo "Removing ${interface} from ${path2}"
                grep -v "#include.*${interface%%.idl}.h" "$path2" > "$path2".tmp
                mv -f "$path2".tmp "$path2"
            fi
        done
    fi
done

Differential Revision: https://phabricator.services.mozilla.com/D55444
2019-12-06 09:17:57 +00:00
Aaron Klotz e299e44db3 Bug 1400344: Rename mscom::MainThreadRuntime to mscom::ProcessRuntime and make it aware of Win32k lockdown and of multiple instantiations; r=Jamie
This patch takes care of a bunch of issues and does some cleanup:

* We rename mscom::MainThreadRuntime to mscom::ProcessRuntime, as the latter
  is a more accurate name going forward.
* We make ProcessRuntime aware of the Win32k Lockdown process mitigation
  policy. When Win32k is disabled, we perform process-wide COM initialization
  in the multi-threaded apartment (since we cannot create an STA window).
* We refactor the mscom apartment region stuff to enable the Win32k lockdown
  pieces in ProcessRuntime.
* We move some Gecko-specific stuff into MOZILLA_INTERNAL_API guards so that
  ProcessRuntime is usable outside of xul.dll (I will be needing it for the
  launcher process).
* Another thing that might happen with the launcher process is that, under
  error conditions in the launcher, we create a ProcessRuntime object on a
  background thread for the purposes of telemetry logging, but we also allow
  the main thread to proceed to start as the browser. This could result in a
  scenario where the main thread, as the browser process, is attempting to
  instantiate its ProcessRuntime and ends up racing with the launcher process's
  telemetry thread which has its own ProcessRuntime. To account for this
  situation, we add mutual exclusion to the process-wide initialization code.
  We host this part inside mozglue since that state is shared between both
  firefox.exe and xul.dll.
* We clean up ProcessRuntime::InitializeSecurity by using Vector to set up
  the EXPLICIT_ACCESS entries.
* We remove mscom::MainThreadClientInfo and replace it with a direct call to
  CoGetCallerTID
* We revise all references to this class to use the new name.

Differential Revision: https://phabricator.services.mozilla.com/D19551
2019-02-14 18:56:20 +00:00
Dorel Luca 1b1233bbde Backed out changeset 2d4b8d90cbd7 (bug 1400344) for Spider monkey failrues. CLOSED TREE 2019-02-14 20:45:26 +02:00
Aaron Klotz 005836400d Bug 1400344: Rename mscom::MainThreadRuntime to mscom::ProcessRuntime and make it aware of Win32k lockdown and of multiple instantiations; r=Jamie
This patch takes care of a bunch of issues and does some cleanup:

* We rename mscom::MainThreadRuntime to mscom::ProcessRuntime, as the latter
  is a more accurate name going forward.
* We make ProcessRuntime aware of the Win32k Lockdown process mitigation
  policy. When Win32k is disabled, we perform process-wide COM initialization
  in the multi-threaded apartment (since we cannot create an STA window).
* We refactor the mscom apartment region stuff to enable the Win32k lockdown
  pieces in ProcessRuntime.
* We move some Gecko-specific stuff into MOZILLA_INTERNAL_API guards so that
  ProcessRuntime is usable outside of xul.dll (I will be needing it for the
  launcher process).
* Another thing that might happen with the launcher process is that, under
  error conditions in the launcher, we create a ProcessRuntime object on a
  background thread for the purposes of telemetry logging, but we also allow
  the main thread to proceed to start as the browser. This could result in a
  scenario where the main thread, as the browser process, is attempting to
  instantiate its ProcessRuntime and ends up racing with the launcher process's
  telemetry thread which has its own ProcessRuntime. To account for this
  situation, we add mutual exclusion to the process-wide initialization code.
  We host this part inside mozglue since that state is shared between both
  firefox.exe and xul.dll.
* We clean up ProcessRuntime::InitializeSecurity by using Vector to set up
  the EXPLICIT_ACCESS entries.
* We remove mscom::MainThreadClientInfo and replace it with a direct call to
  CoGetCallerTID
* We revise all references to this class to use the new name.

Differential Revision: https://phabricator.services.mozilla.com/D19551
2019-02-14 16:40:58 +00:00
Sylvestre Ledru e5a134f73a Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format
# ignore-this-changeset
2018-11-30 11:46:48 +01:00
Aaron Klotz fcc7b78a08 Bug 1489317: Part 3 - Use an agile reference for JumpListBuilder::mJumpListMgr to ensure smooth transition between apartments; r=mhowell
Depends on D5318

Differential Revision: https://phabricator.services.mozilla.com/D5321
2018-09-12 19:58:07 +00:00
Cosmin Sabou ead0c0c9d1 Backed out 4 changesets (bug 1489317) for causing multiple windows tests timeouts. CLOSED TREE
Backed out changeset e35a9b02675b (bug 1489317)
Backed out changeset 7528056ab631 (bug 1489317)
Backed out changeset d5d432fd2433 (bug 1489317)
Backed out changeset fddf77dc2f9d (bug 1489317)
2018-09-11 09:22:37 +03:00
Aaron Klotz cd5565cfcb Bug 1489317: Part 3 - Use an agile reference for JumpListBuilder::mJumpListMgr to ensure smooth transition between apartments; r=mhowell
Depends on D5318

Differential Revision: https://phabricator.services.mozilla.com/D5321
2018-09-10 22:58:54 +00:00
Ciure Andrei b24bdcd4e3 Backed out 4 changesets (bug 1489317) for windows test failures CLOSED TREE
Backed out changeset 07b44bee061c (bug 1489317)
Backed out changeset b340f5acb7b5 (bug 1489317)
Backed out changeset 62b404e59c32 (bug 1489317)
Backed out changeset 2787fb454f40 (bug 1489317)
2018-09-11 04:22:44 +03:00