Of the 3 popular host platforms, only Windows properly passes in the
modification timestamp of the file.
Under linux, it passes in an empty string, which then gets passed
to beginSendObject as zero. This patch now treats that as the current
date/time.
Under OSX, the Android FIle Transfer program passes in the date modified
and date created, but sets both of these fields to be the current
date/time and not the times from the files being copied.
Hl: Enter commit message. Lines beginning with 'HG:' are removed.
This conversion was done with the script:
find . -name '*.cpp' -o -name '*.h' -o -name '*.mm' -o -name '*.idl' | \
egrep -v 'cairo-win32-refptr.h|RefPtr.h|TestRefPtr.cpp' | \
xargs sed -i -e 's/mozilla::TemporaryRef</already_AddRefed</g' \
-e 's/TemporaryRef</already_AddRefed</g'
Manual fixups were performed in the following instances:
- We handled mfbt/RefPtr.h manually so as to not convert TemporaryRef itself
into already_AddRefed.
- The following files had explicit Move() calls added to make up for the lack
of a copy constructor on already_AddRefed:
dom/base/ImageEncoder.cpp
dom/media/MediaTaskQueue.{h,cpp}
dom/media/webaudio/PannerNode.cpp
- A redundant overload for MediaTaskQueue::Dispatch was deleted.
- A few manual fixups were required in mfbt/tests/TestRefPtr.cpp.
- Comments, using declarations, and forward declarations relating to
TemporaryRef in dom/canvas/ and gfx/layers/ were changed to refer to
already_AddRefed.
Having this implicit conversion means that we can silently do extra
refcounting when it's completely unnecessary. It's also an obstacle to
making RefPtr more nsRefPtr-like, so let's get rid of it.
In the response of operation GetObjectInfo, there is a field
"ObjectCompressedSize". Currently it's assigned with 0. We need
to put correct file size into it. I also corrected the type of
property value in function getObjectPropertyDesc().