New issue
Advanced search Search tips

Issue 828324 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: May 2018
Cc:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug



Sign in to add a comment

Update base::span to C++20 specification

Project Member Reported by jdoerrie@chromium.org, Apr 3 2018

Issue description

At the latest ISO C++ standards meeting in Jacksonville the std::span proposal has been formally accepted into the upcoming C++20 standard [1].

We should update out base::span implementation to follow the upcoming specification [2].

In particular, we should:
- Add missing constructors from a pair of pointers and suitable containers
- Support static extents
- Update a few method signatures

[1] https://herbsutter.com/2018/04/02/trip-report-winter-iso-c-standards-meeting-jacksonville/
[2] http://eel.is/c++draft/views.span
 
Project Member

Comment 1 by bugdroid1@chromium.org, Apr 11 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/f934a7cc95f7d81cefc130f425ef0dcb61bd8fe6

commit f934a7cc95f7d81cefc130f425ef0dcb61bd8fe6
Author: jdoerrie <jdoerrie@chromium.org>
Date: Wed Apr 11 07:22:40 2018

[base] Introduce byte methods on base::span

This change implements base::as_bytes(base::span),
base::as_writable_bytes(base::span) and base::span::size_bytes() as
specified in the C++20 draft [1, 2]. As opposed to the standard
as_bytes() and as_writable_bytes() return spans of uint8_t due to the
lack of std::byte in C++14.

[1] http://eel.is/c++draft/views.span#span.obs-itemdecl:2
[2] http://eel.is/c++draft/views.span#span.objectrep

Bug:  828324 
Change-Id: Ie7c4e759e81caa6dfb2b3583b36dc8923a430b55
Reviewed-on: https://chromium-review.googlesource.com/1004956
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Commit-Queue: Jan Wilken Dörrie <jdoerrie@chromium.org>
Cr-Commit-Position: refs/heads/master@{#549808}
[modify] https://crrev.com/f934a7cc95f7d81cefc130f425ef0dcb61bd8fe6/base/containers/span.h
[modify] https://crrev.com/f934a7cc95f7d81cefc130f425ef0dcb61bd8fe6/base/containers/span_unittest.cc
[modify] https://crrev.com/f934a7cc95f7d81cefc130f425ef0dcb61bd8fe6/base/containers/span_unittest.nc

Project Member

Comment 2 by bugdroid1@chromium.org, Apr 12 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/f6c12979e9fd4b9a65b6a88da966ead7014cd227

commit f6c12979e9fd4b9a65b6a88da966ead7014cd227
Author: jdoerrie <jdoerrie@chromium.org>
Date: Thu Apr 12 10:43:47 2018

[base] Implement std::size(), std::empty() and std::data()

This change provides C++14 implementations of C++17's std::size(),
std::empty() and std::data().

Bug:  828324 
Change-Id: If1b83826a23b26fd557f7854962bcbc771a7ffe0
Reviewed-on: https://chromium-review.googlesource.com/992236
Commit-Queue: Jan Wilken Dörrie <jdoerrie@chromium.org>
Reviewed-by: kylechar <kylechar@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Cr-Commit-Position: refs/heads/master@{#550137}
[modify] https://crrev.com/f6c12979e9fd4b9a65b6a88da966ead7014cd227/base/stl_util.h
[modify] https://crrev.com/f6c12979e9fd4b9a65b6a88da966ead7014cd227/base/stl_util_unittest.cc

Project Member

Comment 3 by bugdroid1@chromium.org, Apr 12 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/405745c9c568bc650c9b92484700d7ed10d15381

commit 405745c9c568bc650c9b92484700d7ed10d15381
Author: jdoerrie <jdoerrie@chromium.org>
Date: Thu Apr 12 13:38:59 2018

[base] Allow Comparisons of Spans Across Types

This change implements comparisons of base::spans with different types.
This is useful to compare spans that only differ in their cv qualifiers,
or whose different types allow comparison (e.g. int and double or
std::string and base::StringPiece).

Comparisons across types is a recent addition to the std::span proposal
and was not part of P0122R6.

Bug:  828324 
Change-Id: Ia65a027c6b4a141f1a6dad11ba1d7699c7ed6f8c
Reviewed-on: https://chromium-review.googlesource.com/1006580
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Commit-Queue: Jan Wilken Dörrie <jdoerrie@chromium.org>
Cr-Commit-Position: refs/heads/master@{#550172}
[modify] https://crrev.com/405745c9c568bc650c9b92484700d7ed10d15381/base/containers/span.h
[modify] https://crrev.com/405745c9c568bc650c9b92484700d7ed10d15381/base/containers/span_unittest.cc

Project Member

Comment 4 by bugdroid1@chromium.org, Apr 13 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/fc3f3d7a722fe71c9f6d9c63b97a5b0b1c57c6e9

commit fc3f3d7a722fe71c9f6d9c63b97a5b0b1c57c6e9
Author: Menglu Huang <huangml@chromium.org>
Date: Fri Apr 13 00:15:58 2018

Revert "[base] Implement std::size(), std::empty() and std::data()"

This reverts commit f6c12979e9fd4b9a65b6a88da966ead7014cd227.

Reason for revert: <INSERT REASONING HERE>
Breaks ios-device-xcode-clang and ios-simulator-xcode-clang
../../base/stl_util_unittest.cc:120:33: error: suggest braces around initialization of subobject [-Werror,-Wmissing-braces]
    std::array<int, 4> array = {1, 2, 3, 4};
                                ^~~~~~~~~~
                                {         }
https://ci.chromium.org/buildbot/chromium.mac/ios-device-xcode-clang/57071

Original change's description:
> [base] Implement std::size(), std::empty() and std::data()
> 
> This change provides C++14 implementations of C++17's std::size(),
> std::empty() and std::data().
> 
> Bug:  828324 
> Change-Id: If1b83826a23b26fd557f7854962bcbc771a7ffe0
> Reviewed-on: https://chromium-review.googlesource.com/992236
> Commit-Queue: Jan Wilken Dörrie <jdoerrie@chromium.org>
> Reviewed-by: kylechar <kylechar@chromium.org>
> Reviewed-by: Daniel Cheng <dcheng@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#550137}

TBR=dcheng@chromium.org,kylechar@chromium.org,jdoerrie@chromium.org

Change-Id: I0335a72133de226a435c1f215f886850a108ef01
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug:  828324 
Reviewed-on: https://chromium-review.googlesource.com/1011565
Reviewed-by: Menglu Huang <huangml@chromium.org>
Commit-Queue: Menglu Huang <huangml@chromium.org>
Cr-Commit-Position: refs/heads/master@{#550430}
[modify] https://crrev.com/fc3f3d7a722fe71c9f6d9c63b97a5b0b1c57c6e9/base/stl_util.h
[modify] https://crrev.com/fc3f3d7a722fe71c9f6d9c63b97a5b0b1c57c6e9/base/stl_util_unittest.cc

Project Member

Comment 5 by bugdroid1@chromium.org, Apr 13 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/8f516045b121bee414322dcfc762470f5310d427

commit 8f516045b121bee414322dcfc762470f5310d427
Author: jdoerrie <jdoerrie@chromium.org>
Date: Fri Apr 13 09:40:30 2018

Reland "[base] Implement std::size(), std::empty() and std::data()"

This is a reland of f6c12979e9fd4b9a65b6a88da966ead7014cd227

Original change's description:
> [base] Implement std::size(), std::empty() and std::data()
>
> This change provides C++14 implementations of C++17's std::size(),
> std::empty() and std::data().
>
> Bug:  828324 
> Change-Id: If1b83826a23b26fd557f7854962bcbc771a7ffe0
> Reviewed-on: https://chromium-review.googlesource.com/992236
> Commit-Queue: Jan Wilken Dörrie <jdoerrie@chromium.org>
> Reviewed-by: kylechar <kylechar@chromium.org>
> Reviewed-by: Daniel Cheng <dcheng@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#550137}

TBR=dcheng@chromium.org,kylechar@chromium.org

Bug:  828324 
Change-Id: I4c3e637129aaaf277d83ca07b4705dc3b815183b
Reviewed-on: https://chromium-review.googlesource.com/1011962
Reviewed-by: Jan Wilken Dörrie <jdoerrie@chromium.org>
Commit-Queue: Jan Wilken Dörrie <jdoerrie@chromium.org>
Cr-Commit-Position: refs/heads/master@{#550565}
[modify] https://crrev.com/8f516045b121bee414322dcfc762470f5310d427/base/stl_util.h
[modify] https://crrev.com/8f516045b121bee414322dcfc762470f5310d427/base/stl_util_unittest.cc

Project Member

Comment 6 by bugdroid1@chromium.org, Apr 17 2018

Labels: merge-merged-testbranch
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/fc3f3d7a722fe71c9f6d9c63b97a5b0b1c57c6e9

commit fc3f3d7a722fe71c9f6d9c63b97a5b0b1c57c6e9
Author: Menglu Huang <huangml@chromium.org>
Date: Fri Apr 13 00:15:58 2018

Revert "[base] Implement std::size(), std::empty() and std::data()"

This reverts commit f6c12979e9fd4b9a65b6a88da966ead7014cd227.

Reason for revert: <INSERT REASONING HERE>
Breaks ios-device-xcode-clang and ios-simulator-xcode-clang
../../base/stl_util_unittest.cc:120:33: error: suggest braces around initialization of subobject [-Werror,-Wmissing-braces]
    std::array<int, 4> array = {1, 2, 3, 4};
                                ^~~~~~~~~~
                                {         }
https://ci.chromium.org/buildbot/chromium.mac/ios-device-xcode-clang/57071

Original change's description:
> [base] Implement std::size(), std::empty() and std::data()
> 
> This change provides C++14 implementations of C++17's std::size(),
> std::empty() and std::data().
> 
> Bug:  828324 
> Change-Id: If1b83826a23b26fd557f7854962bcbc771a7ffe0
> Reviewed-on: https://chromium-review.googlesource.com/992236
> Commit-Queue: Jan Wilken Dörrie <jdoerrie@chromium.org>
> Reviewed-by: kylechar <kylechar@chromium.org>
> Reviewed-by: Daniel Cheng <dcheng@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#550137}

TBR=dcheng@chromium.org,kylechar@chromium.org,jdoerrie@chromium.org

Change-Id: I0335a72133de226a435c1f215f886850a108ef01
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug:  828324 
Reviewed-on: https://chromium-review.googlesource.com/1011565
Reviewed-by: Menglu Huang <huangml@chromium.org>
Commit-Queue: Menglu Huang <huangml@chromium.org>
Cr-Commit-Position: refs/heads/master@{#550430}
[modify] https://crrev.com/fc3f3d7a722fe71c9f6d9c63b97a5b0b1c57c6e9/base/stl_util.h
[modify] https://crrev.com/fc3f3d7a722fe71c9f6d9c63b97a5b0b1c57c6e9/base/stl_util_unittest.cc

Project Member

Comment 7 by bugdroid1@chromium.org, Apr 17 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/8f516045b121bee414322dcfc762470f5310d427

commit 8f516045b121bee414322dcfc762470f5310d427
Author: jdoerrie <jdoerrie@chromium.org>
Date: Fri Apr 13 09:40:30 2018

Reland "[base] Implement std::size(), std::empty() and std::data()"

This is a reland of f6c12979e9fd4b9a65b6a88da966ead7014cd227

Original change's description:
> [base] Implement std::size(), std::empty() and std::data()
>
> This change provides C++14 implementations of C++17's std::size(),
> std::empty() and std::data().
>
> Bug:  828324 
> Change-Id: If1b83826a23b26fd557f7854962bcbc771a7ffe0
> Reviewed-on: https://chromium-review.googlesource.com/992236
> Commit-Queue: Jan Wilken Dörrie <jdoerrie@chromium.org>
> Reviewed-by: kylechar <kylechar@chromium.org>
> Reviewed-by: Daniel Cheng <dcheng@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#550137}

TBR=dcheng@chromium.org,kylechar@chromium.org

Bug:  828324 
Change-Id: I4c3e637129aaaf277d83ca07b4705dc3b815183b
Reviewed-on: https://chromium-review.googlesource.com/1011962
Reviewed-by: Jan Wilken Dörrie <jdoerrie@chromium.org>
Commit-Queue: Jan Wilken Dörrie <jdoerrie@chromium.org>
Cr-Commit-Position: refs/heads/master@{#550565}
[modify] https://crrev.com/8f516045b121bee414322dcfc762470f5310d427/base/stl_util.h
[modify] https://crrev.com/8f516045b121bee414322dcfc762470f5310d427/base/stl_util_unittest.cc

Project Member

Comment 8 by bugdroid1@chromium.org, Apr 19 2018

Labels: merge-merged-3396
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/f7005ea09fab975cb3af19abf477d3e51b30f71e

commit f7005ea09fab975cb3af19abf477d3e51b30f71e
Author: Menglu Huang <huangml@chromium.org>
Date: Thu Apr 19 18:59:37 2018

Revert "[base] Implement std::size(), std::empty() and std::data()"

This reverts commit f6c12979e9fd4b9a65b6a88da966ead7014cd227.

Reason for revert: <INSERT REASONING HERE>
Breaks ios-device-xcode-clang and ios-simulator-xcode-clang
../../base/stl_util_unittest.cc:120:33: error: suggest braces around initialization of subobject [-Werror,-Wmissing-braces]
    std::array<int, 4> array = {1, 2, 3, 4};
                                ^~~~~~~~~~
                                {         }
https://ci.chromium.org/buildbot/chromium.mac/ios-device-xcode-clang/57071

Original change's description:
> [base] Implement std::size(), std::empty() and std::data()
> 
> This change provides C++14 implementations of C++17's std::size(),
> std::empty() and std::data().
> 
> Bug:  828324 
> Change-Id: If1b83826a23b26fd557f7854962bcbc771a7ffe0
> Reviewed-on: https://chromium-review.googlesource.com/992236
> Commit-Queue: Jan Wilken Dörrie <jdoerrie@chromium.org>
> Reviewed-by: kylechar <kylechar@chromium.org>
> Reviewed-by: Daniel Cheng <dcheng@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#550137}

TBR=dcheng@chromium.org,kylechar@chromium.org,jdoerrie@chromium.org

Change-Id: I0335a72133de226a435c1f215f886850a108ef01
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug:  828324 
Reviewed-on: https://chromium-review.googlesource.com/1011565
Reviewed-by: Menglu Huang <huangml@chromium.org>
Commit-Queue: Menglu Huang <huangml@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#550430}(cherry picked from commit fc3f3d7a722fe71c9f6d9c63b97a5b0b1c57c6e9)
Reviewed-on: https://chromium-review.googlesource.com/1019616
Reviewed-by: Mike Dougherty <michaeldo@chromium.org>
Cr-Commit-Position: refs/branch-heads/3396@{#137}
Cr-Branched-From: 9ef2aa869bc7bc0c089e255d698cca6e47d6b038-refs/heads/master@{#550428}
[modify] https://crrev.com/f7005ea09fab975cb3af19abf477d3e51b30f71e/base/stl_util.h
[modify] https://crrev.com/f7005ea09fab975cb3af19abf477d3e51b30f71e/base/stl_util_unittest.cc

Project Member

Comment 9 by bugdroid1@chromium.org, Apr 20 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/5f892435ba416ae9ec9c7b39506742697e86f5f3

commit 5f892435ba416ae9ec9c7b39506742697e86f5f3
Author: jdoerrie <jdoerrie@chromium.org>
Date: Fri Apr 20 18:55:39 2018

[base] Small base::span Cleanups

This change replaces some usages of container.size() with the more
generic base::size(container) and introduces a overload for
base::make_span taking another span. This can be useful for template
code where make_span is invoked on an arbitrary container. Passing a
base::span to code like this should not result in a compilation failure.

Bug:  828324 
Change-Id: Icd6e8269689cf9d9b663b6a916e73e232350785a
Reviewed-on: https://chromium-review.googlesource.com/1021381
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Commit-Queue: Jan Wilken Dörrie <jdoerrie@chromium.org>
Cr-Commit-Position: refs/heads/master@{#552415}
[modify] https://crrev.com/5f892435ba416ae9ec9c7b39506742697e86f5f3/base/containers/span.h
[modify] https://crrev.com/5f892435ba416ae9ec9c7b39506742697e86f5f3/base/containers/span_unittest.cc

Project Member

Comment 10 by bugdroid1@chromium.org, May 2 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/2917a61e01e6138a09ea1c9239c6c95b1e711b22

commit 2917a61e01e6138a09ea1c9239c6c95b1e711b22
Author: jdoerrie <jdoerrie@chromium.org>
Date: Wed May 02 09:39:14 2018

[base] Implement Extent in base::span

This change implements static extents in base::span. These spans can be
automatically created from array types, where the size is known at
compile time. Furthermore, they allow for compile time checks when
invoking templated first(), last() and subspan().

Bug:  828324 
Change-Id: Ice309ab8d377a91331170bfba8ac82a31dad7cd1
Reviewed-on: https://chromium-review.googlesource.com/1021735
Commit-Queue: Jan Wilken Dörrie <jdoerrie@chromium.org>
Reviewed-by: David Benjamin <davidben@chromium.org>
Reviewed-by: Jochen Eisinger <jochen@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Cr-Commit-Position: refs/heads/master@{#555333}
[modify] https://crrev.com/2917a61e01e6138a09ea1c9239c6c95b1e711b22/base/containers/span.h
[modify] https://crrev.com/2917a61e01e6138a09ea1c9239c6c95b1e711b22/base/containers/span_unittest.cc
[modify] https://crrev.com/2917a61e01e6138a09ea1c9239c6c95b1e711b22/base/containers/span_unittest.nc
[modify] https://crrev.com/2917a61e01e6138a09ea1c9239c6c95b1e711b22/chrome/browser/extensions/install_signer.cc
[modify] https://crrev.com/2917a61e01e6138a09ea1c9239c6c95b1e711b22/components/crx_file/crx_verifier.cc
[modify] https://crrev.com/2917a61e01e6138a09ea1c9239c6c95b1e711b22/components/policy/core/common/cloud/cloud_policy_validator.cc
[modify] https://crrev.com/2917a61e01e6138a09ea1c9239c6c95b1e711b22/components/variations/variations_seed_store.cc
[modify] https://crrev.com/2917a61e01e6138a09ea1c9239c6c95b1e711b22/content/browser/web_package/signed_exchange_signature_verifier.cc
[modify] https://crrev.com/2917a61e01e6138a09ea1c9239c6c95b1e711b22/crypto/ec_signature_creator_unittest.cc
[modify] https://crrev.com/2917a61e01e6138a09ea1c9239c6c95b1e711b22/crypto/signature_creator_unittest.cc
[modify] https://crrev.com/2917a61e01e6138a09ea1c9239c6c95b1e711b22/extensions/browser/verified_contents.cc
[modify] https://crrev.com/2917a61e01e6138a09ea1c9239c6c95b1e711b22/extensions/browser/verified_contents_unittest.cc
[modify] https://crrev.com/2917a61e01e6138a09ea1c9239c6c95b1e711b22/net/quic/chromium/crypto/proof_verifier_chromium.cc

Project Member

Comment 11 by bugdroid1@chromium.org, May 14 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/972b2ffb443b06246edfb26bc68446c256ccaf22

commit 972b2ffb443b06246edfb26bc68446c256ccaf22
Author: Ryan Sleevi <rsleevi@chromium.org>
Date: Mon May 14 15:45:10 2018

Remove base::string_as_array

https://crrev.com/550137 introduced base::data(), along with a
specialization for strings to return mutable pointers. Update callers
of base::string_as_array() to use base::data() instead.

Note that this does come with an observable behaviour change:
string_as_array() returns nullptr for empty strings, while base::data()
returns the pointer to the NUL terminator (in line with std::data()).

However, this can be observed to be safe from the existing callers, due
to the preceding resizes that ensure non-empty() strings, or the
existing logic to handle empty strings.

Bug:  828324 
TBR=caitkp@chromium.org, lazyboy@chromium.org, miu@chromium.org, sergeyu@chromium.org

Change-Id: I1fb5824b7115ff2b9ebf032f74a860e4cf3f52c6
Reviewed-on: https://chromium-review.googlesource.com/1056014
Commit-Queue: Ryan Sleevi <rsleevi@chromium.org>
Reviewed-by: Avi Drissman <avi@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Cr-Commit-Position: refs/heads/master@{#558321}
[modify] https://crrev.com/972b2ffb443b06246edfb26bc68446c256ccaf22/base/stl_util.h
[modify] https://crrev.com/972b2ffb443b06246edfb26bc68446c256ccaf22/base/stl_util_unittest.cc
[modify] https://crrev.com/972b2ffb443b06246edfb26bc68446c256ccaf22/base/trace_event/trace_event_impl.cc
[modify] https://crrev.com/972b2ffb443b06246edfb26bc68446c256ccaf22/chrome/browser/extensions/install_signer.cc
[modify] https://crrev.com/972b2ffb443b06246edfb26bc68446c256ccaf22/chrome/browser/media_galleries/fileapi/supported_image_type_validator.cc
[modify] https://crrev.com/972b2ffb443b06246edfb26bc68446c256ccaf22/chrome/browser/plugins/plugin_power_saver_browsertest.cc
[modify] https://crrev.com/972b2ffb443b06246edfb26bc68446c256ccaf22/chrome/common/component_flash_hint_file_linux.cc
[modify] https://crrev.com/972b2ffb443b06246edfb26bc68446c256ccaf22/components/mirroring/browser/cast_remoting_sender.cc
[modify] https://crrev.com/972b2ffb443b06246edfb26bc68446c256ccaf22/components/mirroring/service/session.cc
[modify] https://crrev.com/972b2ffb443b06246edfb26bc68446c256ccaf22/components/sync/base/unique_position.cc
[modify] https://crrev.com/972b2ffb443b06246edfb26bc68446c256ccaf22/content/browser/indexed_db/indexed_db_backing_store.cc
[modify] https://crrev.com/972b2ffb443b06246edfb26bc68446c256ccaf22/content/renderer/media_recorder/audio_track_opus_encoder.cc
[modify] https://crrev.com/972b2ffb443b06246edfb26bc68446c256ccaf22/content/renderer/media_recorder/audio_track_pcm_encoder.cc
[modify] https://crrev.com/972b2ffb443b06246edfb26bc68446c256ccaf22/content/renderer/media_recorder/audio_track_recorder_unittest.cc
[modify] https://crrev.com/972b2ffb443b06246edfb26bc68446c256ccaf22/crypto/sha2.cc
[modify] https://crrev.com/972b2ffb443b06246edfb26bc68446c256ccaf22/extensions/browser/computed_hashes.cc
[modify] https://crrev.com/972b2ffb443b06246edfb26bc68446c256ccaf22/extensions/browser/content_hash_tree.cc
[modify] https://crrev.com/972b2ffb443b06246edfb26bc68446c256ccaf22/extensions/browser/content_hash_tree_unittest.cc
[modify] https://crrev.com/972b2ffb443b06246edfb26bc68446c256ccaf22/extensions/browser/content_verify_job.cc
[modify] https://crrev.com/972b2ffb443b06246edfb26bc68446c256ccaf22/extensions/browser/content_verify_job_unittest.cc
[modify] https://crrev.com/972b2ffb443b06246edfb26bc68446c256ccaf22/extensions/browser/extension_protocols.cc
[modify] https://crrev.com/972b2ffb443b06246edfb26bc68446c256ccaf22/extensions/renderer/api/display_source/wifi_display/wifi_display_audio_encoder_lpcm.cc
[modify] https://crrev.com/972b2ffb443b06246edfb26bc68446c256ccaf22/media/cast/net/cast_transport_config.h
[modify] https://crrev.com/972b2ffb443b06246edfb26bc68446c256ccaf22/media/cast/sender/audio_encoder.cc
[modify] https://crrev.com/972b2ffb443b06246edfb26bc68446c256ccaf22/net/spdy/spdy_stream_test_util.cc
[modify] https://crrev.com/972b2ffb443b06246edfb26bc68446c256ccaf22/net/websockets/websocket_basic_handshake_stream.cc
[modify] https://crrev.com/972b2ffb443b06246edfb26bc68446c256ccaf22/remoting/codec/audio_decoder_opus.cc
[modify] https://crrev.com/972b2ffb443b06246edfb26bc68446c256ccaf22/remoting/codec/audio_encoder_opus.cc
[modify] https://crrev.com/972b2ffb443b06246edfb26bc68446c256ccaf22/remoting/codec/video_encoder_verbatim.cc
[modify] https://crrev.com/972b2ffb443b06246edfb26bc68446c256ccaf22/remoting/host/file_transfer_message_handler.cc
[modify] https://crrev.com/972b2ffb443b06246edfb26bc68446c256ccaf22/remoting/host/it2me/it2me_native_messaging_host_unittest.cc
[modify] https://crrev.com/972b2ffb443b06246edfb26bc68446c256ccaf22/remoting/host/linux/audio_pipe_reader.cc
[modify] https://crrev.com/972b2ffb443b06246edfb26bc68446c256ccaf22/remoting/host/native_messaging/native_messaging_reader.cc
[modify] https://crrev.com/972b2ffb443b06246edfb26bc68446c256ccaf22/remoting/host/native_messaging/native_messaging_writer_unittest.cc
[modify] https://crrev.com/972b2ffb443b06246edfb26bc68446c256ccaf22/remoting/host/security_key/security_key_message_reader.cc
[modify] https://crrev.com/972b2ffb443b06246edfb26bc68446c256ccaf22/remoting/host/security_key/security_key_message_reader_impl.cc
[modify] https://crrev.com/972b2ffb443b06246edfb26bc68446c256ccaf22/remoting/host/security_key/security_key_message_writer_impl_unittest.cc
[modify] https://crrev.com/972b2ffb443b06246edfb26bc68446c256ccaf22/remoting/host/setup/me2me_native_messaging_host_unittest.cc
[modify] https://crrev.com/972b2ffb443b06246edfb26bc68446c256ccaf22/remoting/protocol/webrtc_dummy_video_encoder.cc

Status: Fixed (was: Assigned)
Thanks, Ryan! Closing this as well, since r555333 did the last required changes.
Project Member

Comment 13 by bugdroid1@chromium.org, Nov 16

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/73564b6cfded2a0d68005f535be0f26505fd78f1

commit 73564b6cfded2a0d68005f535be0f26505fd78f1
Author: jdoerrie <jdoerrie@chromium.org>
Date: Fri Nov 16 09:03:42 2018

[base] Remove base::span's comparison operators

At the recent ISO C++ Committee meeting in San Diego it was decided [1]
to make std::span SemiRegular and drop its comparison operators [2]. For
further info see also this blog post [3].

This change updates the base::span implemention appropriately and
replaces prior usages of the comparison operators with their STL
algorithm equivalent.

[1] http://redd.it/9vwvbz
[2] https://wg21.link/p1085
[3] https://abseil.io/blog/20180531-regular-types#evaluating-span

Bug:  828324 
Change-Id: I94e94450df5f233b6de81da81f309386e0dcf4a7
Reviewed-on: https://chromium-review.googlesource.com/c/1337628
Reviewed-by: Ken Rockot <rockot@google.com>
Reviewed-by: Marijn Kruisselbrink <mek@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Reviewed-by: Ryan Sleevi <rsleevi@chromium.org>
Reviewed-by: John Rummell <jrummell@chromium.org>
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Reviewed-by: Jun Choi <hongjunchoi@chromium.org>
Commit-Queue: Jan Wilken Dörrie <jdoerrie@chromium.org>
Cr-Commit-Position: refs/heads/master@{#608702}
[modify] https://crrev.com/73564b6cfded2a0d68005f535be0f26505fd78f1/base/containers/span.h
[modify] https://crrev.com/73564b6cfded2a0d68005f535be0f26505fd78f1/base/containers/span_unittest.cc
[modify] https://crrev.com/73564b6cfded2a0d68005f535be0f26505fd78f1/device/fido/ble/fido_ble_frames_unittest.cc
[modify] https://crrev.com/73564b6cfded2a0d68005f535be0f26505fd78f1/device/fido/cable/fido_cable_discovery_unittest.cc
[modify] https://crrev.com/73564b6cfded2a0d68005f535be0f26505fd78f1/device/fido/fido_parsing_utils.h
[modify] https://crrev.com/73564b6cfded2a0d68005f535be0f26505fd78f1/device/fido/fido_parsing_utils_unittest.cc
[modify] https://crrev.com/73564b6cfded2a0d68005f535be0f26505fd78f1/device/fido/hid/fido_hid_device.cc
[modify] https://crrev.com/73564b6cfded2a0d68005f535be0f26505fd78f1/device/fido/virtual_fido_device.cc
[modify] https://crrev.com/73564b6cfded2a0d68005f535be0f26505fd78f1/device/fido/virtual_fido_device.h
[modify] https://crrev.com/73564b6cfded2a0d68005f535be0f26505fd78f1/media/cdm/cbcs_decryptor_unittest.cc
[modify] https://crrev.com/73564b6cfded2a0d68005f535be0f26505fd78f1/media/cdm/cenc_decryptor_unittest.cc
[modify] https://crrev.com/73564b6cfded2a0d68005f535be0f26505fd78f1/mojo/public/cpp/base/read_only_buffer_unittest.cc
[modify] https://crrev.com/73564b6cfded2a0d68005f535be0f26505fd78f1/net/ntlm/ntlm_unittest.cc
[modify] https://crrev.com/73564b6cfded2a0d68005f535be0f26505fd78f1/storage/browser/blob/blob_builder_from_stream_unittest.cc
[modify] https://crrev.com/73564b6cfded2a0d68005f535be0f26505fd78f1/storage/browser/blob/blob_data_item.cc
[modify] https://crrev.com/73564b6cfded2a0d68005f535be0f26505fd78f1/third_party/blink/renderer/platform/shared_buffer.h

Project Member

Comment 14 by bugdroid1@chromium.org, Nov 16

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/b0bcb9699e02101fa2ee256324ca5d7b2929857c

commit b0bcb9699e02101fa2ee256324ca5d7b2929857c
Author: Jun Choi <hongjunchoi@chromium.org>
Date: Fri Nov 16 09:48:15 2018

Revert "[base] Remove base::span's comparison operators"

This reverts commit 73564b6cfded2a0d68005f535be0f26505fd78f1.

Reason for revert: <Fails build  Google Chrome Win Build #40337 on "chrome/browser/conflicts/module_blacklist_cache_util_win.cc(242,61)">

Original change's description:
> [base] Remove base::span's comparison operators
> 
> At the recent ISO C++ Committee meeting in San Diego it was decided [1]
> to make std::span SemiRegular and drop its comparison operators [2]. For
> further info see also this blog post [3].
> 
> This change updates the base::span implemention appropriately and
> replaces prior usages of the comparison operators with their STL
> algorithm equivalent.
> 
> [1] http://redd.it/9vwvbz
> [2] https://wg21.link/p1085
> [3] https://abseil.io/blog/20180531-regular-types#evaluating-span
> 
> Bug:  828324 
> Change-Id: I94e94450df5f233b6de81da81f309386e0dcf4a7
> Reviewed-on: https://chromium-review.googlesource.com/c/1337628
> Reviewed-by: Ken Rockot <rockot@google.com>
> Reviewed-by: Marijn Kruisselbrink <mek@chromium.org>
> Reviewed-by: Daniel Cheng <dcheng@chromium.org>
> Reviewed-by: Ryan Sleevi <rsleevi@chromium.org>
> Reviewed-by: John Rummell <jrummell@chromium.org>
> Reviewed-by: Kentaro Hara <haraken@chromium.org>
> Reviewed-by: Jun Choi <hongjunchoi@chromium.org>
> Commit-Queue: Jan Wilken Dörrie <jdoerrie@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#608702}

TBR=rsleevi@chromium.org,dcheng@chromium.org,rockot@google.com,jrummell@chromium.org,mek@chromium.org,haraken@chromium.org,jdoerrie@chromium.org,hongjunchoi@chromium.org

Change-Id: Id39b32be29dd80b6d299fc99a2efade8c2246fe6
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug:  828324 
Reviewed-on: https://chromium-review.googlesource.com/c/1339999
Reviewed-by: Jun Choi <hongjunchoi@chromium.org>
Commit-Queue: Jun Choi <hongjunchoi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#608711}
[modify] https://crrev.com/b0bcb9699e02101fa2ee256324ca5d7b2929857c/base/containers/span.h
[modify] https://crrev.com/b0bcb9699e02101fa2ee256324ca5d7b2929857c/base/containers/span_unittest.cc
[modify] https://crrev.com/b0bcb9699e02101fa2ee256324ca5d7b2929857c/device/fido/ble/fido_ble_frames_unittest.cc
[modify] https://crrev.com/b0bcb9699e02101fa2ee256324ca5d7b2929857c/device/fido/cable/fido_cable_discovery_unittest.cc
[modify] https://crrev.com/b0bcb9699e02101fa2ee256324ca5d7b2929857c/device/fido/fido_parsing_utils.h
[modify] https://crrev.com/b0bcb9699e02101fa2ee256324ca5d7b2929857c/device/fido/fido_parsing_utils_unittest.cc
[modify] https://crrev.com/b0bcb9699e02101fa2ee256324ca5d7b2929857c/device/fido/hid/fido_hid_device.cc
[modify] https://crrev.com/b0bcb9699e02101fa2ee256324ca5d7b2929857c/device/fido/virtual_fido_device.cc
[modify] https://crrev.com/b0bcb9699e02101fa2ee256324ca5d7b2929857c/device/fido/virtual_fido_device.h
[modify] https://crrev.com/b0bcb9699e02101fa2ee256324ca5d7b2929857c/media/cdm/cbcs_decryptor_unittest.cc
[modify] https://crrev.com/b0bcb9699e02101fa2ee256324ca5d7b2929857c/media/cdm/cenc_decryptor_unittest.cc
[modify] https://crrev.com/b0bcb9699e02101fa2ee256324ca5d7b2929857c/mojo/public/cpp/base/read_only_buffer_unittest.cc
[modify] https://crrev.com/b0bcb9699e02101fa2ee256324ca5d7b2929857c/net/ntlm/ntlm_unittest.cc
[modify] https://crrev.com/b0bcb9699e02101fa2ee256324ca5d7b2929857c/storage/browser/blob/blob_builder_from_stream_unittest.cc
[modify] https://crrev.com/b0bcb9699e02101fa2ee256324ca5d7b2929857c/storage/browser/blob/blob_data_item.cc
[modify] https://crrev.com/b0bcb9699e02101fa2ee256324ca5d7b2929857c/third_party/blink/renderer/platform/shared_buffer.h

Project Member

Comment 15 by bugdroid1@chromium.org, Nov 16

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/03fe4779b619e78b6d0016a704f2e7731d44b924

commit 03fe4779b619e78b6d0016a704f2e7731d44b924
Author: jdoerrie <jdoerrie@chromium.org>
Date: Fri Nov 16 19:46:57 2018

Reland "[base] Remove base::span's comparison operators"

This is a reland of 73564b6cfded2a0d68005f535be0f26505fd78f1

Fixes Google Chrome Win Build Breakage by modifying
module_blacklist_cache_util_win.cc.

Original change's description:
> [base] Remove base::span's comparison operators
>
> At the recent ISO C++ Committee meeting in San Diego it was decided [1]
> to make std::span SemiRegular and drop its comparison operators [2]. For
> further info see also this blog post [3].
>
> This change updates the base::span implemention appropriately and
> replaces prior usages of the comparison operators with their STL
> algorithm equivalent.
>
> [1] http://redd.it/9vwvbz
> [2] https://wg21.link/p1085
> [3] https://abseil.io/blog/20180531-regular-types#evaluating-span
>
> Bug:  828324 
> Change-Id: I94e94450df5f233b6de81da81f309386e0dcf4a7
> Reviewed-on: https://chromium-review.googlesource.com/c/1337628
> Reviewed-by: Ken Rockot <rockot@google.com>
> Reviewed-by: Marijn Kruisselbrink <mek@chromium.org>
> Reviewed-by: Daniel Cheng <dcheng@chromium.org>
> Reviewed-by: Ryan Sleevi <rsleevi@chromium.org>
> Reviewed-by: John Rummell <jrummell@chromium.org>
> Reviewed-by: Kentaro Hara <haraken@chromium.org>
> Reviewed-by: Jun Choi <hongjunchoi@chromium.org>
> Commit-Queue: Jan Wilken Dörrie <jdoerrie@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#608702}

TBR=rockot@google.com,mek@chromium.org,dcheng@chromium.org,rsleevi@chromium.org,jrummell@chromium.org,haraken@chromium.org,hongjunchoi@chromium.org

Bug:  828324 
Change-Id: I9c28c2a000dc0994143a7565632f3e7489c702ba
Reviewed-on: https://chromium-review.googlesource.com/c/1340219
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Reviewed-by: Jun Choi <hongjunchoi@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Reviewed-by: Patrick Monette <pmonette@chromium.org>
Commit-Queue: Jan Wilken Dörrie <jdoerrie@chromium.org>
Cr-Commit-Position: refs/heads/master@{#608900}
[modify] https://crrev.com/03fe4779b619e78b6d0016a704f2e7731d44b924/base/containers/span.h
[modify] https://crrev.com/03fe4779b619e78b6d0016a704f2e7731d44b924/base/containers/span_unittest.cc
[modify] https://crrev.com/03fe4779b619e78b6d0016a704f2e7731d44b924/chrome/browser/conflicts/module_blacklist_cache_util_win.cc
[modify] https://crrev.com/03fe4779b619e78b6d0016a704f2e7731d44b924/device/fido/ble/fido_ble_frames_unittest.cc
[modify] https://crrev.com/03fe4779b619e78b6d0016a704f2e7731d44b924/device/fido/cable/fido_cable_discovery_unittest.cc
[modify] https://crrev.com/03fe4779b619e78b6d0016a704f2e7731d44b924/device/fido/fido_parsing_utils.h
[modify] https://crrev.com/03fe4779b619e78b6d0016a704f2e7731d44b924/device/fido/fido_parsing_utils_unittest.cc
[modify] https://crrev.com/03fe4779b619e78b6d0016a704f2e7731d44b924/device/fido/hid/fido_hid_device.cc
[modify] https://crrev.com/03fe4779b619e78b6d0016a704f2e7731d44b924/device/fido/virtual_fido_device.cc
[modify] https://crrev.com/03fe4779b619e78b6d0016a704f2e7731d44b924/device/fido/virtual_fido_device.h
[modify] https://crrev.com/03fe4779b619e78b6d0016a704f2e7731d44b924/media/cdm/cbcs_decryptor_unittest.cc
[modify] https://crrev.com/03fe4779b619e78b6d0016a704f2e7731d44b924/media/cdm/cenc_decryptor_unittest.cc
[modify] https://crrev.com/03fe4779b619e78b6d0016a704f2e7731d44b924/mojo/public/cpp/base/read_only_buffer_unittest.cc
[modify] https://crrev.com/03fe4779b619e78b6d0016a704f2e7731d44b924/net/ntlm/ntlm_unittest.cc
[modify] https://crrev.com/03fe4779b619e78b6d0016a704f2e7731d44b924/storage/browser/blob/blob_builder_from_stream_unittest.cc
[modify] https://crrev.com/03fe4779b619e78b6d0016a704f2e7731d44b924/storage/browser/blob/blob_data_item.cc
[modify] https://crrev.com/03fe4779b619e78b6d0016a704f2e7731d44b924/third_party/blink/renderer/platform/shared_buffer.h

Sign in to add a comment