| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 "chrome/browser/rlz/rlz.h" | 5 #include "chrome/browser/rlz/rlz.h" |
| 6 | 6 |
| 7 #include "base/files/scoped_temp_dir.h" | 7 #include "base/files/scoped_temp_dir.h" |
| 8 #include "base/memory/scoped_ptr.h" | 8 #include "base/memory/scoped_ptr.h" |
| 9 #include "base/message_loop.h" | 9 #include "base/message_loop.h" |
| 10 #include "base/path_service.h" | 10 #include "base/path_service.h" |
| (...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 110 | 110 |
| 111 bool was_ping_sent_for_brand(const std::string& brand) const { | 111 bool was_ping_sent_for_brand(const std::string& brand) const { |
| 112 return pinged_brands_.count(brand) > 0; | 112 return pinged_brands_.count(brand) > 0; |
| 113 } | 113 } |
| 114 | 114 |
| 115 void set_assume_not_ui_thread(bool assume_not_ui_thread) { | 115 void set_assume_not_ui_thread(bool assume_not_ui_thread) { |
| 116 assume_not_ui_thread_ = assume_not_ui_thread; | 116 assume_not_ui_thread_ = assume_not_ui_thread; |
| 117 } | 117 } |
| 118 | 118 |
| 119 private: | 119 private: |
| 120 virtual void ScheduleDelayedInit(int delay) OVERRIDE { | 120 virtual void ScheduleDelayedInit(base::TimeDelta delay) OVERRIDE { |
| 121 // If the delay is 0, invoke the delayed init now. Otherwise, | 121 // If the delay is 0, invoke the delayed init now. Otherwise, |
| 122 // don't schedule anything, it will be manually called during tests. | 122 // don't schedule anything, it will be manually called during tests. |
| 123 if (delay == 0) | 123 if (delay == base::TimeDelta()) |
| 124 DelayedInit(); | 124 DelayedInit(); |
| 125 } | 125 } |
| 126 | 126 |
| 127 virtual void ScheduleFinancialPing() OVERRIDE { | 127 virtual void ScheduleFinancialPing() OVERRIDE { |
| 128 PingNowImpl(); | 128 PingNowImpl(); |
| 129 } | 129 } |
| 130 | 130 |
| 131 virtual bool ScheduleRecordProductEvent(rlz_lib::Product product, | 131 virtual bool ScheduleRecordProductEvent(rlz_lib::Product product, |
| 132 rlz_lib::AccessPoint point, | 132 rlz_lib::AccessPoint point, |
| 133 rlz_lib::Event event_id) OVERRIDE { | 133 rlz_lib::Event event_id) OVERRIDE { |
| (...skipping 241 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 375 #elif defined(OS_CHROMEOS) | 375 #elif defined(OS_CHROMEOS) |
| 376 const char kOmniboxInstall[] = "CAI"; | 376 const char kOmniboxInstall[] = "CAI"; |
| 377 const char kOmniboxSetToGoogle[] = "CAS"; | 377 const char kOmniboxSetToGoogle[] = "CAS"; |
| 378 const char kOmniboxFirstSearch[] = "CAF"; | 378 const char kOmniboxFirstSearch[] = "CAF"; |
| 379 | 379 |
| 380 const char kHomepageInstall[] = "CBI"; | 380 const char kHomepageInstall[] = "CBI"; |
| 381 const char kHomepageSetToGoogle[] = "CBS"; | 381 const char kHomepageSetToGoogle[] = "CBS"; |
| 382 const char kHomepageFirstSeach[] = "CBF"; | 382 const char kHomepageFirstSeach[] = "CBF"; |
| 383 #endif | 383 #endif |
| 384 | 384 |
| 385 const base::TimeDelta kDelay = base::TimeDelta::FromMilliseconds(20); |
| 386 |
| 385 TEST_F(RlzLibTest, RecordProductEvent) { | 387 TEST_F(RlzLibTest, RecordProductEvent) { |
| 386 RLZTracker::RecordProductEvent(rlz_lib::CHROME, RLZTracker::CHROME_OMNIBOX, | 388 RLZTracker::RecordProductEvent(rlz_lib::CHROME, RLZTracker::CHROME_OMNIBOX, |
| 387 rlz_lib::FIRST_SEARCH); | 389 rlz_lib::FIRST_SEARCH); |
| 388 | 390 |
| 389 ExpectEventRecorded(kOmniboxFirstSearch, true); | 391 ExpectEventRecorded(kOmniboxFirstSearch, true); |
| 390 } | 392 } |
| 391 | 393 |
| 392 TEST_F(RlzLibTest, QuickStopAfterStart) { | 394 TEST_F(RlzLibTest, QuickStopAfterStart) { |
| 393 TestRLZTracker::InitRlzDelayed(true, 20, true, true, true); | 395 TestRLZTracker::InitRlzDelayed(true, false, kDelay, true, true, true); |
| 394 | 396 |
| 395 // Omnibox events. | 397 // Omnibox events. |
| 396 ExpectEventRecorded(kOmniboxInstall, false); | 398 ExpectEventRecorded(kOmniboxInstall, false); |
| 397 ExpectEventRecorded(kOmniboxSetToGoogle, false); | 399 ExpectEventRecorded(kOmniboxSetToGoogle, false); |
| 398 ExpectEventRecorded(kOmniboxFirstSearch, false); | 400 ExpectEventRecorded(kOmniboxFirstSearch, false); |
| 399 | 401 |
| 400 // Home page events. | 402 // Home page events. |
| 401 ExpectEventRecorded(kHomepageInstall, false); | 403 ExpectEventRecorded(kHomepageInstall, false); |
| 402 ExpectEventRecorded(kHomepageSetToGoogle, false); | 404 ExpectEventRecorded(kHomepageSetToGoogle, false); |
| 403 ExpectEventRecorded(kHomepageFirstSeach, false); | 405 ExpectEventRecorded(kHomepageFirstSeach, false); |
| 404 | 406 |
| 405 ExpectRlzPingSent(false); | 407 ExpectRlzPingSent(false); |
| 406 } | 408 } |
| 407 | 409 |
| 408 TEST_F(RlzLibTest, DelayedInitOnly) { | 410 TEST_F(RlzLibTest, DelayedInitOnly) { |
| 409 TestRLZTracker::InitRlzDelayed(true, 20, true, true, false); | 411 TestRLZTracker::InitRlzDelayed(true, false, kDelay, true, true, false); |
| 410 InvokeDelayedInit(); | 412 InvokeDelayedInit(); |
| 411 | 413 |
| 412 // Omnibox events. | 414 // Omnibox events. |
| 413 ExpectEventRecorded(kOmniboxInstall, true); | 415 ExpectEventRecorded(kOmniboxInstall, true); |
| 414 ExpectEventRecorded(kOmniboxSetToGoogle, true); | 416 ExpectEventRecorded(kOmniboxSetToGoogle, true); |
| 415 ExpectEventRecorded(kOmniboxFirstSearch, false); | 417 ExpectEventRecorded(kOmniboxFirstSearch, false); |
| 416 | 418 |
| 417 // Home page events. | 419 // Home page events. |
| 418 ExpectEventRecorded(kHomepageInstall, true); | 420 ExpectEventRecorded(kHomepageInstall, true); |
| 419 ExpectEventRecorded(kHomepageSetToGoogle, true); | 421 ExpectEventRecorded(kHomepageSetToGoogle, true); |
| 420 ExpectEventRecorded(kHomepageFirstSeach, false); | 422 ExpectEventRecorded(kHomepageFirstSeach, false); |
| 421 | 423 |
| 422 ExpectRlzPingSent(true); | 424 ExpectRlzPingSent(true); |
| 423 } | 425 } |
| 424 | 426 |
| 425 TEST_F(RlzLibTest, DelayedInitOnlyGoogleAsStartup) { | 427 TEST_F(RlzLibTest, DelayedInitOnlyGoogleAsStartup) { |
| 426 TestRLZTracker::InitRlzDelayed(true, 20, false, false, true); | 428 TestRLZTracker::InitRlzDelayed(true, false, kDelay, false, false, true); |
| 427 InvokeDelayedInit(); | 429 InvokeDelayedInit(); |
| 428 | 430 |
| 429 // Omnibox events. | 431 // Omnibox events. |
| 430 ExpectEventRecorded(kOmniboxInstall, true); | 432 ExpectEventRecorded(kOmniboxInstall, true); |
| 431 ExpectEventRecorded(kOmniboxSetToGoogle, false); | 433 ExpectEventRecorded(kOmniboxSetToGoogle, false); |
| 432 ExpectEventRecorded(kOmniboxFirstSearch, false); | 434 ExpectEventRecorded(kOmniboxFirstSearch, false); |
| 433 | 435 |
| 434 // Home page events. | 436 // Home page events. |
| 435 ExpectEventRecorded(kHomepageInstall, true); | 437 ExpectEventRecorded(kHomepageInstall, true); |
| 436 ExpectEventRecorded(kHomepageSetToGoogle, true); | 438 ExpectEventRecorded(kHomepageSetToGoogle, true); |
| 437 ExpectEventRecorded(kHomepageFirstSeach, true); | 439 ExpectEventRecorded(kHomepageFirstSeach, true); |
| 438 | 440 |
| 439 ExpectRlzPingSent(true); | 441 ExpectRlzPingSent(true); |
| 440 } | 442 } |
| 441 | 443 |
| 442 TEST_F(RlzLibTest, DelayedInitOnlyNoFirstRunNoRlzStrings) { | 444 TEST_F(RlzLibTest, DelayedInitOnlyNoFirstRunNoRlzStrings) { |
| 443 TestRLZTracker::InitRlzDelayed(false, 20, true, true, false); | 445 TestRLZTracker::InitRlzDelayed(false, false, kDelay, true, true, false); |
| 444 InvokeDelayedInit(); | 446 InvokeDelayedInit(); |
| 445 | 447 |
| 446 // Omnibox events. | 448 // Omnibox events. |
| 447 ExpectEventRecorded(kOmniboxInstall, true); | 449 ExpectEventRecorded(kOmniboxInstall, true); |
| 448 ExpectEventRecorded(kOmniboxSetToGoogle, true); | 450 ExpectEventRecorded(kOmniboxSetToGoogle, true); |
| 449 ExpectEventRecorded(kOmniboxFirstSearch, false); | 451 ExpectEventRecorded(kOmniboxFirstSearch, false); |
| 450 | 452 |
| 451 // Home page events. | 453 // Home page events. |
| 452 ExpectEventRecorded(kHomepageInstall, true); | 454 ExpectEventRecorded(kHomepageInstall, true); |
| 453 ExpectEventRecorded(kHomepageSetToGoogle, true); | 455 ExpectEventRecorded(kHomepageSetToGoogle, true); |
| 454 ExpectEventRecorded(kHomepageFirstSeach, false); | 456 ExpectEventRecorded(kHomepageFirstSeach, false); |
| 455 | 457 |
| 456 ExpectRlzPingSent(true); | 458 ExpectRlzPingSent(true); |
| 457 } | 459 } |
| 458 | 460 |
| 459 TEST_F(RlzLibTest, DelayedInitOnlyNoFirstRunNoRlzStringsGoogleAsStartup) { | 461 TEST_F(RlzLibTest, DelayedInitOnlyNoFirstRunNoRlzStringsGoogleAsStartup) { |
| 460 TestRLZTracker::InitRlzDelayed(false, 20, false, false, true); | 462 TestRLZTracker::InitRlzDelayed(false, false, kDelay, false, false, true); |
| 461 InvokeDelayedInit(); | 463 InvokeDelayedInit(); |
| 462 | 464 |
| 463 // Omnibox events. | 465 // Omnibox events. |
| 464 ExpectEventRecorded(kOmniboxInstall, true); | 466 ExpectEventRecorded(kOmniboxInstall, true); |
| 465 ExpectEventRecorded(kOmniboxSetToGoogle, false); | 467 ExpectEventRecorded(kOmniboxSetToGoogle, false); |
| 466 ExpectEventRecorded(kOmniboxFirstSearch, false); | 468 ExpectEventRecorded(kOmniboxFirstSearch, false); |
| 467 | 469 |
| 468 // Home page events. | 470 // Home page events. |
| 469 ExpectEventRecorded(kHomepageInstall, true); | 471 ExpectEventRecorded(kHomepageInstall, true); |
| 470 ExpectEventRecorded(kHomepageSetToGoogle, true); | 472 ExpectEventRecorded(kHomepageSetToGoogle, true); |
| 471 ExpectEventRecorded(kHomepageFirstSeach, true); | 473 ExpectEventRecorded(kHomepageFirstSeach, true); |
| 472 | 474 |
| 473 ExpectRlzPingSent(true); | 475 ExpectRlzPingSent(true); |
| 474 } | 476 } |
| 475 | 477 |
| 476 TEST_F(RlzLibTest, DelayedInitOnlyNoFirstRun) { | 478 TEST_F(RlzLibTest, DelayedInitOnlyNoFirstRun) { |
| 477 // Set some dummy RLZ strings to simulate that we already ran before and | 479 // Set some dummy RLZ strings to simulate that we already ran before and |
| 478 // performed a successful ping to the RLZ server. | 480 // performed a successful ping to the RLZ server. |
| 479 rlz_lib::SetAccessPointRlz(RLZTracker::CHROME_OMNIBOX, kOmniboxRlzString); | 481 rlz_lib::SetAccessPointRlz(RLZTracker::CHROME_OMNIBOX, kOmniboxRlzString); |
| 480 rlz_lib::SetAccessPointRlz(RLZTracker::CHROME_HOME_PAGE, kHomepageRlzString); | 482 rlz_lib::SetAccessPointRlz(RLZTracker::CHROME_HOME_PAGE, kHomepageRlzString); |
| 481 | 483 |
| 482 TestRLZTracker::InitRlzDelayed(false, 20, true, true, true); | 484 TestRLZTracker::InitRlzDelayed(false, false, kDelay, true, true, true); |
| 483 InvokeDelayedInit(); | 485 InvokeDelayedInit(); |
| 484 | 486 |
| 485 // Omnibox events. | 487 // Omnibox events. |
| 486 ExpectEventRecorded(kOmniboxInstall, true); | 488 ExpectEventRecorded(kOmniboxInstall, true); |
| 487 ExpectEventRecorded(kOmniboxSetToGoogle, false); | 489 ExpectEventRecorded(kOmniboxSetToGoogle, false); |
| 488 ExpectEventRecorded(kOmniboxFirstSearch, false); | 490 ExpectEventRecorded(kOmniboxFirstSearch, false); |
| 489 | 491 |
| 490 // Home page events. | 492 // Home page events. |
| 491 ExpectEventRecorded(kHomepageInstall, true); | 493 ExpectEventRecorded(kHomepageInstall, true); |
| 492 ExpectEventRecorded(kHomepageSetToGoogle, false); | 494 ExpectEventRecorded(kHomepageSetToGoogle, false); |
| 493 ExpectEventRecorded(kHomepageFirstSeach, true); | 495 ExpectEventRecorded(kHomepageFirstSeach, true); |
| 494 | 496 |
| 495 ExpectRlzPingSent(true); | 497 ExpectRlzPingSent(true); |
| 496 } | 498 } |
| 497 | 499 |
| 498 TEST_F(RlzLibTest, DelayedInitOnlyNoGoogleDefaultSearchOrHomepageOrStartup) { | 500 TEST_F(RlzLibTest, DelayedInitOnlyNoGoogleDefaultSearchOrHomepageOrStartup) { |
| 499 TestRLZTracker::InitRlzDelayed(true, 20, false, false, false); | 501 TestRLZTracker::InitRlzDelayed(true, false, kDelay, false, false, false); |
| 500 InvokeDelayedInit(); | 502 InvokeDelayedInit(); |
| 501 | 503 |
| 502 // Omnibox events. | 504 // Omnibox events. |
| 503 ExpectEventRecorded(kOmniboxInstall, true); | 505 ExpectEventRecorded(kOmniboxInstall, true); |
| 504 ExpectEventRecorded(kOmniboxSetToGoogle, false); | 506 ExpectEventRecorded(kOmniboxSetToGoogle, false); |
| 505 ExpectEventRecorded(kOmniboxFirstSearch, false); | 507 ExpectEventRecorded(kOmniboxFirstSearch, false); |
| 506 | 508 |
| 507 // Home page events. | 509 // Home page events. |
| 508 ExpectEventRecorded(kHomepageInstall, true); | 510 ExpectEventRecorded(kHomepageInstall, true); |
| 509 ExpectEventRecorded(kHomepageSetToGoogle, false); | 511 ExpectEventRecorded(kHomepageSetToGoogle, false); |
| 510 ExpectEventRecorded(kHomepageFirstSeach, false); | 512 ExpectEventRecorded(kHomepageFirstSeach, false); |
| 511 | 513 |
| 512 ExpectRlzPingSent(true); | 514 ExpectRlzPingSent(true); |
| 513 } | 515 } |
| 514 | 516 |
| 515 TEST_F(RlzLibTest, OmniboxUsageOnly) { | 517 TEST_F(RlzLibTest, OmniboxUsageOnly) { |
| 516 TestRLZTracker::InitRlzDelayed(true, 20, true, true, false); | 518 TestRLZTracker::InitRlzDelayed(true, false, kDelay, true, true, false); |
| 517 SimulateOmniboxUsage(); | 519 SimulateOmniboxUsage(); |
| 518 | 520 |
| 519 // Omnibox events. | 521 // Omnibox events. |
| 520 ExpectEventRecorded(kOmniboxInstall, false); | 522 ExpectEventRecorded(kOmniboxInstall, false); |
| 521 ExpectEventRecorded(kOmniboxSetToGoogle, false); | 523 ExpectEventRecorded(kOmniboxSetToGoogle, false); |
| 522 ExpectEventRecorded(kOmniboxFirstSearch, true); | 524 ExpectEventRecorded(kOmniboxFirstSearch, true); |
| 523 | 525 |
| 524 // Home page events. | 526 // Home page events. |
| 525 ExpectEventRecorded(kHomepageInstall, false); | 527 ExpectEventRecorded(kHomepageInstall, false); |
| 526 ExpectEventRecorded(kHomepageSetToGoogle, false); | 528 ExpectEventRecorded(kHomepageSetToGoogle, false); |
| 527 ExpectEventRecorded(kHomepageFirstSeach, false); | 529 ExpectEventRecorded(kHomepageFirstSeach, false); |
| 528 | 530 |
| 529 ExpectRlzPingSent(false); | 531 ExpectRlzPingSent(false); |
| 530 } | 532 } |
| 531 | 533 |
| 532 TEST_F(RlzLibTest, HomepageUsageOnly) { | 534 TEST_F(RlzLibTest, HomepageUsageOnly) { |
| 533 TestRLZTracker::InitRlzDelayed(true, 20, true, true, false); | 535 TestRLZTracker::InitRlzDelayed(true, false, kDelay, true, true, false); |
| 534 SimulateHomepageUsage(); | 536 SimulateHomepageUsage(); |
| 535 | 537 |
| 536 // Omnibox events. | 538 // Omnibox events. |
| 537 ExpectEventRecorded(kOmniboxInstall, false); | 539 ExpectEventRecorded(kOmniboxInstall, false); |
| 538 ExpectEventRecorded(kOmniboxSetToGoogle, false); | 540 ExpectEventRecorded(kOmniboxSetToGoogle, false); |
| 539 ExpectEventRecorded(kOmniboxFirstSearch, false); | 541 ExpectEventRecorded(kOmniboxFirstSearch, false); |
| 540 | 542 |
| 541 // Home page events. | 543 // Home page events. |
| 542 ExpectEventRecorded(kHomepageInstall, false); | 544 ExpectEventRecorded(kHomepageInstall, false); |
| 543 ExpectEventRecorded(kHomepageSetToGoogle, false); | 545 ExpectEventRecorded(kHomepageSetToGoogle, false); |
| 544 ExpectEventRecorded(kHomepageFirstSeach, true); | 546 ExpectEventRecorded(kHomepageFirstSeach, true); |
| 545 | 547 |
| 546 ExpectRlzPingSent(false); | 548 ExpectRlzPingSent(false); |
| 547 } | 549 } |
| 548 | 550 |
| 549 TEST_F(RlzLibTest, UsageBeforeDelayedInit) { | 551 TEST_F(RlzLibTest, UsageBeforeDelayedInit) { |
| 550 TestRLZTracker::InitRlzDelayed(true, 20, true, true, false); | 552 TestRLZTracker::InitRlzDelayed(true, false, kDelay, true, true, false); |
| 551 SimulateOmniboxUsage(); | 553 SimulateOmniboxUsage(); |
| 552 SimulateHomepageUsage(); | 554 SimulateHomepageUsage(); |
| 553 InvokeDelayedInit(); | 555 InvokeDelayedInit(); |
| 554 | 556 |
| 555 // Omnibox events. | 557 // Omnibox events. |
| 556 ExpectEventRecorded(kOmniboxInstall, true); | 558 ExpectEventRecorded(kOmniboxInstall, true); |
| 557 ExpectEventRecorded(kOmniboxSetToGoogle, true); | 559 ExpectEventRecorded(kOmniboxSetToGoogle, true); |
| 558 ExpectEventRecorded(kOmniboxFirstSearch, true); | 560 ExpectEventRecorded(kOmniboxFirstSearch, true); |
| 559 | 561 |
| 560 // Home page events. | 562 // Home page events. |
| 561 ExpectEventRecorded(kHomepageInstall, true); | 563 ExpectEventRecorded(kHomepageInstall, true); |
| 562 ExpectEventRecorded(kHomepageSetToGoogle, true); | 564 ExpectEventRecorded(kHomepageSetToGoogle, true); |
| 563 ExpectEventRecorded(kHomepageFirstSeach, true); | 565 ExpectEventRecorded(kHomepageFirstSeach, true); |
| 564 | 566 |
| 565 ExpectRlzPingSent(true); | 567 ExpectRlzPingSent(true); |
| 566 } | 568 } |
| 567 | 569 |
| 568 TEST_F(RlzLibTest, OmniboxUsageAfterDelayedInit) { | 570 TEST_F(RlzLibTest, OmniboxUsageAfterDelayedInit) { |
| 569 TestRLZTracker::InitRlzDelayed(true, 20, true, true, false); | 571 TestRLZTracker::InitRlzDelayed(true, false, kDelay, true, true, false); |
| 570 InvokeDelayedInit(); | 572 InvokeDelayedInit(); |
| 571 SimulateOmniboxUsage(); | 573 SimulateOmniboxUsage(); |
| 572 SimulateHomepageUsage(); | 574 SimulateHomepageUsage(); |
| 573 | 575 |
| 574 // Omnibox events. | 576 // Omnibox events. |
| 575 ExpectEventRecorded(kOmniboxInstall, true); | 577 ExpectEventRecorded(kOmniboxInstall, true); |
| 576 ExpectEventRecorded(kOmniboxSetToGoogle, true); | 578 ExpectEventRecorded(kOmniboxSetToGoogle, true); |
| 577 ExpectEventRecorded(kOmniboxFirstSearch, true); | 579 ExpectEventRecorded(kOmniboxFirstSearch, true); |
| 578 | 580 |
| 579 // Home page events. | 581 // Home page events. |
| 580 ExpectEventRecorded(kHomepageInstall, true); | 582 ExpectEventRecorded(kHomepageInstall, true); |
| 581 ExpectEventRecorded(kHomepageSetToGoogle, true); | 583 ExpectEventRecorded(kHomepageSetToGoogle, true); |
| 582 ExpectEventRecorded(kHomepageFirstSeach, true); | 584 ExpectEventRecorded(kHomepageFirstSeach, true); |
| 583 | 585 |
| 584 ExpectRlzPingSent(true); | 586 ExpectRlzPingSent(true); |
| 585 } | 587 } |
| 586 | 588 |
| 587 TEST_F(RlzLibTest, OmniboxUsageSendsPingWhenDelayNegative) { | 589 TEST_F(RlzLibTest, OmniboxUsageSendsPingWhenSendPingImmediately) { |
| 588 TestRLZTracker::InitRlzDelayed(true, -20, true, true, false); | 590 TestRLZTracker::InitRlzDelayed(true, true, kDelay, true, true, false); |
| 589 SimulateOmniboxUsage(); | 591 SimulateOmniboxUsage(); |
| 590 | 592 |
| 591 // Omnibox events. | 593 // Omnibox events. |
| 592 ExpectEventRecorded(kOmniboxInstall, true); | 594 ExpectEventRecorded(kOmniboxInstall, true); |
| 593 ExpectEventRecorded(kOmniboxSetToGoogle, true); | 595 ExpectEventRecorded(kOmniboxSetToGoogle, true); |
| 594 ExpectEventRecorded(kOmniboxFirstSearch, true); | 596 ExpectEventRecorded(kOmniboxFirstSearch, true); |
| 595 | 597 |
| 596 // Home page events. | 598 // Home page events. |
| 597 ExpectEventRecorded(kHomepageInstall, true); | 599 ExpectEventRecorded(kHomepageInstall, true); |
| 598 ExpectEventRecorded(kHomepageSetToGoogle, true); | 600 ExpectEventRecorded(kHomepageSetToGoogle, true); |
| 599 ExpectEventRecorded(kHomepageFirstSeach, false); | 601 ExpectEventRecorded(kHomepageFirstSeach, false); |
| 600 | 602 |
| 601 ExpectRlzPingSent(true); | 603 ExpectRlzPingSent(true); |
| 602 } | 604 } |
| 603 | 605 |
| 604 TEST_F(RlzLibTest, HomepageUsageDoesNotSendPingWhenDelayNegative) { | 606 TEST_F(RlzLibTest, HomepageUsageDoesNotSendPingWhenSendPingImmediately) { |
| 605 TestRLZTracker::InitRlzDelayed(true, -20, true, true, false); | 607 TestRLZTracker::InitRlzDelayed(true, true, kDelay, true, true, false); |
| 606 SimulateHomepageUsage(); | 608 SimulateHomepageUsage(); |
| 607 | 609 |
| 608 // Omnibox events. | 610 // Omnibox events. |
| 609 ExpectEventRecorded(kOmniboxInstall, false); | 611 ExpectEventRecorded(kOmniboxInstall, false); |
| 610 ExpectEventRecorded(kOmniboxSetToGoogle, false); | 612 ExpectEventRecorded(kOmniboxSetToGoogle, false); |
| 611 ExpectEventRecorded(kOmniboxFirstSearch, false); | 613 ExpectEventRecorded(kOmniboxFirstSearch, false); |
| 612 | 614 |
| 613 // Home page events. | 615 // Home page events. |
| 614 ExpectEventRecorded(kHomepageInstall, false); | 616 ExpectEventRecorded(kHomepageInstall, false); |
| 615 ExpectEventRecorded(kHomepageSetToGoogle, false); | 617 ExpectEventRecorded(kHomepageSetToGoogle, false); |
| 616 ExpectEventRecorded(kHomepageFirstSeach, true); | 618 ExpectEventRecorded(kHomepageFirstSeach, true); |
| 617 | 619 |
| 618 ExpectRlzPingSent(false); | 620 ExpectRlzPingSent(false); |
| 619 } | 621 } |
| 620 | 622 |
| 621 TEST_F(RlzLibTest, StartupUsageDoesNotSendPingWhenDelayNegative) { | 623 TEST_F(RlzLibTest, StartupUsageDoesNotSendPingWhenSendPingImmediately) { |
| 622 TestRLZTracker::InitRlzDelayed(true, -20, true, false, true); | 624 TestRLZTracker::InitRlzDelayed(true, true, kDelay, true, false, true); |
| 623 SimulateHomepageUsage(); | 625 SimulateHomepageUsage(); |
| 624 | 626 |
| 625 // Omnibox events. | 627 // Omnibox events. |
| 626 ExpectEventRecorded(kOmniboxInstall, false); | 628 ExpectEventRecorded(kOmniboxInstall, false); |
| 627 ExpectEventRecorded(kOmniboxSetToGoogle, false); | 629 ExpectEventRecorded(kOmniboxSetToGoogle, false); |
| 628 ExpectEventRecorded(kOmniboxFirstSearch, false); | 630 ExpectEventRecorded(kOmniboxFirstSearch, false); |
| 629 | 631 |
| 630 // Home page events. | 632 // Home page events. |
| 631 ExpectEventRecorded(kHomepageInstall, false); | 633 ExpectEventRecorded(kHomepageInstall, false); |
| 632 ExpectEventRecorded(kHomepageSetToGoogle, false); | 634 ExpectEventRecorded(kHomepageSetToGoogle, false); |
| (...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 694 tracker_.set_assume_not_ui_thread(false); | 696 tracker_.set_assume_not_ui_thread(false); |
| 695 | 697 |
| 696 EXPECT_TRUE(RLZTracker::GetAccessPointRlz(RLZTracker::CHROME_OMNIBOX, &rlz)); | 698 EXPECT_TRUE(RLZTracker::GetAccessPointRlz(RLZTracker::CHROME_OMNIBOX, &rlz)); |
| 697 EXPECT_STREQ(kOmniboxRlzString, UTF16ToUTF8(rlz).c_str()); | 699 EXPECT_STREQ(kOmniboxRlzString, UTF16ToUTF8(rlz).c_str()); |
| 698 EXPECT_TRUE(RLZTracker::GetAccessPointRlz( | 700 EXPECT_TRUE(RLZTracker::GetAccessPointRlz( |
| 699 RLZTracker::CHROME_HOME_PAGE, &rlz)); | 701 RLZTracker::CHROME_HOME_PAGE, &rlz)); |
| 700 EXPECT_STREQ(kHomepageRlzString, UTF16ToUTF8(rlz).c_str()); | 702 EXPECT_STREQ(kHomepageRlzString, UTF16ToUTF8(rlz).c_str()); |
| 701 | 703 |
| 702 // Perform ping. | 704 // Perform ping. |
| 703 tracker_.set_assume_not_ui_thread(true); | 705 tracker_.set_assume_not_ui_thread(true); |
| 704 TestRLZTracker::InitRlzDelayed(true, 20, true, true, false); | 706 TestRLZTracker::InitRlzDelayed(true, false, kDelay, true, true, false); |
| 705 InvokeDelayedInit(); | 707 InvokeDelayedInit(); |
| 706 ExpectRlzPingSent(true); | 708 ExpectRlzPingSent(true); |
| 707 | 709 |
| 708 // Make sure cache is now updated. | 710 // Make sure cache is now updated. |
| 709 tracker_.set_assume_not_ui_thread(false); | 711 tracker_.set_assume_not_ui_thread(false); |
| 710 | 712 |
| 711 EXPECT_TRUE(RLZTracker::GetAccessPointRlz(RLZTracker::CHROME_OMNIBOX, &rlz)); | 713 EXPECT_TRUE(RLZTracker::GetAccessPointRlz(RLZTracker::CHROME_OMNIBOX, &rlz)); |
| 712 EXPECT_STREQ(kNewOmniboxRlzString, UTF16ToUTF8(rlz).c_str()); | 714 EXPECT_STREQ(kNewOmniboxRlzString, UTF16ToUTF8(rlz).c_str()); |
| 713 EXPECT_TRUE(RLZTracker::GetAccessPointRlz( | 715 EXPECT_TRUE(RLZTracker::GetAccessPointRlz( |
| 714 RLZTracker::CHROME_HOME_PAGE, &rlz)); | 716 RLZTracker::CHROME_HOME_PAGE, &rlz)); |
| (...skipping 10 matching lines...) Expand all Loading... |
| 725 tracker_.Observe(content::NOTIFICATION_NAV_ENTRY_PENDING, | 727 tracker_.Observe(content::NOTIFICATION_NAV_ENTRY_PENDING, |
| 726 content::NotificationService::AllSources(), | 728 content::NotificationService::AllSources(), |
| 727 content::Details<NavigationEntry>(entry.get())); | 729 content::Details<NavigationEntry>(entry.get())); |
| 728 } | 730 } |
| 729 | 731 |
| 730 // TODO(thakis): Reactivation doesn't exist on Mac yet. | 732 // TODO(thakis): Reactivation doesn't exist on Mac yet. |
| 731 #if defined(OS_WIN) | 733 #if defined(OS_WIN) |
| 732 TEST_F(RlzLibTest, ReactivationNonOrganicNonOrganic) { | 734 TEST_F(RlzLibTest, ReactivationNonOrganicNonOrganic) { |
| 733 SetReactivationBrand("REAC"); | 735 SetReactivationBrand("REAC"); |
| 734 | 736 |
| 735 TestRLZTracker::InitRlzDelayed(true, 20, true, true, false); | 737 TestRLZTracker::InitRlzDelayed(true, false, kDelay, true, true, false); |
| 736 InvokeDelayedInit(); | 738 InvokeDelayedInit(); |
| 737 | 739 |
| 738 ExpectRlzPingSent(true); | 740 ExpectRlzPingSent(true); |
| 739 ExpectReactivationRlzPingSent(true); | 741 ExpectReactivationRlzPingSent(true); |
| 740 } | 742 } |
| 741 | 743 |
| 742 TEST_F(RlzLibTest, ReactivationOrganicNonOrganic) { | 744 TEST_F(RlzLibTest, ReactivationOrganicNonOrganic) { |
| 743 SetMainBrand("GGLS"); | 745 SetMainBrand("GGLS"); |
| 744 SetReactivationBrand("REAC"); | 746 SetReactivationBrand("REAC"); |
| 745 | 747 |
| 746 TestRLZTracker::InitRlzDelayed(true, 20, true, true, false); | 748 TestRLZTracker::InitRlzDelayed(true, false, kDelay, true, true, false); |
| 747 InvokeDelayedInit(); | 749 InvokeDelayedInit(); |
| 748 | 750 |
| 749 ExpectRlzPingSent(false); | 751 ExpectRlzPingSent(false); |
| 750 ExpectReactivationRlzPingSent(true); | 752 ExpectReactivationRlzPingSent(true); |
| 751 } | 753 } |
| 752 | 754 |
| 753 TEST_F(RlzLibTest, ReactivationNonOrganicOrganic) { | 755 TEST_F(RlzLibTest, ReactivationNonOrganicOrganic) { |
| 754 SetMainBrand("TEST"); | 756 SetMainBrand("TEST"); |
| 755 SetReactivationBrand("GGLS"); | 757 SetReactivationBrand("GGLS"); |
| 756 | 758 |
| 757 TestRLZTracker::InitRlzDelayed(true, 20, true, true, false); | 759 TestRLZTracker::InitRlzDelayed(true, false, kDelay, true, true, false); |
| 758 InvokeDelayedInit(); | 760 InvokeDelayedInit(); |
| 759 | 761 |
| 760 ExpectRlzPingSent(true); | 762 ExpectRlzPingSent(true); |
| 761 ExpectReactivationRlzPingSent(false); | 763 ExpectReactivationRlzPingSent(false); |
| 762 } | 764 } |
| 763 | 765 |
| 764 TEST_F(RlzLibTest, ReactivationOrganicOrganic) { | 766 TEST_F(RlzLibTest, ReactivationOrganicOrganic) { |
| 765 SetMainBrand("GGLS"); | 767 SetMainBrand("GGLS"); |
| 766 SetReactivationBrand("GGRS"); | 768 SetReactivationBrand("GGRS"); |
| 767 | 769 |
| 768 TestRLZTracker::InitRlzDelayed(true, 20, true, true, false); | 770 TestRLZTracker::InitRlzDelayed(true, false, kDelay, true, true, false); |
| 769 InvokeDelayedInit(); | 771 InvokeDelayedInit(); |
| 770 | 772 |
| 771 ExpectRlzPingSent(false); | 773 ExpectRlzPingSent(false); |
| 772 ExpectReactivationRlzPingSent(false); | 774 ExpectReactivationRlzPingSent(false); |
| 773 } | 775 } |
| 774 #endif // defined(OS_WIN) | 776 #endif // defined(OS_WIN) |
| OLD | NEW |