Don't backoff update attempts for interactive checks.

Previous CL only did not defer where deferring is Policy driven while
backoff is state driven. This CL also moves the matching p2p logic
into ShouldBackoffDownload which makes it easier to see and test.

BUG=chromium:274056
TEST=New unittests.

Change-Id: I3acd29c0cf11d855cfd78f77016857f52a6d346c
Reviewed-on: https://chromium-review.googlesource.com/168290
Tested-by: Chris Sosa <sosa@chromium.org>
Reviewed-by: David Zeuthen <zeuthen@chromium.org>
Commit-Queue: Chris Sosa <sosa@chromium.org>
diff --git a/omaha_request_action.cc b/omaha_request_action.cc
index 1c11a4b..e833759 100644
--- a/omaha_request_action.cc
+++ b/omaha_request_action.cc
@@ -853,20 +853,13 @@
     return;
   }
 
-  // Only back off if we're not using p2p
-  if (params_->use_p2p_for_downloading() && !params_->p2p_url().empty()) {
-    LOG(INFO) << "Payload backoff logic is disabled because download "
-              << "will happen from local peer (via p2p).";
-  } else {
-    if (payload_state->ShouldBackoffDownload()) {
-      output_object.update_exists = false;
-      LOG(INFO) << "Ignoring Omaha updates in order to backoff our retry "
-                << "attempts";
-      completer.set_code(kErrorCodeOmahaUpdateDeferredForBackoff);
-      return;
-    }
+  if (payload_state->ShouldBackoffDownload()) {
+    output_object.update_exists = false;
+    LOG(INFO) << "Ignoring Omaha updates in order to backoff our retry "
+              << "attempts";
+    completer.set_code(kErrorCodeOmahaUpdateDeferredForBackoff);
+    return;
   }
-
   completer.set_code(kErrorCodeSuccess);
 }