Start link generation with context menu.

Start link generation when context menu is requested for every new
selection. If link generation is requested, while there is one ongoing,
the previous one will be cancelled.

In this CL we also cancel the link generation from the client side if it
takes too long(timeout is different on different platforms).

This CL also fixes typo and moves preemptive generation feature from
chrome/ to components/ so that it can be used from blink/

Bug: 1177503
Change-Id: Iceacf5dfb88009bd6979a7f7e44b7725a3019724
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2716611
Reviewed-by: Chris Palmer <[email protected]>
Reviewed-by: Scott Violet <[email protected]>
Reviewed-by: David Bokan <[email protected]>
Commit-Queue: Gayane Petrosyan <[email protected]>
Cr-Commit-Position: refs/heads/master@{#858349}
diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
index 5329904..835565d 100644
--- a/chrome/browser/flag_descriptions.cc
+++ b/chrome/browser/flag_descriptions.cc
@@ -2681,9 +2681,9 @@
     "restrictions make it unlikely that a URL can be generated and actually "
     "work when shared.";
 
-const char kPreemtiveLinkToTextGenerationName[] =
+const char kPreemptiveLinkToTextGenerationName[] =
     "Preemptive generation of link to text";
-const char kPreemtiveLinkToTextGenerationDescription[] =
+const char kPreemptiveLinkToTextGenerationDescription[] =
     "Enables link to text to be generated in advance.";
 
 const char kDraw1PredictedPoint12Ms[] = "1 point 12ms ahead.";