Commit Graph

64 Commits

Author SHA1 Message Date
19854a0053 Trivial fix in profiling scripts.
NOTRY=TRUE
TBR=kjellander
BUG=NONE

Review-Url: https://codereview.webrtc.org/2723493003
Cr-Commit-Position: refs/heads/master@{#16861}
2017-02-27 13:07:59 +00:00
98257cf250 Add memcheck suppression file for ortc_unittests to isolates.
BUG=webrtc:7249, webrtc:7248
TBR=ehmaldonado@webrtc.org

Review-Url: https://codereview.webrtc.org/2721533002 .
Cr-Commit-Position: refs/heads/master@{#16851}
2017-02-27 06:51:18 +00:00
da00077cfa Revert of Do not produce dSYM file for the iOS Frameworks with bitcode (patchset #2 id:20001 of https://codereview.webrtc.org/2705163007/ )
Reason for revert:
Looks like this caused the iOS API Framework Builder to fail.

https://build.chromium.org/p/client.webrtc/builders/iOS%20API%20Framework%20Builder/builds/3487/steps/zip%20archive/logs/stdio

Zipping /b/rr/tmpkIyP1e/w/webrtc_ios_api_framework.zip...
Traceback (most recent call last):
  File "/b/rr/tmpkIyP1e/rw/checkout/scripts/slave/recipe_modules/zip/resources/zip.py", line 144, in <module>
    sys.exit(main())
  File "/b/rr/tmpkIyP1e/rw/checkout/scripts/slave/recipe_modules/zip/resources/zip.py", line 130, in main
    exit_code = zip_with_subprocess(root, output, entries)
  File "/b/rr/tmpkIyP1e/rw/checkout/scripts/slave/recipe_modules/zip/resources/zip.py", line 43, in zip_with_subprocess
    assert os.path.isdir(path), path
AssertionError: /b/c/b/iOS_API_Framework_Builder/src/out_ios_libs/WebRTC.dSYM/
step returned non-zero exit code: 1
@@@STEP_FAILURE@@@

Original issue's description:
> Do not produce dSYM file for the iOS Frameworks with bitcode
>
> Though dSYM files can be generated when building applications or libraries
> with bitcode. They cannot be used to symbolicate crash reports from
> applications. Instead, developers need to grab the real dSYM files, which
> are generated for each specific device type after uploading an iOS / tvOS
> application to App Store (or to a device using Xcode). Apple clearly warns
> about it in its documentation:
>
> https://developer.apple.com/library/content/technotes/tn2151/_index.html#//apple_ref/doc/uid/DTS40008184-CH1-SYMBOLICATION-BITCODE
>
> With that in mind, I believe that it would be better to not confuse
> developers by giving them dSYM files that are not very helpful with
> the bitcode-enabled framework. Thus, proposing the following modification
> to the building script, to generate dSYM by default only without
> the bitcode option. However, if some developers still want to get
> the dSYM files as a build-process artifact, when enabling bitcode,
> they can explicitly add --extra-gn-args enable_dsyms=true to the script.
>
> Let me know if it lgty.
>
> NOTRY=True
> BUG=None
>
> Review-Url: https://codereview.webrtc.org/2705163007
> Cr-Commit-Position: refs/heads/master@{#16836}
> Committed: d74517c52a

TBR=kjellander@webrtc.org,kthelgason@webrtc.org,VladimirTechMan@gmail.com
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=None
NOTRY=True

Review-Url: https://codereview.webrtc.org/2719773002
Cr-Commit-Position: refs/heads/master@{#16844}
2017-02-26 14:39:07 +00:00
e814a0dee0 Adding "adapter" ORTC objects on top of ChannelManager/BaseChannel/etc.
This CL adds the following interfaces:
* RtpTransportController
* RtpTransport
* RtpSender
* RtpReceiver

They're implemented on top of the "BaseChannel" object, which is normally used
in a PeerConnection, and roughly corresponds to an SDP "m=" section. As a result
of this, there are several limitations:

* You can only have one of each type of sender and receiver (audio/video) on top
  of the same transport controller.
* The sender/receiver with the same media type must use the same RTP transport.
* You can't change the transport after creating the sender or receiver.
* Some of the parameters aren't supported.

Later, these "adapter" objects will be gradually replaced by real objects that don't
have these limitations, as "BaseChannel", "MediaChannel" and related code is
restructured. In this CL, we essentially have:

ORTC adapter objects -> BaseChannel -> Media engine
PeerConnection -> BaseChannel -> Media engine

And later we hope to have simply:

PeerConnection -> "Real" ORTC objects -> Media engine

See the linked bug for more context.

BUG=webrtc:7013
TBR=stefan@webrtc.org

Review-Url: https://codereview.webrtc.org/2675173003
Cr-Commit-Position: refs/heads/master@{#16842}
2017-02-26 02:15:09 +00:00
d74517c52a Do not produce dSYM file for the iOS Frameworks with bitcode
Though dSYM files can be generated when building applications or libraries
with bitcode. They cannot be used to symbolicate crash reports from
applications. Instead, developers need to grab the real dSYM files, which
are generated for each specific device type after uploading an iOS / tvOS
application to App Store (or to a device using Xcode). Apple clearly warns
about it in its documentation:

https://developer.apple.com/library/content/technotes/tn2151/_index.html#//apple_ref/doc/uid/DTS40008184-CH1-SYMBOLICATION-BITCODE

With that in mind, I believe that it would be better to not confuse
developers by giving them dSYM files that are not very helpful with
the bitcode-enabled framework. Thus, proposing the following modification
to the building script, to generate dSYM by default only without
the bitcode option. However, if some developers still want to get
the dSYM files as a build-process artifact, when enabling bitcode,
they can explicitly add --extra-gn-args enable_dsyms=true to the script.

Let me know if it lgty.

NOTRY=True
BUG=None

Review-Url: https://codereview.webrtc.org/2705163007
Cr-Commit-Position: refs/heads/master@{#16836}
2017-02-25 10:08:27 +00:00
7a1798d637 Adding support for native profiling of AppRTCMobile.
See perf_setup.sh for instructions.

NOTRY=TRUE
BUG=NONE

Review-Url: https://codereview.webrtc.org/2705063002
Cr-Commit-Position: refs/heads/master@{#16826}
2017-02-24 12:53:50 +00:00
e7cf1a7a7b Clobber to fix errors from landing rtc_api_unittests CL.
rtc_api_unittests turned from a test executable into a directory which
caused some problems.

Relevant CL: https://codereview.webrtc.org/2709573003/

BUG=chromium:694721
TBR=kjellander@webrtc.org
NOTRY=True

Review-Url: https://codereview.webrtc.org/2715923003
Cr-Commit-Position: refs/heads/master@{#16821}
2017-02-24 09:41:09 +00:00
50956f3f47 Landmine to unblock https://codereview.webrtc.org/2709573003/
BUG=None
TBR=deadbeef@webrtc.org

Review-Url: https://codereview.webrtc.org/2715803003 .
Cr-Commit-Position: refs/heads/master@{#16817}
2017-02-24 08:18:55 +00:00
25ae766103 Add MB and iOS JSON entries for ortc_unittests.
BUG=webrtc:7013
TBR=ehmaldonado@webrtc.org
NOTRY=True

Review-Url: https://codereview.webrtc.org/2706403007
Cr-Commit-Position: refs/heads/master@{#16816}
2017-02-24 07:01:54 +00:00
2b62fa218c Adding suppression for race in stats collector test.
See bug for more info. This race is benign, and only exists because a
method is virtual so it can be mocked for testing.

BUG=webrtc:7221
NOTRY=True
TBR=hbos@webrtc.org

Review-Url: https://codereview.webrtc.org/2711783005
Cr-Commit-Position: refs/heads/master@{#16813}
2017-02-24 03:05:39 +00:00
162cb53e7b Making AsyncInvoker destructor thread-safe.
The documentation for AsyncInvoker states that it owns the lifetime of
calls, and when its destructor is called, all in-flight calls are
cancelled or finish executing. The "cancelled" part is working, but if
a call is in the middle of executing, the destructor does *not* wait.

This is fixed by keeping a count of pending invocations, which is
decremented when a call is either cleared from a message queue or
finishes executing.

BUG=webrtc:3914, webrtc:3911

Review-Url: https://codereview.webrtc.org/2694723004
Cr-Commit-Position: refs/heads/master@{#16811}
2017-02-24 01:10:07 +00:00
47f0799059 Landmine to possibly resolve iOS build problem
This is a speculative change to see if it solves the iOS compile
errors seen in https://codereview.webrtc.org/2709573003/

BUG=None
TBR=deadbeef@webrtc.org

Review-Url: https://codereview.webrtc.org/2705333003 .
Cr-Commit-Position: refs/heads/master@{#16767}
2017-02-22 09:17:58 +00:00
3399927a09 Disable EndToEndTest.VerifyNackStats on linux memcheck.
BUG=webrtc:7145
NOTRY=True

Review-Url: https://codereview.webrtc.org/2698223002
Cr-Commit-Position: refs/heads/master@{#16644}
2017-02-16 13:38:15 +00:00
7b2797e7c7 Including extra_gn_args to log line.
In a recent commit we added --extra-gn-args flag but we forgot to log
the extra_gn_args variable and this can cause useless investigations.

BUG=None
NOTRY=True

Review-Url: https://codereview.webrtc.org/2698613004
Cr-Commit-Position: refs/heads/master@{#16639}
2017-02-16 09:40:59 +00:00
1c3548c67c Reland of iOS: Use JSON for GN configuration instead of MB + remove symbols
Reason for revert:
MB is now updated to handle spaces in the buildername properly, something that
only affected our commit bots (not trybots).

Original issue's description:
> Revert of iOS: Use JSON for GN configuration instead of MB + remove symbols (patchset #4 id:80001 of https://codereview.webrtc.org/2688103002/ )
>
> Reason for revert:
> Something is different from trybots vs the commit bots, causing it to fail when running GN:
> https://build.chromium.org/p/client.webrtc/builders/iOS32%20Release/builds/10151
>
> Original issue's description:
> > iOS: Use JSON for GN configuration instead of MB + remove symbols.
> >
> > This aligns with how the ios recipe module is used in Chromium.
> > It should prevent breakages like one we had recently.
> >
> > It also means we're no longer setting symbol_level=1 explicitly.
> > The default is 0 (no symbols), which is now what's being used.
> >
> > Also move all the directories containing JSON files into
> > tools-webrtc/ios/bots to make it clearer (and more similar to
> > Chromium).
> >
> > BUG=webrtc:7140, webrtc:7161
> > NOTRY=True
> >
> > Review-Url: https://codereview.webrtc.org/2688103002
> > Cr-Commit-Position: refs/heads/master@{#16633}
> > Committed: 73f01de4ed
>
> TBR=ehmaldonado@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:7140, webrtc:7161
>
> Review-Url: https://codereview.webrtc.org/2694423002
> Cr-Commit-Position: refs/heads/master@{#16634}
> Committed: 68ab366547

TBR=ehmaldonado@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:7140, webrtc:7161

Review-Url: https://codereview.webrtc.org/2697133002
Cr-Commit-Position: refs/heads/master@{#16636}
2017-02-16 06:38:22 +00:00
8714b8f1ae Improving parallelism when building with goma
It seems that ninja defaults the number of available CPUs.

BUG=chromium:690916
NOTRY=True

Review-Url: https://codereview.webrtc.org/2691393003
Cr-Commit-Position: refs/heads/master@{#16635}
2017-02-15 21:18:57 +00:00
68ab366547 Revert of iOS: Use JSON for GN configuration instead of MB + remove symbols (patchset #4 id:80001 of https://codereview.webrtc.org/2688103002/ )
Reason for revert:
Something is different from trybots vs the commit bots, causing it to fail when running GN:
https://build.chromium.org/p/client.webrtc/builders/iOS32%20Release/builds/10151

Original issue's description:
> iOS: Use JSON for GN configuration instead of MB + remove symbols.
>
> This aligns with how the ios recipe module is used in Chromium.
> It should prevent breakages like one we had recently.
>
> It also means we're no longer setting symbol_level=1 explicitly.
> The default is 0 (no symbols), which is now what's being used.
>
> Also move all the directories containing JSON files into
> tools-webrtc/ios/bots to make it clearer (and more similar to
> Chromium).
>
> BUG=webrtc:7140, webrtc:7161
> NOTRY=True
>
> Review-Url: https://codereview.webrtc.org/2688103002
> Cr-Commit-Position: refs/heads/master@{#16633}
> Committed: 73f01de4ed

TBR=ehmaldonado@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:7140, webrtc:7161

Review-Url: https://codereview.webrtc.org/2694423002
Cr-Commit-Position: refs/heads/master@{#16634}
2017-02-15 20:45:35 +00:00
73f01de4ed iOS: Use JSON for GN configuration instead of MB + remove symbols.
This aligns with how the ios recipe module is used in Chromium.
It should prevent breakages like one we had recently.

It also means we're no longer setting symbol_level=1 explicitly.
The default is 0 (no symbols), which is now what's being used.

Also move all the directories containing JSON files into
tools-webrtc/ios/bots to make it clearer (and more similar to
Chromium).

BUG=webrtc:7140, webrtc:7161
NOTRY=True

Review-Url: https://codereview.webrtc.org/2688103002
Cr-Commit-Position: refs/heads/master@{#16633}
2017-02-15 20:34:03 +00:00
368b5ffecc Make iOS API Framework script use the src/ dir as cwd for commands.
The recent infra CL https://chromium-review.googlesource.com/c/439266/
seems to have broken our bot. It's better the script
doesn't have any assumptions on cwd when executing.

BUG=None
R=mbonadei@webrtc.org
TBR=mbonadei@webrtc.org

Review-Url: https://codereview.webrtc.org/2695303002 .
Cr-Commit-Position: refs/heads/master@{#16632}
2017-02-15 19:51:26 +00:00
4065a5762b Move iOS tests to XCTest from gtest.
This enables tighter integration with XCode tooling and is a prereq
for adding UI tests.

BUG=webrtc:7150

Review-Url: https://codereview.webrtc.org/2697603002
Cr-Commit-Position: refs/heads/master@{#16609}
2017-02-14 12:58:56 +00:00
9b0dbd4438 Support selecting architectures in iOS build script
BUG=webrtc:7127

Review-Url: https://codereview.webrtc.org/2682223004
Cr-Commit-Position: refs/heads/master@{#16587}
2017-02-13 16:30:01 +00:00
f6ddbe77cb Fix check_package_boundaries presubmit test for Windows.
BUG=webrtc:6954
NOTRY=True

Review-Url: https://codereview.webrtc.org/2695573003
Cr-Commit-Position: refs/heads/master@{#16581}
2017-02-13 13:18:02 +00:00
585209b36e Adding --use-goma and --extra-gn-args flags to build_ios_libs.py
BUG=chromium:690916
NOTRY=True

Review-Url: https://codereview.webrtc.org/2692443003
Cr-Commit-Position: refs/heads/master@{#16579}
2017-02-13 12:59:27 +00:00
5583384048 Pass isolate output dir to gtest-parallel-wrapper.py
This makes it possible to archive all test execution logs on swarming jobs.

R=kjellander@webrtc.org
BUG=webrtc:7086
NOTRY=True

Review-Url: https://codereview.webrtc.org/2686563002
Cr-Commit-Position: refs/heads/master@{#16574}
2017-02-13 11:58:13 +00:00
5e5a072f2c iOS: Fix breakage caused by buildbot recipe update
Similar changes as in https://codereview.chromium.org/2659123003
Our MB configuration is still the actually used build config for these
bots.

BUG=686304
TBR=smut@google.com

Review-Url: https://codereview.webrtc.org/2685813003 .
Cr-Commit-Position: refs/heads/master@{#16486}
2017-02-08 11:04:20 +00:00
a53d4e7b4f Reduce parallel jobs in build_aar.py to 200 when building with goma.
Previously we were using 1024 parallel jobs. This is too much when
running on bots.

BUG=webrtc:7023
R=kjellander@webrtc.org
NOTRY=True

Review-Url: https://codereview.webrtc.org/2679123002
Cr-Commit-Position: refs/heads/master@{#16469}
2017-02-07 14:19:20 +00:00
1959b63b61 Remove Assert lint suppression.
BUG=webrtc:6597
NOTRY=True

Review-Url: https://codereview.webrtc.org/2668963002
Cr-Commit-Position: refs/heads/master@{#16460}
2017-02-07 09:41:47 +00:00
6b3fcfd823 Add support for extra GN args to Android build script.
By using the --extra-gn-args flag, it is now possible to
specify additional GN arguments for the build. This is needed
in order to pass a non-default Goma directory (needed for the bots).
Example use: --extra-gn-args goma_dir=\"/path/to/goma\"
You can also pass multiple args (separated by spaces).

BUG=chromium:684387
NOTRY=True
TESTED=Did a local successful run.

Review-Url: https://codereview.webrtc.org/2670743004
Cr-Commit-Position: refs/heads/master@{#16458}
2017-02-07 09:11:06 +00:00
7a2d8ca9bc Rewrite iOS FAT libraries build script in Python
BUG=webrtc:7049

Review-Url: https://codereview.webrtc.org/2662513004
Cr-Commit-Position: refs/heads/master@{#16453}
2017-02-06 15:53:41 +00:00
cb789bb510 Remove NewApi lint suppression.
BUG=webrtc:6597

Review-Url: https://codereview.webrtc.org/2662273004
Cr-Commit-Position: refs/heads/master@{#16448}
2017-02-06 13:34:26 +00:00
873fcb958f Drop the check for stray mobileprovision (no longer needed)
BUG=webrtc:7049

Review-Url: https://codereview.webrtc.org/2676233002
Cr-Commit-Position: refs/heads/master@{#16444}
2017-02-06 11:43:58 +00:00
f7826d668a Remove InlinedApi lint ignore.
Adds ignore for all lint errors in Chromium code. Changes minimum SDK for
instrumentation tests to 16 from 14. Adds TargetApi annotations.

BUG=webrtc:6597

Review-Url: https://codereview.webrtc.org/2670473004
Cr-Commit-Position: refs/heads/master@{#16412}
2017-02-02 08:53:33 +00:00
a7ee14ebf5 Suppress Memcheck:Uninitialized error when printing rtc::optional.
BUG=chromium:687087, webrtc:6822
NOTRY=True

Review-Url: https://codereview.webrtc.org/2669463003
Cr-Commit-Position: refs/heads/master@{#16372}
2017-01-31 10:45:54 +00:00
4fb97462a8 Add presubmit check to prevent package boundary violations.
BUG=webrtc:6954
NOTRY=True

Review-Url: https://codereview.webrtc.org/2629723004
Cr-Commit-Position: refs/heads/master@{#16357}
2017-01-30 13:27:22 +00:00
284acf6eeb Disable VideoSendStreamTest.RemoveOverheadFromBandwidth for memcheck
This fails so often it's blocking rolling DEPS.

BUG=webrtc:6886
TBR=minyue@webrtc.org

Review-Url: https://codereview.webrtc.org/2655293004 .
Cr-Commit-Position: refs/heads/master@{#16312}
2017-01-27 07:31:49 +00:00
736871c7a8 No op changelist test
BUG=None
TBR=kjellander@webrtc.org

Review-Url: https://codereview.webrtc.org/2647353010 .
Cr-Commit-Position: refs/heads/master@{#16303}
2017-01-26 16:27:31 +00:00
b0dd784cba Fixing path to be compliant with new location
BUG=webrtc:7030
TBR=kjellander@webrtc.org

Review-Url: https://codereview.webrtc.org/2657943005 .
Cr-Commit-Position: refs/heads/master@{#16297}
2017-01-26 13:52:27 +00:00
ad524d66d3 Moving build/ios to tools-webrtc/ios
BUG=webrtc:7030
NOTRY=True
R=kjellander@webrtc.org

Review-Url: https://codereview.webrtc.org/2651973002 .
Cr-Commit-Position: refs/heads/master@{#16295}
2017-01-26 13:20:05 +00:00
26764613ad Moving build_aar.py to new location
We are moving the whole content of "webrtc/build" to new
locations (see crbug.com/611808 for further information).

The new location for the "webrtc/build/android" stuff is
"tools-webrtc/android".

BUG=webrtc:7030

Review-Url: https://codereview.webrtc.org/2647343006
Cr-Commit-Position: refs/heads/master@{#16269}
2017-01-25 15:42:08 +00:00
b63a8ac5da Moving gn_isolate_map.pyl to tools-webrtc/mb
BUG=webrtc:7030
R=kjellander@webrtc.org

Review-Url: https://codereview.webrtc.org/2648353004 .
Cr-Commit-Position: refs/heads/master@{#16262}
2017-01-25 08:36:50 +00:00
630f46a31e Moving adb_shell script to tools-webrtc
BUG=webrtc:7030

Review-Url: https://codereview.webrtc.org/2650653005
Cr-Commit-Position: refs/heads/master@{#16260}
2017-01-25 07:49:13 +00:00
18e83ea598 Moving sanitizers from build/ to base/
We have to move the content of the 'webrtc/build/' directory up of one level (see crbug.com/611808 for further details).

To avoid a collision with the DEPSed build/ at the top level we are moving all the content of 'webrtc/build/' to different locations (see webrtc:7030 for the suggested locations).

BUG=webrtc:7030
NOTRY=True

Review-Url: https://codereview.webrtc.org/2651913002
Cr-Commit-Position: refs/heads/master@{#16259}
2017-01-25 07:04:51 +00:00
e6b4723790 Statically linked zxing. Without dependency on libMagick
BUG=webrtc:6633
NOTRY=True

Review-Url: https://codereview.webrtc.org/2653903002
Cr-Commit-Position: refs/heads/master@{#16243}
2017-01-24 13:02:35 +00:00
822d2586fb Move webrtc/build/android -> tools-webrtc/android
BUG=webrtc:7030

Review-Url: https://codereview.webrtc.org/2649883004
Cr-Commit-Position: refs/heads/master@{#16239}
2017-01-24 12:22:11 +00:00
ad452287b0 Moving get_landmines.py (build/ -> tools-webrtc/)
BUG=webrtc:7030
NOTRY=True

Review-Url: https://codereview.webrtc.org/2656553002
Cr-Commit-Position: refs/heads/master@{#16227}
2017-01-24 08:01:49 +00:00
f81d8efb24 Promote iOS Simulator 9.0 bot to main waterfall.
Rename existing iOS Simulator bots to match the new one.
Buildbot changes: https://chromium-review.googlesource.com/423055

BUG=chromium:677385
TBR=ehmaldonado@webrtc.org

Review-Url: https://codereview.webrtc.org/2601353003 .
Cr-Commit-Position: refs/heads/master@{#15842}
2016-12-30 07:26:24 +00:00
957c1817b0 MB: Enable optimize_for_fuzzing=true for libfuzzer builds.
Build with this enabled since that's what Chromium bots do:
https://cs.chromium.org/chromium/src/build/config/compiler/BUILD.gn?rcl=0&l=89

BUG=chromium:677261
R=pbos@webrtc.org
NOTRY=True

Review-Url: https://codereview.webrtc.org/2604003002
Cr-Commit-Position: refs/heads/master@{#15838}
2016-12-29 20:25:53 +00:00
81fa52ff44 Change iOS Simulator bot to 32-bit and iPhone 5.
Before promoting it to the main waterfall I thought it made
sense to ensure it works for a phone that actually is 32-bit
(iPhone 6s isn't). It also makes more sense to run the older
iOS version (9) on the older phone.

BUG=chromium:677385
TBR=ehmaldonado@webrtc.org

Review-Url: https://codereview.webrtc.org/2604203002 .
Cr-Commit-Position: refs/heads/master@{#15837}
2016-12-29 20:01:38 +00:00
34203b4255 MB: Add symbol_level=2 to new Win ASan bot.
Hopefully that will give better error traces than just a memory
address upon failure.

BUG=chromium:677380
TBR=ehmaldonado@webrtc.org

Review-Url: https://codereview.webrtc.org/2604163002 .
Cr-Commit-Position: refs/heads/master@{#15830}
2016-12-29 09:45:08 +00:00
1f971427e8 Add iOS64 simulator bot running on iOS 9.0 simulator.
Add a new trybot configuration as well.

BUG=chromium:677385
TBR=ehmaldonado@webrtc.org

Review-Url: https://codereview.webrtc.org/2604153002 .
Cr-Commit-Position: refs/heads/master@{#15829}
2016-12-29 08:31:05 +00:00