Upstream iOS web code.

This CL upstreams part of the iOS web code.
This code is needed in order to upstream the Translate component.

Review URL: https://codereview.chromium.org/780873002

Cr-Commit-Position: refs/heads/master@{#307463}
diff --git a/ios/web/string_util.cc b/ios/web/string_util.cc
new file mode 100644
index 0000000..a00d023
--- /dev/null
+++ b/ios/web/string_util.cc
@@ -0,0 +1,26 @@
+// Copyright 2014 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "ios/web/public/string_util.h"
+
+#include "base/strings/string_util.h"
+
+namespace web {
+
+base::string16 GetStringByClippingLastWord(const base::string16& contents,
+                                           size_t length) {
+  if (contents.size() < length)
+    return contents;
+
+  base::string16 clipped_contents = contents.substr(0, length);
+  size_t last_space_index =
+      clipped_contents.find_last_of(base::kWhitespaceUTF16);
+  // TODO(droger): Check if we should return the empty string instead.
+  // See http://crbug.com/324304
+  if (last_space_index != base::string16::npos)
+    clipped_contents.resize(last_space_index);
+  return clipped_contents;
+}
+
+}  // namespace web