Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(179)

Unified Diff: views/window/non_client_view.cc

Issue 6975037: Revert 85666 - Consolidate ShouldUseNativeFrame/AlwaysUseNativeFrame/UseNativeFrame spaghetti. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 9 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « views/window/non_client_view.h ('k') | views/window/window.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: views/window/non_client_view.cc
===================================================================
--- views/window/non_client_view.cc (revision 85701)
+++ views/window/non_client_view.cc (working copy)
@@ -66,6 +66,21 @@
frame_->UpdateFrameAfterFrameChange();
}
+bool NonClientView::UseNativeFrame() const {
+ if (frame_view_.get()) {
+ // The frame view may always require a native frame, e.g. popups on Vista+
+ // when themes are active.
+ if (frame_view_->AlwaysUseNativeFrame())
+ return true;
+
+ // The frame view may always require a custom frame, e.g. Constrained
+ // Windows.
+ if (frame_view_->AlwaysUseCustomFrame())
+ return false;
+ }
+ return frame_->ShouldUseNativeFrame();
+}
+
void NonClientView::DisableInactiveRendering(bool disable) {
frame_view_->DisableInactiveRendering(disable);
}
@@ -177,6 +192,14 @@
////////////////////////////////////////////////////////////////////////////////
// NonClientFrameView, View overrides:
+bool NonClientFrameView::AlwaysUseCustomFrame() const {
+ return false;
+}
+
+bool NonClientFrameView::AlwaysUseNativeFrame() const {
+ return false;
+}
+
bool NonClientFrameView::HitTest(const gfx::Point& l) const {
// For the default case, we assume the non-client frame view never overlaps
// the client view.
« no previous file with comments | « views/window/non_client_view.h ('k') | views/window/window.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698