Update DirectWrite streams to SkStreamAsset.

SkTypefaces now deal in terms of SkStreamAsset, but the DirectWrite port
was never fully converted.

Review URL: https://codereview.chromium.org/940563002
diff --git a/src/utils/win/SkDWriteFontFileStream.cpp b/src/utils/win/SkDWriteFontFileStream.cpp
index 809ae7b..a187601 100644
--- a/src/utils/win/SkDWriteFontFileStream.cpp
+++ b/src/utils/win/SkDWriteFontFileStream.cpp
@@ -133,7 +133,9 @@
 ///////////////////////////////////////////////////////////////////////////////
 //  SkIDWriteFontFileStreamWrapper
 
-HRESULT SkDWriteFontFileStreamWrapper::Create(SkStream* stream, SkDWriteFontFileStreamWrapper** streamFontFileStream) {
+HRESULT SkDWriteFontFileStreamWrapper::Create(SkStreamAsset* stream,
+                                              SkDWriteFontFileStreamWrapper** streamFontFileStream)
+{
     *streamFontFileStream = new SkDWriteFontFileStreamWrapper(stream);
     if (NULL == streamFontFileStream) {
         return E_OUTOFMEMORY;
@@ -141,7 +143,7 @@
     return S_OK;
 }
 
-SkDWriteFontFileStreamWrapper::SkDWriteFontFileStreamWrapper(SkStream* stream)
+SkDWriteFontFileStreamWrapper::SkDWriteFontFileStreamWrapper(SkStreamAsset* stream)
     : fRefCount(1), fStream(stream) {
 }
 
@@ -193,16 +195,13 @@
         *fragmentContext = NULL;
 
     } else {
-        //May be called from multiple threads.
+        // May be called from multiple threads.
         SkAutoMutexAcquire ama(fStreamMutex);
 
         *fragmentStart = NULL;
         *fragmentContext = NULL;
 
-        if (!fStream->rewind()) {
-            return E_FAIL;
-        }
-        if (fStream->skip(static_cast<size_t>(fileOffset)) != fileOffset) {
+        if (!fStream->seek(static_cast<size_t>(fileOffset))) {
             return E_FAIL;
         }
         SkAutoTMalloc<uint8_t> streamData(static_cast<size_t>(fragmentSize));