| 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 247 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 381 #elif defined(OS_CHROMEOS) | 381 #elif defined(OS_CHROMEOS) |
| 382 const char kOmniboxInstall[] = "CAI"; | 382 const char kOmniboxInstall[] = "CAI"; |
| 383 const char kOmniboxSetToGoogle[] = "CAS"; | 383 const char kOmniboxSetToGoogle[] = "CAS"; |
| 384 const char kOmniboxFirstSearch[] = "CAF"; | 384 const char kOmniboxFirstSearch[] = "CAF"; |
| 385 | 385 |
| 386 const char kHomepageInstall[] = "CBI"; | 386 const char kHomepageInstall[] = "CBI"; |
| 387 const char kHomepageSetToGoogle[] = "CBS"; | 387 const char kHomepageSetToGoogle[] = "CBS"; |
| 388 const char kHomepageFirstSeach[] = "CBF"; | 388 const char kHomepageFirstSeach[] = "CBF"; |
| 389 #endif | 389 #endif |
| 390 | 390 |
| 391 const base::TimeDelta kDelay = base::TimeDelta::FromMilliseconds(20); |
| 392 |
| 391 TEST_F(RlzLibTest, RecordProductEvent) { | 393 TEST_F(RlzLibTest, RecordProductEvent) { |
| 392 RLZTracker::RecordProductEvent(rlz_lib::CHROME, RLZTracker::CHROME_OMNIBOX, | 394 RLZTracker::RecordProductEvent(rlz_lib::CHROME, RLZTracker::CHROME_OMNIBOX, |
| 393 rlz_lib::FIRST_SEARCH); | 395 rlz_lib::FIRST_SEARCH); |
| 394 | 396 |
| 395 ExpectEventRecorded(kOmniboxFirstSearch, true); | 397 ExpectEventRecorded(kOmniboxFirstSearch, true); |
| 396 } | 398 } |
| 397 | 399 |
| 398 TEST_F(RlzLibTest, QuickStopAfterStart) { | 400 TEST_F(RlzLibTest, QuickStopAfterStart) { |
| 399 TestRLZTracker::InitRlzDelayed(true, 20, true, true, true); | 401 TestRLZTracker::InitRlzDelayed(true, false, kDelay, true, true, true); |
| 400 | 402 |
| 401 // Omnibox events. | 403 // Omnibox events. |
| 402 ExpectEventRecorded(kOmniboxInstall, false); | 404 ExpectEventRecorded(kOmniboxInstall, false); |
| 403 ExpectEventRecorded(kOmniboxSetToGoogle, false); | 405 ExpectEventRecorded(kOmniboxSetToGoogle, false); |
| 404 ExpectEventRecorded(kOmniboxFirstSearch, false); | 406 ExpectEventRecorded(kOmniboxFirstSearch, false); |
| 405 | 407 |
| 406 // Home page events. | 408 // Home page events. |
| 407 ExpectEventRecorded(kHomepageInstall, false); | 409 ExpectEventRecorded(kHomepageInstall, false); |
| 408 ExpectEventRecorded(kHomepageSetToGoogle, false); | 410 ExpectEventRecorded(kHomepageSetToGoogle, false); |
| 409 ExpectEventRecorded(kHomepageFirstSeach, false); | 411 ExpectEventRecorded(kHomepageFirstSeach, false); |
| 410 | 412 |
| 411 ExpectRlzPingSent(false); | 413 ExpectRlzPingSent(false); |
| 412 } | 414 } |
| 413 | 415 |
| 414 TEST_F(RlzLibTest, DelayedInitOnly) { | 416 TEST_F(RlzLibTest, DelayedInitOnly) { |
| 415 TestRLZTracker::InitRlzDelayed(true, 20, true, true, false); | 417 TestRLZTracker::InitRlzDelayed(true, false, kDelay, true, true, false); |
| 416 InvokeDelayedInit(); | 418 InvokeDelayedInit(); |
| 417 | 419 |
| 418 // Omnibox events. | 420 // Omnibox events. |
| 419 ExpectEventRecorded(kOmniboxInstall, true); | 421 ExpectEventRecorded(kOmniboxInstall, true); |
| 420 ExpectEventRecorded(kOmniboxSetToGoogle, true); | 422 ExpectEventRecorded(kOmniboxSetToGoogle, true); |
| 421 ExpectEventRecorded(kOmniboxFirstSearch, false); | 423 ExpectEventRecorded(kOmniboxFirstSearch, false); |
| 422 | 424 |
| 423 // Home page events. | 425 // Home page events. |
| 424 ExpectEventRecorded(kHomepageInstall, true); | 426 ExpectEventRecorded(kHomepageInstall, true); |
| 425 ExpectEventRecorded(kHomepageSetToGoogle, true); | 427 ExpectEventRecorded(kHomepageSetToGoogle, true); |
| 426 ExpectEventRecorded(kHomepageFirstSeach, false); | 428 ExpectEventRecorded(kHomepageFirstSeach, false); |
| 427 | 429 |
| 428 ExpectRlzPingSent(true); | 430 ExpectRlzPingSent(true); |
| 429 } | 431 } |
| 430 | 432 |
| 431 TEST_F(RlzLibTest, DelayedInitOnlyGoogleAsStartup) { | 433 TEST_F(RlzLibTest, DelayedInitOnlyGoogleAsStartup) { |
| 432 TestRLZTracker::InitRlzDelayed(true, 20, false, false, true); | 434 TestRLZTracker::InitRlzDelayed(true, false, kDelay, false, false, true); |
| 433 InvokeDelayedInit(); | 435 InvokeDelayedInit(); |
| 434 | 436 |
| 435 // Omnibox events. | 437 // Omnibox events. |
| 436 ExpectEventRecorded(kOmniboxInstall, true); | 438 ExpectEventRecorded(kOmniboxInstall, true); |
| 437 ExpectEventRecorded(kOmniboxSetToGoogle, false); | 439 ExpectEventRecorded(kOmniboxSetToGoogle, false); |
| 438 ExpectEventRecorded(kOmniboxFirstSearch, false); | 440 ExpectEventRecorded(kOmniboxFirstSearch, false); |
| 439 | 441 |
| 440 // Home page events. | 442 // Home page events. |
| 441 ExpectEventRecorded(kHomepageInstall, true); | 443 ExpectEventRecorded(kHomepageInstall, true); |
| 442 ExpectEventRecorded(kHomepageSetToGoogle, true); | 444 ExpectEventRecorded(kHomepageSetToGoogle, true); |
| 443 ExpectEventRecorded(kHomepageFirstSeach, true); | 445 ExpectEventRecorded(kHomepageFirstSeach, true); |
| 444 | 446 |
| 445 ExpectRlzPingSent(true); | 447 ExpectRlzPingSent(true); |
| 446 } | 448 } |
| 447 | 449 |
| 448 TEST_F(RlzLibTest, DelayedInitOnlyNoFirstRunNoRlzStrings) { | 450 TEST_F(RlzLibTest, DelayedInitOnlyNoFirstRunNoRlzStrings) { |
| 449 TestRLZTracker::InitRlzDelayed(false, 20, true, true, false); | 451 TestRLZTracker::InitRlzDelayed(false, false, kDelay, true, true, false); |
| 450 InvokeDelayedInit(); | 452 InvokeDelayedInit(); |
| 451 | 453 |
| 452 // Omnibox events. | 454 // Omnibox events. |
| 453 ExpectEventRecorded(kOmniboxInstall, true); | 455 ExpectEventRecorded(kOmniboxInstall, true); |
| 454 ExpectEventRecorded(kOmniboxSetToGoogle, true); | 456 ExpectEventRecorded(kOmniboxSetToGoogle, true); |
| 455 ExpectEventRecorded(kOmniboxFirstSearch, false); | 457 ExpectEventRecorded(kOmniboxFirstSearch, false); |
| 456 | 458 |
| 457 // Home page events. | 459 // Home page events. |
| 458 ExpectEventRecorded(kHomepageInstall, true); | 460 ExpectEventRecorded(kHomepageInstall, true); |
| 459 ExpectEventRecorded(kHomepageSetToGoogle, true); | 461 ExpectEventRecorded(kHomepageSetToGoogle, true); |
| 460 ExpectEventRecorded(kHomepageFirstSeach, false); | 462 ExpectEventRecorded(kHomepageFirstSeach, false); |
| 461 | 463 |
| 462 ExpectRlzPingSent(true); | 464 ExpectRlzPingSent(true); |
| 463 } | 465 } |
| 464 | 466 |
| 465 TEST_F(RlzLibTest, DelayedInitOnlyNoFirstRunNoRlzStringsGoogleAsStartup) { | 467 TEST_F(RlzLibTest, DelayedInitOnlyNoFirstRunNoRlzStringsGoogleAsStartup) { |
| 466 TestRLZTracker::InitRlzDelayed(false, 20, false, false, true); | 468 TestRLZTracker::InitRlzDelayed(false, false, kDelay, false, false, true); |
| 467 InvokeDelayedInit(); | 469 InvokeDelayedInit(); |
| 468 | 470 |
| 469 // Omnibox events. | 471 // Omnibox events. |
| 470 ExpectEventRecorded(kOmniboxInstall, true); | 472 ExpectEventRecorded(kOmniboxInstall, true); |
| 471 ExpectEventRecorded(kOmniboxSetToGoogle, false); | 473 ExpectEventRecorded(kOmniboxSetToGoogle, false); |
| 472 ExpectEventRecorded(kOmniboxFirstSearch, false); | 474 ExpectEventRecorded(kOmniboxFirstSearch, false); |
| 473 | 475 |
| 474 // Home page events. | 476 // Home page events. |
| 475 ExpectEventRecorded(kHomepageInstall, true); | 477 ExpectEventRecorded(kHomepageInstall, true); |
| 476 ExpectEventRecorded(kHomepageSetToGoogle, true); | 478 ExpectEventRecorded(kHomepageSetToGoogle, true); |
| 477 ExpectEventRecorded(kHomepageFirstSeach, true); | 479 ExpectEventRecorded(kHomepageFirstSeach, true); |
| 478 | 480 |
| 479 ExpectRlzPingSent(true); | 481 ExpectRlzPingSent(true); |
| 480 } | 482 } |
| 481 | 483 |
| 482 TEST_F(RlzLibTest, DelayedInitOnlyNoFirstRun) { | 484 TEST_F(RlzLibTest, DelayedInitOnlyNoFirstRun) { |
| 483 // Set some dummy RLZ strings to simulate that we already ran before and | 485 // Set some dummy RLZ strings to simulate that we already ran before and |
| 484 // performed a successful ping to the RLZ server. | 486 // performed a successful ping to the RLZ server. |
| 485 rlz_lib::SetAccessPointRlz(RLZTracker::CHROME_OMNIBOX, kOmniboxRlzString); | 487 rlz_lib::SetAccessPointRlz(RLZTracker::CHROME_OMNIBOX, kOmniboxRlzString); |
| 486 rlz_lib::SetAccessPointRlz(RLZTracker::CHROME_HOME_PAGE, kHomepageRlzString); | 488 rlz_lib::SetAccessPointRlz(RLZTracker::CHROME_HOME_PAGE, kHomepageRlzString); |
| 487 | 489 |
| 488 TestRLZTracker::InitRlzDelayed(false, 20, true, true, true); | 490 TestRLZTracker::InitRlzDelayed(false, false, kDelay, true, true, true); |
| 489 InvokeDelayedInit(); | 491 InvokeDelayedInit(); |
| 490 | 492 |
| 491 // Omnibox events. | 493 // Omnibox events. |
| 492 ExpectEventRecorded(kOmniboxInstall, true); | 494 ExpectEventRecorded(kOmniboxInstall, true); |
| 493 ExpectEventRecorded(kOmniboxSetToGoogle, false); | 495 ExpectEventRecorded(kOmniboxSetToGoogle, false); |
| 494 ExpectEventRecorded(kOmniboxFirstSearch, false); | 496 ExpectEventRecorded(kOmniboxFirstSearch, false); |
| 495 | 497 |
| 496 // Home page events. | 498 // Home page events. |
| 497 ExpectEventRecorded(kHomepageInstall, true); | 499 ExpectEventRecorded(kHomepageInstall, true); |
| 498 ExpectEventRecorded(kHomepageSetToGoogle, false); | 500 ExpectEventRecorded(kHomepageSetToGoogle, false); |
| 499 ExpectEventRecorded(kHomepageFirstSeach, true); | 501 ExpectEventRecorded(kHomepageFirstSeach, true); |
| 500 | 502 |
| 501 ExpectRlzPingSent(true); | 503 ExpectRlzPingSent(true); |
| 502 } | 504 } |
| 503 | 505 |
| 504 TEST_F(RlzLibTest, DelayedInitOnlyNoGoogleDefaultSearchOrHomepageOrStartup) { | 506 TEST_F(RlzLibTest, DelayedInitOnlyNoGoogleDefaultSearchOrHomepageOrStartup) { |
| 505 TestRLZTracker::InitRlzDelayed(true, 20, false, false, false); | 507 TestRLZTracker::InitRlzDelayed(true, false, kDelay, false, false, false); |
| 506 InvokeDelayedInit(); | 508 InvokeDelayedInit(); |
| 507 | 509 |
| 508 // Omnibox events. | 510 // Omnibox events. |
| 509 ExpectEventRecorded(kOmniboxInstall, true); | 511 ExpectEventRecorded(kOmniboxInstall, true); |
| 510 ExpectEventRecorded(kOmniboxSetToGoogle, false); | 512 ExpectEventRecorded(kOmniboxSetToGoogle, false); |
| 511 ExpectEventRecorded(kOmniboxFirstSearch, false); | 513 ExpectEventRecorded(kOmniboxFirstSearch, false); |
| 512 | 514 |
| 513 // Home page events. | 515 // Home page events. |
| 514 ExpectEventRecorded(kHomepageInstall, true); | 516 ExpectEventRecorded(kHomepageInstall, true); |
| 515 ExpectEventRecorded(kHomepageSetToGoogle, false); | 517 ExpectEventRecorded(kHomepageSetToGoogle, false); |
| 516 ExpectEventRecorded(kHomepageFirstSeach, false); | 518 ExpectEventRecorded(kHomepageFirstSeach, false); |
| 517 | 519 |
| 518 ExpectRlzPingSent(true); | 520 ExpectRlzPingSent(true); |
| 519 } | 521 } |
| 520 | 522 |
| 521 TEST_F(RlzLibTest, OmniboxUsageOnly) { | 523 TEST_F(RlzLibTest, OmniboxUsageOnly) { |
| 522 TestRLZTracker::InitRlzDelayed(true, 20, true, true, false); | 524 TestRLZTracker::InitRlzDelayed(true, false, kDelay, true, true, false); |
| 523 SimulateOmniboxUsage(); | 525 SimulateOmniboxUsage(); |
| 524 | 526 |
| 525 // Omnibox events. | 527 // Omnibox events. |
| 526 ExpectEventRecorded(kOmniboxInstall, false); | 528 ExpectEventRecorded(kOmniboxInstall, false); |
| 527 ExpectEventRecorded(kOmniboxSetToGoogle, false); | 529 ExpectEventRecorded(kOmniboxSetToGoogle, false); |
| 528 ExpectEventRecorded(kOmniboxFirstSearch, true); | 530 ExpectEventRecorded(kOmniboxFirstSearch, true); |
| 529 | 531 |
| 530 // Home page events. | 532 // Home page events. |
| 531 ExpectEventRecorded(kHomepageInstall, false); | 533 ExpectEventRecorded(kHomepageInstall, false); |
| 532 ExpectEventRecorded(kHomepageSetToGoogle, false); | 534 ExpectEventRecorded(kHomepageSetToGoogle, false); |
| 533 ExpectEventRecorded(kHomepageFirstSeach, false); | 535 ExpectEventRecorded(kHomepageFirstSeach, false); |
| 534 | 536 |
| 535 ExpectRlzPingSent(false); | 537 ExpectRlzPingSent(false); |
| 536 } | 538 } |
| 537 | 539 |
| 538 TEST_F(RlzLibTest, HomepageUsageOnly) { | 540 TEST_F(RlzLibTest, HomepageUsageOnly) { |
| 539 TestRLZTracker::InitRlzDelayed(true, 20, true, true, false); | 541 TestRLZTracker::InitRlzDelayed(true, false, kDelay, true, true, false); |
| 540 SimulateHomepageUsage(); | 542 SimulateHomepageUsage(); |
| 541 | 543 |
| 542 // Omnibox events. | 544 // Omnibox events. |
| 543 ExpectEventRecorded(kOmniboxInstall, false); | 545 ExpectEventRecorded(kOmniboxInstall, false); |
| 544 ExpectEventRecorded(kOmniboxSetToGoogle, false); | 546 ExpectEventRecorded(kOmniboxSetToGoogle, false); |
| 545 ExpectEventRecorded(kOmniboxFirstSearch, false); | 547 ExpectEventRecorded(kOmniboxFirstSearch, false); |
| 546 | 548 |
| 547 // Home page events. | 549 // Home page events. |
| 548 ExpectEventRecorded(kHomepageInstall, false); | 550 ExpectEventRecorded(kHomepageInstall, false); |
| 549 ExpectEventRecorded(kHomepageSetToGoogle, false); | 551 ExpectEventRecorded(kHomepageSetToGoogle, false); |
| 550 ExpectEventRecorded(kHomepageFirstSeach, true); | 552 ExpectEventRecorded(kHomepageFirstSeach, true); |
| 551 | 553 |
| 552 ExpectRlzPingSent(false); | 554 ExpectRlzPingSent(false); |
| 553 } | 555 } |
| 554 | 556 |
| 555 TEST_F(RlzLibTest, UsageBeforeDelayedInit) { | 557 TEST_F(RlzLibTest, UsageBeforeDelayedInit) { |
| 556 TestRLZTracker::InitRlzDelayed(true, 20, true, true, false); | 558 TestRLZTracker::InitRlzDelayed(true, false, kDelay, true, true, false); |
| 557 SimulateOmniboxUsage(); | 559 SimulateOmniboxUsage(); |
| 558 SimulateHomepageUsage(); | 560 SimulateHomepageUsage(); |
| 559 InvokeDelayedInit(); | 561 InvokeDelayedInit(); |
| 560 | 562 |
| 561 // Omnibox events. | 563 // Omnibox events. |
| 562 ExpectEventRecorded(kOmniboxInstall, true); | 564 ExpectEventRecorded(kOmniboxInstall, true); |
| 563 ExpectEventRecorded(kOmniboxSetToGoogle, true); | 565 ExpectEventRecorded(kOmniboxSetToGoogle, true); |
| 564 ExpectEventRecorded(kOmniboxFirstSearch, true); | 566 ExpectEventRecorded(kOmniboxFirstSearch, true); |
| 565 | 567 |
| 566 // Home page events. | 568 // Home page events. |
| 567 ExpectEventRecorded(kHomepageInstall, true); | 569 ExpectEventRecorded(kHomepageInstall, true); |
| 568 ExpectEventRecorded(kHomepageSetToGoogle, true); | 570 ExpectEventRecorded(kHomepageSetToGoogle, true); |
| 569 ExpectEventRecorded(kHomepageFirstSeach, true); | 571 ExpectEventRecorded(kHomepageFirstSeach, true); |
| 570 | 572 |
| 571 ExpectRlzPingSent(true); | 573 ExpectRlzPingSent(true); |
| 572 } | 574 } |
| 573 | 575 |
| 574 TEST_F(RlzLibTest, OmniboxUsageAfterDelayedInit) { | 576 TEST_F(RlzLibTest, OmniboxUsageAfterDelayedInit) { |
| 575 TestRLZTracker::InitRlzDelayed(true, 20, true, true, false); | 577 TestRLZTracker::InitRlzDelayed(true, false, kDelay, true, true, false); |
| 576 InvokeDelayedInit(); | 578 InvokeDelayedInit(); |
| 577 SimulateOmniboxUsage(); | 579 SimulateOmniboxUsage(); |
| 578 SimulateHomepageUsage(); | 580 SimulateHomepageUsage(); |
| 579 | 581 |
| 580 // Omnibox events. | 582 // Omnibox events. |
| 581 ExpectEventRecorded(kOmniboxInstall, true); | 583 ExpectEventRecorded(kOmniboxInstall, true); |
| 582 ExpectEventRecorded(kOmniboxSetToGoogle, true); | 584 ExpectEventRecorded(kOmniboxSetToGoogle, true); |
| 583 ExpectEventRecorded(kOmniboxFirstSearch, true); | 585 ExpectEventRecorded(kOmniboxFirstSearch, true); |
| 584 | 586 |
| 585 // Home page events. | 587 // Home page events. |
| 586 ExpectEventRecorded(kHomepageInstall, true); | 588 ExpectEventRecorded(kHomepageInstall, true); |
| 587 ExpectEventRecorded(kHomepageSetToGoogle, true); | 589 ExpectEventRecorded(kHomepageSetToGoogle, true); |
| 588 ExpectEventRecorded(kHomepageFirstSeach, true); | 590 ExpectEventRecorded(kHomepageFirstSeach, true); |
| 589 | 591 |
| 590 ExpectRlzPingSent(true); | 592 ExpectRlzPingSent(true); |
| 591 } | 593 } |
| 592 | 594 |
| 593 TEST_F(RlzLibTest, OmniboxUsageSendsPingWhenDelayNegative) { | 595 TEST_F(RlzLibTest, OmniboxUsageSendsPingWhenSendPingImmediately) { |
| 594 TestRLZTracker::InitRlzDelayed(true, -20, true, true, false); | 596 TestRLZTracker::InitRlzDelayed(true, true, kDelay, true, true, false); |
| 595 SimulateOmniboxUsage(); | 597 SimulateOmniboxUsage(); |
| 596 | 598 |
| 597 // Omnibox events. | 599 // Omnibox events. |
| 598 ExpectEventRecorded(kOmniboxInstall, true); | 600 ExpectEventRecorded(kOmniboxInstall, true); |
| 599 ExpectEventRecorded(kOmniboxSetToGoogle, true); | 601 ExpectEventRecorded(kOmniboxSetToGoogle, true); |
| 600 ExpectEventRecorded(kOmniboxFirstSearch, true); | 602 ExpectEventRecorded(kOmniboxFirstSearch, true); |
| 601 | 603 |
| 602 // Home page events. | 604 // Home page events. |
| 603 ExpectEventRecorded(kHomepageInstall, true); | 605 ExpectEventRecorded(kHomepageInstall, true); |
| 604 ExpectEventRecorded(kHomepageSetToGoogle, true); | 606 ExpectEventRecorded(kHomepageSetToGoogle, true); |
| 605 ExpectEventRecorded(kHomepageFirstSeach, false); | 607 ExpectEventRecorded(kHomepageFirstSeach, false); |
| 606 | 608 |
| 607 ExpectRlzPingSent(true); | 609 ExpectRlzPingSent(true); |
| 608 } | 610 } |
| 609 | 611 |
| 610 TEST_F(RlzLibTest, HomepageUsageDoesNotSendPingWhenDelayNegative) { | 612 TEST_F(RlzLibTest, HomepageUsageDoesNotSendPingWhenSendPingImmediately) { |
| 611 TestRLZTracker::InitRlzDelayed(true, -20, true, true, false); | 613 TestRLZTracker::InitRlzDelayed(true, true, kDelay, true, true, false); |
| 612 SimulateHomepageUsage(); | 614 SimulateHomepageUsage(); |
| 613 | 615 |
| 614 // Omnibox events. | 616 // Omnibox events. |
| 615 ExpectEventRecorded(kOmniboxInstall, false); | 617 ExpectEventRecorded(kOmniboxInstall, false); |
| 616 ExpectEventRecorded(kOmniboxSetToGoogle, false); | 618 ExpectEventRecorded(kOmniboxSetToGoogle, false); |
| 617 ExpectEventRecorded(kOmniboxFirstSearch, false); | 619 ExpectEventRecorded(kOmniboxFirstSearch, false); |
| 618 | 620 |
| 619 // Home page events. | 621 // Home page events. |
| 620 ExpectEventRecorded(kHomepageInstall, false); | 622 ExpectEventRecorded(kHomepageInstall, false); |
| 621 ExpectEventRecorded(kHomepageSetToGoogle, false); | 623 ExpectEventRecorded(kHomepageSetToGoogle, false); |
| 622 ExpectEventRecorded(kHomepageFirstSeach, true); | 624 ExpectEventRecorded(kHomepageFirstSeach, true); |
| 623 | 625 |
| 624 ExpectRlzPingSent(false); | 626 ExpectRlzPingSent(false); |
| 625 } | 627 } |
| 626 | 628 |
| 627 TEST_F(RlzLibTest, StartupUsageDoesNotSendPingWhenDelayNegative) { | 629 TEST_F(RlzLibTest, StartupUsageDoesNotSendPingWhenSendPingImmediately) { |
| 628 TestRLZTracker::InitRlzDelayed(true, -20, true, false, true); | 630 TestRLZTracker::InitRlzDelayed(true, true, kDelay, true, false, true); |
| 629 SimulateHomepageUsage(); | 631 SimulateHomepageUsage(); |
| 630 | 632 |
| 631 // Omnibox events. | 633 // Omnibox events. |
| 632 ExpectEventRecorded(kOmniboxInstall, false); | 634 ExpectEventRecorded(kOmniboxInstall, false); |
| 633 ExpectEventRecorded(kOmniboxSetToGoogle, false); | 635 ExpectEventRecorded(kOmniboxSetToGoogle, false); |
| 634 ExpectEventRecorded(kOmniboxFirstSearch, false); | 636 ExpectEventRecorded(kOmniboxFirstSearch, false); |
| 635 | 637 |
| 636 // Home page events. | 638 // Home page events. |
| 637 ExpectEventRecorded(kHomepageInstall, false); | 639 ExpectEventRecorded(kHomepageInstall, false); |
| 638 ExpectEventRecorded(kHomepageSetToGoogle, false); | 640 ExpectEventRecorded(kHomepageSetToGoogle, false); |
| (...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 700 tracker_.set_assume_not_ui_thread(false); | 702 tracker_.set_assume_not_ui_thread(false); |
| 701 | 703 |
| 702 EXPECT_TRUE(RLZTracker::GetAccessPointRlz(RLZTracker::CHROME_OMNIBOX, &rlz)); | 704 EXPECT_TRUE(RLZTracker::GetAccessPointRlz(RLZTracker::CHROME_OMNIBOX, &rlz)); |
| 703 EXPECT_STREQ(kOmniboxRlzString, UTF16ToUTF8(rlz).c_str()); | 705 EXPECT_STREQ(kOmniboxRlzString, UTF16ToUTF8(rlz).c_str()); |
| 704 EXPECT_TRUE(RLZTracker::GetAccessPointRlz( | 706 EXPECT_TRUE(RLZTracker::GetAccessPointRlz( |
| 705 RLZTracker::CHROME_HOME_PAGE, &rlz)); | 707 RLZTracker::CHROME_HOME_PAGE, &rlz)); |
| 706 EXPECT_STREQ(kHomepageRlzString, UTF16ToUTF8(rlz).c_str()); | 708 EXPECT_STREQ(kHomepageRlzString, UTF16ToUTF8(rlz).c_str()); |
| 707 | 709 |
| 708 // Perform ping. | 710 // Perform ping. |
| 709 tracker_.set_assume_not_ui_thread(true); | 711 tracker_.set_assume_not_ui_thread(true); |
| 710 TestRLZTracker::InitRlzDelayed(true, 20, true, true, false); | 712 TestRLZTracker::InitRlzDelayed(true, false, kDelay, true, true, false); |
| 711 InvokeDelayedInit(); | 713 InvokeDelayedInit(); |
| 712 ExpectRlzPingSent(true); | 714 ExpectRlzPingSent(true); |
| 713 | 715 |
| 714 // Make sure cache is now updated. | 716 // Make sure cache is now updated. |
| 715 tracker_.set_assume_not_ui_thread(false); | 717 tracker_.set_assume_not_ui_thread(false); |
| 716 | 718 |
| 717 EXPECT_TRUE(RLZTracker::GetAccessPointRlz(RLZTracker::CHROME_OMNIBOX, &rlz)); | 719 EXPECT_TRUE(RLZTracker::GetAccessPointRlz(RLZTracker::CHROME_OMNIBOX, &rlz)); |
| 718 EXPECT_STREQ(kNewOmniboxRlzString, UTF16ToUTF8(rlz).c_str()); | 720 EXPECT_STREQ(kNewOmniboxRlzString, UTF16ToUTF8(rlz).c_str()); |
| 719 EXPECT_TRUE(RLZTracker::GetAccessPointRlz( | 721 EXPECT_TRUE(RLZTracker::GetAccessPointRlz( |
| 720 RLZTracker::CHROME_HOME_PAGE, &rlz)); | 722 RLZTracker::CHROME_HOME_PAGE, &rlz)); |
| (...skipping 10 matching lines...) Expand all Loading... |
| 731 tracker_.Observe(content::NOTIFICATION_NAV_ENTRY_PENDING, | 733 tracker_.Observe(content::NOTIFICATION_NAV_ENTRY_PENDING, |
| 732 content::NotificationService::AllSources(), | 734 content::NotificationService::AllSources(), |
| 733 content::Details<NavigationEntry>(entry.get())); | 735 content::Details<NavigationEntry>(entry.get())); |
| 734 } | 736 } |
| 735 | 737 |
| 736 // TODO(thakis): Reactivation doesn't exist on Mac yet. | 738 // TODO(thakis): Reactivation doesn't exist on Mac yet. |
| 737 #if defined(OS_WIN) | 739 #if defined(OS_WIN) |
| 738 TEST_F(RlzLibTest, ReactivationNonOrganicNonOrganic) { | 740 TEST_F(RlzLibTest, ReactivationNonOrganicNonOrganic) { |
| 739 SetReactivationBrand("REAC"); | 741 SetReactivationBrand("REAC"); |
| 740 | 742 |
| 741 TestRLZTracker::InitRlzDelayed(true, 20, true, true, false); | 743 TestRLZTracker::InitRlzDelayed(true, false, kDelay, true, true, false); |
| 742 InvokeDelayedInit(); | 744 InvokeDelayedInit(); |
| 743 | 745 |
| 744 ExpectRlzPingSent(true); | 746 ExpectRlzPingSent(true); |
| 745 ExpectReactivationRlzPingSent(true); | 747 ExpectReactivationRlzPingSent(true); |
| 746 } | 748 } |
| 747 | 749 |
| 748 TEST_F(RlzLibTest, ReactivationOrganicNonOrganic) { | 750 TEST_F(RlzLibTest, ReactivationOrganicNonOrganic) { |
| 749 SetMainBrand("GGLS"); | 751 SetMainBrand("GGLS"); |
| 750 SetReactivationBrand("REAC"); | 752 SetReactivationBrand("REAC"); |
| 751 | 753 |
| 752 TestRLZTracker::InitRlzDelayed(true, 20, true, true, false); | 754 TestRLZTracker::InitRlzDelayed(true, false, kDelay, true, true, false); |
| 753 InvokeDelayedInit(); | 755 InvokeDelayedInit(); |
| 754 | 756 |
| 755 ExpectRlzPingSent(false); | 757 ExpectRlzPingSent(false); |
| 756 ExpectReactivationRlzPingSent(true); | 758 ExpectReactivationRlzPingSent(true); |
| 757 } | 759 } |
| 758 | 760 |
| 759 TEST_F(RlzLibTest, ReactivationNonOrganicOrganic) { | 761 TEST_F(RlzLibTest, ReactivationNonOrganicOrganic) { |
| 760 SetMainBrand("TEST"); | 762 SetMainBrand("TEST"); |
| 761 SetReactivationBrand("GGLS"); | 763 SetReactivationBrand("GGLS"); |
| 762 | 764 |
| 763 TestRLZTracker::InitRlzDelayed(true, 20, true, true, false); | 765 TestRLZTracker::InitRlzDelayed(true, false, kDelay, true, true, false); |
| 764 InvokeDelayedInit(); | 766 InvokeDelayedInit(); |
| 765 | 767 |
| 766 ExpectRlzPingSent(true); | 768 ExpectRlzPingSent(true); |
| 767 ExpectReactivationRlzPingSent(false); | 769 ExpectReactivationRlzPingSent(false); |
| 768 } | 770 } |
| 769 | 771 |
| 770 TEST_F(RlzLibTest, ReactivationOrganicOrganic) { | 772 TEST_F(RlzLibTest, ReactivationOrganicOrganic) { |
| 771 SetMainBrand("GGLS"); | 773 SetMainBrand("GGLS"); |
| 772 SetReactivationBrand("GGRS"); | 774 SetReactivationBrand("GGRS"); |
| 773 | 775 |
| 774 TestRLZTracker::InitRlzDelayed(true, 20, true, true, false); | 776 TestRLZTracker::InitRlzDelayed(true, false, kDelay, true, true, false); |
| 775 InvokeDelayedInit(); | 777 InvokeDelayedInit(); |
| 776 | 778 |
| 777 ExpectRlzPingSent(false); | 779 ExpectRlzPingSent(false); |
| 778 ExpectReactivationRlzPingSent(false); | 780 ExpectReactivationRlzPingSent(false); |
| 779 } | 781 } |
| 780 #endif // defined(OS_WIN) | 782 #endif // defined(OS_WIN) |
| 781 | 783 |
| 782 #if defined(OS_CHROMEOS) | 784 #if defined(OS_CHROMEOS) |
| 783 TEST_F(RlzLibTest, ClearRlzState) { | 785 TEST_F(RlzLibTest, ClearRlzState) { |
| 784 RLZTracker::RecordProductEvent(rlz_lib::CHROME, RLZTracker::CHROME_OMNIBOX, | 786 RLZTracker::RecordProductEvent(rlz_lib::CHROME, RLZTracker::CHROME_OMNIBOX, |
| 785 rlz_lib::FIRST_SEARCH); | 787 rlz_lib::FIRST_SEARCH); |
| 786 | 788 |
| 787 ExpectEventRecorded(kOmniboxFirstSearch, true); | 789 ExpectEventRecorded(kOmniboxFirstSearch, true); |
| 788 | 790 |
| 789 RLZTracker::ClearRlzState(); | 791 RLZTracker::ClearRlzState(); |
| 790 | 792 |
| 791 ExpectEventRecorded(kOmniboxFirstSearch, false); | 793 ExpectEventRecorded(kOmniboxFirstSearch, false); |
| 792 } | 794 } |
| 793 #endif // defined(OS_CHROMEOS) | 795 #endif // defined(OS_CHROMEOS) |
| OLD | NEW |