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

19542 Коммитов

Автор SHA1 Сообщение Дата
Simon Giesecke fec8c64d2a Bug 1602452 - Make member functions of nsTStringRepr defined in header constexpr. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D56369

--HG--
extra : moz-landing-system : lando
2019-12-10 08:40:48 +00:00
Karl Tomlinson bd2fb4e16f Bug 1599922 clear PRThread references before the PRThread is deleted r=froydnj
Virtual thread references are used for IsOnCurrentThread(), which would
spuriously return true when the dangling pointer happened to match that of a
new PRThread.

Differential Revision: https://phabricator.services.mozilla.com/D55765

--HG--
extra : moz-landing-system : lando
2019-12-09 14:47:47 +00:00
Mihai Alexandru Michis f995448544 Backed out changeset bf906a905a26 (bug 1602452) for causing bustages in gtest/TestStrings.cpp
CLOSED TREE
2019-12-09 17:41:25 +02:00
Simon Giesecke 50cf008dd3 Bug 1602452 - Make member functions of nsTStringRepr defined in header constexpr. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D56369

--HG--
extra : moz-landing-system : lando
2019-12-09 15:01:22 +00:00
Daniel Varga 6e13799734 Backed out changeset e65c1bcb013f (bug 1601475) for causing build bustage. On a CLOSED TREE 2019-12-09 12:51:07 +02:00
Tyler 103588ae45 Bug 1601475 - Remove ImageContentLoaded event and ImageDocumentLoaded message handling code across the tree r=Gijs
Differential Revision: https://phabricator.services.mozilla.com/D56051

--HG--
extra : moz-landing-system : lando
2019-12-09 10:18:25 +00:00
Cameron McCormack 80142a59ab Bug 1571285 - Correctly style dark scrollbars in tree components. r=emilio
We need to ensure the rules that override all properties for scrollbar
part elements only apply to those that are NAC (and so will be eligible
for NAC style sharing).  We have some uses of non-NAC <scrollbar>
elements that should continue to inherit properties from their parents.

To avoid any changes in rule matching order that come with changing specificity,
we add a new :-moz-native-anonymous-no-specificity pseudo-class.

While we're here, we note :-moz-native-anonymous-no-specificity (and the
regular :-moz-native-anonymous pseudo-class) as not needing style
sharing cache revalidation, as we never share NAC styles.

Differential Revision: https://phabricator.services.mozilla.com/D56154

--HG--
extra : moz-landing-system : lando
2019-12-09 03:16:03 +00:00
Gabriele Svelto 5dc21d568c 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

--HG--
extra : moz-landing-system : lando
2019-12-06 09:17:57 +00:00
Gabriele Svelto ace6d1063f Bug 1600545 - Remove useless inclusions of header files generated from IDL files in dom/ 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/D55442

--HG--
extra : moz-landing-system : lando
2019-12-06 09:24:56 +00:00
Mike Hommey 6a1d6c2698 Bug 1587468 - Update uuid to 0.8.1. r=webdriver-reviewers,whimboo,emilio
This leaves one out-of-tree of uuid 0.7, handled by https://github.com/mozilla/rkv/pull/184
(but we have two copies of that, we'd need to have it landed on both
branches and pulled).

Differential Revision: https://phabricator.services.mozilla.com/D55912

--HG--
extra : moz-landing-system : lando
2019-12-06 00:47:50 +00:00
Thinker Li 7cfdf6a788 Bug 1470591 - Part 6: Create a fork server process. r=gsvelto
This patch make changes of Gecko infrastrutures to run a fork server
process.

 - ForkServerLauncher is a component, which creates a fork server
   process at XPCOM startup.

 - nsBrowserApp.cpp and related files have been chagned to start a
   fork server in a process.

 - Logging and nsTraceRefcnt were changed to make it work with the
   fork server.

Depends on D46883

Differential Revision: https://phabricator.services.mozilla.com/D46884

--HG--
extra : moz-landing-system : lando
2019-12-05 00:02:40 +00:00
Thinker Li 0fcab03d24 Bug 1470591 - Part 1: Add a new process type for ForkServer. r=gsvelto
Differential Revision: https://phabricator.services.mozilla.com/D46878

--HG--
extra : moz-landing-system : lando
2019-12-05 00:03:29 +00:00
Nathan Froyd e5e0366a02 Bug 1592738 - update xpcom_macros to more recent proc_macro et al; r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D51162

--HG--
extra : moz-landing-system : lando
2019-12-03 22:49:04 +00:00
Bogdan Tara 3732e1f17c Backed out 6 changesets (bug 1470591) for test_punycodeURIs & test_nsIProcess* crashes CLOSED TREE
Backed out changeset 3ca19f8f388e (bug 1470591)
Backed out changeset f80db6e63169 (bug 1470591)
Backed out changeset cbac2d7dfe42 (bug 1470591)
Backed out changeset daad4d736ec0 (bug 1470591)
Backed out changeset ca1b804d404a (bug 1470591)
Backed out changeset a10772f780f7 (bug 1470591)
2019-12-04 00:53:14 +02:00
Thinker Li 035717ac2d Bug 1470591 - Part 6: Create a fork server process. r=gsvelto
This patch make changes of Gecko infrastrutures to run a fork server
process.

 - ForkServerLauncher is a component, which creates a fork server
   process at XPCOM startup.

 - nsBrowserApp.cpp and related files have been chagned to start a
   fork server in a process.

 - Logging and nsTraceRefcnt were changed to make it work with the
   fork server.

Depends on D46883

Differential Revision: https://phabricator.services.mozilla.com/D46884

--HG--
extra : moz-landing-system : lando
2019-12-03 19:08:10 +00:00
Thinker Li 70ef2f4abf Bug 1470591 - Part 1: Add a new process type for ForkServer. r=gsvelto
Differential Revision: https://phabricator.services.mozilla.com/D46878

--HG--
extra : moz-landing-system : lando
2019-12-03 18:53:53 +00:00
Kershaw Chang f3bddbd52b Bug 1596409 - P1.1: Make socket process support IPCStream r=dragana
Differential Revision: https://phabricator.services.mozilla.com/D54289

--HG--
extra : moz-landing-system : lando
2019-12-03 13:41:58 +00:00
Andrew McCreight a102cb7648 Bug 1599521 - Add helper method for getting a string for the current process type. r=froydnj
I also removed the unused forward declaration of GMPLoader. It used to
be needed for the declaration of XRE_InitChildProcess.

Differential Revision: https://phabricator.services.mozilla.com/D54819

--HG--
extra : moz-landing-system : lando
2019-12-02 22:01:47 +00:00
Boris Zbarsky d9695ff145 Bug 1600719. Add some sanity-checking for redundant can_run_script annotations on XPIDL attributes. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D55529

--HG--
extra : moz-landing-system : lando
2019-12-02 19:52:11 +00:00
Boris Zbarsky 083b367e51 Bug 1599963. Allow annotating xpidl getters and setters indepdendently in terms of whether they can run script. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D55065

--HG--
extra : moz-landing-system : lando
2019-12-02 18:50:15 +00:00
Noemi Erli 79b3b21bb6 Merge autoland to mozilla-central. a=merge 2019-12-02 20:41:12 +02:00
ffxbld 2eb3b6566d Update configs. IGNORE BROKEN CHANGESETS CLOSED TREE NO BUG a=release ba=release 2019-12-02 11:59:11 +00:00
Emilio Cobos Álvarez d11fea7f89 Bug 1599614 - nsDirectoryService::SetCurrentProcessDirectory is infallible. r=froydnj
Depends on D54829

Differential Revision: https://phabricator.services.mozilla.com/D54830

--HG--
extra : moz-landing-system : lando
2019-12-02 13:56:14 +00:00
Emilio Cobos Álvarez 5ec30de90e No bug - Fixup a comment in nsMemoryImpl.
Follow-up to D54829.

Differential Revision: https://phabricator.services.mozilla.com/D55032

--HG--
extra : moz-landing-system : lando
2019-11-27 22:06:46 +00:00
Cosmin Sabou 2952534343 Backed out changeset b3f5d18be1e6 (bug 1579581) for causing valgrind bustages. CLOSED TREE 2019-11-27 22:12:02 +02:00
emalysz 563fdba9f3 Bug 1579581, Part 1: Remove remaining CPU info off main-thread and load later on startup. r=mconley,chutten
Differential Revision: https://phabricator.services.mozilla.com/D51704

--HG--
extra : moz-landing-system : lando
2019-11-27 16:14:43 +00:00
Emilio Cobos Álvarez e119a25358 Bug 1599614 - followup: Unbust mac build. CLOSED TREE
StaticMonitor is only used on mac.

MANUAL PUSH: As per sheriff request.

Differential Revision: https://phabricator.services.mozilla.com/D54936
2019-11-27 15:19:45 +01:00
Emilio Cobos Álvarez 4d3de211a0 Bug 1599614 - nsMemoryImpl::RunFlushers is infallible. r=njn
Differential Revision: https://phabricator.services.mozilla.com/D54829

--HG--
extra : moz-landing-system : lando
2019-11-27 13:46:12 +00:00
Emilio Cobos Álvarez 3c74cd4252 Bug 1599614 - Condvar::Notify/NotifyAll are not fallible. r=bzbarsky
Differential Revision: https://phabricator.services.mozilla.com/D54828

--HG--
extra : moz-landing-system : lando
2019-11-27 13:46:55 +00:00
Dorel Luca 6e67f20e69 Backed out changeset c7be5c184756 (bug 1579581) for reftest failures in xpcom/base/nsSystemInfo.cpp. CLOSED TREE 2019-11-26 22:35:40 +02:00
emalysz 5c76883c08 Bug 1579581, Part 1: Remove remaining CPU info off main-thread and load later on startup. r=mconley,chutten
Differential Revision: https://phabricator.services.mozilla.com/D51704

--HG--
extra : moz-landing-system : lando
2019-11-26 18:09:05 +00:00
Sylvestre Ledru 8d2f0d1b1f Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan
# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D54686

--HG--
extra : moz-landing-system : lando
2019-11-26 14:35:02 +00:00
Jean-Yves Avenard cc5f1886ed Bug 1596665 - P2. Add ability to copy all property bag contents to another. r=mattwoodrow
Add static CopyFrom method which is to be used in a follow-up patch. The static method takes a nsIWritablePropertyBag so that we don't need to cast to the concrete class.

Differential Revision: https://phabricator.services.mozilla.com/D53923

--HG--
extra : moz-landing-system : lando
2019-11-26 01:49:28 +00:00
Mike Hommey b1d0510804 Bug 1598196 - Support disabling the linker on Android in the code. r=froydnj
For now, there is no flag to actually allow it, but this is the
code-side changes to allow the linker being disabled.

Differential Revision: https://phabricator.services.mozilla.com/D54074

--HG--
extra : moz-landing-system : lando
2019-11-21 14:57:24 +00:00
Andrew McCreight 0072ea55ba Bug 1598173 - Make NoteIntentionalCrash() work in the main process. r=froydnj
For processes besides the main process, the leak log is derived from
the value of XPCOM_MEM_BLOAT_LOG, but for the main process, it is
simply whatever XPCOM_MEM_BLOAT_LOG is. This patch adds code to handle
the latter case.

It would be nice to share this code with nsTraceRefcnt.cpp, but
NoteIntentionalCrash() is used in the test plugins so I don't think it
can actually call into libxul. The logic isn't all that complex.

Differential Revision: https://phabricator.services.mozilla.com/D54374

--HG--
extra : moz-landing-system : lando
2019-11-25 21:42:04 +00:00
Andrew McCreight d25c3b20ae Bug 1598787 - Rename XRE_ChildProcessTypeToString to XRE_GeckoProcessTypeToString. r=froydnj
This function works on all GeckoProcessTypes, not just those for child
processes.

Differential Revision: https://phabricator.services.mozilla.com/D54375

--HG--
extra : moz-landing-system : lando
2019-11-25 22:45:31 +00:00
Coroiu Cristina 0356c7a1b5 Backed out changeset 8f52344661fe (bug 1598787) for build bustages at build/src/tools/fuzzing/faulty/Faulty.cpp on a CLOSED TREE 2019-11-26 00:22:28 +02:00
Andrew McCreight b8c9932d5b Bug 1598787 - Rename XRE_ChildProcessTypeToString to XRE_GeckoProcessTypeToString. r=froydnj
This function works on all GeckoProcessTypes, not just those for child
processes.

Differential Revision: https://phabricator.services.mozilla.com/D54375

--HG--
extra : moz-landing-system : lando
2019-11-25 17:24:46 +00:00
Jan de Mooij 83d309574b Bug 1579367 - Initialize XPCJSContext explicitly, after loading user prefs. r=kmag
This way we get the correct values for start-up prefs in the parent process.

Differential Revision: https://phabricator.services.mozilla.com/D51061

--HG--
extra : moz-landing-system : lando
2019-11-22 12:40:17 +00:00
Toshihito Kikuchi 7d84bc7ec1 Bug 1597963 - Pass VT_ERROR for Explorer to call ShellExecuteExW with null verb. r=aklotz
The patch for Bug 1588975 specified the "open" verb to execute a target, but
the default verb is not always "open".  For example, the default verb for a font
file is "preview".  We should specify null verb to start the default operation.

Now we use `IShellDispatch2.ShellExecute` to ask explorer.exe to call
`ShellExecuteExW`.  That method takes an optional `VARIANT` parameter as a verb.
According to https://devblogs.microsoft.com/oldnewthing/20140919-00/?p=44023,
we need to pass `VT_ERROR` to omit an optional parameter.  If we pass
other values such as `nullptr` with `VT_BSTR` or `VT_EMPTY`, explorer.exe calls
`ShellExecuteExW` with the empty string `""` instead of `nullptr`, which is not
considered as a valid verb if the target file is not associated with any app.

Differential Revision: https://phabricator.services.mozilla.com/D54036

--HG--
extra : moz-landing-system : lando
2019-11-22 22:52:00 +00:00
Toshihito Kikuchi e01d0b296f Bug 1597794 - Return NS_ERROR_FILE_EXECUTION_FAILED if shell failed to launch a file. r=aklotz
Calling `AsWin32Error()` for the return value from `ShellExecuteByExplorer` can
cause the crash because it may not be a Win32 error.  We simply return
`NS_ERROR_FILE_EXECUTION_FAILED` as we do in `nsProcess::RunProcess` or
`ShellExecuteWithIFile`.

We used to check the return value from `ShellExecuteExW` against `SE_ERR_NOASSOC`,
but it never happens because `SE_ERR_` is returned as `SHELLEXECUTEINFO::hInstApp`.
No worry about the no-association case because `IShellDispatch2.ShellExecute`
displays the "How do you want to open this file?" popup when needed.

Differential Revision: https://phabricator.services.mozilla.com/D54052

--HG--
extra : moz-landing-system : lando
2019-11-22 21:11:24 +00:00
Tim Nguyen 3ae6d270cf Bug 1597120 - Remove platform support for XUL mousethrough attribute. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D53349

--HG--
extra : moz-landing-system : lando
2019-11-22 13:15:28 +00:00
Kershaw Chang 60f6486027 Bug 1579049 - P1: Map Http error response codes to gecko error codes r=mayhemer,valentin
Differential Revision: https://phabricator.services.mozilla.com/D49903

--HG--
extra : moz-landing-system : lando
2019-11-21 14:24:36 +00:00
Boris Zbarsky 73fb775116 Bug 1597158 part 4. Stop unlocking the provided mutex in IdlePeriodState methods. r=smaug
The basic idea, suggested by Olli, is that we can try to get a runnable in
ThreadEventQueue::GetEvent, and if that does not produce anything unlock our
mutex, do whatever idle state updates we need to do, re-lock our mutex.  Then
always we need to try getting a runnable again, because a non-idle runnable
might have gotten queued while we had the lock unlocked.  So we can't sleep on
our mutex, in the mayWait case, unless we try to get a runnable again first.

My notes on the current (pre this patch) unlocking setup follow.
------------------------------------------------------------

There are four places where we currently unlock:

1) IdlePeriodState::GetIdleDeadlineInternal.  Needed only when !aIsPeek, to
RequestIdleToken, which can do IPC.  The only caller, via
GetDeadlineForIdleTask, is PrioritizedEventQueue::GetEvent and only when we
selected the idle or deferred queue.  We need this to set the proper deadline
on the idle event.  In the cases when this unlock happens we currently _never_
return an idle event, because if we got here that means that we do not have an
idle token.

2) IdlePeriodState::GetLocalIdleDeadline.  Needs to unlock to get the idle
period hint.  The can get called from GetIdleDeadlineInternal in _both_ cases:
peek and get.  The callstack for the get case is covered above.  The peek case
is called from PrioritizedEventQueue::HasReadyEvent which is called from
ThreadEventQueue::HasPendingEvent.

3) IdlePeriodState::SetPaused, because it sends an IPC message.  This is only
called from EnsureIsPaused, which is called from:
  - IdlePeriodState::GetIdleDeadlineInternal.  Only in the !aIsPeek case.
  - IdlePeriodState::RanOutOfTasks called from:
    - PrioritizedEventQueue::GetEvent if we fell into the idle case and our
      queues are empty.
    - PrioritizedEventQueue::DidRunEvent if we are empty.

4) IdlePeriodState::ClearIdleToken because it sends an IPC message.  This is
called from:
    - IdlePeriodState::RanOutOfTasks; see SetPaused.
    - IdlePeriodState::GetIdleDeadlineInternal like EnsureIsPaused.
    - IdlePeriodState::GetIdleToken if token is in the past.  This is only
      called from GetIdleDeadlineInternal, both cases.
    - IdlePeriodState::FlagNotIdle called from PrioritizedEventQueue::GetEvent
      if we find an event in a non-idle queue.

Or rewriting in terms of API entrypoints on IdlePeriodState that might need to
unlock:

* Anything to do with getting deadlines, whether we are peeking or getting.
  Basically, if we need an updated deadline we need to unlock.
* When we have detected we are completely out of tasks (idle or not) to run.
  Right now we do that when either we're asked for an event and don't have one
  or if we run an event and are empty after that (before unlocking!).  But the
  unlocking or not happens in nsThreadEventQueue::DidRunEvent, so separately
  from the getting of the event.  In particular, we are unlocked before we
  enter DidRunEvent, and unlock again before we return from it, so we can do
  whatever updates we want there.
* When we have detected that we have a non-idle event to run; this calls
  FlagNotIdle.

Differential Revision: https://phabricator.services.mozilla.com/D53631

--HG--
extra : moz-landing-system : lando
2019-11-22 14:06:17 +00:00
Boris Zbarsky e2ef656e02 Bug 1597158 part 3. Expose whether there are any idle runnables on PrioritizedEventQueue. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D53629

--HG--
extra : moz-landing-system : lando
2019-11-22 14:06:29 +00:00
Boris Zbarsky b5c22f1dda Bug 1597158 part 2. Expose the IdlePeriodState of a PrioritizedEventQueue to its consumers. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D53628

--HG--
extra : moz-landing-system : lando
2019-11-22 14:05:30 +00:00
Boris Zbarsky 093002cffe Bug 1597158 part 1. Change the GetEvent signature on PrioritizedEventQueue to return whether we considered running idle runnables. r=smaug
The caller will need to know this to properly update idle state.

Differential Revision: https://phabricator.services.mozilla.com/D53627

--HG--
extra : moz-landing-system : lando
2019-11-22 14:03:23 +00:00
Andreas Tolfsen 4a8b5c26b8 bug 1543115: remote: expose nsIRemoteAgent as XPCOM service; r=remote-protocol-reviewers,maja_zf,nika
This change makes it possible to access the remote agent service
from C++ and Rust.

Differential Revision: https://phabricator.services.mozilla.com/D50288

--HG--
extra : moz-landing-system : lando
2019-11-22 08:03:19 +00:00
Randell Jesup 6835880244 Bug 1597728: Make EventQueue support templatization for queue page size r=froydnj
Most event queues don't ever get many events queued at one time, but the
MainThread Input and Normal queues may.

Differential Revision: https://phabricator.services.mozilla.com/D53912

--HG--
extra : moz-landing-system : lando
2019-11-21 03:47:19 +00:00
Randell Jesup ede385148e Bug 1597601: Make event Queues use the first buffer as a circular buffer r=froydnj
This should avoid freeing and reallocating the buffer every N events, and
make it simpler to use smaller buffers, especially for non-MainThread queues.

Differential Revision: https://phabricator.services.mozilla.com/D53911

--HG--
extra : moz-landing-system : lando
2019-11-21 03:47:09 +00:00