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

Unified Diff: chrome/browser/ui/cocoa/autofill/autofill_layout.h

Issue 15645004: [rAC] Allow sub-views to trigger layout reflow. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Address review issues. Created 7 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
Index: chrome/browser/ui/cocoa/autofill/autofill_layout.h
diff --git a/chrome/browser/ui/cocoa/autofill/autofill_layout.h b/chrome/browser/ui/cocoa/autofill/autofill_layout.h
new file mode 100644
index 0000000000000000000000000000000000000000..70a4fc62d41b2a77614fc3b11214e9391efc99db
--- /dev/null
+++ b/chrome/browser/ui/cocoa/autofill/autofill_layout.h
@@ -0,0 +1,33 @@
+// Copyright (c) 2013 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef CHROME_BROWSER_UI_COCOA_AUTOFILL_AUTOFILL_LAYOUT_H_
+#define CHROME_BROWSER_UI_COCOA_AUTOFILL_AUTOFILL_LAYOUT_H_
+
+#import <Cocoa/Cocoa.h>
+
+// Defines a protocol that allows resizing a view hierarchy based on the size
+// requirements of the subviews. Is implemented by either views or view
+// controllers.
+// The way this works together is:
+// * Subview indicates by calling -requestRelayout on the window controller.
+// * Window controller queries subviews for preferredSize to determine the
+// total size of the contentView, adjusts subview origins appropriately,
+// and calls performLayout on each subview.
+// * Subviews then recursively do the same thing.
+@protocol AutofillLayout
+
+// Query the preferred size, without actually layouting.
+// Akin to -intrinsicContentSize on 10.7
+- (NSSize)preferredSize;
+
+// Layout the content according to the preferred size. Will not touch
+// frameOrigin. If all objects in the hierarchy were custom views (and not
+// view controllers), this could be replaced by overriding
+// -resizeSubviewsWithOldSize:.
+- (void)performLayout;
+
+@end
+
+#endif // CHROME_BROWSER_UI_COCOA_AUTOFILL_AUTOFILL_LAYOUT_H_
« no previous file with comments | « chrome/browser/ui/cocoa/autofill/autofill_dialog_cocoa.mm ('k') | chrome/browser/ui/cocoa/autofill/autofill_main_container.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698