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

Side by Side Diff: chrome/browser/resources/shared/js/cr/ui/position_util.js

Issue 3315005: NTP: Adds a context menu to the apps section... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 10 years, 3 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « chrome/browser/resources/shared/js/cr/ui/command.js ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 /** 5 /**
6 * @fileoverview This file provides utility functions for position popups. 6 * @fileoverview This file provides utility functions for position popups.
7 */ 7 */
8 8
9 cr.define('cr.ui', function() { 9 cr.define('cr.ui', function() {
10 10
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
50 }; 50 };
51 51
52 /** 52 /**
53 * Helper function for positionPopupAroundElement and positionPopupAroundRect. 53 * Helper function for positionPopupAroundElement and positionPopupAroundRect.
54 * @param {!Rect} anchorRect The rect for the anchor. 54 * @param {!Rect} anchorRect The rect for the anchor.
55 * @param {!HTMLElement} popupElement The element used for the popup. 55 * @param {!HTMLElement} popupElement The element used for the popup.
56 * @param {AnchorType} type The type of anchoring to do. 56 * @param {AnchorType} type The type of anchoring to do.
57 */ 57 */
58 function positionPopupAroundRect(anchorRect, popupElement, type) { 58 function positionPopupAroundRect(anchorRect, popupElement, type) {
59 var popupRect = popupElement.getBoundingClientRect(); 59 var popupRect = popupElement.getBoundingClientRect();
60 var popupContainer = popupElement.offsetParent; 60 var popupContainer;
61 var cs = popupElement.ownerDocument.defaultView.
62 getComputedStyle(popupElement);
63 if (cs.position == 'fixed')
64 popupContainer = popupElement.ownerDocument.body;
65 else
66 popupContainer = popupElement.offsetParent;
61 var availRect = popupContainer.getBoundingClientRect(); 67 var availRect = popupContainer.getBoundingClientRect();
62 var rtl = popupElement.ownerDocument.defaultView. 68 var rtl = cs.direction == 'rtl';
63 getComputedStyle(popupElement).direction == 'rtl';
64 69
65 // Flip BEFORE, AFTER based on RTL. 70 // Flip BEFORE, AFTER based on RTL.
66 if (rtl) { 71 if (rtl) {
67 if (type == AnchorType.BEFORE) 72 if (type == AnchorType.BEFORE)
68 type = AnchorType.AFTER; 73 type = AnchorType.AFTER;
69 else if (type == AnchorType.AFTER) 74 else if (type == AnchorType.AFTER)
70 type = AnchorType.BEFORE; 75 type = AnchorType.BEFORE;
71 } 76 }
72 77
73 // Flip type based on available size 78 // Flip type based on available size
(...skipping 140 matching lines...) Expand 10 before | Expand all | Expand 10 after
214 positionPopupAroundRect(rect, popupElement, AnchorType.BELOW); 219 positionPopupAroundRect(rect, popupElement, AnchorType.BELOW);
215 } 220 }
216 221
217 // Export 222 // Export
218 return { 223 return {
219 AnchorType: AnchorType, 224 AnchorType: AnchorType,
220 positionPopupAroundElement: positionPopupAroundElement, 225 positionPopupAroundElement: positionPopupAroundElement,
221 positionPopupAtPoint: positionPopupAtPoint 226 positionPopupAtPoint: positionPopupAtPoint
222 }; 227 };
223 }); 228 });
OLDNEW
« no previous file with comments | « chrome/browser/resources/shared/js/cr/ui/command.js ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698