Move resourceProvider accessor to GrContextPriv (take 2)

TBR=bsalomon@google.com
Change-Id: I3fd46ebfad0d04b8a2bfa6190f81308f3a6be620
Reviewed-on: https://skia-review.googlesource.com/95121
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
diff --git a/src/gpu/GrOnFlushResourceProvider.cpp b/src/gpu/GrOnFlushResourceProvider.cpp
index 7fcd30f..8de827c 100644
--- a/src/gpu/GrOnFlushResourceProvider.cpp
+++ b/src/gpu/GrOnFlushResourceProvider.cpp
@@ -19,10 +19,12 @@
     GrSurfaceDesc tmpDesc = desc;
     tmpDesc.fFlags |= kRenderTarget_GrSurfaceFlag;
 
+    auto proxyProvider = fDrawingMgr->getContext()->contextPriv().proxyProvider();
+    auto resourceProvider = fDrawingMgr->getContext()->contextPriv().resourceProvider();
+
     // Because this is being allocated at the start of a flush we must ensure the proxy
     // will, when instantiated, have no pending IO.
     // TODO: fold the kNoPendingIO_Flag into GrSurfaceFlags?
-    GrProxyProvider* proxyProvider = fDrawingMgr->getContext()->contextPriv().proxyProvider();
     sk_sp<GrSurfaceProxy> proxy = proxyProvider->createProxy(tmpDesc, SkBackingFit::kExact,
                                                              SkBudgeted::kYes,
                                                              GrResourceProvider::kNoPendingIO_Flag);
@@ -42,8 +44,7 @@
     // Since this is at flush time and these won't be allocated for us by the GrResourceAllocator
     // we have to manually ensure it is allocated here. The proxy had best have been created
     // with the kNoPendingIO flag!
-    if (!renderTargetContext->asSurfaceProxy()->instantiate(
-                                                fDrawingMgr->getContext()->resourceProvider())) {
+    if (!renderTargetContext->asSurfaceProxy()->instantiate(resourceProvider)) {
         return nullptr;
     }
 
@@ -67,11 +68,12 @@
         return nullptr;
     }
 
+    auto resourceProvider = fDrawingMgr->getContext()->contextPriv().resourceProvider();
+
     // Since this is at flush time and these won't be allocated for us by the GrResourceAllocator
     // we have to manually ensure it is allocated here. The proxy had best have been created
     // with the kNoPendingIO flag!
-    if (!renderTargetContext->asSurfaceProxy()->instantiate(
-                                                fDrawingMgr->getContext()->resourceProvider())) {
+    if (!renderTargetContext->asSurfaceProxy()->instantiate(resourceProvider)) {
         return nullptr;
     }
 
@@ -82,18 +84,20 @@
 
 sk_sp<GrBuffer> GrOnFlushResourceProvider::makeBuffer(GrBufferType intendedType, size_t size,
                                                       const void* data) {
-    GrResourceProvider* rp = fDrawingMgr->getContext()->resourceProvider();
-    return sk_sp<GrBuffer>(rp->createBuffer(size, intendedType, kDynamic_GrAccessPattern,
-                                            GrResourceProvider::kNoPendingIO_Flag,
-                                            data));
+    auto resourceProvider = fDrawingMgr->getContext()->contextPriv().resourceProvider();
+    return sk_sp<GrBuffer>(resourceProvider->createBuffer(size, intendedType,
+                                                          kDynamic_GrAccessPattern,
+                                                          GrResourceProvider::kNoPendingIO_Flag,
+                                                          data));
 }
 
 sk_sp<const GrBuffer> GrOnFlushResourceProvider::findOrMakeStaticBuffer(GrBufferType intendedType,
                                                                         size_t size,
                                                                         const void* data,
                                                                         const GrUniqueKey& key) {
-    GrResourceProvider* rp = fDrawingMgr->getContext()->resourceProvider();
-    sk_sp<const GrBuffer> buffer = rp->findOrMakeStaticBuffer(intendedType, size, data, key);
+    auto resourceProvider = fDrawingMgr->getContext()->contextPriv().resourceProvider();
+    sk_sp<const GrBuffer> buffer = resourceProvider->findOrMakeStaticBuffer(intendedType, size,
+                                                                            data, key);
     // Static buffers should never have pending IO.
     SkASSERT(!buffer->resourcePriv().hasPendingIO_debugOnly());
     return buffer;