Commit Graph
40 Commits
Author SHA1 Message Date
Sylvestre Ledru 0804530f25 Bug 2023419 - Remove Emacs/Vim modelines from ipc/ r=emilio
replaced by .editorconfig
# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D287850
2026-03-17 08:01:09 +00:00
serge-sans-paille 89b04cc610 Bug 1999719 - Remove unused STL header inclusions in ipc/** r=ipc-reviewers,mccr8
Differential Revision: https://phabricator.services.mozilla.com/D272287
2025-11-12 18:36:42 +00:00
Biswapriyo Nath ae190326a0 Bug 1871472: Remove mingw workaround for RoGetAgileReference function r=tjr
The workaround was added in https://phabricator.services.mozilla.com/D196364
The function was added in https://sourceforge.net/p/mingw-w64/mingw-w64/ci/da103349b968320aeeb55322cba1ac897319e963/

Differential Revision: https://phabricator.services.mozilla.com/D250768
2025-06-02 15:04:59 +00:00
Ryan VanderMeulen 2d8b41ae9f Bug 1946976 - Update mingw to upstream revision 3346c0eb95c34e2ac0c5f157da8965ee292c64e8. r=tjr,win-reviewers,gstoll
Differential Revision: https://phabricator.services.mozilla.com/D237480
2025-02-24 17:15:30 +00:00
Ray Kraesig 46a0bdbeb6 Bug 1869053 - [5/5] templatize and further simplify AgileReference r=handyman,win-reviewers
Lift `aIid` to compile-time, as a template parameter `InterfaceT`. This
simplifies the common case for using `Resolve()`, where the desired and
supplied interfaces are the same. (For the as-yet-unattested case where
they're not, retain the old functionality by means of a small family of
`ResolveAs()` functions.)

Additionally, to eliminate a swath of custom logic and magic-number
choices surrounding `mHResult`, eliminate `mHResult` itself as well.
Instead, since its value was derived from the creation of the underlying
`IAgileReference`, any callers that might care can acquire it as an
additional return value from a named-constructor function.

These collectively trim `AgileReference`'s footprint down to a single
`RefPtr`, with all its special member functions having only default
implementations.

Differential Revision: https://phabricator.services.mozilla.com/D196513
2023-12-21 19:46:55 +00:00
Ray Kraesig a7b8bc44e8 Bug 1869053 - [2/5] eliminate all implicit conversions between RefPtr and AgileReference r=handyman,win-reviewers
Remove all of the code in `RefPtr` and `AgileReference` that allowed
for implicitly converting between the two in via constructors or the
assignment operator.

Replace these with a slightly-less-convenient-but-substantially-more-
explicit `Resolve` function family.

(This also eliminates the dependency that `class RefPtr` had on
`class AgileReference`.)

Differential Revision: https://phabricator.services.mozilla.com/D196365
2023-12-21 19:46:54 +00:00
Ray Kraesig 1b1974da41 Bug 1869053 - [1/5] modernize our mscom::AgileReference class r=handyman
As we no longer support Windows versions without `RoGetAgileReference`,
we can drop the old global-interface-table manipulation version of this
code.

We temporarily retain the dynamic linking of `RoGetAgileReference` on
MinGW builds, as MinGW doesn't know how to link it yet.

Differential Revision: https://phabricator.services.mozilla.com/D196364
2023-12-21 19:46:54 +00:00
Sandor Molnar 59ea0b283e Backed out 5 changesets (bug 1869053) for causing build bustages. CLOSED TREE
Backed out changeset 0a1ec143adbc (bug 1869053)
Backed out changeset 687e7683752c (bug 1869053)
Backed out changeset 59d9b136a3f2 (bug 1869053)
Backed out changeset 6ab85972356d (bug 1869053)
Backed out changeset 6addaa9e88be (bug 1869053)
2023-12-20 19:42:52 +02:00
Ray Kraesig c2c631b9eb Bug 1869053 - [5/5] templatize and further simplify AgileReference r=handyman,win-reviewers
Lift `aIid` to compile-time, as a template parameter `InterfaceT`. This
simplifies the common case for using `Resolve()`, where the desired and
supplied interfaces are the same. (For the as-yet-unattested case where
they're not, retain the old functionality by means of a small family of
`ResolveAs()` functions.)

Additionally, to eliminate a swath of custom logic and magic-number
choices surrounding `mHResult`, eliminate `mHResult` itself as well.
Instead, since its value was derived from the creation of the underlying
`IAgileReference`, any callers that might care can acquire it as an
additional return value from a named-constructor function.

These collectively trim `AgileReference`'s footprint down to a single
`RefPtr`, with all its special member functions having only default
implementations.

Differential Revision: https://phabricator.services.mozilla.com/D196513
2023-12-20 17:06:23 +00:00
Ray Kraesig 6f90016dbb Bug 1869053 - [2/5] eliminate all implicit conversions between RefPtr and AgileReference r=handyman,win-reviewers
Remove all of the code in `RefPtr` and `AgileReference` that allowed
for implicitly converting between the two in via constructors or the
assignment operator.

Replace these with a slightly-less-convenient-but-substantially-more-
explicit `Resolve` function family.

(This also eliminates the dependency that `class RefPtr` had on
`class AgileReference`.)

Differential Revision: https://phabricator.services.mozilla.com/D196365
2023-12-20 17:06:21 +00:00
Ray Kraesig bf37a68f07 Bug 1869053 - [1/5] modernize our mscom::AgileReference class r=handyman
As we no longer support Windows versions without `RoGetAgileReference`,
we can drop the old global-interface-table manipulation version of this
code.

Differential Revision: https://phabricator.services.mozilla.com/D196364
2023-12-20 17:06:21 +00:00
Masatoshi Kimura ade4aaa97b Bug 1852806 - Remove macros for older Windows SDK from ipc/. r=handyman,mccr8,ipc-reviewers
Depends on D188024

Differential Revision: https://phabricator.services.mozilla.com/D188025
2023-09-15 03:19:27 +00:00
Cosmin Sabou eab17df623 Backed out 15 changesets (bug 1852806) for causing mda failures on test_video_low_power_telemetry.html. CLOSED TREE
Backed out changeset faea1f4cb9a9 (bug 1852806)
Backed out changeset 4db93c374f9b (bug 1852806)
Backed out changeset 7e40e0e04921 (bug 1852806)
Backed out changeset b0a66c4269ce (bug 1852806)
Backed out changeset 4ff3545936f9 (bug 1852806)
Backed out changeset 02c0a8eb3fd6 (bug 1852806)
Backed out changeset ae2c7b33acfb (bug 1852806)
Backed out changeset 2b89ba254a1a (bug 1852806)
Backed out changeset dfa4f73fc548 (bug 1852806)
Backed out changeset daffcc4c1877 (bug 1852806)
Backed out changeset 33855bcdf15e (bug 1852806)
Backed out changeset 694f29707f3e (bug 1852806)
Backed out changeset 1891eda22a59 (bug 1852806)
Backed out changeset 1b854941389c (bug 1852806)
Backed out changeset 2f7cfe04be59 (bug 1852806)
2023-09-15 09:48:27 +03:00
Masatoshi Kimura b08fd1c9ff Bug 1852806 - Remove macros for older Windows SDK from ipc/. r=handyman,mccr8,ipc-reviewers
Depends on D188024

Differential Revision: https://phabricator.services.mozilla.com/D188025
2023-09-15 03:19:27 +00:00
Masatoshi Kimura 96ef6d7d7f Bug 1849927 - Fix MinGW build errors. r=tjr
Differential Revision: https://phabricator.services.mozilla.com/D186837
2023-09-06 21:25:09 +00:00
Andi-Bogdan Postelnicu f4dd222589 Bug 1519636 - Initial reformat of C/C++ code with clang-format version 12.0.0. r=sylvestre
clang-format version 12.0.0 (taskcluster-KEgO7qdgQ8uaewA6NkRnRA)

Differential Revision: https://phabricator.services.mozilla.com/D114211
2021-05-10 07:15:07 +00:00
Emilio Cobos Álvarez 778b011866 Bug 1609996 - Reorder some includes affected by the previous patches. r=froydnj
This was done by:

This was done by applying:

```
diff --git a/python/mozbuild/mozbuild/code-analysis/mach_commands.py b/python/mozbuild/mozbuild/code-analysis/mach_commands.py
index 789affde7bbf..fe33c4c7d4d1 100644
--- a/python/mozbuild/mozbuild/code-analysis/mach_commands.py
+++ b/python/mozbuild/mozbuild/code-analysis/mach_commands.py
@@ -2007,7 +2007,7 @@ class StaticAnalysis(MachCommandBase):
         from subprocess import Popen, PIPE, check_output, CalledProcessError

         diff_process = Popen(self._get_clang_format_diff_command(commit), stdout=PIPE)
-        args = [sys.executable, clang_format_diff, "-p1", "-binary=%s" % clang_format]
+        args = [sys.executable, clang_format_diff, "-p1", "-binary=%s" % clang_format, '-sort-includes']

         if not output_file:
             args.append("-i")
```

Then running `./mach clang-format -c <commit-hash>`

Then undoing that patch.

Then running check_spidermonkey_style.py --fixup

Then running `./mach clang-format`

I had to fix four things:

 * I needed to move <utility> back down in GuardObjects.h because I was hitting
   obscure problems with our system include wrappers like this:

0:03.94 /usr/include/stdlib.h:550:14: error: exception specification in declaration does not match previous declaration
0:03.94 extern void *realloc (void *__ptr, size_t __size)
0:03.94              ^
0:03.94 /home/emilio/src/moz/gecko-2/obj-debug/dist/include/malloc_decls.h:53:1: note: previous declaration is here
0:03.94 MALLOC_DECL(realloc, void*, void*, size_t)
0:03.94 ^
0:03.94 /home/emilio/src/moz/gecko-2/obj-debug/dist/include/mozilla/mozalloc.h:22:32: note: expanded from macro 'MALLOC_DECL'
0:03.94     MOZ_MEMORY_API return_type name##_impl(__VA_ARGS__);
0:03.94                                ^
0:03.94 <scratch space>:178:1: note: expanded from here
0:03.94 realloc_impl
0:03.94 ^
0:03.94 /home/emilio/src/moz/gecko-2/obj-debug/dist/include/mozmemory_wrap.h:142:41: note: expanded from macro 'realloc_impl'
0:03.94 #define realloc_impl mozmem_malloc_impl(realloc)

   Which I really didn't feel like digging into.

 * I had to restore the order of TrustOverrideUtils.h and related files in nss
   because the .inc files depend on TrustOverrideUtils.h being included earlier.

 * I had to add a missing include to RollingNumber.h

 * Also had to partially restore include order in JsepSessionImpl.cpp to avoid
   some -WError issues due to some static inline functions being defined in a
   header but not used in the rest of the compilation unit.

Differential Revision: https://phabricator.services.mozilla.com/D60327
2020-01-20 16:19:48 +00:00
Emilio Cobos Álvarez 2efdea1ee5 Bug 1609996 - Remove mozilla/Move.h. r=froydnj
rg -l 'mozilla/Move.h' | xargs sed -i 's/#include "mozilla\/Move.h"/#include <utility>/g'

Further manual fixups and cleanups to the include order incoming.

Differential Revision: https://phabricator.services.mozilla.com/D60323
2020-01-20 16:18:20 +00:00
Aaron Klotz 4cd23a2d0a Bug 1576925: Make AgileReference copyable; r=Jamie
Until now, AgileReference was not copyable because it could not handle the
copying of global interface table cookies. By moving the cookie into its own
reference counted object, we can enable copying on the AgileReference.

Differential Revision: https://phabricator.services.mozilla.com/D43616
2019-08-28 15:05:32 +00:00
Aaron Klotz 0f3c5f0382 Bug 1571875: Part 2 - Change over all existing static local uses of DynamicallyLinkedFunctionPtr to use StaticDynamicallyLinkedFunctionPtr instead; r=mhowell
Depends on D40885

Differential Revision: https://phabricator.services.mozilla.com/D40886
2019-08-07 15:58:09 +00:00
Sylvestre Ledru 1ad0cac654 Bug 1519636 - clang-format-8: Reformat recent changes to the Google coding style r=Ehsan
clang-format-8 upstream had some improvements wrt macros
See: https://reviews.llvm.org/D33440
This is why the diff is bigger than usual

# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D26098
2019-04-05 21:41:42 +00:00
Aaron Klotz 70329b5888 Bug 1493448: Print out the failing HRESULT when assertion fires in mscom::AgileReference::Clear; r=Jamie
Differential Revision: https://phabricator.services.mozilla.com/D26001
2019-04-03 22:06:18 +00:00
Ryan Hunt ce123777bf Bug 1523969 part 12 - Move method definition inline comments to new line in 'ipc/'. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D21112
2019-02-25 16:08:36 -06: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 f04bb7a990 Bug 1489317: Part 4 - Add asssertion that COM is initialized on the thread that is resolving an agile reference; r=mhowell
Depends on D5321

Differential Revision: https://phabricator.services.mozilla.com/D5323
2018-09-12 18:56:10 +00:00
Aaron Klotz 962922a5fb Bug 1489317: Part 2 - Improvements to mscom::AgileReference; r=froydnj
This patch adds the definitions of the RefPtr constructor and operator=.
It also refactors some stuff in AgileReference to make these objects easier
to use. Since it's just a bunch of C++ goop, I figured that you'd be fine to
review this. Let me know if you want to add a reviewer who is more familiar
with the COM nuances.

Depends on D5317

Differential Revision: https://phabricator.services.mozilla.com/D5318
2018-09-12 18:55:39 +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 5bd7bd71a9 Bug 1489317: Part 4 - Add asssertion that COM is initialized on the thread that is resolving an agile reference; r=mhowell
Depends on D5321

Differential Revision: https://phabricator.services.mozilla.com/D5323
2018-09-10 22:59:07 +00:00
Aaron Klotz a6655da914 Bug 1489317: Part 2 - Improvements to mscom::AgileReference; r=froydnj
This patch adds the definitions of the RefPtr constructor and operator=.
It also refactors some stuff in AgileReference to make these objects easier
to use. Since it's just a bunch of C++ goop, I figured that you'd be fine to
review this. Let me know if you want to add a reviewer who is more familiar
with the COM nuances.

Depends on D5317

Differential Revision: https://phabricator.services.mozilla.com/D5318
2018-09-10 22:58:36 +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
Aaron Klotz a7fa8d1bbd Bug 1489317: Part 4 - Add asssertion that COM is initialized on the thread that is resolving an agile reference; r=mhowell
Depends on D5321

Differential Revision: https://phabricator.services.mozilla.com/D5323
2018-09-10 22:59:07 +00:00
Aaron Klotz b9374a16e0 Bug 1489317: Part 2 - Improvements to mscom::AgileReference; r=froydnj
This patch adds the definitions of the RefPtr constructor and operator=.
It also refactors some stuff in AgileReference to make these objects easier
to use. Since it's just a bunch of C++ goop, I figured that you'd be fine to
review this. Let me know if you want to add a reviewer who is more familiar
with the COM nuances.

Depends on D5317

Differential Revision: https://phabricator.services.mozilla.com/D5318
2018-09-10 22:58:36 +00:00
Ciure Andrei fa6c3fd0e5 Backed out 4 changesets (bug 1489317) for causing Windows test failures CLOSED TREE
Backed out changeset 8cf95604ce94 (bug 1489317)
Backed out changeset 9d444f92b939 (bug 1489317)
Backed out changeset e0535e0450c8 (bug 1489317)
Backed out changeset 0f8554d82b32 (bug 1489317)
2018-09-11 00:50:10 +03:00
Aaron Klotz 90f87d44aa Bug 1489317: Part 4 - Add asssertion that COM is initialized on the thread that is resolving an agile reference; r=mhowell
Depends on D5321

Differential Revision: https://phabricator.services.mozilla.com/D5323
2018-09-10 20:03:24 +00:00
Aaron Klotz fbc89391f5 Bug 1489317: Part 2 - Improvements to mscom::AgileReference; r=froydnj
This patch adds the definitions of the RefPtr constructor and operator=.
It also refactors some stuff in AgileReference to make these objects easier
to use. Since it's just a bunch of C++ goop, I figured that you'd be fine to
review this. Let me know if you want to add a reviewer who is more familiar
with the COM nuances.

Depends on D5317

Differential Revision: https://phabricator.services.mozilla.com/D5318
2018-09-10 20:03:10 +00:00
Emilio Cobos Álvarez 4b8b5e1717 Bug 1465585: Switch from mozilla::Move to std::move. r=froydnj
This was done automatically replacing:

  s/mozilla::Move/std::move/
  s/ Move(/ std::move(/
  s/(Move(/(std::move(/

Removing the 'using mozilla::Move;' lines.

And then with a few manual fixups, see the bug for the split series..

MozReview-Commit-ID: Jxze3adipUh
2018-06-01 10:45:27 +02:00
Aaron Klotz a46882972e Bug 1451511: Add cross-process function hooking to DLL interceptor; r=handyman 2018-04-04 16:31:43 -06:00
Sylvestre Ledru d4bc4b1554 Bug 1411001 - Remove the +x permissions on cpp & h files r=froydnj
MozReview-Commit-ID: DjDkL20wRg0
2017-10-23 20:59:55 +02:00
Tom Ritter 67f7e298b5 Bug 1392684 Remove const qualifier that gets discarded after function return in mscom::AgileReference r=aklotz
gcc throws a warning-as-error saying that the const qualifier will be ignored by function callers.
Remove the const qualifier to remove the warning.

MozReview-Commit-ID: JRQMz6Zdcdz
2017-08-22 17:25:27 -05:00
Aaron Klotz 83fd5c9861 Bug 1338596: Add support for agile references to mscom; r=jimm
MozReview-Commit-ID: 1NZoFZntO3g
2017-02-10 11:18:26 -07:00