Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 /* | 1 /* |
| 2 * Copyright (C) 2007 Apple Inc. All rights reserved. | 2 * Copyright (C) 2007 Apple Inc. All rights reserved. |
| 3 * Copyright (C) 2012 Google Inc. All rights reserved. | 3 * Copyright (C) 2012 Google Inc. All rights reserved. |
| 4 * | 4 * |
| 5 * Redistribution and use in source and binary forms, with or without | 5 * Redistribution and use in source and binary forms, with or without |
| 6 * modification, are permitted provided that the following conditions | 6 * modification, are permitted provided that the following conditions |
| 7 * are met: | 7 * are met: |
| 8 * | 8 * |
| 9 * 1. Redistributions of source code must retain the above copyright | 9 * 1. Redistributions of source code must retain the above copyright |
| 10 * notice, this list of conditions and the following disclaimer. | 10 * notice, this list of conditions and the following disclaimer. |
| (...skipping 180 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 191 var nodeToRemove = node; | 191 var nodeToRemove = node; |
| 192 node = node.nextSibling; | 192 node = node.nextSibling; |
| 193 nodeToRemove.remove(); | 193 nodeToRemove.remove(); |
| 194 } | 194 } |
| 195 } | 195 } |
| 196 | 196 |
| 197 /** | 197 /** |
| 198 * @constructor | 198 * @constructor |
| 199 * @param {number} width | 199 * @param {number} width |
| 200 * @param {number} height | 200 * @param {number} height |
| 201 * @param {number=} preferredWidth | |
| 202 * @param {number=} preferredHeight | |
| 201 */ | 203 */ |
| 202 function Size(width, height) | 204 function Size(width, height, preferredWidth, preferredHeight) |
|
vsevik
2014/03/28 16:13:26
I don't think we should merge them, it's confusing
dgozman
2014/03/28 18:05:02
Created a Constraints object.
| |
| 203 { | 205 { |
| 204 this.width = width; | 206 this.width = width; |
| 205 this.height = height; | 207 this.height = height; |
| 208 this.preferredWidth = preferredWidth; | |
| 209 if (typeof preferredWidth === "undefined") | |
| 210 this.preferredWidth = width; | |
| 211 this.preferredHeight = preferredHeight; | |
| 212 if (typeof preferredHeight === "undefined") | |
| 213 this.preferredHeight = height; | |
| 206 } | 214 } |
| 207 | 215 |
| 208 /** | 216 /** |
| 209 * @param {?Size} size | 217 * @param {?Size} size |
| 210 * @return {boolean} | 218 * @return {boolean} |
| 211 */ | 219 */ |
| 212 Size.prototype.isEqual = function(size) | 220 Size.prototype.isEqual = function(size) |
| 213 { | 221 { |
| 214 return !!size && this.width === size.width && this.height === size.height; | 222 return !!size && this.width === size.width && this.height === size.height && this.preferredWidth == size.preferredWidth && this.preferredHeight == size.pref erredHeight; |
| 215 }; | 223 }; |
| 216 | 224 |
| 217 /** | 225 /** |
| 226 * @return {!Size} | |
| 227 */ | |
| 228 Size.prototype.widthToMax = function(size) | |
|
vsevik
2014/03/28 16:13:26
Size.prototype.constrainWidth = function(minWidth,
dgozman
2014/03/28 18:05:02
But I need a Size with width to be a maximum of tw
vsevik
2014/03/28 18:24:50
size.widthToMax(new Size(w, 0)) would be equivalen
| |
| 229 { | |
| 230 return new Size(Math.max(this.width, size.width), this.height, Math.max(this .preferredWidth, size.preferredWidth), this.preferredHeight); | |
| 231 }; | |
| 232 | |
| 233 /** | |
| 234 * @return {!Size} | |
| 235 */ | |
| 236 Size.prototype.addWidth = function(size) | |
|
vsevik
2014/03/28 16:13:26
Size.prototype.addWidth = function(width)
| |
| 237 { | |
| 238 return new Size(this.width + size.width, this.height, this.preferredWidth + size.preferredWidth, this.preferredHeight); | |
| 239 }; | |
| 240 | |
| 241 /** | |
| 242 * @return {!Size} | |
| 243 */ | |
| 244 Size.prototype.heightToMax = function(size) | |
| 245 { | |
| 246 return new Size(this.width, Math.max(this.height, size.height), this.preferr edWidth, Math.max(this.preferredHeight, size.preferredHeight)); | |
| 247 }; | |
| 248 | |
| 249 /** | |
| 250 * @return {!Size} | |
| 251 */ | |
| 252 Size.prototype.addHeight = function(size) | |
| 253 { | |
| 254 return new Size(this.width, this.height + size.height, this.preferredWidth, this.preferredHeight + size.preferredHeight); | |
| 255 }; | |
| 256 | |
| 257 /** | |
| 218 * @param {?Element=} containerElement | 258 * @param {?Element=} containerElement |
| 219 * @return {!Size} | 259 * @return {!Size} |
| 220 */ | 260 */ |
| 221 Element.prototype.measurePreferredSize = function(containerElement) | 261 Element.prototype.measurePreferredSize = function(containerElement) |
| 222 { | 262 { |
| 223 containerElement = containerElement || document.body; | 263 containerElement = containerElement || document.body; |
| 224 containerElement.appendChild(this); | 264 containerElement.appendChild(this); |
| 225 this.positionAt(0, 0); | 265 this.positionAt(0, 0); |
| 226 var result = new Size(this.offsetWidth, this.offsetHeight); | 266 var result = new Size(this.offsetWidth, this.offsetHeight); |
| 227 this.positionAt(undefined, undefined); | 267 this.positionAt(undefined, undefined); |
| (...skipping 366 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 594 */ | 634 */ |
| 595 function isEnterKey(event) { | 635 function isEnterKey(event) { |
| 596 // Check if in IME. | 636 // Check if in IME. |
| 597 return event.keyCode !== 229 && event.keyIdentifier === "Enter"; | 637 return event.keyCode !== 229 && event.keyIdentifier === "Enter"; |
| 598 } | 638 } |
| 599 | 639 |
| 600 function consumeEvent(e) | 640 function consumeEvent(e) |
| 601 { | 641 { |
| 602 e.consume(); | 642 e.consume(); |
| 603 } | 643 } |
| OLD | NEW |