commit | 8222afd27c8795b78e308d54a7f689791f51d7e9 | [log] [tgz] |
---|---|---|
author | Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com> | Tue Nov 27 07:16:04 2018 |
committer | Commit Bot <commit-bot@chromium.org> | Tue Nov 27 07:16:04 2018 |
tree | 80c1cf09094f81875627687d53df380720a41982 | |
parent | 09ee5e7e5b4fd3e0b99792e0539d67079a8b2932 [diff] |
CacheStorageRef: Drop noexcept from the default constructor This fixes the GCC build after fdf95b6 ("CacheStorage: Refactor handle ref-counting"): ../../content/browser/background_fetch/storage/match_requests_task.cc: In constructor ‘content::background_fetch::MatchRequestsTask::MatchRequestsTask(content::background_fetch::DatabaseTaskHost*, content::BackgroundFetchRegistrationId, std::unique_ptr<content::BackgroundFetchRequestMatchParams>, content::background_fetch::MatchRequestsTask::SettledFetchesCallback)’: ../../content/browser/background_fetch/storage/match_requests_task.cc:29:25: error: use of deleted function ‘content::CacheStorageRef<TargetType>::CacheStorageRef() [with TargetType = content::CacheStorageCache]’ weak_factory_(this) {} ^ With GCC, having that noexcept marker would require all members to be marked with noexcept themselves (in this case, base::WeakPtr and its hierarchy). While that could also be possible, the style guide only explicitly mentions move constructors/assignment operators, and it is not clear if having a noexcept default constructor brings any benefits. clang is fine because we pass -fno-exceptions and it disables the same error there, while GCC continues to raise it (bug 843143 and its corresponding CL have a longer discussion on this issue). Bug: 819294 Change-Id: I726cbc8d9e0d624c530a835373c0dbad32279b78 Reviewed-on: https://chromium-review.googlesource.com/c/1350954 Reviewed-by: Hiroki Nakagawa <nhiroki@chromium.org> Commit-Queue: Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com> Cr-Commit-Position: refs/heads/master@{#611035}
Chromium is an open-source browser project that aims to build a safer, faster, and more stable way for all users to experience the web.
The project's web site is https://www.chromium.org.
Documentation in the source is rooted in docs/README.md.
Learn how to Get Around the Chromium Source Code Directory Structure .