summaryrefslogtreecommitdiff
path: root/Source/WebCore/bindings/js/ScriptSourceCode.h
diff options
context:
space:
mode:
authorLorry Tar Creator <lorry-tar-importer@lorry>2017-06-27 06:07:23 +0000
committerLorry Tar Creator <lorry-tar-importer@lorry>2017-06-27 06:07:23 +0000
commit1bf1084f2b10c3b47fd1a588d85d21ed0eb41d0c (patch)
tree46dcd36c86e7fbc6e5df36deb463b33e9967a6f7 /Source/WebCore/bindings/js/ScriptSourceCode.h
parent32761a6cee1d0dee366b885b7b9c777e67885688 (diff)
downloadWebKitGtk-tarball-master.tar.gz
Diffstat (limited to 'Source/WebCore/bindings/js/ScriptSourceCode.h')
-rw-r--r--Source/WebCore/bindings/js/ScriptSourceCode.h35
1 files changed, 18 insertions, 17 deletions
diff --git a/Source/WebCore/bindings/js/ScriptSourceCode.h b/Source/WebCore/bindings/js/ScriptSourceCode.h
index 2d3c15970..06a8edc83 100644
--- a/Source/WebCore/bindings/js/ScriptSourceCode.h
+++ b/Source/WebCore/bindings/js/ScriptSourceCode.h
@@ -28,11 +28,11 @@
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-#ifndef ScriptSourceCode_h
-#define ScriptSourceCode_h
+#pragma once
#include "CachedResourceHandle.h"
#include "CachedScript.h"
+#include "CachedScriptFetcher.h"
#include "CachedScriptSourceProvider.h"
#include "URL.h"
#include <parser/SourceProvider.h>
@@ -43,43 +43,44 @@ namespace WebCore {
class ScriptSourceCode {
public:
- ScriptSourceCode(const String& source, const URL& url = URL(), const TextPosition& startPosition = TextPosition::minimumPosition())
- : m_provider(JSC::StringSourceProvider::create(source, url.isNull() ? String() : url.string(), startPosition))
- , m_code(m_provider, startPosition.m_line.oneBasedInt(), startPosition.m_column.oneBasedInt())
+ ScriptSourceCode(const String& source, const URL& url = URL(), const TextPosition& startPosition = TextPosition(), JSC::SourceProviderSourceType sourceType = JSC::SourceProviderSourceType::Program)
+ : m_provider(JSC::StringSourceProvider::create(source, JSC::SourceOrigin { url.string() }, url.string(), startPosition, sourceType))
+ , m_code(m_provider.copyRef(), startPosition.m_line.oneBasedInt(), startPosition.m_column.oneBasedInt())
, m_url(url)
{
}
- explicit ScriptSourceCode(CachedScript* cachedScript)
- : m_provider(CachedScriptSourceProvider::create(cachedScript))
- , m_code(m_provider)
+ ScriptSourceCode(CachedScript* cachedScript, JSC::SourceProviderSourceType sourceType, Ref<CachedScriptFetcher>&& scriptFetcher)
+ : m_provider(CachedScriptSourceProvider::create(cachedScript, sourceType, WTFMove(scriptFetcher)))
+ , m_code(m_provider.copyRef())
, m_cachedScript(cachedScript)
{
}
+ ScriptSourceCode(const String& source, const URL& url, const TextPosition& startPosition, JSC::SourceProviderSourceType sourceType, Ref<CachedScriptFetcher>&& scriptFetcher)
+ : m_provider(JSC::StringSourceProvider::create(source, JSC::SourceOrigin { url.string(), WTFMove(scriptFetcher) }, url.string(), startPosition, sourceType))
+ , m_code(m_provider.copyRef(), startPosition.m_line.oneBasedInt(), startPosition.m_column.oneBasedInt())
+ , m_url(url)
+ {
+ }
+
bool isEmpty() const { return m_code.length() == 0; }
const JSC::SourceCode& jsSourceCode() const { return m_code; }
- const String& source() const { return m_provider->source(); }
+ StringView source() const { return m_provider->source(); }
- int startLine() const { return m_code.firstLine(); }
+ int startLine() const { return m_code.firstLine().oneBasedInt(); }
CachedScript* cachedScript() const { return m_cachedScript.get(); }
const URL& url() const { return m_url; }
private:
- RefPtr<JSC::SourceProvider> m_provider;
-
+ Ref<JSC::SourceProvider> m_provider;
JSC::SourceCode m_code;
-
CachedResourceHandle<CachedScript> m_cachedScript;
-
URL m_url;
-
};
} // namespace WebCore
-
-#endif // ScriptSourceCode_h