Reland "Added support for one-time geolocation permission grants on desktop."

This reverts commit 8f9cd957badbae895826cf15bbe33e1f1673b2dd.

Reason for revert:

Fixed compile failure after mid-air collision. Re-added include that
this CL needs but was removed by https://crrev.com/c/2532577 in-between
try jobs and landing.

Original change's description:
> Revert "Added support for one-time geolocation permission grants on desktop."
>
> This reverts commit 6e5cadb7b8162e8e8bd78f56a3d68c87fe5951b4.
>
> Reason for revert: compile failure
> https://ci.chromium.org/p/chromium/builders/ci/chromeos-arm-generic-dbg/22520?
>
> Original change's description:
> > Added support for one-time geolocation permission grants on desktop.
> >
> > Expanded the current permission request dialog to have the possibility
> > to accept the permission for only one time.
> >
> > The permission will be invalidated when all the tabs with that origin
> > are closed or navigated away from, or if a day has elapsed since the
> > grant, whichever comes earlier.
> >
> > Bug: 1147918
> > Change-Id: I9f0cc029d0bd2cae56e433d8ba753e73495476f4
> > Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2483832
> > Commit-Queue: Ravjit Singh Uppal <[email protected]>
> > Reviewed-by: Vasilii Sukhanov <[email protected]>
> > Reviewed-by: Balazs Engedy <[email protected]>
> > Cr-Commit-Position: refs/heads/master@{#826981}
>
> [email protected],[email protected],[email protected]
>
> Change-Id: I511823b3a656f211c472d76a9cce2d30ca7ab644
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: 1147918
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2536153
> Reviewed-by: Owen Min <[email protected]>
> Commit-Queue: Owen Min <[email protected]>
> Cr-Commit-Position: refs/heads/master@{#826987}

[email protected],[email protected],[email protected],[email protected]

# Not skipping CQ checks because this is a reland.

Bug: 1147918
Change-Id: I1acdb5f0af83bc74c3307b8ba1ba3d6cbb9ad232
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2536430
Reviewed-by: Balazs Engedy <[email protected]>
Reviewed-by: Ravjit Singh Uppal <[email protected]>
Commit-Queue: Balazs Engedy <[email protected]>
Commit-Queue: Ravjit Singh Uppal <[email protected]>
Cr-Commit-Position: refs/heads/master@{#827102}
diff --git a/components/permissions/permission_request.h b/components/permissions/permission_request.h
index 03c31437..a6fcca9 100644
--- a/components/permissions/permission_request.h
+++ b/components/permissions/permission_request.h
@@ -73,7 +73,10 @@
   virtual GURL GetOrigin() const = 0;
 
   // Called when the user has granted the requested permission.
-  virtual void PermissionGranted() = 0;
+  // If is_one_time is true the permission will last until all tabs of a given
+  // |origin| are closed or navigated away from. The permission will
+  // automatically expire after 1 day.
+  virtual void PermissionGranted(bool is_one_time) = 0;
 
   // Called when the user has denied the requested permission.
   virtual void PermissionDenied() = 0;