OLD | NEW |
1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2006-2008 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 #include <vector> | 5 #include <vector> |
6 | 6 |
7 #include "chrome/browser/window_sizer.h" | 7 #include "chrome/browser/window_sizer.h" |
8 #include "base/logging.h" | 8 #include "base/logging.h" |
9 #include "testing/gtest/include/gtest/gtest.h" | 9 #include "testing/gtest/include/gtest/gtest.h" |
10 | 10 |
(...skipping 234 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
245 GetWindowBounds(nineteentwenty, nineteentwenty, gfx::Rect(), gfx::Rect(), | 245 GetWindowBounds(nineteentwenty, nineteentwenty, gfx::Rect(), gfx::Rect(), |
246 false, DEFAULT, &window_bounds, &maximized); | 246 false, DEFAULT, &window_bounds, &maximized); |
247 EXPECT_FALSE(maximized); | 247 EXPECT_FALSE(maximized); |
248 EXPECT_EQ(gfx::Rect(10, 10, 930, 1180), window_bounds); | 248 EXPECT_EQ(gfx::Rect(10, 10, 930, 1180), window_bounds); |
249 } | 249 } |
250 } | 250 } |
251 | 251 |
252 // Test that the next opened window is positioned appropriately given the | 252 // Test that the next opened window is positioned appropriately given the |
253 // bounds of an existing window of the same type. | 253 // bounds of an existing window of the same type. |
254 TEST(WindowSizerTest, LastWindowBoundsCase) { | 254 TEST(WindowSizerTest, LastWindowBoundsCase) { |
255 | |
256 { // normal, in the middle of the screen somewhere. | 255 { // normal, in the middle of the screen somewhere. |
257 gfx::Rect window_bounds; | 256 gfx::Rect window_bounds; |
258 bool maximized = false; | 257 bool maximized = false; |
259 GetWindowBounds(tentwentyfour, tentwentyfour, gfx::Rect(), | 258 GetWindowBounds(tentwentyfour, tentwentyfour, gfx::Rect(), |
260 gfx::Rect(10, 10, 500, 400), false, LAST_ACTIVE, | 259 gfx::Rect(10, 10, 500, 400), false, LAST_ACTIVE, |
261 &window_bounds, &maximized); | 260 &window_bounds, &maximized); |
262 EXPECT_FALSE(maximized); | 261 EXPECT_FALSE(maximized); |
263 EXPECT_EQ(gfx::Rect(20, 20, 500, 400), window_bounds); | 262 EXPECT_EQ(gfx::Rect(20, 20, 500, 400), window_bounds); |
264 } | 263 } |
265 | 264 |
| 265 { // too small to satisify the minimum visibility condition. |
| 266 gfx::Rect window_bounds; |
| 267 bool maximized = false; |
| 268 GetWindowBounds(tentwentyfour, tentwentyfour, gfx::Rect(), |
| 269 gfx::Rect(10, 10, 29, 29), false, LAST_ACTIVE, |
| 270 &window_bounds, &maximized); |
| 271 EXPECT_FALSE(maximized); |
| 272 EXPECT_EQ(gfx::Rect(20, 20, 30 /* not 29 */, 30 /* not 29 */), |
| 273 window_bounds); |
| 274 } |
| 275 |
| 276 |
266 { // normal, but maximized | 277 { // normal, but maximized |
267 gfx::Rect window_bounds; | 278 gfx::Rect window_bounds; |
268 bool maximized = false; | 279 bool maximized = false; |
269 GetWindowBounds(tentwentyfour, tentwentyfour, gfx::Rect(), | 280 GetWindowBounds(tentwentyfour, tentwentyfour, gfx::Rect(), |
270 gfx::Rect(10, 10, 500, 400), true, LAST_ACTIVE, | 281 gfx::Rect(10, 10, 500, 400), true, LAST_ACTIVE, |
271 &window_bounds, &maximized); | 282 &window_bounds, &maximized); |
272 EXPECT_FALSE(maximized); | 283 EXPECT_FALSE(maximized); |
273 EXPECT_EQ(gfx::Rect(20, 20, 500, 400), window_bounds); | 284 EXPECT_EQ(gfx::Rect(20, 20, 500, 400), window_bounds); |
274 } | 285 } |
275 | 286 |
276 { // offset would put the new window offscreen at the bottom | 287 { // offset would put the new window offscreen at the bottom but the minimum |
| 288 // visibility condition is barely satisfied without relocation. |
277 gfx::Rect window_bounds; | 289 gfx::Rect window_bounds; |
278 bool maximized = false; | 290 bool maximized = false; |
279 GetWindowBounds(tentwentyfour, tentwentyfour, gfx::Rect(), | 291 GetWindowBounds(tentwentyfour, tentwentyfour, gfx::Rect(), |
280 gfx::Rect(10, 360, 500, 400), false, LAST_ACTIVE, | 292 gfx::Rect(10, 728, 500, 400), false, LAST_ACTIVE, |
281 &window_bounds, &maximized); | 293 &window_bounds, &maximized); |
282 EXPECT_FALSE(maximized); | 294 EXPECT_FALSE(maximized); |
283 EXPECT_EQ(gfx::Rect(20, 358, 500, 400), window_bounds); | 295 EXPECT_EQ(gfx::Rect(20, 738, 500, 400), window_bounds); |
284 } | 296 } |
285 | 297 |
286 { // offset would put the new window offscreen at the right | 298 { // offset would put the new window offscreen at the bottom and the minimum |
| 299 // visibility condition is satisified by relocation. |
287 gfx::Rect window_bounds; | 300 gfx::Rect window_bounds; |
288 bool maximized = false; | 301 bool maximized = false; |
289 GetWindowBounds(tentwentyfour, tentwentyfour, gfx::Rect(), | 302 GetWindowBounds(tentwentyfour, tentwentyfour, gfx::Rect(), |
290 gfx::Rect(520, 10, 500, 400), false, LAST_ACTIVE, | 303 gfx::Rect(10, 729, 500, 400), false, LAST_ACTIVE, |
291 &window_bounds, &maximized); | 304 &window_bounds, &maximized); |
292 EXPECT_FALSE(maximized); | 305 EXPECT_FALSE(maximized); |
293 EXPECT_EQ(gfx::Rect(514, 20, 500, 400), window_bounds); | 306 EXPECT_EQ(gfx::Rect(20, 738 /* not 739 */, 500, 400), window_bounds); |
294 } | 307 } |
295 | 308 |
296 { // offset would put the new window offscreen at the bottom right | 309 { // offset would put the new window offscreen at the right but the minimum |
| 310 // visibility condition is barely satisfied without relocation. |
297 gfx::Rect window_bounds; | 311 gfx::Rect window_bounds; |
298 bool maximized = false; | 312 bool maximized = false; |
299 GetWindowBounds(tentwentyfour, tentwentyfour, gfx::Rect(), | 313 GetWindowBounds(tentwentyfour, tentwentyfour, gfx::Rect(), |
300 gfx::Rect(520, 360, 500, 400), false, LAST_ACTIVE, | 314 gfx::Rect(984, 10, 500, 400), false, LAST_ACTIVE, |
301 &window_bounds, &maximized); | 315 &window_bounds, &maximized); |
302 EXPECT_FALSE(maximized); | 316 EXPECT_FALSE(maximized); |
303 EXPECT_EQ(gfx::Rect(514, 358, 500, 400), window_bounds); | 317 EXPECT_EQ(gfx::Rect(994, 20, 500, 400), window_bounds); |
| 318 } |
| 319 |
| 320 { // offset would put the new window offscreen at the right and the minimum |
| 321 // visibility condition is satisified by relocation. |
| 322 gfx::Rect window_bounds; |
| 323 bool maximized = false; |
| 324 GetWindowBounds(tentwentyfour, tentwentyfour, gfx::Rect(), |
| 325 gfx::Rect(985, 10, 500, 400), false, LAST_ACTIVE, |
| 326 &window_bounds, &maximized); |
| 327 EXPECT_FALSE(maximized); |
| 328 EXPECT_EQ(gfx::Rect(994 /* not 995 */, 20, 500, 400), window_bounds); |
| 329 } |
| 330 |
| 331 { // offset would put the new window offscreen at the bottom right and the |
| 332 // minimum visibility condition is satisified by relocation. |
| 333 gfx::Rect window_bounds; |
| 334 bool maximized = false; |
| 335 GetWindowBounds(tentwentyfour, tentwentyfour, gfx::Rect(), |
| 336 gfx::Rect(985, 729, 500, 400), false, LAST_ACTIVE, |
| 337 &window_bounds, &maximized); |
| 338 EXPECT_FALSE(maximized); |
| 339 EXPECT_EQ(gfx::Rect(994 /* not 995 */, 738 /* not 739 */, 500, 400), |
| 340 window_bounds); |
304 } | 341 } |
305 } | 342 } |
306 | 343 |
307 // Test that the window opened is sized appropriately given persisted sizes. | 344 // Test that the window opened is sized appropriately given persisted sizes. |
308 TEST(WindowSizerTest, PersistedBoundsCase) { | 345 TEST(WindowSizerTest, PersistedBoundsCase) { |
309 | 346 |
310 { // normal, in the middle of the screen somewhere. | 347 { // normal, in the middle of the screen somewhere. |
311 gfx::Rect initial_bounds(10, 10, 500, 400); | 348 gfx::Rect initial_bounds(10, 10, 500, 400); |
312 | 349 |
313 gfx::Rect window_bounds; | 350 gfx::Rect window_bounds; |
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
346 | 383 |
347 gfx::Rect window_bounds; | 384 gfx::Rect window_bounds; |
348 bool maximized; | 385 bool maximized; |
349 GetWindowBounds(tentwentyfour, tentwentyfour, left_nonprimary, | 386 GetWindowBounds(tentwentyfour, tentwentyfour, left_nonprimary, |
350 initial_bounds, true, PERSISTED, &window_bounds, | 387 initial_bounds, true, PERSISTED, &window_bounds, |
351 &maximized); | 388 &maximized); |
352 EXPECT_TRUE(maximized); | 389 EXPECT_TRUE(maximized); |
353 EXPECT_EQ(initial_bounds, window_bounds); | 390 EXPECT_EQ(initial_bounds, window_bounds); |
354 } | 391 } |
355 | 392 |
356 { // a little off the left | 393 { // off the left but the minimum visibility condition is barely satisfied |
| 394 // without relocaiton. |
| 395 gfx::Rect initial_bounds(-470, 50, 500, 400); |
| 396 |
357 gfx::Rect window_bounds; | 397 gfx::Rect window_bounds; |
358 bool maximized; | 398 bool maximized; |
359 GetWindowBounds(tentwentyfour, tentwentyfour, gfx::Rect(), | 399 GetWindowBounds(tentwentyfour, tentwentyfour, gfx::Rect(), |
360 gfx::Rect(-10, 50, 500, 400), false, PERSISTED, | 400 initial_bounds, false, PERSISTED, |
361 &window_bounds, &maximized); | 401 &window_bounds, &maximized); |
362 EXPECT_FALSE(maximized); | 402 EXPECT_FALSE(maximized); |
363 EXPECT_EQ(gfx::Rect(10, 50, 500, 400), window_bounds); | |
364 } | |
365 | |
366 { // a little off the top | |
367 gfx::Rect window_bounds; | |
368 bool maximized; | |
369 GetWindowBounds(tentwentyfour, tentwentyfour, gfx::Rect(), | |
370 gfx::Rect(50, -10, 500, 400), false, PERSISTED, | |
371 &window_bounds, &maximized); | |
372 EXPECT_FALSE(maximized); | |
373 EXPECT_EQ(gfx::Rect(50, 10, 500, 400), window_bounds); | |
374 } | |
375 | |
376 { // a little off the right | |
377 gfx::Rect window_bounds; | |
378 bool maximized; | |
379 GetWindowBounds(tentwentyfour, tentwentyfour, gfx::Rect(), | |
380 gfx::Rect(534, 50, 500, 400), false, PERSISTED, | |
381 &window_bounds, &maximized); | |
382 EXPECT_FALSE(maximized); | |
383 EXPECT_EQ(gfx::Rect(514, 50, 500, 400), window_bounds); | |
384 } | |
385 | |
386 { // a little off the bottom | |
387 gfx::Rect window_bounds; | |
388 bool maximized; | |
389 GetWindowBounds(tentwentyfour, tentwentyfour, gfx::Rect(), | |
390 gfx::Rect(50, 378, 500, 400), false, PERSISTED, | |
391 &window_bounds, &maximized); | |
392 EXPECT_FALSE(maximized); | |
393 EXPECT_EQ(gfx::Rect(50, 358, 500, 400), window_bounds); | |
394 } | |
395 | |
396 { // a little off the topleft | |
397 gfx::Rect window_bounds; | |
398 bool maximized; | |
399 GetWindowBounds(tentwentyfour, tentwentyfour, gfx::Rect(), | |
400 gfx::Rect(-10, -10, 500, 400), false, PERSISTED, | |
401 &window_bounds, &maximized); | |
402 EXPECT_FALSE(maximized); | |
403 EXPECT_EQ(gfx::Rect(10, 10, 500, 400), window_bounds); | |
404 } | |
405 | |
406 { // a little off the topright | |
407 gfx::Rect window_bounds; | |
408 bool maximized; | |
409 GetWindowBounds(tentwentyfour, tentwentyfour, gfx::Rect(), | |
410 gfx::Rect(534, -10, 500, 400), false, PERSISTED, | |
411 &window_bounds, &maximized); | |
412 EXPECT_FALSE(maximized); | |
413 EXPECT_EQ(gfx::Rect(514, 10, 500, 400), window_bounds); | |
414 } | |
415 | |
416 { // a little off the bottomleft | |
417 gfx::Rect window_bounds; | |
418 bool maximized; | |
419 GetWindowBounds(tentwentyfour, tentwentyfour, gfx::Rect(), | |
420 gfx::Rect(-10, 378, 500, 400), false, PERSISTED, | |
421 &window_bounds, &maximized); | |
422 EXPECT_FALSE(maximized); | |
423 EXPECT_EQ(gfx::Rect(10, 358, 500, 400), window_bounds); | |
424 } | |
425 | |
426 { // a little off the bottomright | |
427 gfx::Rect window_bounds; | |
428 bool maximized; | |
429 GetWindowBounds(tentwentyfour, tentwentyfour, gfx::Rect(), | |
430 gfx::Rect(534, 378, 500, 400), false, PERSISTED, | |
431 &window_bounds, &maximized); | |
432 EXPECT_FALSE(maximized); | |
433 EXPECT_EQ(gfx::Rect(514, 358, 500, 400), window_bounds); | |
434 } | |
435 | |
436 { // split across two, bias right | |
437 gfx::Rect initial_bounds(-50, 50, 500, 400); | |
438 gfx::Rect window_bounds; | |
439 bool maximized; | |
440 GetWindowBounds(tentwentyfour, tentwentyfour, left_nonprimary, | |
441 initial_bounds, false, PERSISTED, &window_bounds, | |
442 &maximized); | |
443 EXPECT_FALSE(maximized); | |
444 EXPECT_EQ(initial_bounds, window_bounds); | |
445 | |
446 initial_bounds.Offset(tentwentyfour.width(), 0); | |
447 GetWindowBounds(tentwentyfour, tentwentyfour, right_nonprimary, | |
448 initial_bounds, false, PERSISTED, &window_bounds, | |
449 &maximized); | |
450 EXPECT_FALSE(maximized); | |
451 EXPECT_EQ(initial_bounds, window_bounds); | 403 EXPECT_EQ(initial_bounds, window_bounds); |
452 } | 404 } |
453 | 405 |
454 { // split across two, bias left | 406 { // off the left and the minimum visibility condition is satisfied by |
455 gfx::Rect initial_bounds(-450, 50, 500, 400); | 407 // relocation. |
456 gfx::Rect window_bounds; | 408 gfx::Rect window_bounds; |
457 bool maximized; | 409 bool maximized; |
458 GetWindowBounds(tentwentyfour, tentwentyfour, left_nonprimary, | 410 GetWindowBounds(tentwentyfour, tentwentyfour, gfx::Rect(), |
459 initial_bounds, false, PERSISTED, &window_bounds, | 411 gfx::Rect(-471, 50, 500, 400), false, PERSISTED, |
460 &maximized); | 412 &window_bounds, &maximized); |
461 EXPECT_FALSE(maximized); | 413 EXPECT_FALSE(maximized); |
462 EXPECT_EQ(initial_bounds, window_bounds); | 414 EXPECT_EQ(gfx::Rect(-470 /* not -471 */, 50, 500, 400), window_bounds); |
| 415 } |
463 | 416 |
464 initial_bounds.Offset(tentwentyfour.width(), 0); | 417 { // off the top but the minimum visibility condition is barely satisified |
465 GetWindowBounds(tentwentyfour, tentwentyfour, right_nonprimary, | 418 // without relocation. |
466 initial_bounds, false, PERSISTED, &window_bounds, | 419 gfx::Rect initial_bounds(50, -370, 500, 400); |
467 &maximized); | 420 |
| 421 gfx::Rect window_bounds; |
| 422 bool maximized; |
| 423 GetWindowBounds(tentwentyfour, tentwentyfour, gfx::Rect(), |
| 424 initial_bounds, false, PERSISTED, |
| 425 &window_bounds, &maximized); |
468 EXPECT_FALSE(maximized); | 426 EXPECT_FALSE(maximized); |
469 EXPECT_EQ(initial_bounds, window_bounds); | 427 EXPECT_EQ(initial_bounds, window_bounds); |
470 } | 428 } |
471 | 429 |
472 { // split across two, a little off left | 430 { // off the top and the minimum visibility condition is satisified by |
| 431 // relocation. |
473 gfx::Rect window_bounds; | 432 gfx::Rect window_bounds; |
474 bool maximized; | 433 bool maximized; |
475 GetWindowBounds(tentwentyfour, tentwentyfour, top_nonprimary, | 434 GetWindowBounds(tentwentyfour, tentwentyfour, gfx::Rect(), |
476 gfx::Rect(-50, -50, 500, 400), false, PERSISTED, | 435 gfx::Rect(50, -371, 500, 400), false, PERSISTED, |
477 &window_bounds, &maximized); | 436 &window_bounds, &maximized); |
478 EXPECT_FALSE(maximized); | 437 EXPECT_FALSE(maximized); |
479 EXPECT_EQ(gfx::Rect(10, -50, 500, 400), window_bounds); | 438 EXPECT_EQ(gfx::Rect(50, -370 /* not -371 */, 500, 400), window_bounds); |
480 } | 439 } |
481 | 440 |
482 { // split across two, a little off right | 441 { // off the right but the minimum visibility condition is barely satisified |
| 442 // without relocation. |
| 443 gfx::Rect initial_bounds(994, 50, 500, 400); |
| 444 |
483 gfx::Rect window_bounds; | 445 gfx::Rect window_bounds; |
484 bool maximized; | 446 bool maximized; |
485 GetWindowBounds(tentwentyfour, tentwentyfour, top_nonprimary, | 447 GetWindowBounds(tentwentyfour, tentwentyfour, gfx::Rect(), |
486 gfx::Rect(534, -50, 500, 400), false, PERSISTED, | 448 initial_bounds, false, PERSISTED, |
487 &window_bounds, &maximized); | 449 &window_bounds, &maximized); |
488 EXPECT_FALSE(maximized); | 450 EXPECT_FALSE(maximized); |
489 EXPECT_EQ(gfx::Rect(514, -50, 500, 400), window_bounds); | 451 EXPECT_EQ(initial_bounds, window_bounds); |
490 } | 452 } |
491 | 453 |
492 { // split across two, a little off top | 454 { // off the right and the minimum visibility condition is satisified by |
| 455 // relocation. |
493 gfx::Rect window_bounds; | 456 gfx::Rect window_bounds; |
494 bool maximized; | 457 bool maximized; |
495 GetWindowBounds(tentwentyfour, tentwentyfour, left_nonprimary, | 458 GetWindowBounds(tentwentyfour, tentwentyfour, gfx::Rect(), |
496 gfx::Rect(-50, -50, 500, 400), false, PERSISTED, | 459 gfx::Rect(995, 50, 500, 400), false, PERSISTED, |
497 &window_bounds, &maximized); | 460 &window_bounds, &maximized); |
498 EXPECT_FALSE(maximized); | 461 EXPECT_FALSE(maximized); |
499 EXPECT_EQ(gfx::Rect(-50, 10, 500, 400), window_bounds); | 462 EXPECT_EQ(gfx::Rect(994 /* not 995 */, 50, 500, 400), window_bounds); |
500 } | 463 } |
501 | 464 |
502 { // split across two, a little off bottom | 465 { // off the bottom but the minimum visibility condition is barely satisified |
| 466 // without relocation. |
| 467 gfx::Rect initial_bounds(50, 738, 500, 400); |
| 468 |
503 gfx::Rect window_bounds; | 469 gfx::Rect window_bounds; |
504 bool maximized; | 470 bool maximized; |
505 GetWindowBounds(tentwentyfour, tentwentyfour, left_nonprimary, | 471 GetWindowBounds(tentwentyfour, tentwentyfour, gfx::Rect(), |
506 gfx::Rect(-50, 378, 500, 400), false, PERSISTED, | 472 initial_bounds, false, PERSISTED, |
507 &window_bounds, &maximized); | 473 &window_bounds, &maximized); |
508 EXPECT_FALSE(maximized); | 474 EXPECT_FALSE(maximized); |
509 EXPECT_EQ(gfx::Rect(-50, 358, 500, 400), window_bounds); | 475 EXPECT_EQ(initial_bounds, window_bounds); |
| 476 } |
| 477 |
| 478 { // off the bottom and the minimum visibility condition is satisified by |
| 479 // relocation. |
| 480 gfx::Rect window_bounds; |
| 481 bool maximized; |
| 482 GetWindowBounds(tentwentyfour, tentwentyfour, gfx::Rect(), |
| 483 gfx::Rect(50, 739, 500, 400), false, PERSISTED, |
| 484 &window_bounds, &maximized); |
| 485 EXPECT_FALSE(maximized); |
| 486 EXPECT_EQ(gfx::Rect(50, 738 /* not 739 */, 500, 400), window_bounds); |
| 487 } |
| 488 |
| 489 { // off the topleft and the minimum visibility condition is satisified by |
| 490 // relocation. |
| 491 gfx::Rect window_bounds; |
| 492 bool maximized; |
| 493 GetWindowBounds(tentwentyfour, tentwentyfour, gfx::Rect(), |
| 494 gfx::Rect(-471, -371, 500, 400), false, PERSISTED, |
| 495 &window_bounds, &maximized); |
| 496 EXPECT_FALSE(maximized); |
| 497 EXPECT_EQ(gfx::Rect(-470 /* not -471 */, -370 /* not -371 */, 500, 400), |
| 498 window_bounds); |
| 499 } |
| 500 |
| 501 { // off the topright and the minimum visibility condition is satisified by |
| 502 // relocation. |
| 503 gfx::Rect window_bounds; |
| 504 bool maximized; |
| 505 GetWindowBounds(tentwentyfour, tentwentyfour, gfx::Rect(), |
| 506 gfx::Rect(995, -371, 500, 400), false, PERSISTED, |
| 507 &window_bounds, &maximized); |
| 508 EXPECT_FALSE(maximized); |
| 509 EXPECT_EQ(gfx::Rect(994 /* not 995 */, -370 /* not -371 */, 500, 400), |
| 510 window_bounds); |
| 511 } |
| 512 |
| 513 { // off the bottomleft and the minimum visibility condition is satisified by |
| 514 // relocation. |
| 515 gfx::Rect window_bounds; |
| 516 bool maximized; |
| 517 GetWindowBounds(tentwentyfour, tentwentyfour, gfx::Rect(), |
| 518 gfx::Rect(-471, 739, 500, 400), false, PERSISTED, |
| 519 &window_bounds, &maximized); |
| 520 EXPECT_FALSE(maximized); |
| 521 EXPECT_EQ(gfx::Rect(-470 /* not -471 */, 738 /* not 739 */, 500, 400), |
| 522 window_bounds); |
| 523 } |
| 524 |
| 525 { // off the bottomright and the minimum visibility condition is satisified by |
| 526 // relocation. |
| 527 gfx::Rect window_bounds; |
| 528 bool maximized; |
| 529 GetWindowBounds(tentwentyfour, tentwentyfour, gfx::Rect(), |
| 530 gfx::Rect(995, 739, 500, 400), false, PERSISTED, |
| 531 &window_bounds, &maximized); |
| 532 EXPECT_FALSE(maximized); |
| 533 EXPECT_EQ(gfx::Rect(994 /* not 995 */, 738 /* not 739 */, 500, 400), |
| 534 window_bounds); |
510 } | 535 } |
511 | 536 |
512 { // entirely off left (monitor was detached since last run) | 537 { // entirely off left (monitor was detached since last run) |
513 gfx::Rect window_bounds; | 538 gfx::Rect window_bounds; |
514 bool maximized; | 539 bool maximized; |
515 GetWindowBounds(tentwentyfour, tentwentyfour, gfx::Rect(), | 540 GetWindowBounds(tentwentyfour, tentwentyfour, gfx::Rect(), |
516 gfx::Rect(-700, 50, 500, 400), false, PERSISTED, | 541 gfx::Rect(-700, 50, 500, 400), false, PERSISTED, |
517 &window_bounds, &maximized); | 542 &window_bounds, &maximized); |
518 EXPECT_FALSE(maximized); | 543 EXPECT_FALSE(maximized); |
519 EXPECT_EQ(gfx::Rect(10, 50, 500, 400), window_bounds); | 544 EXPECT_EQ(gfx::Rect(-470 /* not -700 */, 50, 500, 400), window_bounds); |
520 } | 545 } |
521 | 546 |
522 { // entirely off top (monitor was detached since last run) | 547 { // entirely off top (monitor was detached since last run) |
523 gfx::Rect window_bounds; | 548 gfx::Rect window_bounds; |
524 bool maximized; | 549 bool maximized; |
525 GetWindowBounds(tentwentyfour, tentwentyfour, gfx::Rect(), | 550 GetWindowBounds(tentwentyfour, tentwentyfour, gfx::Rect(), |
526 gfx::Rect(50, -500, 500, 400), false, PERSISTED, | 551 gfx::Rect(50, -500, 500, 400), false, PERSISTED, |
527 &window_bounds, &maximized); | 552 &window_bounds, &maximized); |
528 EXPECT_FALSE(maximized); | 553 EXPECT_FALSE(maximized); |
529 EXPECT_EQ(gfx::Rect(50, 10, 500, 400), window_bounds); | 554 EXPECT_EQ(gfx::Rect(50, -370 /* not -500 */, 500, 400), window_bounds); |
530 } | 555 } |
531 | 556 |
532 { // entirely off right (monitor was detached since last run) | 557 { // entirely off right (monitor was detached since last run) |
533 gfx::Rect window_bounds; | 558 gfx::Rect window_bounds; |
534 bool maximized; | 559 bool maximized; |
535 GetWindowBounds(tentwentyfour, tentwentyfour, gfx::Rect(), | 560 GetWindowBounds(tentwentyfour, tentwentyfour, gfx::Rect(), |
536 gfx::Rect(1200, 50, 500, 400), false, PERSISTED, | 561 gfx::Rect(1200, 50, 500, 400), false, PERSISTED, |
537 &window_bounds, &maximized); | 562 &window_bounds, &maximized); |
538 EXPECT_FALSE(maximized); | 563 EXPECT_FALSE(maximized); |
539 EXPECT_EQ(gfx::Rect(514, 50, 500, 400), window_bounds); | 564 EXPECT_EQ(gfx::Rect(994 /* not 1200 */, 50, 500, 400), window_bounds); |
540 } | 565 } |
541 | 566 |
542 { // entirely off bottom (monitor was detached since last run) | 567 { // entirely off bottom (monitor was detached since last run) |
543 gfx::Rect window_bounds; | 568 gfx::Rect window_bounds; |
544 bool maximized; | 569 bool maximized; |
545 GetWindowBounds(tentwentyfour, tentwentyfour, gfx::Rect(), | 570 GetWindowBounds(tentwentyfour, tentwentyfour, gfx::Rect(), |
546 gfx::Rect(50, 800, 500, 400), false, PERSISTED, | 571 gfx::Rect(50, 800, 500, 400), false, PERSISTED, |
547 &window_bounds, &maximized); | 572 &window_bounds, &maximized); |
548 EXPECT_FALSE(maximized); | 573 EXPECT_FALSE(maximized); |
549 EXPECT_EQ(gfx::Rect(50, 358, 500, 400), window_bounds); | 574 EXPECT_EQ(gfx::Rect(50, 738 /* not 800 */, 500, 400), window_bounds); |
550 } | 575 } |
551 | 576 |
552 { // width and height too large (monitor screen resolution changed since last | 577 { // width and height too small |
553 // run) | |
554 gfx::Rect window_bounds; | 578 gfx::Rect window_bounds; |
555 bool maximized; | 579 bool maximized; |
556 GetWindowBounds(tentwentyfour, tentwentyfour, gfx::Rect(), | 580 GetWindowBounds(tentwentyfour, tentwentyfour, gfx::Rect(), |
557 gfx::Rect(10, 10, 1200, 900), false, PERSISTED, | 581 gfx::Rect(10, 10, 29, 29), false, PERSISTED, |
558 &window_bounds, &maximized); | 582 &window_bounds, &maximized); |
559 EXPECT_FALSE(maximized); | 583 EXPECT_FALSE(maximized); |
560 EXPECT_EQ(gfx::Rect(10, 10, 1004, 748), window_bounds); | 584 EXPECT_EQ(gfx::Rect(10, 10, 30 /* not 29 */, 30 /* not 29 */), |
561 } | 585 window_bounds); |
562 | |
563 { // Handles taskbar offset on the top. | |
564 gfx::Rect initial_bounds(10, 10, 500, 400); | |
565 | |
566 gfx::Rect window_bounds; | |
567 bool maximized; | |
568 GetWindowBounds(tentwentyfour, taskbar_top_work_area, gfx::Rect(), | |
569 initial_bounds, false, PERSISTED, &window_bounds, | |
570 &maximized); | |
571 EXPECT_FALSE(maximized); | |
572 initial_bounds.Offset(taskbar_top_work_area.x(), taskbar_top_work_area.y()); | |
573 EXPECT_EQ(initial_bounds, window_bounds); | |
574 } | |
575 | |
576 { // Handles taskbar offset on the left. | |
577 gfx::Rect initial_bounds(10, 10, 500, 400); | |
578 | |
579 gfx::Rect window_bounds; | |
580 bool maximized; | |
581 GetWindowBounds(tentwentyfour, taskbar_left_work_area, gfx::Rect(), | |
582 initial_bounds, false, PERSISTED, &window_bounds, | |
583 &maximized); | |
584 EXPECT_FALSE(maximized); | |
585 initial_bounds.Offset(taskbar_left_work_area.x(), | |
586 taskbar_left_work_area.y()); | |
587 EXPECT_EQ(initial_bounds, window_bounds); | |
588 } | 586 } |
589 } | 587 } |
OLD | NEW |