Changeset 70181 in webkit


Ignore:
Timestamp:
Oct 20, 2010 2:49:37 PM (13 years ago)
Author:
commit-queue@webkit.org
Message:

2010-10-20 Sheriff Bot <webkit.review.bot@gmail.com>

Unreviewed, rolling out r70165.
http://trac.webkit.org/changeset/70165
https://bugs.webkit.org/show_bug.cgi?id=48007

It broke tests on Qt bot (Requested by Ossy on #webkit).

2010-10-20 Sheriff Bot <webkit.review.bot@gmail.com>

Unreviewed, rolling out r70165.
http://trac.webkit.org/changeset/70165
https://bugs.webkit.org/show_bug.cgi?id=48007

It broke tests on Qt bot (Requested by Ossy on #webkit).

  • ForwardingHeaders/wtf/text/TextPosition.h: Removed.
  • bindings/js/ScriptSourceCode.h: (WebCore::ScriptSourceCode::ScriptSourceCode):
  • bindings/v8/ScheduledAction.cpp: (WebCore::ScheduledAction::ScheduledAction):
  • bindings/v8/ScriptController.cpp: (WebCore::ScriptController::eventHandlerLineNumber): (WebCore::ScriptController::eventHandlerColumnNumber):
  • bindings/v8/ScriptController.h:
  • bindings/v8/ScriptEventListener.cpp: (WebCore::createAttributeEventListener):
  • bindings/v8/ScriptSourceCode.h: (WebCore::ScriptSourceCode::ScriptSourceCode): (WebCore::ScriptSourceCode::startLine):
  • bindings/v8/V8LazyEventListener.cpp: (WebCore::V8LazyEventListener::V8LazyEventListener): (WebCore::V8LazyEventListener::prepareListenerObject):
  • bindings/v8/V8LazyEventListener.h: (WebCore::V8LazyEventListener::create):
  • bindings/v8/V8Proxy.cpp: (WebCore::V8Proxy::compileScript): (WebCore::V8Proxy::evaluate): (WebCore::V8Proxy::runScript):
  • bindings/v8/V8Proxy.h:
  • bindings/v8/WorkerContextExecutionProxy.cpp: (WebCore::WorkerContextExecutionProxy::evaluate): (WebCore::WorkerContextExecutionProxy::runScript):
  • bindings/v8/WorkerContextExecutionProxy.h:
  • bindings/v8/WorkerScriptController.cpp: (WebCore::WorkerScriptController::evaluate):
  • dom/PendingScript.cpp: (WebCore::PendingScript::releaseElementAndClear):
  • dom/PendingScript.h: (WebCore::PendingScript::PendingScript): (WebCore::PendingScript::operator=): (WebCore::PendingScript::startingLineNumber):
  • dom/ScriptableDocumentParser.h:
  • dom/XMLDocumentParser.h:
  • dom/XMLDocumentParserLibxml2.cpp: (WebCore::XMLDocumentParser::XMLDocumentParser): (WebCore::XMLDocumentParser::startElementNs): (WebCore::XMLDocumentParser::endElementNs): (WebCore::XMLDocumentParser::lineNumber): (WebCore::XMLDocumentParser::columnNumber):
  • dom/XMLDocumentParserQt.cpp: (WebCore::XMLDocumentParser::XMLDocumentParser): (WebCore::XMLDocumentParser::parseStartElement): (WebCore::XMLDocumentParser::parseEndElement):
  • html/parser/HTMLDocumentParser.cpp: (WebCore::HTMLDocumentParser::runScriptsForPausedTreeBuilder): (WebCore::HTMLDocumentParser::columnNumber):
  • html/parser/HTMLDocumentParser.h:
  • html/parser/HTMLScriptRunner.cpp: (WebCore::HTMLScriptRunner::sourceFromPendingScript): (WebCore::HTMLScriptRunner::execute): (WebCore::HTMLScriptRunner::runScript):
  • html/parser/HTMLScriptRunner.h:
  • html/parser/HTMLTreeBuilder.cpp: (WebCore::HTMLTreeBuilder::HTMLTreeBuilder): (WebCore::HTMLTreeBuilder::takeScriptToProcess): (WebCore::HTMLTreeBuilder::processEndTag): (WebCore::HTMLTreeBuilder::processScriptStartTag):
  • html/parser/HTMLTreeBuilder.h:

2010-10-20 Sheriff Bot <webkit.review.bot@gmail.com>

Unreviewed, rolling out r70165.
http://trac.webkit.org/changeset/70165
https://bugs.webkit.org/show_bug.cgi?id=48007

It broke tests on Qt bot (Requested by Ossy on #webkit).

  • src/WebFrameImpl.cpp: (WebKit::WebFrameImpl::executeScript): (WebKit::WebFrameImpl::executeScriptInIsolatedWorld): (WebKit::WebFrameImpl::executeScriptAndReturnValue):
Location:
trunk
Files:
2 deleted
32 edited

Legend:

Unmodified
Added
Removed
  • trunk/JavaScriptCore/ChangeLog

    r70177 r70181  
     12010-10-20  Sheriff Bot  <webkit.review.bot@gmail.com>
     2
     3        Unreviewed, rolling out r70165.
     4        http://trac.webkit.org/changeset/70165
     5        https://bugs.webkit.org/show_bug.cgi?id=48007
     6
     7        It broke tests on Qt bot (Requested by Ossy on #webkit).
     8
     9        * GNUmakefile.am:
     10        * JavaScriptCore.gypi:
     11        * JavaScriptCore.xcodeproj/project.pbxproj:
     12        * wtf/text/TextPosition.h: Removed.
     13
    1142010-10-20  Brian Weinstein  <bweinstein@apple.com>
    215
  • trunk/JavaScriptCore/GNUmakefile.am

    r70165 r70181  
    518518        JavaScriptCore/wtf/text/StringImpl.h \
    519519        JavaScriptCore/wtf/text/StringStatics.cpp \
    520         JavaScriptCore/wtf/text/TextPosition.h \
    521520        JavaScriptCore/wtf/text/WTFString.cpp \
    522521        JavaScriptCore/wtf/text/WTFString.h \
  • trunk/JavaScriptCore/JavaScriptCore.gypi

    r70165 r70181  
    461461            'wtf/text/StringImpl.h',
    462462            'wtf/text/StringStatics.cpp',
    463             'wtf/text/TextPosition.h',
    464463            'wtf/text/WTFString.cpp',
    465464            'wtf/text/WTFString.h',
  • trunk/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj

    r70165 r70181  
    555555                E1EF79AA0CE97BA60088D500 /* UTF8.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E1EF79A80CE97BA60088D500 /* UTF8.cpp */; };
    556556                E48E0F2D0F82151700A8CA37 /* FastAllocBase.h in Headers */ = {isa = PBXBuildFile; fileRef = E48E0F2C0F82151700A8CA37 /* FastAllocBase.h */; settings = {ATTRIBUTES = (Private, ); }; };
    557                 F3BD31ED126735770065467F /* TextPosition.h in Headers */ = {isa = PBXBuildFile; fileRef = F3BD31D0126730180065467F /* TextPosition.h */; settings = {ATTRIBUTES = (Private, ); }; };
    558557                FE1B447A0ECCD73B004F4DD1 /* StdLibExtras.h in Headers */ = {isa = PBXBuildFile; fileRef = FE1B44790ECCD73B004F4DD1 /* StdLibExtras.h */; settings = {ATTRIBUTES = (Private, ); }; };
    559558/* End PBXBuildFile section */
     
    11441143                E1EF79A90CE97BA60088D500 /* UTF8.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UTF8.h; sourceTree = "<group>"; };
    11451144                E48E0F2C0F82151700A8CA37 /* FastAllocBase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FastAllocBase.h; sourceTree = "<group>"; };
    1146                 F3BD31D0126730180065467F /* TextPosition.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = TextPosition.h; path = text/TextPosition.h; sourceTree = "<group>"; };
    11471145                F5BB2BC5030F772101FCFE1D /* Completion.h */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = Completion.h; sourceTree = "<group>"; tabWidth = 8; };
    11481146                F5C290E60284F98E018635CA /* JavaScriptCorePrefix.h */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = JavaScriptCorePrefix.h; sourceTree = "<group>"; tabWidth = 8; };
     
    18601858                                86B99AE2117E578100DF5A90 /* StringImplBase.h */,
    18611859                                8626BECE11928E3900782FAB /* StringStatics.cpp */,
    1862                                 F3BD31D0126730180065467F /* TextPosition.h */,
    18631860                                868BFA15117CF19900B908B1 /* WTFString.cpp */,
    18641861                                868BFA16117CF19900B908B1 /* WTFString.h */,
     
    23502347                                A730B6121250068F009D25B1 /* StrictEvalActivation.h in Headers */,
    23512348                                933F5CDC1269229B0049191E /* NullPtr.h in Headers */,
    2352                                 F3BD31ED126735770065467F /* TextPosition.h in Headers */,
    23532349                        );
    23542350                        runOnlyForDeploymentPostprocessing = 0;
  • trunk/WebCore/ChangeLog

    r70172 r70181  
     12010-10-20  Sheriff Bot  <webkit.review.bot@gmail.com>
     2
     3        Unreviewed, rolling out r70165.
     4        http://trac.webkit.org/changeset/70165
     5        https://bugs.webkit.org/show_bug.cgi?id=48007
     6
     7        It broke tests on Qt bot (Requested by Ossy on #webkit).
     8
     9        * ForwardingHeaders/wtf/text/TextPosition.h: Removed.
     10        * bindings/js/ScriptSourceCode.h:
     11        (WebCore::ScriptSourceCode::ScriptSourceCode):
     12        * bindings/v8/ScheduledAction.cpp:
     13        (WebCore::ScheduledAction::ScheduledAction):
     14        * bindings/v8/ScriptController.cpp:
     15        (WebCore::ScriptController::eventHandlerLineNumber):
     16        (WebCore::ScriptController::eventHandlerColumnNumber):
     17        * bindings/v8/ScriptController.h:
     18        * bindings/v8/ScriptEventListener.cpp:
     19        (WebCore::createAttributeEventListener):
     20        * bindings/v8/ScriptSourceCode.h:
     21        (WebCore::ScriptSourceCode::ScriptSourceCode):
     22        (WebCore::ScriptSourceCode::startLine):
     23        * bindings/v8/V8LazyEventListener.cpp:
     24        (WebCore::V8LazyEventListener::V8LazyEventListener):
     25        (WebCore::V8LazyEventListener::prepareListenerObject):
     26        * bindings/v8/V8LazyEventListener.h:
     27        (WebCore::V8LazyEventListener::create):
     28        * bindings/v8/V8Proxy.cpp:
     29        (WebCore::V8Proxy::compileScript):
     30        (WebCore::V8Proxy::evaluate):
     31        (WebCore::V8Proxy::runScript):
     32        * bindings/v8/V8Proxy.h:
     33        * bindings/v8/WorkerContextExecutionProxy.cpp:
     34        (WebCore::WorkerContextExecutionProxy::evaluate):
     35        (WebCore::WorkerContextExecutionProxy::runScript):
     36        * bindings/v8/WorkerContextExecutionProxy.h:
     37        * bindings/v8/WorkerScriptController.cpp:
     38        (WebCore::WorkerScriptController::evaluate):
     39        * dom/PendingScript.cpp:
     40        (WebCore::PendingScript::releaseElementAndClear):
     41        * dom/PendingScript.h:
     42        (WebCore::PendingScript::PendingScript):
     43        (WebCore::PendingScript::operator=):
     44        (WebCore::PendingScript::startingLineNumber):
     45        * dom/ScriptableDocumentParser.h:
     46        * dom/XMLDocumentParser.h:
     47        * dom/XMLDocumentParserLibxml2.cpp:
     48        (WebCore::XMLDocumentParser::XMLDocumentParser):
     49        (WebCore::XMLDocumentParser::startElementNs):
     50        (WebCore::XMLDocumentParser::endElementNs):
     51        (WebCore::XMLDocumentParser::lineNumber):
     52        (WebCore::XMLDocumentParser::columnNumber):
     53        * dom/XMLDocumentParserQt.cpp:
     54        (WebCore::XMLDocumentParser::XMLDocumentParser):
     55        (WebCore::XMLDocumentParser::parseStartElement):
     56        (WebCore::XMLDocumentParser::parseEndElement):
     57        * html/parser/HTMLDocumentParser.cpp:
     58        (WebCore::HTMLDocumentParser::runScriptsForPausedTreeBuilder):
     59        (WebCore::HTMLDocumentParser::columnNumber):
     60        * html/parser/HTMLDocumentParser.h:
     61        * html/parser/HTMLScriptRunner.cpp:
     62        (WebCore::HTMLScriptRunner::sourceFromPendingScript):
     63        (WebCore::HTMLScriptRunner::execute):
     64        (WebCore::HTMLScriptRunner::runScript):
     65        * html/parser/HTMLScriptRunner.h:
     66        * html/parser/HTMLTreeBuilder.cpp:
     67        (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
     68        (WebCore::HTMLTreeBuilder::takeScriptToProcess):
     69        (WebCore::HTMLTreeBuilder::processEndTag):
     70        (WebCore::HTMLTreeBuilder::processScriptStartTag):
     71        * html/parser/HTMLTreeBuilder.h:
     72
    1732010-10-20  David Hyatt  <hyatt@apple.com>
    274
  • trunk/WebCore/bindings/js/ScriptSourceCode.h

    r70165 r70181  
    3636#include "StringSourceProvider.h"
    3737#include "KURL.h"
    38 #include <wtf/text/TextPosition.h>
    3938#include <wtf/RefPtr.h>
    4039
     
    4342class ScriptSourceCode {
    4443public:
    45     ScriptSourceCode(const String& source, const KURL& url = KURL(), const TextPosition1& startPosition = TextPosition1::minimumPosition())
     44    ScriptSourceCode(const String& source, const KURL& url = KURL(), int startLine = 1)
    4645        : m_provider(StringSourceProvider::create(source, url.isNull() ? String() : url.string()))
    47         , m_code(m_provider, startPosition.m_line.oneBasedInt())
     46        , m_code(m_provider, startLine)
    4847        , m_url(url)
    4948    {
  • trunk/WebCore/bindings/v8/ScheduledAction.cpp

    r70165 r70181  
    4646ScheduledAction::ScheduledAction(v8::Handle<v8::Context> context, v8::Handle<v8::Function> func, int argc, v8::Handle<v8::Value> argv[])
    4747    : m_context(context)
    48     , m_code(String(), KURL(), TextPosition1::belowRangePosition())
     48    , m_code(String(), KURL(), 0)
    4949{
    5050    m_function = v8::Persistent<v8::Function>::New(func);
  • trunk/WebCore/bindings/v8/ScriptController.cpp

    r70165 r70181  
    263263}
    264264
    265 TextPosition0 ScriptController::eventHandlerPosition() const
     265int ScriptController::eventHandlerLineNumber() const
    266266{
    267267    ScriptableDocumentParser* parser = m_frame->document()->scriptableDocumentParser();
    268268    if (parser)
    269         return parser->textPosition();
    270     return TextPosition0::minimumPosition();
     269        return parser->lineNumber();
     270    return 0;
     271}
     272
     273int ScriptController::eventHandlerColumnNumber() const
     274{
     275    ScriptableDocumentParser* parser = m_frame->document()->scriptableDocumentParser();
     276    if (parser)
     277        return parser->columnNumber();
     278    return 0;
    271279}
    272280
  • trunk/WebCore/bindings/v8/ScriptController.h

    r70165 r70181  
    156156    void finishedWithEvent(Event*);
    157157
    158     TextPosition0 eventHandlerPosition() const;
     158    int eventHandlerLineNumber() const;
     159    int eventHandlerColumnNumber() const;
    159160
    160161    void setProcessingTimerCallback(bool processingTimerCallback) { m_processingTimerCallback = processingTimerCallback; }
  • trunk/WebCore/bindings/v8/ScriptEventListener.cpp

    r70165 r70181  
    5151        return 0;
    5252
    53     // FIXME: Very strange: we initialize zero-based number with '1'.
    54     TextPosition0 position(WTF::ZeroBasedNumber::fromZeroBasedInt(1), WTF::ZeroBasedNumber::base());
     53    int lineNumber = 1;
     54    int columnNumber = 0;
    5555    String sourceURL;
    5656
     
    6565        }
    6666
    67         position = scriptController->eventHandlerPosition();
     67        lineNumber = scriptController->eventHandlerLineNumber();
     68        columnNumber = scriptController->eventHandlerColumnNumber();
    6869        sourceURL = node->document()->url().string();
    6970    }
    7071
    71     return V8LazyEventListener::create(attr->localName().string(), node->isSVGElement(), attr->value(), sourceURL, position, WorldContextHandle(UseMainWorld));
     72    return V8LazyEventListener::create(attr->localName().string(), node->isSVGElement(), attr->value(), sourceURL, lineNumber, columnNumber, WorldContextHandle(UseMainWorld));
    7273}
    7374
     
    8182        return 0;
    8283
     84    int lineNumber = 1;
     85    int columnNumber = 0;
     86    String sourceURL;
     87
    8388    ScriptController* scriptController = frame->script();
    8489    if (!scriptController->canExecuteScripts(AboutToExecuteScript))
     
    9095    }
    9196
    92     TextPosition0 position = scriptController->eventHandlerPosition();
    93     String sourceURL = frame->document()->url().string();
    94     return V8LazyEventListener::create(attr->localName().string(), frame->document()->isSVGDocument(), attr->value(), sourceURL, position, WorldContextHandle(UseMainWorld));
     97    lineNumber = scriptController->eventHandlerLineNumber();
     98    columnNumber = scriptController->eventHandlerColumnNumber();
     99    sourceURL = frame->document()->url().string();
     100    return V8LazyEventListener::create(attr->localName().string(), frame->document()->isSVGDocument(), attr->value(), sourceURL, lineNumber, columnNumber, WorldContextHandle(UseMainWorld));
    95101}
    96102
  • trunk/WebCore/bindings/v8/ScriptSourceCode.h

    r70165 r70181  
    3636#include "KURL.h"
    3737#include "PlatformString.h"
    38 #include <wtf/text/TextPosition.h>
    3938
    4039namespace WebCore {
     
    4241class ScriptSourceCode {
    4342public:
    44     ScriptSourceCode(const String& source, const KURL& url = KURL(), const TextPosition1& startPosition = TextPosition1::minimumPosition())
     43    ScriptSourceCode(const String& source, const KURL& url = KURL(), int startLine = 1)
    4544        : m_source(source)
    4645        , m_cachedScript(0)
    4746        , m_url(url)
    48         , m_startPosition(startPosition)
     47        , m_startLine(startLine)
    4948    {
    5049    }
     
    5655        , m_cachedScript(cs)
    5756        , m_url(ParsedURLString, cs->url())
    58         , m_startPosition(TextPosition1::minimumPosition())
     57        , m_startLine(1)
    5958    {
    6059    }
     
    6564    CachedScript* cachedScript() const { return m_cachedScript.get(); }
    6665    const KURL& url() const { return m_url; }
    67     int startLine() const { return m_startPosition.m_line.oneBasedInt(); }
    68     const TextPosition1& startPosition() const { return m_startPosition; }
     66    int startLine() const { return m_startLine; }
    6967
    7068private:
     
    7270    CachedResourceHandle<CachedScript> m_cachedScript;
    7371    KURL m_url;
    74     TextPosition1 m_startPosition;
     72    int m_startLine;
    7573};
    7674
  • trunk/WebCore/bindings/v8/V8LazyEventListener.cpp

    r70165 r70181  
    4242namespace WebCore {
    4343
    44 V8LazyEventListener::V8LazyEventListener(const String& functionName, bool isSVGEvent, const String& code, const String sourceURL, const TextPosition0& position, const WorldContextHandle& worldContext)
     44V8LazyEventListener::V8LazyEventListener(const String& functionName, bool isSVGEvent, const String& code, const String sourceURL, int lineNumber, int columnNumber, const WorldContextHandle& worldContext)
    4545    : V8AbstractEventListener(true, worldContext)
    4646    , m_functionName(functionName)
     
    4848    , m_code(code)
    4949    , m_sourceURL(sourceURL)
    50     , m_position(position)
     50    , m_lineNumber(lineNumber)
     51    , m_columnNumber(columnNumber)
    5152{
    5253}
     
    114115    code.append(  "\n}).call(this, evt);}}}})");
    115116    v8::Handle<v8::String> codeExternalString = v8ExternalString(code);
    116     v8::Handle<v8::Script> script = V8Proxy::compileScript(codeExternalString, m_sourceURL, m_position);
     117    v8::Handle<v8::Script> script = V8Proxy::compileScript(codeExternalString, m_sourceURL, m_lineNumber);
    117118    if (!script.IsEmpty()) {
    118119        v8::Local<v8::Value> value = proxy->runScript(script, false);
  • trunk/WebCore/bindings/v8/V8LazyEventListener.h

    r70165 r70181  
    3535#include "V8AbstractEventListener.h"
    3636#include <v8.h>
    37 #include <wtf/text/TextPosition.h>
    3837#include <wtf/PassRefPtr.h>
    3938
     
    4746    class V8LazyEventListener : public V8AbstractEventListener {
    4847    public:
    49         static PassRefPtr<V8LazyEventListener> create(const String& functionName, bool isSVGEvent, const String& code, const String& sourceURL, const TextPosition0& position, const WorldContextHandle& worldContext)
     48        static PassRefPtr<V8LazyEventListener> create(const String& functionName, bool isSVGEvent, const String& code, const String& sourceURL, int lineNumber, int columnNumber, const WorldContextHandle& worldContext)
    5049        {
    51             return adoptRef(new V8LazyEventListener(functionName, isSVGEvent, code, sourceURL, position, worldContext));
     50            return adoptRef(new V8LazyEventListener(functionName, isSVGEvent, code, sourceURL, lineNumber, columnNumber, worldContext));
    5251        }
    5352
     
    5857
    5958    private:
    60         V8LazyEventListener(const String& functionName, bool isSVGEvent, const String& code, const String sourceURL, const TextPosition0& position, const WorldContextHandle& worldContext);
     59        V8LazyEventListener(const String& functionName, bool isSVGEvent, const String& code, const String sourceURL, int lineNumber, int columnNumber, const WorldContextHandle& worldContext);
    6160
    6261        virtual v8::Local<v8::Value> callListenerFunction(ScriptExecutionContext*, v8::Handle<v8::Value> jsEvent, Event*);
     
    7271        String m_code;
    7372        String m_sourceURL;
    74         TextPosition0 m_position;
     73        int m_lineNumber;
     74        int m_columnNumber;
    7575    };
    7676
  • trunk/WebCore/bindings/v8/V8Proxy.cpp

    r70165 r70181  
    236236}
    237237
    238 v8::Handle<v8::Script> V8Proxy::compileScript(v8::Handle<v8::String> code, const String& fileName, const TextPosition0& scriptStartPosition, v8::ScriptData* scriptData)
     238v8::Handle<v8::Script> V8Proxy::compileScript(v8::Handle<v8::String> code, const String& fileName, int baseLine, v8::ScriptData* scriptData)
    239239{
    240240    const uint16_t* fileNameString = fromWebCoreString(fileName);
    241241    v8::Handle<v8::String> name = v8::String::New(fileNameString, fileName.length());
    242     v8::Handle<v8::Integer> line = v8::Integer::New(scriptStartPosition.m_line.zeroBasedInt());
    243     v8::Handle<v8::Integer> column = v8::Integer::New(scriptStartPosition.m_column.zeroBasedInt());
    244     v8::ScriptOrigin origin(name, line, column);
     242    v8::Handle<v8::Integer> line = v8::Integer::New(baseLine);
     243    v8::ScriptOrigin origin(name, line);
    245244    v8::Handle<v8::Script> script = v8::Script::Compile(code, &origin, scriptData);
    246245    return script;
     
    395394        // NOTE: For compatibility with WebCore, ScriptSourceCode's line starts at
    396395        // 1, whereas v8 starts at 0.
    397         v8::Handle<v8::Script> script = compileScript(code, source.url(), WTF::toZeroBasedTextPosition(source.startPosition()), scriptData.get());
     396        v8::Handle<v8::Script> script = compileScript(code, source.url(), source.startLine() - 1, scriptData.get());
    398397#if PLATFORM(CHROMIUM)
    399398        PlatformBridge::traceEventEnd("v8.compile", node, "");
     
    427426        // script passed to us as the argument instead of using an empty string
    428427        // and 0 baseLine.
    429         script = compileScript(code, "", TextPosition0::minimumPosition());
     428        script = compileScript(code, "", 0);
    430429    }
    431430
  • trunk/WebCore/bindings/v8/V8Proxy.h

    r70165 r70181  
    280280        static v8::Handle<v8::Value> checkNewLegal(const v8::Arguments&);
    281281
    282         static v8::Handle<v8::Script> compileScript(v8::Handle<v8::String> code, const String& fileName, const TextPosition0& scriptStartPosition, v8::ScriptData* = 0);
     282        static v8::Handle<v8::Script> compileScript(v8::Handle<v8::String> code, const String& fileName, int baseLine, v8::ScriptData* = 0);
    283283
    284284        // If the exception code is different from zero, a DOM exception is
  • trunk/WebCore/bindings/v8/WorkerContextExecutionProxy.cpp

    r70165 r70181  
    185185}
    186186
    187 ScriptValue WorkerContextExecutionProxy::evaluate(const String& script, const String& fileName, const TextPosition0& scriptStartPosition, WorkerContextExecutionState* state)
     187ScriptValue WorkerContextExecutionProxy::evaluate(const String& script, const String& fileName, int baseLine, WorkerContextExecutionState* state)
    188188{
    189189    v8::HandleScope hs;
     
    197197
    198198    v8::Local<v8::String> scriptString = v8ExternalString(script);
    199     v8::Handle<v8::Script> compiledScript = V8Proxy::compileScript(scriptString, fileName, scriptStartPosition);
     199    v8::Handle<v8::Script> compiledScript = V8Proxy::compileScript(scriptString, fileName, baseLine);
    200200    v8::Local<v8::Value> result = runScript(compiledScript);
    201201
     
    228228    if (m_recursion >= kMaxRecursionDepth) {
    229229        v8::Local<v8::String> code = v8ExternalString("throw RangeError('Recursion too deep')");
    230         script = V8Proxy::compileScript(code, "", TextPosition0::minimumPosition());
     230        script = V8Proxy::compileScript(code, "", 0);
    231231    }
    232232
  • trunk/WebCore/bindings/v8/WorkerContextExecutionProxy.h

    r70165 r70181  
    3737#include "ScriptValue.h"
    3838#include <v8.h>
    39 #include <wtf/text/TextPosition.h>
    4039#include <wtf/OwnPtr.h>
    4140#include <wtf/Vector.h>
     
    6867
    6968        // Evaluate a script file in the current execution environment.
    70         ScriptValue evaluate(const String& script, const String& fileName, const TextPosition0& scriptStartPosition, WorkerContextExecutionState*);
     69        ScriptValue evaluate(const String& script, const String& fileName, int baseLine, WorkerContextExecutionState*);
    7170
    7271        // Returns a local handle of the context.
  • trunk/WebCore/bindings/v8/WorkerScriptController.cpp

    r70165 r70181  
    7676
    7777    WorkerContextExecutionState state;
    78     ScriptValue result = m_proxy->evaluate(sourceCode.source(), sourceCode.url().string(), WTF::toZeroBasedTextPosition(sourceCode.startPosition()), &state);
     78    ScriptValue result = m_proxy->evaluate(sourceCode.source(), sourceCode.url().string(), sourceCode.startLine() - 1, &state);
    7979    if (state.hadException) {
    8080        if (exception)
  • trunk/WebCore/dom/PendingScript.cpp

    r70165 r70181  
    4141{
    4242    setCachedScript(0);
    43     m_startingPosition = TextPosition1::belowRangePosition();
     43    m_startingLineNumber = 0;
    4444    m_watchingForLoad = false;
    4545    return m_element.release();
  • trunk/WebCore/dom/PendingScript.h

    r70165 r70181  
    2929#include "CachedResourceClient.h"
    3030#include "CachedResourceHandle.h"
    31 #include <wtf/text/TextPosition.h>
    3231#include <wtf/PassRefPtr.h>
    3332
     
    4544public:
    4645    PendingScript()
    47         : m_startingPosition(TextPosition1::belowRangePosition())
     46        : m_startingLineNumber(0)
    4847        , m_watchingForLoad(false)
    4948    {
     
    5251    PendingScript(const PendingScript& other)
    5352        : CachedResourceClient(other)
    54         , m_startingPosition(other.m_startingPosition)
     53        , m_startingLineNumber(other.m_startingLineNumber)
    5554        , m_watchingForLoad(other.m_watchingForLoad)
    5655        , m_element(other.m_element)
     
    6665            return *this;
    6766
    68         m_startingPosition = other.m_startingPosition;
     67        m_startingLineNumber = other.m_startingLineNumber;
    6968        m_watchingForLoad = other.m_watchingForLoad;
    7069        m_element = other.m_element;
     
    7675    // FIXME: No setter means this is never set to anything other than 0.
    7776    // This is either unnecessary or incorrect.
    78     TextPosition1 startingPosition() const { return m_startingPosition; }
     77    int startingLineNumber() const { return m_startingLineNumber; }
    7978
    8079    bool watchingForLoad() const { return m_watchingForLoad; }
     
    9190
    9291private:
    93     TextPosition1 m_startingPosition; // Only used for inline script tags.
     92    int m_startingLineNumber; // Only used for inline script tags.
    9493    bool m_watchingForLoad;
    9594    RefPtr<Element> m_element;
  • trunk/WebCore/dom/ScriptableDocumentParser.h

    r70165 r70181  
    2828
    2929#include "DecodedDataDocumentParser.h"
    30 #include <wtf/text/TextPosition.h>
    3130
    3231namespace WebCore {
    3332
     33class SegmentedString;
    3434class XSSAuditor;
    3535
     
    4848    // These are used to expose the current line/column to the scripting system.
    4949    virtual int lineNumber() const = 0;
    50     virtual TextPosition0 textPosition() const = 0;
     50    virtual int columnNumber() const = 0;
    5151
    5252    XSSAuditor* xssAuditor() const { return m_xssAuditor; }
  • trunk/WebCore/dom/XMLDocumentParser.h

    r70165 r70181  
    103103        virtual bool wellFormed() const { return !m_sawError; }
    104104        virtual int lineNumber() const;
    105         TextPosition0 textPosition() const;
     105        virtual int columnNumber() const;
    106106
    107107        static bool supportsXMLVersion(const String&);
     
    129129
    130130        bool appendFragmentSource(const String&);
    131 
    132         int columnNumber() const;
    133         // The method is used in XMLDocumentParserLibxml2.cpp only,
    134         // It is neither used nor implemented in XMLDocumentParserQt.cpp.
    135         TextPosition1 textPositionOneBased() const;
    136131
    137132#if USE(QXMLSTREAM)
     
    214209        CachedResourceHandle<CachedScript> m_pendingScript;
    215210        RefPtr<Element> m_scriptElement;
    216         TextPosition1 m_scriptStartPosition;
     211        int m_scriptStartLine;
    217212
    218213        bool m_parsingFragment;
  • trunk/WebCore/dom/XMLDocumentParserLibxml2.cpp

    r70165 r70181  
    561561    , m_lastErrorColumn(0)
    562562    , m_pendingScript(0)
    563     , m_scriptStartPosition(TextPosition1::belowRangePosition())
     563    , m_scriptStartLine(0)
    564564    , m_parsingFragment(false)
    565565    , m_scriptingPermission(FragmentScriptingAllowed)
     
    588588    , m_lastErrorColumn(0)
    589589    , m_pendingScript(0)
    590     , m_scriptStartPosition(TextPosition1::belowRangePosition())
     590    , m_scriptStartLine(0)
    591591    , m_parsingFragment(true)
    592592    , m_scriptingPermission(scriptingPermission)
     
    820820    ScriptElement* scriptElement = toScriptElement(newElement.get());
    821821    if (scriptElement)
    822         m_scriptStartPosition = textPositionOneBased();
     822        m_scriptStartLine = lineNumber();
    823823
    824824    m_currentNode->deprecatedParserAddChild(newElement.get());
     
    911911                m_scriptElement = 0;
    912912        } else
    913             m_view->frame()->script()->executeScript(ScriptSourceCode(scriptElement->scriptContent(), document()->url(), m_scriptStartPosition));
     913            m_view->frame()->script()->executeScript(ScriptSourceCode(scriptElement->scriptContent(), document()->url(), m_scriptStartLine));
    914914
    915915        // JavaScript may have detached the parser
     
    13771377int XMLDocumentParser::lineNumber() const
    13781378{
    1379     // FIXME: The implementation probably returns 1-based int, but method should return 0-based.
    13801379    return context() ? context()->input->line : 1;
    13811380}
     
    13831382int XMLDocumentParser::columnNumber() const
    13841383{
    1385     // FIXME: The implementation probably returns 1-based int, but method should return 0-based.
    13861384    return context() ? context()->input->col : 1;
    1387 }
    1388 
    1389 TextPosition0 XMLDocumentParser::textPosition() const
    1390 {
    1391     xmlParserCtxtPtr context = this->context();
    1392     if (!context)
    1393         return TextPosition0::minimumPosition();
    1394     // FIXME: The context probably contains 1-based numbers, but we treat them as 0-based,
    1395     //        to be consistent with fixme's in lineNumber() and columnNumber
    1396     //        methods.
    1397     return TextPosition0(WTF::ZeroBasedNumber::fromZeroBasedInt(context->input->line),
    1398         WTF::ZeroBasedNumber::fromZeroBasedInt(context->input->col));
    1399 }
    1400 
    1401 // This method has a correct implementation, in contrast to textPosition() method.
    1402 // It should replace textPosition().
    1403 TextPosition1 XMLDocumentParser::textPositionOneBased() const
    1404 {
    1405     xmlParserCtxtPtr context = this->context();
    1406     if (!context)
    1407         return TextPosition1::minimumPosition();
    1408     return TextPosition1(WTF::OneBasedNumber::fromOneBasedInt(context->input->line),
    1409         WTF::OneBasedNumber::fromOneBasedInt(context->input->col));
    14101385}
    14111386
  • trunk/WebCore/dom/XMLDocumentParserQt.cpp

    r70165 r70181  
    106106    , m_lastErrorColumn(0)
    107107    , m_pendingScript(0)
    108     , m_scriptStartPosition(TextPosition1::belowRangePosition())
     108    , m_scriptStartLine(0)
    109109    , m_parsingFragment(false)
    110110    , m_scriptingPermission(FragmentScriptingAllowed)
     
    133133    , m_lastErrorColumn(0)
    134134    , m_pendingScript(0)
    135     , m_scriptStartPosition(TextPosition1::belowRangePosition())
     135    , m_scriptStartLine(0)
    136136    , m_parsingFragment(true)
    137137    , m_scriptingPermission(permission)
     
    235235}
    236236
    237 TextPosition0 XMLDocumentParser::textPosition() const
    238 {
    239     return TextPosition0(WTF::ZeroBasedNumber::fromZeroBasedInt(lineNumber()), WTF::ZeroBasedNumber::fromZeroBasedInt(columnNumber()));
    240 }
    241 
    242237void XMLDocumentParser::stopParsing()
    243238{
     
    524519    ScriptElement* scriptElement = toScriptElement(newElement.get());
    525520    if (scriptElement)
    526         m_scriptStartPosition = WTF::toOneBasedTextPosition(textPosition());
     521        m_scriptStartLine = lineNumber();
    527522
    528523    m_currentNode->deprecatedParserAddChild(newElement.get());
     
    601596                m_scriptElement = 0;
    602597        } else
    603             m_view->frame()->script()->executeScript(ScriptSourceCode(scriptElement->scriptContent(), document()->url(), m_scriptStartPosition));
     598            m_view->frame()->script()->executeScript(ScriptSourceCode(scriptElement->scriptContent(), document()->url(), m_scriptStartLine));
    604599    }
    605600    m_requestingScript = false;
     
    722717}
    723718}
     719
  • trunk/WebCore/html/parser/HTMLDocumentParser.cpp

    r70165 r70181  
    192192    ASSERT(m_treeBuilder->isPaused());
    193193
    194     TextPosition1 scriptStartPosition = TextPosition1::belowRangePosition();
    195     RefPtr<Element> scriptElement = m_treeBuilder->takeScriptToProcess(scriptStartPosition);
     194    int scriptStartLine = 0;
     195    RefPtr<Element> scriptElement = m_treeBuilder->takeScriptToProcess(scriptStartLine);
    196196    // We will not have a scriptRunner when parsing a DocumentFragment.
    197197    if (!m_scriptRunner)
    198198        return true;
    199     return m_scriptRunner->execute(scriptElement.release(), scriptStartPosition);
     199    return m_scriptRunner->execute(scriptElement.release(), scriptStartLine);
    200200}
    201201
     
    397397}
    398398
    399 TextPosition0 HTMLDocumentParser::textPosition() const
    400 {
    401     int lineZeroBased = m_tokenizer->lineNumber();
    402     int columnOneBased = m_tokenizer->columnNumber();
    403 
    404     return TextPosition0(WTF::ZeroBasedNumber::fromZeroBasedInt(lineZeroBased),
    405         WTF::OneBasedNumber::fromOneBasedInt(columnOneBased).convertToZeroBased());
     399int HTMLDocumentParser::columnNumber() const
     400{
     401    return m_tokenizer->columnNumber();
    406402}
    407403
  • trunk/WebCore/html/parser/HTMLDocumentParser.h

    r70165 r70181  
    9393    virtual void executeScriptsWaitingForStylesheets();
    9494    virtual int lineNumber() const;
    95     virtual TextPosition0 textPosition() const;
     95    virtual int columnNumber() const;
    9696
    9797    // HTMLScriptRunnerHost
  • trunk/WebCore/html/parser/HTMLScriptRunner.cpp

    r70165 r70181  
    9999    }
    100100    errorOccurred = false;
    101     return ScriptSourceCode(script.element()->textContent(), documentURLForScriptExecution(m_document), script.startingPosition());
     101    return ScriptSourceCode(script.element()->textContent(), documentURLForScriptExecution(m_document), script.startingLineNumber());
    102102}
    103103
     
    171171// This function should match 10.2.5.11 "An end tag whose tag name is 'script'"
    172172// Script handling lives outside the tree builder to keep the each class simple.
    173 bool HTMLScriptRunner::execute(PassRefPtr<Element> scriptElement, const TextPosition1& scriptStartPosition)
     173bool HTMLScriptRunner::execute(PassRefPtr<Element> scriptElement, int startLine)
    174174{
    175175    ASSERT(scriptElement);
     
    177177
    178178    // Try to execute the script given to us.
    179     runScript(scriptElement.get(), scriptStartPosition);
     179    runScript(scriptElement.get(), startLine);
    180180
    181181    if (haveParsingBlockingScript()) {
     
    289289// This method is meant to match the HTML5 definition of "running a script"
    290290// http://www.whatwg.org/specs/web-apps/current-work/multipage/scripting-1.html#running-a-script
    291 void HTMLScriptRunner::runScript(Element* script, const TextPosition1& scriptStartPosition)
     291void HTMLScriptRunner::runScript(Element* script, int startingLineNumber)
    292292{
    293293    ASSERT(m_document);
     
    316316            // ASSERT(document()->haveStylesheetsLoaded());
    317317            ASSERT(isExecutingScript());
    318             ScriptSourceCode sourceCode(script->textContent(), documentURLForScriptExecution(m_document), scriptStartPosition);
     318            ScriptSourceCode sourceCode(script->textContent(), documentURLForScriptExecution(m_document), startingLineNumber);
    319319            executeScript(sourceCode);
    320320        }
  • trunk/WebCore/html/parser/HTMLScriptRunner.h

    r70165 r70181  
    2929#include "PendingScript.h"
    3030#include <wtf/Deque.h>
    31 #include <wtf/text/TextPosition.h>
    3231#include <wtf/Noncopyable.h>
    3332#include <wtf/PassRefPtr.h>
     
    5453
    5554    // Processes the passed in script and any pending scripts if possible.
    56     bool execute(PassRefPtr<Element> scriptToProcess, const TextPosition1& scriptStartPosition);
     55    bool execute(PassRefPtr<Element> scriptToProcess, int scriptStartLine);
    5756
    5857    bool executeScriptsWaitingForLoad(CachedResource*);
     
    7877    bool requestPendingScript(PendingScript&, Element*) const;
    7978
    80     void runScript(Element*, const TextPosition1& scriptStartPosition);
     79    void runScript(Element*, int startingLineNumber);
    8180
    8281    // Helpers for dealing with HTMLScriptRunnerHost
  • trunk/WebCore/html/parser/HTMLTreeBuilder.cpp

    r70165 r70181  
    5656
    5757static const int uninitializedLineNumberValue = -1;
    58 
    59 static TextPosition1 uninitializedPositionValue1()
    60 {
    61     return TextPosition1(WTF::OneBasedNumber::fromOneBasedInt(-1), WTF::OneBasedNumber::base());
    62 }
    6358
    6459namespace {
     
    339334    , m_secondaryInsertionMode(InitialMode)
    340335    , m_tokenizer(tokenizer)
    341     , m_scriptToProcessStartPosition(uninitializedPositionValue1())
    342     , m_lastScriptElementStartPosition(TextPosition0::belowRangePosition())
     336    , m_scriptToProcessStartLine(uninitializedLineNumberValue)
     337    , m_lastScriptElementStartLine(uninitializedLineNumberValue)
    343338    , m_usePreHTML5ParserQuirks(usePreHTML5ParserQuirks)
    344339{
     
    358353    , m_secondaryInsertionMode(InitialMode)
    359354    , m_tokenizer(tokenizer)
    360     , m_scriptToProcessStartPosition(uninitializedPositionValue1())
    361     , m_lastScriptElementStartPosition(TextPosition0::belowRangePosition())
     355    , m_scriptToProcessStartLine(uninitializedLineNumberValue)
     356    , m_lastScriptElementStartLine(uninitializedLineNumberValue)
    362357    , m_usePreHTML5ParserQuirks(usePreHTML5ParserQuirks)
    363358{
     
    421416}
    422417
    423 PassRefPtr<Element> HTMLTreeBuilder::takeScriptToProcess(TextPosition1& scriptStartPosition)
     418PassRefPtr<Element> HTMLTreeBuilder::takeScriptToProcess(int& scriptStartLine)
    424419{
    425420    // Unpause ourselves, callers may pause us again when processing the script.
     
    428423    // before running scripts.
    429424    m_isPaused = false;
    430     scriptStartPosition = m_scriptToProcessStartPosition;
    431     m_scriptToProcessStartPosition = uninitializedPositionValue1();
     425    scriptStartLine = m_scriptToProcessStartLine;
     426    m_scriptToProcessStartLine = uninitializedLineNumberValue;
    432427    return m_scriptToProcess.release();
    433428}
     
    22072202            ASSERT(m_tree.currentElement()->hasTagName(scriptTag));
    22082203            m_scriptToProcess = m_tree.currentElement();
    2209             m_scriptToProcessStartPosition = WTF::toOneBasedTextPosition(m_lastScriptElementStartPosition);
     2204            m_scriptToProcessStartLine = m_lastScriptElementStartLine + 1;
    22102205            m_tree.openElements()->pop();
    22112206            if (isParsingFragment() && m_fragmentContext.scriptingPermission() == FragmentScriptingNotAllowed)
     
    27562751    m_tokenizer->setState(HTMLTokenizer::ScriptDataState);
    27572752    m_originalInsertionMode = m_insertionMode;
    2758 
    2759     TextPosition0 position = TextPosition0(WTF::ZeroBasedNumber::fromZeroBasedInt(m_tokenizer->lineNumber()), WTF::ZeroBasedNumber::base());
    2760     m_lastScriptElementStartPosition = position;
    2761 
     2753    m_lastScriptElementStartLine = m_tokenizer->lineNumber();
    27622754    setInsertionMode(TextMode);
    27632755}
  • trunk/WebCore/html/parser/HTMLTreeBuilder.h

    r70165 r70181  
    3333#include "HTMLFormattingElementList.h"
    3434#include "HTMLTokenizer.h"
    35 #include <wtf/text/TextPosition.h>
    3635#include <wtf/Noncopyable.h>
    3736#include <wtf/OwnPtr.h>
     
    7372
    7473    // Must be called when parser is paused before calling the parser again.
    75     PassRefPtr<Element> takeScriptToProcess(TextPosition1& scriptStartPosition);
     74    PassRefPtr<Element> takeScriptToProcess(int& scriptStartLine);
    7675
    7776    // Done, close any open tags, etc.
     
    248247
    249248    RefPtr<Element> m_scriptToProcess; // <script> tag which needs processing before resuming the parser.
    250     TextPosition1 m_scriptToProcessStartPosition; // Starting line number of the script tag needing processing.
     249    int m_scriptToProcessStartLine; // Starting line number of the script tag needing processing.
    251250
    252251    // FIXME: We probably want to remove this member.  Originally, it was
    253252    // created to service the legacy tree builder, but it seems to be used for
    254253    // some other things now.
    255     TextPosition0 m_lastScriptElementStartPosition;
     254    int m_lastScriptElementStartLine;
     255   
    256256    bool m_usePreHTML5ParserQuirks;
    257257};
  • trunk/WebKit/chromium/ChangeLog

    r70165 r70181  
     12010-10-20  Sheriff Bot  <webkit.review.bot@gmail.com>
     2
     3        Unreviewed, rolling out r70165.
     4        http://trac.webkit.org/changeset/70165
     5        https://bugs.webkit.org/show_bug.cgi?id=48007
     6
     7        It broke tests on Qt bot (Requested by Ossy on #webkit).
     8
     9        * src/WebFrameImpl.cpp:
     10        (WebKit::WebFrameImpl::executeScript):
     11        (WebKit::WebFrameImpl::executeScriptInIsolatedWorld):
     12        (WebKit::WebFrameImpl::executeScriptAndReturnValue):
     13
    1142010-10-20  Peter Rybin  <peter.rybin@gmail.com>
    215
  • trunk/WebKit/chromium/src/WebFrameImpl.cpp

    r70165 r70181  
    754754void WebFrameImpl::executeScript(const WebScriptSource& source)
    755755{
    756     TextPosition1 position(WTF::OneBasedNumber::fromOneBasedInt(source.startLine), WTF::OneBasedNumber::base());
    757756    m_frame->script()->executeScript(
    758         ScriptSourceCode(source.code, source.url, position));
     757        ScriptSourceCode(source.code, source.url, source.startLine));
    759758}
    760759
     
    766765
    767766    for (unsigned i = 0; i < numSources; ++i) {
    768         TextPosition1 position(WTF::OneBasedNumber::fromOneBasedInt(sourcesIn[i].startLine), WTF::OneBasedNumber::base());
    769767        sources.append(ScriptSourceCode(
    770             sourcesIn[i].code, sourcesIn[i].url, position));
     768            sourcesIn[i].code, sourcesIn[i].url, sourcesIn[i].startLine));
    771769    }
    772770
     
    820818    const WebScriptSource& source)
    821819{
    822     TextPosition1 position(WTF::OneBasedNumber::fromOneBasedInt(source.startLine), WTF::OneBasedNumber::base());
    823820    return m_frame->script()->executeScript(
    824         ScriptSourceCode(source.code, source.url, position)).v8Value();
     821        ScriptSourceCode(source.code, source.url, source.startLine)).v8Value();
    825822}
    826823
Note: See TracChangeset for help on using the changeset viewer.