Skip to content
Snippets Groups Projects
  1. Apr 22, 2022
    • Bas Schouten's avatar
      Bug 1751693: Add telemetry probe to measure glyph rasterization time and the... · 6932a162
      Bas Schouten authored
      Bug 1751693: Add telemetry probe to measure glyph rasterization time and the required plumbing for WR. r=jrmuizel,nical
      
      Differential Revision: https://phabricator.services.mozilla.com/D140681
      6932a162
    • Glenn Watson's avatar
      Bug 1764875 - Fix scale factors for perspective surfaces when not specified by... · 02380d6f
      Glenn Watson authored
      Bug 1764875 - Fix scale factors for perspective surfaces when not specified by Gecko r=gfx-reviewers,lsalzman
      
      Differential Revision: https://phabricator.services.mozilla.com/D144339
      02380d6f
    • Steve Fink's avatar
    • Norisz Fay's avatar
      76f39a8b
    • Norisz Fay's avatar
      Merge autoland to mozilla-central. a=merge · cc03ccd8
      Norisz Fay authored
      cc03ccd8
    • Hiroyuki Ikezoe's avatar
    • Hiroyuki Ikezoe's avatar
    • Jed Davis's avatar
      Bug 1759196 - Fix the Linux sandbox's handling of 32-bit arguments on 64-bit... · 272d93bb
      Jed Davis authored
      Bug 1759196 - Fix the Linux sandbox's handling of 32-bit arguments on 64-bit platforms. r=gcp,bobowen
      
      Background: When 32-bit types are passed in registers on x86-64 (and
      probably other platforms?), the function call ABI does not specify the
      contents of the upper half, and the Linux kernel syscall ABI appears to
      have the same behavior.
      
      In practice, the upper half is usually zero (or maybe sign-extended from
      the lower half), because 64-bit operations aren't cheaper than 32-bit,
      and 32-bit operations zero-extend their outputs; therefore, this case
      usually doesn't happen in the first place, and any kind of spill or
      register move will zero the upper half.  However, arbitrary values are
      possible, and a case like this has occurred with the Firefox profiler
      using `clock_gettime`.  (This paragraph is applicable to x86-64 and
      ARM64; other 64-bit architecutures may behave differently.)
      
      But the Chromium seccomp-bpf compiler, when testing the value of a 32-bit
      argument on a 64-bit platform, requires that the value be zero-extended
      or sign-extended, and (incorrectly, as far as I can tell) considers
      anything else an ABI violation.
      
      With this patch, when that case is detected, we use the `SIGSYS` handler
      to zero-extend the problematic argument and re-issue the syscall.
      
      (It would also be possible to just ignore the upper half, and that would
      be faster, but that could lead to subtle security holes if the type
      used in `bpf_dsl` is incorrect and the kernel really does treat it as
      64-bit.)
      
      Differential Revision: https://phabricator.services.mozilla.com/D143964
      272d93bb
    • Mike Hommey's avatar
    • Mike Hommey's avatar
      Bug 1765474 - Fix unused-but-set-variable warning in OggDemuxer.cpp.... · 407fae94
      Mike Hommey authored
      Bug 1765474 - Fix unused-but-set-variable warning in OggDemuxer.cpp. r=media-playback-reviewers,padenot
      
      dom/media/ogg/OggDemuxer.cpp:1905:7: error: variable 'hops' set but not used [-Werror,-Wunused-but-set-variable]
        int hops = 0;
            ^
      
      Differential Revision: https://phabricator.services.mozilla.com/D144147
      407fae94
    • Mike Hommey's avatar
      Bug 1765474 - Fix unused-but-set-variable warning in TestBaseProfiler.cpp. r=gerald · 0e99daec
      Mike Hommey authored
      mozglue/tests/TestBaseProfiler.cpp:2188:12: error: variable 'chunk1ReuseCount' set but not used [-Werror,-Wunused-but-set-variable]
        unsigned chunk1ReuseCount = 0;
                 ^
      
      Differential Revision: https://phabricator.services.mozilla.com/D144146
      0e99daec
    • Mike Hommey's avatar
      Bug 1765474 - Fix deprecated-non-prototype warnings in editline. r=jandem · f0ff0bc3
      Mike Hommey authored
      js/src/editline/editline.c:147:1: error: a function declaration without a prototype is deprecated in all versions of C and is not supported in C2x [-Werror,-Wdeprecated-non-prototype]
      TTYput(c)
      ^
      js/src/editline/editline.c:158:1: error: a function declaration without a prototype is deprecated in all versions of C and is not supported in C2x [-Werror,-Wdeprecated-non-prototype]
      TTYputs(p)
      ^
      js/src/editline/editline.c:166:1: error: a function declaration without a prototype is deprecated in all versions of C and is not supported in C2x [-Werror,-Wdeprecated-non-prototype]
      TTYshow(c)
      ^
      js/src/editline/editline.c:187:1: error: a function declaration without a prototype is deprecated in all versions of C and is not supported in C2x [-Werror,-Wdeprecated-non-prototype]
      TTYstring(p)
      ^
      js/src/editline/editline.c:212:1: error: a function declaration without a prototype is deprecated in all versions of C and is not supported in C2x [-Werror,-Wdeprecated-non-prototype]
      TTYbackn(n)
      ^
      js/src/editline/editline.c:288:1: error: a function declaration without a prototype is deprecated in all versions of C and is not supported in C2x [-Werror,-Wdeprecated-non-prototype]
      left(Change)
      ^
      js/src/editline/editline.c:305:1: error: a function declaration without a prototype is deprecated in all versions of C and is not supported in C2x [-Werror,-Wdeprecated-non-prototype]
      right(Change)
      ^
      js/src/editline/editline.c:322:1: error: a function declaration without a prototype is deprecated in all versions of C and is not supported in C2x [-Werror,-Wdeprecated-non-prototype]
      do_macro(c)
      ^
      js/src/editline/editline.c:340:1: error: a function declaration without a prototype is deprecated in all versions of C and is not supported in C2x [-Werror,-Wdeprecated-non-prototype]
      do_forward(move)
      ^
      js/src/editline/editline.c:365:1: error: a function declaration without a prototype is deprecated in all versions of C and is not supported in C2x [-Werror,-Wdeprecated-non-prototype]
      do_case(type)
      ^
      js/src/editline/editline.c:441:1: error: a function declaration without a prototype is deprecated in all versions of C and is not supported in C2x [-Werror,-Wdeprecated-non-prototype]
      insert_string(p)
      ^
      js/src/editline/editline.c:502:1: error: a function declaration without a prototype is deprecated in all versions of C and is not supported in C2x [-Werror,-Wdeprecated-non-prototype]
      do_insert_hist(p)
      ^
      js/src/editline/editline.c:515:1: error: a function declaration without a prototype is deprecated in all versions of C and is not supported in C2x [-Werror,-Wdeprecated-non-prototype]
      do_hist(move)
      ^
      js/src/editline/editline.c:557:1: error: a function declaration without a prototype is deprecated in all versions of C and is not supported in C2x [-Werror,-Wdeprecated-non-prototype]
      substrcmp(text, pat, len)
      ^
      js/src/editline/editline.c:607:14: error: passing arguments to a function without a prototype is deprecated in all versions of C and is not supported in C2x [-Werror,-Wdeprecated-non-prototype]
              if ((*match)((char *)H.Lines[H.Pos], pat, len) == 0)
                          ^
      js/src/editline/editline.c:573:1: error: a function declaration without a prototype is deprecated in all versions of C and is not supported in C2x [-Werror,-Wdeprecated-non-prototype]
      search_hist(search, move)
      ^
      js/src/editline/editline.c:663:1: error: a function declaration without a prototype is deprecated in all versions of C and is not supported in C2x [-Werror,-Wdeprecated-non-prototype]
      save_yank(begin, i)
      ^
      js/src/editline/editline.c:682:1: error: a function declaration without a prototype is deprecated in all versions of C and is not supported in C2x [-Werror,-Wdeprecated-non-prototype]
      delete_string(count)
      ^
      js/src/editline/editline.c:781:1: error: a function declaration without a prototype is deprecated in all versions of C and is not supported in C2x [-Werror,-Wdeprecated-non-prototype]
      insert_char(c)
      ^
      js/src/editline/editline.h:81:13: error: a function declaration without a prototype is deprecated in all versions of C and is not supported in C2x [-Werror,-Wdeprecated-non-prototype]
      extern void     rl_add_slash();
                      ^
      js/src/editline/sysunix.c:36:1: error: a function declaration without a prototype is deprecated in all versions of C and is not supported in C2x [-Werror,-Wdeprecated-non-prototype]
      rl_ttyset(Reset)
      ^
      js/src/editline/sysunix.c:139:1: error: a function declaration without a prototype is deprecated in all versions of C and is not supported in C2x [-Werror,-Wdeprecated-non-prototype]
      rl_add_slash(path, p)
      ^
      
      Differential Revision: https://phabricator.services.mozilla.com/D144145
      f0ff0bc3
    • Mike Hommey's avatar
      Bug 1765474 - Fix unused-but-set-variable warnings in netwerk/. r=necko-reviewers,dragana · b225d730
      Mike Hommey authored
      netwerk/protocol/http/Http2Compression.cpp:326:12: error: variable 'removedCount' set but not used [-Werror,-Wunused-but-set-variable]
        uint32_t removedCount = 0;
                 ^
      netwerk/streamconv/converters/nsDirIndexParser.cpp:376:11: error: variable 'numItems' set but not used [-Werror,-Wunused-but-set-variable]
        int32_t numItems = 0;
                ^
      
      Differential Revision: https://phabricator.services.mozilla.com/D144144
      b225d730
    • Mike Hommey's avatar
      Bug 1765474 - Fix unused-but-set-variable warning in nsSprocketLayout.cpp. r=emilio · 63c7aa24
      Mike Hommey authored
      layout/xul/nsSprocketLayout.cpp:1116:14: error: variable 'pass' set but not used [-Werror,-Wunused-but-set-variable]
          for (int pass = 1; true == limit; pass++) {
                   ^
      
      Differential Revision: https://phabricator.services.mozilla.com/D144143
      63c7aa24
    • Mike Hommey's avatar
    • Mike Hommey's avatar
      Bug 1765474 - Fix unused-but-set-variable warning in js/src. r=jandem · 915625fc
      Mike Hommey authored
      js/src/frontend/BytecodeEmitter.cpp:4893:12: error: variable 'count' set but not used [-Werror,-Wunused-but-set-variable]
        uint32_t count = cookedOrRaw->count();
                 ^
      js/src/frontend/BytecodeEmitter.cpp:4910:10: error: variable 'idx' set but not used [-Werror,-Wunused-but-set-variable]
        size_t idx;
               ^
      js/src/irregexp/RegExpNativeMacroAssembler.cpp:899:10: error: variable 'pushedNonVolatileRegisters' set but not used [-Werror,-Wunused-but-set-variable]
        size_t pushedNonVolatileRegisters = 0;
               ^
      
      Differential Revision: https://phabricator.services.mozilla.com/D144141
      915625fc
    • Mike Hommey's avatar
      Bug 1765474 - Fix unused-but-set-variable warning in MIDIUtils.cpp. r=gsvelto · 7ee709ee
      Mike Hommey authored
      dom/midi/MIDIUtils.cpp:110:12: error: variable 'bytesRead' set but not used [-Werror,-Wunused-but-set-variable]
        uint32_t bytesRead = 0;
                 ^
      
      Differential Revision: https://phabricator.services.mozilla.com/D144140
      7ee709ee
    • Sean Feng's avatar
    • Timothy Nikkel's avatar
      Bug 1765112. Silence spammy warnings in... · 4ffc0e95
      Timothy Nikkel authored
      Bug 1765112. Silence spammy warnings in netwerk/url-classifier/AsyncUrlChannelClassifier.cpp. r=baku,dimi
      
      Depends on D143890
      
      Differential Revision: https://phabricator.services.mozilla.com/D143891
      4ffc0e95
    • James Teh's avatar
      Bug 1764500: Fire correct state change events when designMode is changed on a document. r=eeejay · cc18ee7d
      James Teh authored
      Previously, we used the obs_documentCreated observer message fired by editor.
      However, this is fired when an editor is created anywhere in the document, even if it's for a descendant.
      This meant that we were firing an editable state change on the document when a descendant became contentEditable.
      In turn, this resulted in the document always having the editable state in the cache if there was a contentEditable descendant.
      
      This message also isn't fired if an editor already exists (e.g. for a contentEditable descendant) and designMode is turned on for the document.
      This meant that we wouldn't fire an event in that case, resulting in an incorrect cache.
      
      There is no usable equivalent to detect when designMode is turned off.
      While there is obs_documentWillBeDestroyed, that doesn't ever seem to get fired.
      This meant that we didn't fire a state change when designMode was turned off, also resulting in an incorrect cache.
      
      To fix all of these issues, we now watch for NS_EVENT_STATE_READWRITE changes on the root element of the document.
      Because we use the root element (not the body), this should avoid duplicate state changes for contentEditable changes on the body, which get handled by LocalAccessible::DOMAttributeChanged.
      
      Finally, we previously fired only an editable state change, but changing the editable state of a document also impacts the read-only state.
      This too resulted in an incorrect cache.
      We now fire a read-only state change as well.
      
      Differential Revision: https://phabricator.services.mozilla.com/D143969
      cc18ee7d
  2. Apr 21, 2022
Loading