Don't use anonymous namespace in header file.
Anonymous namespace should be forbidden in header files even for the forward declarations: * As declarations defined in anonymous namespace are internal linkage, each translation unit which includes this header will get unique copy, which wastes space. * It is easy to violate C++ ODR rule. Consider the following "foo.h": ```cpp namespace { class Foo; } class Bar { public: Foo* getFoo(); Foo* foo; } ``` If the 'foo.h' is included in multiple `.cc` files, the compiler will put `Foo` into a different anonymous namespace in each `.cc`, which means there are different definitions of `Foo` in the program (a violation of the ODR).
This commit is contained in:
parent
bd5c53c2f7
commit
ee1f3acf7b
2 changed files with 5 additions and 11 deletions
|
@ -178,7 +178,7 @@ void InspectableWebContentsViewViews::SetIsDocked(bool docked) {
|
|||
|
||||
views::Widget::InitParams params;
|
||||
params.ownership = views::Widget::InitParams::WIDGET_OWNS_NATIVE_WIDGET;
|
||||
params.delegate = GetDevToolsWindowDelegate();
|
||||
params.delegate = devtools_window_delegate_;
|
||||
params.bounds = inspectable_web_contents()->GetDevToolsBounds();
|
||||
|
||||
#if defined(USE_X11)
|
||||
|
@ -203,7 +203,8 @@ void InspectableWebContentsViewViews::SetContentsResizingStrategy(
|
|||
|
||||
void InspectableWebContentsViewViews::SetTitle(const base::string16& title) {
|
||||
if (devtools_window_) {
|
||||
GetDevToolsWindowDelegate()->SetWindowTitle(title);
|
||||
static_cast<DevToolsWindowDelegate*>(devtools_window_delegate_)
|
||||
->SetWindowTitle(title);
|
||||
devtools_window_->UpdateWindowTitle();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -10,14 +10,11 @@
|
|||
namespace views {
|
||||
class WebView;
|
||||
class Widget;
|
||||
class WidgetDelegate;
|
||||
}
|
||||
|
||||
namespace brightray {
|
||||
|
||||
namespace { // NOLINT
|
||||
class DevToolsWindowDelegate;
|
||||
}
|
||||
|
||||
class InspectableWebContentsImpl;
|
||||
|
||||
class InspectableWebContentsViewViews : public InspectableWebContentsView,
|
||||
|
@ -27,10 +24,6 @@ class InspectableWebContentsViewViews : public InspectableWebContentsView,
|
|||
InspectableWebContentsImpl* inspectable_web_contents_impl);
|
||||
~InspectableWebContentsViewViews();
|
||||
|
||||
DevToolsWindowDelegate* GetDevToolsWindowDelegate() const {
|
||||
return devtools_window_delegate_;
|
||||
}
|
||||
|
||||
// InspectableWebContentsView:
|
||||
views::View* GetView() override;
|
||||
views::View* GetWebView() override;
|
||||
|
@ -61,7 +54,7 @@ class InspectableWebContentsViewViews : public InspectableWebContentsView,
|
|||
|
||||
DevToolsContentsResizingStrategy strategy_;
|
||||
bool devtools_visible_;
|
||||
DevToolsWindowDelegate* devtools_window_delegate_;
|
||||
views::WidgetDelegate* devtools_window_delegate_;
|
||||
|
||||
DISALLOW_COPY_AND_ASSIGN(InspectableWebContentsViewViews);
|
||||
};
|
||||
|
|
Loading…
Add table
Reference in a new issue