summaryrefslogtreecommitdiff
path: root/Source/WebCore/bindings/js/CachedScriptSourceProvider.h
diff options
context:
space:
mode:
Diffstat (limited to 'Source/WebCore/bindings/js/CachedScriptSourceProvider.h')
-rw-r--r--Source/WebCore/bindings/js/CachedScriptSourceProvider.h24
1 files changed, 9 insertions, 15 deletions
diff --git a/Source/WebCore/bindings/js/CachedScriptSourceProvider.h b/Source/WebCore/bindings/js/CachedScriptSourceProvider.h
index b95fdc8ee..47494e7a6 100644
--- a/Source/WebCore/bindings/js/CachedScriptSourceProvider.h
+++ b/Source/WebCore/bindings/js/CachedScriptSourceProvider.h
@@ -23,12 +23,12 @@
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-#ifndef CachedScriptSourceProvider_h
-#define CachedScriptSourceProvider_h
+#pragma once
#include "CachedResourceClient.h"
#include "CachedResourceHandle.h"
#include "CachedScript.h"
+#include "CachedScriptFetcher.h"
#include <parser/SourceCode.h>
#include <parser/SourceProvider.h>
@@ -37,31 +37,25 @@ namespace WebCore {
class CachedScriptSourceProvider : public JSC::SourceProvider, public CachedResourceClient {
WTF_MAKE_FAST_ALLOCATED;
public:
- static PassRefPtr<CachedScriptSourceProvider> create(CachedScript* cachedScript) { return adoptRef(new CachedScriptSourceProvider(cachedScript)); }
+ static Ref<CachedScriptSourceProvider> create(CachedScript* cachedScript, JSC::SourceProviderSourceType sourceType, Ref<CachedScriptFetcher>&& scriptFetcher) { return adoptRef(*new CachedScriptSourceProvider(cachedScript, sourceType, WTFMove(scriptFetcher))); }
virtual ~CachedScriptSourceProvider()
{
- m_cachedScript->removeClient(this);
+ m_cachedScript->removeClient(*this);
}
- const String& source() const { return m_cachedScript->script(); }
+ unsigned hash() const override { return m_cachedScript->scriptHash(); }
+ StringView source() const override { return m_cachedScript->script(); }
private:
- CachedScriptSourceProvider(CachedScript* cachedScript)
- : SourceProvider(cachedScript->response().url(), TextPosition::minimumPosition())
+ CachedScriptSourceProvider(CachedScript* cachedScript, JSC::SourceProviderSourceType sourceType, Ref<CachedScriptFetcher>&& scriptFetcher)
+ : SourceProvider(JSC::SourceOrigin { cachedScript->response().url(), WTFMove(scriptFetcher) }, cachedScript->response().url(), TextPosition(), sourceType)
, m_cachedScript(cachedScript)
{
- m_cachedScript->addClient(this);
+ m_cachedScript->addClient(*this);
}
CachedResourceHandle<CachedScript> m_cachedScript;
};
-inline JSC::SourceCode makeSource(CachedScript* cachedScript)
-{
- return JSC::SourceCode(CachedScriptSourceProvider::create(cachedScript));
-}
-
} // namespace WebCore
-
-#endif // CachedScriptSourceProvider_h