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

3650 Коммитов

Автор SHA1 Сообщение Дата
Andrew Halberstadt 4d752c4ca7 Bug 1616368 - [reftest] Replace 'default-preferences' with 'defaults' r=dbaron
With the new 'defaults' key being added, 'default-preferences' is now
redundant. This commit converts all existing uses of 'default-preferences' to
use 'defaults' instead.

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

--HG--
extra : moz-landing-system : lando
2020-02-20 18:47:54 +00:00
Simon Giesecke 9350e6b741 Bug 1613985 - Use MOZ_COUNTED_DEFAULT_CTOR_*/MOZ_COUNTED_DTOR_* macros. r=froydnj
This removes the need for explicit #ifdef NS_BUILD_REFCNT_LOGGING without
introducing user-defined destructors when it is not defined.

Also, some uses of virtual for declaring destructors are replaced by the
appropriate override declaration through these changes.

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

--HG--
extra : moz-landing-system : lando
2020-02-20 11:40:14 +00:00
Dorel Luca d5f9df8ee1 Backed out 2 changesets (bug 1613985) for Build bustage on Windows2012. CLOSED TREE
Backed out changeset fd177b40b561 (bug 1613985)
Backed out changeset fb6d62b7f28d (bug 1613985)
2020-02-19 22:22:41 +02:00
Simon Giesecke 59b23375c0 Bug 1613985 - Use MOZ_COUNTED_DEFAULT_CTOR_*/MOZ_COUNTED_DTOR_* macros. r=froydnj
This removes the need for explicit #ifdef NS_BUILD_REFCNT_LOGGING without
introducing user-defined destructors when it is not defined.

Also, some uses of virtual for declaring destructors are replaced by the
appropriate override declaration through these changes.

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

--HG--
extra : moz-landing-system : lando
2020-02-19 18:05:38 +00:00
Sebastian Streich 891b2aa719 Bug 1614959 - Remove ReqLocation in imgLoader r=ckerschb
Differential Revision: https://phabricator.services.mozilla.com/D62595

--HG--
extra : moz-landing-system : lando
2020-02-17 13:58:06 +00:00
Andrew Osmond 2df60fe00f Bug 1615539 - Fix explicit image memory reporting broken on Windows. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D62899

--HG--
extra : moz-landing-system : lando
2020-02-14 13:02:41 +00:00
Simon Giesecke b50347f917 Bug 1611415 - Prefer using std::move over forget. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D60980

--HG--
extra : moz-landing-system : lando
2020-02-13 14:38:48 +00:00
shindli 91aa0518dd Backed out changeset 0c982bc69cb3 (bug 1611415) for causing build bustages in /builds/worker/workspace/build/src/obj-firefox/dist/include/nsCOMPtr CLOSED TREE 2020-02-12 20:13:29 +02:00
Simon Giesecke f604a47fa5 Bug 1611415 - Applied FixItHints from mozilla-non-std-move. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D60980

--HG--
extra : moz-landing-system : lando
2020-02-12 17:24:41 +00:00
Sebastian Streich ac5daf49e7 Bug 1594766: Respect Nosniff header for empty content-types r=ckerschb
Backed out changeset 35436d4e7917

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

--HG--
extra : moz-landing-system : lando
2020-02-12 16:20:46 +00:00
Kristen Wright cc862d2d30 Bug 1539944 - Get rid of NS_NewThread r=froydnj
Gets rid of `NS_NewThread`. Where it was used in testing, I gave the new named threads names relevant to their tests.

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

--HG--
extra : source : 541b98270c9985c5bd3569ff3ff8bc6c3d3c650a
2020-02-11 21:01:56 +00:00
Ciure Andrei 0ddf5384e0 Backed out changeset 541b98270c99 (bug 1539944) for causing bc leaks CLOSED TREE 2020-02-12 03:23:15 +02:00
Kristen Wright e40c296db4 Bug 1539944 - Get rid of NS_NewThread r=froydnj
Gets rid of `NS_NewThread`. Where it was used in testing, I gave the new named threads names relevant to their tests.

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

--HG--
extra : moz-landing-system : lando
2020-02-11 21:01:56 +00:00
Emilio Cobos Álvarez 006e5cca66 Bug 1614198 - Use cbindgen instead of nsStyleImage. r=aosmond
The trickier part is that we represent -moz-image-rect as a Rect() type instead
of image with non-null clip-rect. So we need to add a bit of code to
distinguish "image request types" from other types of images.

But it's not too annoying, and we need to do the same for fancier images like
image-set and such whenever we implement it, so seems nice to get rid of
most explicit usages of nsStyleImage::GetType().

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

--HG--
extra : moz-landing-system : lando
2020-02-11 20:56:20 +00:00
Emilio Cobos Álvarez d7841a5f17 Bug 1614208 - Remove some include dependencies in nsStyleConsts.h. r=jfkthame,jgilbert
We include it everywhere because it's included from gfxTypes.h.

This should avoid including all the generated bindings _everywhere_.

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

--HG--
extra : moz-landing-system : lando
2020-02-11 01:23:37 +00:00
Andrew Osmond 52c022a178 Bug 1612589 - Improve image memory reporting even further. r=tnikkel
This patch adds reporting the surface types used by the image frame in a
bit mask (such if it is a CAPTURE including a DATA_SHARED, the mask will
be 1 << CAPTURE | 1 << DATA_SHARED), as well as an estimated size
included in the report as decoded-unknown for when we do not know if the
surface is on the heap or the non-heap specifically. This is the default
implementation for a SourceSurface as well, so we should no longer have
the case where surfaces appear empty despite being in the cache. It also
makes requests being validated as always notable for reporting purposes.

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

--HG--
extra : moz-landing-system : lando
2020-02-05 22:22:13 +00:00
Andrew Osmond 4130525818 Bug 1611127 - Fix how images with optimized surfaces may go missing on Windows. r=tnikkel
On Windows, optimized surfaces can become invalid due to a device reset
or GPU process crash when D2D draw targets were being used. This is
because SourceSurfaceD2D1 checks if the D2D context has changed from the
one it was optimized for.

We assumed when creating a DrawableFrameRef that if we don't have
imgFrame::mRawSurface, then we must have an imgFrame::mOptSurface. This
is incorrect and causes SurfaceCache to believe it has a valid
DrawableSurface, even if the underlying optimized surface cannot be used
for drawing (or has already been freed).

If we can't draw the image, it goes missing from the screen. But since
the cache thinks it has a valid surface, we never actually redecode it.
With this patch, we now check if the imgFrame::mOptSurface has been
freed already, and if not, that it remains valid for drawing purposes.
If either condition is true, the SurfaceCache entry will be removed,
thus permitting a redecode attempt.

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

--HG--
extra : moz-landing-system : lando
2020-01-23 22:19:40 +00:00
Gijs Kruitbosch c229dbc8a1 Bug 1526731 - handle image.http.accept pref inside netwerk instead of forcing all consumers to do the same dance, r=valentin,aosmond
Differential Revision: https://phabricator.services.mozilla.com/D60568

--HG--
extra : moz-landing-system : lando
2020-01-23 08:36:48 +00:00
pbz c5cd6f9c64 Bug 1357107 - Move the handling of the permissions.default.image pref to ImageBlocker.cpp. Original patch by ehsan. r=bzbarsky
Differential Revision: https://phabricator.services.mozilla.com/D59695

--HG--
extra : moz-landing-system : lando
2020-01-22 10:45:15 +00:00
Andrew Osmond bf8cd36674 Bug 1610381 - Part 3. Improve image memory reporting by including validation state. r=jrmuizel
This patch adds an annotation to an image cache entry if it is in the
process of being validated. This is very useful to know when debugging
missing images because state notifications are suppressed when we are
validating and may prevent the image from being displayed.

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

--HG--
extra : moz-landing-system : lando
2020-01-21 16:32:11 +00:00
Andrew Osmond 3fb86e5d59 Bug 1610381 - Part 2. Improve image memory reporting with more state information. r=jrmuizel
This patch adds error and progress tracker states to the memory dump. It
also now will include requests that have yet to create an image, and
fills in what information it is able to without it (such as URI, error
and progress tracker states).

Additionally the notability of an image has changed. If there are any
errors, missing progress trackers, or incomplete surfaces, they will
also now be notable. This is a departure from just the memory footprint.

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

--HG--
extra : moz-landing-system : lando
2020-01-21 14:39:59 +00:00
Andrew Osmond da3cf4fd77 Bug 1610381 - Improve image memory reporting for missing/incomplete surfaces. r=tnikkel
This dumps more information about the surface cache. Each surface has a
flag indicating whether or not it has finished decoding; incomplete
surfaces are now marked as such in the cache reports. We now also have
counters for various insertion errors, as well as the composition of the
cache (total vs locked images, total vs locked surfaces).

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

--HG--
extra : moz-landing-system : lando
2020-01-21 09:59:15 +00:00
Ehsan Akhgari 3f9530ed27 Bug 1588980 - Part 1: Hide HTMLCanvasElement.mozGetAsFile behind a preference; r=bzbarsky
Differential Revision: https://phabricator.services.mozilla.com/D60283

--HG--
extra : moz-landing-system : lando
2020-01-20 22:03:13 +00:00
Emilio Cobos Álvarez 256c124f94 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

--HG--
extra : moz-landing-system : lando
2020-01-20 16:19:48 +00:00
Emilio Cobos Álvarez aa3a695712 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

--HG--
extra : moz-landing-system : lando
2020-01-20 16:18:20 +00:00
Emilio Cobos Álvarez 5cd5e6f148 Bug 1609996 - Remove mozilla::Swap in favor of std::swap. r=froydnj
Now mfbt/Move.h is empty except for that excellent comment about move
semantics... Should we put it somewhere else and delete the header as a
follow-up? Or just delete the header and carry on?

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

--HG--
extra : moz-landing-system : lando
2020-01-20 16:17:06 +00:00
Cosmin Sabou 38f8a8661d Backed out 2 changesets (bug 1588980) for mochitest failures on dom/canvas/test/mochitest.ini.
Backed out changeset dc0733b283e7 (bug 1588980)
Backed out changeset aaff3fef7fd6 (bug 1588980)

--HG--
extra : rebase_source : 2ec145cfc7d648cf78b927cce22210070ef579a2
2020-01-20 18:06:11 +02:00
Ehsan Akhgari 6ba1137eeb Bug 1588980 - Part 1: Hide HTMLCanvasElement.mozGetAsFile behind a preference; r=bzbarsky
Differential Revision: https://phabricator.services.mozilla.com/D60283

--HG--
extra : moz-landing-system : lando
2020-01-18 05:06:25 +00:00
Emilio Cobos Álvarez e076e40ab1 Bug 1610165 - Failing to insert an SVG into the surface cache continuously repaints the image. r=tnikkel
I was poking at the missing images bug by dropping cache sizes and such and
found that we always ended up repainting some SVGs over and over. This seems to
be the cause. When we fail to insert into the cache we still end up notifying
over and over (because we forget to say aWillCache=false), so we'd end up
repainting, and failing again, etc.

This is easy to see adding some logging to
nsDisplayBackgroundImage::PaintInternal.

Any ideas as to how to add a test for it?

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

--HG--
extra : moz-landing-system : lando
2020-01-19 23:02:52 +00:00
Edwin Takahashi 1c7bbf914b Bug 1608582 - tighten reftest annotation, part 1 r=jmaher
Changes:

Tighten reftest pixel differences now that reftest has been migrated fully over to ubuntu1804.

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

--HG--
extra : moz-landing-system : lando
2020-01-11 12:32:27 +00:00
Sylvestre Ledru c521758c5e Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan
# ignore-this-changeset

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

--HG--
extra : moz-landing-system : lando
2020-01-09 21:50:11 +00:00
Valentin Gosu c7d9b630cb Bug 1552176 - Add nsIRequest.set/getTRRMode r=dragana
* Makes it possible to selectively enable TRR for pbmode/container/window/etc

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

--HG--
extra : moz-landing-system : lando
2020-01-07 20:20:38 +00:00
Andrew Osmond c34bf035c8 Bug 1602710 - Do not shut down threads not found in the image decode thread pool. r=tnikkel
We should not attempt to shut down threads which we did not explicitly
remove from the image decode thread pool, when we want to shut down an
idle thread or otherwise. This behaviour would put us at risk of
shutting down a thread twice, which may trip assertions and/or cause
other issues. Now we assuming that any thread that is already removed
from the pool array has already been gracefully shutdown.

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

--HG--
extra : moz-landing-system : lando
2020-01-06 23:40:08 +00:00
Andrew Osmond dc7128f82b Bug 1516761 - Only use OS_RGBA for the first frame of animated GIFs. r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D58821

--HG--
extra : moz-landing-system : lando
2020-01-06 19:03:41 +00:00
Andrew Osmond 73ee861def Bug 1604535 - Avoid copying image surfaces when used with OMTP. r=tnikkel
When one uses SourceSurfaceRawData to wrap a data pointer, it will
perform a copy of said data if GuaranteePersistence is called. This is
done for DrawTargetCapture, which is used with OMTP. Prior to this
patch, image surfaces would be wrapped by a SourceSurfaceRawData when
using the basic compositor on any non-Linux platform (since Linux does
not support volatile memory). This means every time imgFrame::Draw is
called with OMTP, a copy of the image will be made. Images don't need
this property since the data is already going to persist, so this patch
adds a new class SourceSurfaceMappedData, which takes a ScopedMap
keeping the underlying surface open and readable.

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

--HG--
extra : moz-landing-system : lando
2019-12-25 21:27:46 +00:00
Chris Peterson 406763af7f Bug 1570499 - Part 1: Replace MOZ_FALLTHROUGH macro with C++17's [[fallthrough]] attribute. r=froydnj
This changeset is a simple find and replace of `MOZ_FALLTHROUGH` and `[[fallthrough]]`.

Unfortunately, the MOZ_FALLTHROUGH_ASSERT macro (to assert on case fallthrough in debug builds) is still necessary after switching from [[clang::fallthrough]] to [[fallthrough]] because:

* MOZ_ASSERT(false) followed by [[fallthrough]] triggers a -Wunreachable-code warning in DEBUG builds
* but MOZ_ASSERT(false) without [[fallthrough]] triggers a -Wimplicit-fallthrough warning in NDEBUG builds.

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

--HG--
extra : moz-landing-system : lando
2019-12-20 07:16:43 +00:00
Tyler ea8b8dab8a Bug 1601475 - Remove ImageContentLoaded event and ImageDocumentLoaded message handling code across the tree r=Gijs,mccr8
Differential Revision: https://phabricator.services.mozilla.com/D56051

--HG--
extra : moz-landing-system : lando
2019-12-18 21:46:51 +00:00
Jean-Yves Avenard dd4db4a4b5 Bug 1598497 - P2. Have the canceled attribute only if explicitly canceled. r=mayhemer.
Previously, GetCancelled() would have return true should the channel's status was an error.
Doing Cancel(NS_OK) for example, would have made a follow-up call to GetCancelled() return false. However, we can assert that such a call would have been a bug.

Following this change GetCancelled() will only return true if Cancel() was explicitly called.

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

--HG--
extra : moz-landing-system : lando
2019-12-19 05:20:07 +00:00
Jean-Yves Avenard b1be794e1b Bug 1598497 - P1. move canceled attribute to nsIChannel. r=mayhemer
There is no functional change with this commit. The default implementation for GetCanceled() is still to check if the status code is a failure.

However, it can be argued that as you had to call Cancel() on the nsIChannel, having to check the nsIHttpChannelInternal interface to determine if you had been canceled in the past was rather a non obvious path.

It makes more sense to check the nsIChannel interface to determine if it's been canceled already and this allows for finer granularity if needed in the future.

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

--HG--
extra : moz-landing-system : lando
2019-12-18 21:13:26 +00:00
Noemi Erli 58bf47752e Backed out 2 changesets (bug 1598497) for causing OSX build bustages CLOSED TREE
Backed out changeset 3b31bbf74a5f (bug 1598497)
Backed out changeset 81beebdc2202 (bug 1598497)
2019-12-18 01:54:56 +02:00
Jean-Yves Avenard 653fbeaf3a Bug 1598497 - P2. Have the canceled attribute only if explicitly canceled. r=mayhemer.
Previously, GetCancelled() would have return true should the channel's status was an error.
Doing Cancel(NS_OK) for example, would have made a follow-up call to GetCancelled() return false. However, we can assert that such a call would have been a bug.

Following this change GetCancelled() will only return true if Cancel() was explicitly called.

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

--HG--
extra : moz-landing-system : lando
2019-12-17 23:21:55 +00:00
Jean-Yves Avenard c63570cb58 Bug 1598497 - P1. move canceled attribute to nsIChannel. r=mayhemer
There is no functional change with this commit. The default implementation for GetCanceled() is still to check if the status code is a failure.

However, it can be argued that as you had to call Cancel() on the nsIChannel, having to check the nsIHttpChannelInternal interface to determine if you had been canceled in the past was rather a non obvious path.

It makes more sense to check the nsIChannel interface to determine if it's been canceled already and this allows for finer granularity if needed in the future.

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

--HG--
extra : moz-landing-system : lando
2019-12-17 23:21:46 +00:00
Hiroyuki Ikezoe 4b150fda20 Bug 1603933 - Use Date.now() instead of DocumentTimeline.currentTime. r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D57213

--HG--
extra : moz-landing-system : lando
2019-12-14 22:34:19 +00:00
Hiroyuki Ikezoe 8e9dea3aa5 Bug 1603744 - Make test_animated_gif.html reliable. r=tnikkel
Now the test runs following steps;

1) Start the test
2) Set iframe's src attribute to load the iframe document
3) Waits for a `loadComplete` message from the iframe
4) Waits 1 second to make sure `decodeComplete` doesn't happen in the iframe

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

--HG--
extra : moz-landing-system : lando
2019-12-14 00:30:09 +00:00
Jeff Walden e57173377f Bug 1439659 - Make |MOZ_{LITTLE,BIG}_ENDIAN| into function macros so that invoking them inside |#if| conditions when they haven't been defined yet is a compile error. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D57038

--HG--
extra : moz-landing-system : lando
2019-12-13 20:51:04 +00:00
Kris Maglione 94e3b0bd8d Bug 1596918: Part 3a - Scripted rewrite of most ContentTask.spawn calls to SpecialPowers.spawn calls. r=mccr8,remote-protocol-reviewers,ato
This is generally pretty straightforward, and rewrites nearly all calls. It
skips the ones that it can detect using frame script globals like
`sendAsyncMessage`, though.

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

--HG--
extra : moz-landing-system : lando
2019-12-13 20:36:16 +00:00
Hiroyuki Ikezoe 99e39cdefa Bug 1577084 - A mochitest to make sure images outside of display port is not decoded. r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D57090

--HG--
extra : moz-landing-system : lando
2019-12-13 12:36:52 +00:00
Cameron McCormack 7d20996c2c Bug 1598480 - Test. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D57019

--HG--
extra : moz-landing-system : lando
2019-12-13 02:04:07 +00:00
Cameron McCormack 9115e99eb4 Bug 1598480 - Make SVG images respond to theme changes. r=tnikkel,emilio
Differential Revision: https://phabricator.services.mozilla.com/D56156

--HG--
extra : moz-landing-system : lando
2019-12-13 02:04:07 +00:00
Andreas Farre 9dcf7d5237 Bug 1561715 - Part 1: Remove unused functionality in SchedulerGroup. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D55638

--HG--
extra : moz-landing-system : lando
2019-12-11 14:48:41 +00:00