Factor GL extension parsing in renderergl_utils.cpp

DisplayGLX will use it for the GLX extensions too.

BUG=angleproject:892

Change-Id: I5e4f80776a558fcdcc7e7b83767145112bcfee98
Reviewed-on: https://chromium-review.googlesource.com/269461
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
diff --git a/src/libANGLE/renderer/gl/FunctionsGL.cpp b/src/libANGLE/renderer/gl/FunctionsGL.cpp
index 53c276b..7367e1c 100644
--- a/src/libANGLE/renderer/gl/FunctionsGL.cpp
+++ b/src/libANGLE/renderer/gl/FunctionsGL.cpp
@@ -40,20 +40,6 @@
     }
 }
 
-static std::vector<std::string> GetNonIndexedExtensions(PFNGLGETSTRINGPROC getStringFunction)
-{
-    std::vector<std::string> result;
-
-    std::istringstream stream(reinterpret_cast<const char*>(getStringFunction(GL_EXTENSIONS)));
-    std::string extension;
-    while (std::getline(stream, extension, ' '))
-    {
-        result.push_back(extension);
-    }
-
-    return result;
-}
-
 static std::vector<std::string> GetIndexedExtensions(PFNGLGETINTEGERVPROC getIntegerFunction, PFNGLGETSTRINGIPROC getStringIFunction)
 {
     std::vector<std::string> result;
@@ -792,7 +778,8 @@
     }
     else
     {
-        extensions = GetNonIndexedExtensions(getString);
+        const char *exts = reinterpret_cast<const char*>(getString(GL_EXTENSIONS));
+        extensions = TokenizeExtensionsString(exts);
     }
 
     // 1.0