commit | cf4c534f04c223f8a9d65407852e2a531a6d7fb6 | [log] [tgz] |
---|---|---|
author | Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com> | Thu Feb 14 22:22:21 2019 |
committer | Commit Bot <commit-bot@chromium.org> | Thu Feb 14 22:22:21 2019 |
tree | 0a064636ae695d64d9e47e1180096d05735657d0 | |
parent | f3118cfa05bc59bc7cbbb27bf840e7e4a676df3a [diff] |
chrome/browser: Replace some forward declarations with actual includes This fixes the GCC build which was failing like this: ../../base/scoped_observer.h: In instantiation of ‘void ScopedObserver<Source, Observer>::RemoveAll() [with Source = TabStripModel; Observer = TabStripModelObserver]’: ../../base/scoped_observer.h:26:5: required from ‘ScopedObserver<Source, Observer>::~ScopedObserver() [with Source = TabStripModel; Observer = TabStripModelObserver]’ ../../chrome/browser/ui/views/extensions/extension_popup.h:115:70: required from here ../../base/scoped_observer.h:45:20: error: invalid use of incomplete type ‘class TabStripModel’ sources_[i]->RemoveObserver(observer_); ~~~~~~~~~~~~~^~~~~~~~~~~~~~ This is caused by https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89311 ("Brace initialization needlessly invokes destructor"), i.e. having something like ScopedObserver<T, U> observer_{this}; in a header declaration requires T and U to be fully declared because ScopedObserver's destructor references them. In a few cases, T was only forward-declared. Bug: 819294 Change-Id: Ie5b9dc2745e27d4532c5539e3845a8c9147a0595 Reviewed-on: https://chromium-review.googlesource.com/c/1472576 Auto-Submit: Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com> Commit-Queue: Alan Cutter <alancutter@chromium.org> Reviewed-by: Finnur Thorarinsson <finnur@chromium.org> Reviewed-by: Alan Cutter <alancutter@chromium.org> Cr-Commit-Position: refs/heads/master@{#632385}
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 .