Title: [209627] trunk/Source
Revision
209627
Author
gga...@apple.com
Date
2016-12-09 14:04:14 -0800 (Fri, 09 Dec 2016)

Log Message

TextPosition and OrdinalNumber should be more like idiomatic numbers
https://bugs.webkit.org/show_bug.cgi?id=165678

Reviewed by Filip Pizlo.

Source/_javascript_Core:

Adopt default constructor.

* API/JSBase.cpp:
(JSEvaluateScript):
(JSCheckScriptSyntax):
* API/JSObjectRef.cpp:
(JSObjectMakeFunction):
* API/JSScriptRef.cpp:
(OpaqueJSScript::OpaqueJSScript):
* jsc.cpp:
(functionCheckModuleSyntax):
* parser/SourceCode.h:
(JSC::makeSource):
* parser/SourceProvider.h:
(JSC::StringSourceProvider::create):
(JSC::WebAssemblySourceProvider::WebAssemblySourceProvider):
* runtime/FunctionConstructor.cpp:
(JSC::constructFunction):
* runtime/ModuleLoaderPrototype.cpp:
(JSC::moduleLoaderPrototypeParseModule):

Source/WebCore:

* bindings/js/CachedScriptSourceProvider.h:
(WebCore::CachedScriptSourceProvider::CachedScriptSourceProvider):
* bindings/js/JSEventListener.h:
(WebCore::JSEventListener::sourcePosition):
* bindings/js/JSLazyEventListener.cpp:
(WebCore::JSLazyEventListener::JSLazyEventListener):
* bindings/js/ScriptController.cpp:
(WebCore::ScriptController::eventHandlerPosition):
* bindings/js/ScriptSourceCode.h:
(WebCore::ScriptSourceCode::ScriptSourceCode):
* css/CSSStyleSheet.cpp:
(WebCore::CSSStyleSheet::create):
* dom/ScriptElement.h:
* html/parser/HTMLTreeBuilder.cpp:
(WebCore::uninitializedPositionValue1):
* inspector/InspectorStyleSheet.cpp:
(WebCore::InspectorStyleSheet::buildObjectForStyleSheetInfo): Adopt
default construtor.

* xml/XMLErrors.cpp:
(WebCore::XMLErrors::XMLErrors):
(WebCore::XMLErrors::handleError):
* xml/XMLErrors.h: Use std::optional instead of belowRangePosition()
because in-band signaling is harder to reason about.

* xml/parser/XMLDocumentParserLibxml2.cpp:
(WebCore::XMLDocumentParser::textPosition): Adopt default constructor.

Source/WebKit/win:

Adopt default constructor.

* Plugins/PluginPackage.cpp:
(WebCore::makeSource):

Source/WTF:

* wtf/text/TextPosition.h:
(WTF::TextPosition::minimumPosition): Deleted. Just use the default
constructor. Other numbers use their default constructors to mean zero.

Any time you need a comment that says "used as a default value", that's
a pretty good indicator that it should be the default constructor.

Modified Paths

Diff

Modified: trunk/Source/_javascript_Core/API/JSBase.cpp (209626 => 209627)


--- trunk/Source/_javascript_Core/API/JSBase.cpp	2016-12-09 22:00:28 UTC (rev 209626)
+++ trunk/Source/_javascript_Core/API/JSBase.cpp	2016-12-09 22:04:14 UTC (rev 209627)
@@ -62,7 +62,7 @@
 
     // evaluate sets "this" to the global object if it is NULL
     JSGlobalObject* globalObject = exec->vmEntryGlobalObject();
-    SourceCode source = makeSource(script->string(), sourceURL ? sourceURL->string() : String(), TextPosition(OrdinalNumber::fromOneBasedInt(startingLineNumber), OrdinalNumber::first()));
+    SourceCode source = makeSource(script->string(), sourceURL ? sourceURL->string() : String(), TextPosition(OrdinalNumber::fromOneBasedInt(startingLineNumber), OrdinalNumber()));
 
     NakedPtr<Exception> evaluationException;
     JSValue returnValue = profiledEvaluate(globalObject->globalExec(), ProfilingReason::API, source, jsThisObject, evaluationException);
@@ -99,7 +99,7 @@
 
     startingLineNumber = std::max(1, startingLineNumber);
 
-    SourceCode source = makeSource(script->string(), sourceURL ? sourceURL->string() : String(), TextPosition(OrdinalNumber::fromOneBasedInt(startingLineNumber), OrdinalNumber::first()));
+    SourceCode source = makeSource(script->string(), sourceURL ? sourceURL->string() : String(), TextPosition(OrdinalNumber::fromOneBasedInt(startingLineNumber), OrdinalNumber()));
     
     JSValue syntaxException;
     bool isValidSyntax = checkSyntax(exec->vmEntryGlobalObject()->globalExec(), source, &syntaxException);

Modified: trunk/Source/_javascript_Core/API/JSObjectRef.cpp (209626 => 209627)


--- trunk/Source/_javascript_Core/API/JSObjectRef.cpp	2016-12-09 22:00:28 UTC (rev 209626)
+++ trunk/Source/_javascript_Core/API/JSObjectRef.cpp	2016-12-09 22:04:14 UTC (rev 209627)
@@ -146,7 +146,7 @@
         args.append(jsString(exec, parameterNames[i]->string()));
     args.append(jsString(exec, body->string()));
 
-    JSObject* result = constructFunction(exec, exec->lexicalGlobalObject(), args, nameID, sourceURL ? sourceURL->string() : String(), TextPosition(OrdinalNumber::fromOneBasedInt(startingLineNumber), OrdinalNumber::first()));
+    JSObject* result = constructFunction(exec, exec->lexicalGlobalObject(), args, nameID, sourceURL ? sourceURL->string() : String(), TextPosition(OrdinalNumber::fromOneBasedInt(startingLineNumber), OrdinalNumber()));
     if (handleExceptionIfNeeded(exec, exception) == ExceptionStatus::DidThrow)
         result = 0;
     return toRef(result);

Modified: trunk/Source/_javascript_Core/API/JSScriptRef.cpp (209626 => 209627)


--- trunk/Source/_javascript_Core/API/JSScriptRef.cpp	2016-12-09 22:00:28 UTC (rev 209626)
+++ trunk/Source/_javascript_Core/API/JSScriptRef.cpp	2016-12-09 22:04:14 UTC (rev 209627)
@@ -60,7 +60,7 @@
 
 private:
     OpaqueJSScript(VM* vm, const String& url, int startingLineNumber, const String& source)
-        : SourceProvider(url, TextPosition(OrdinalNumber::fromOneBasedInt(startingLineNumber), OrdinalNumber::first()), SourceProviderSourceType::Program)
+        : SourceProvider(url, TextPosition(OrdinalNumber::fromOneBasedInt(startingLineNumber), OrdinalNumber()), SourceProviderSourceType::Program)
         , m_vm(vm)
         , m_source(source.isNull() ? *StringImpl::empty() : *source.impl())
     {

Modified: trunk/Source/_javascript_Core/ChangeLog (209626 => 209627)


--- trunk/Source/_javascript_Core/ChangeLog	2016-12-09 22:00:28 UTC (rev 209626)
+++ trunk/Source/_javascript_Core/ChangeLog	2016-12-09 22:04:14 UTC (rev 209627)
@@ -1,3 +1,31 @@
+2016-12-09  Geoffrey Garen  <gga...@apple.com>
+
+        TextPosition and OrdinalNumber should be more like idiomatic numbers
+        https://bugs.webkit.org/show_bug.cgi?id=165678
+
+        Reviewed by Filip Pizlo.
+
+        Adopt default constructor.
+
+        * API/JSBase.cpp:
+        (JSEvaluateScript):
+        (JSCheckScriptSyntax):
+        * API/JSObjectRef.cpp:
+        (JSObjectMakeFunction):
+        * API/JSScriptRef.cpp:
+        (OpaqueJSScript::OpaqueJSScript):
+        * jsc.cpp:
+        (functionCheckModuleSyntax):
+        * parser/SourceCode.h:
+        (JSC::makeSource):
+        * parser/SourceProvider.h:
+        (JSC::StringSourceProvider::create):
+        (JSC::WebAssemblySourceProvider::WebAssemblySourceProvider):
+        * runtime/FunctionConstructor.cpp:
+        (JSC::constructFunction):
+        * runtime/ModuleLoaderPrototype.cpp:
+        (JSC::moduleLoaderPrototypeParseModule):
+
 2016-12-09  Filip Pizlo  <fpi...@apple.com>
 
         Unreviewed, disable concurrent GC for real.

Modified: trunk/Source/_javascript_Core/jsc.cpp (209626 => 209627)


--- trunk/Source/_javascript_Core/jsc.cpp	2016-12-09 22:00:28 UTC (rev 209626)
+++ trunk/Source/_javascript_Core/jsc.cpp	2016-12-09 22:04:14 UTC (rev 209627)
@@ -2429,7 +2429,7 @@
     stopWatch.start();
 
     ParserError error;
-    bool validSyntax = checkModuleSyntax(exec, makeSource(source, String(), TextPosition::minimumPosition(), SourceProviderSourceType::Module), error);
+    bool validSyntax = checkModuleSyntax(exec, makeSource(source, String(), TextPosition(), SourceProviderSourceType::Module), error);
     stopWatch.stop();
 
     if (!validSyntax)

Modified: trunk/Source/_javascript_Core/parser/SourceCode.h (209626 => 209627)


--- trunk/Source/_javascript_Core/parser/SourceCode.h	2016-12-09 22:00:28 UTC (rev 209626)
+++ trunk/Source/_javascript_Core/parser/SourceCode.h	2016-12-09 22:04:14 UTC (rev 209627)
@@ -81,7 +81,7 @@
         int m_startColumn;
     };
 
-    inline SourceCode makeSource(const String& source, const String& url = "" const TextPosition& startPosition = TextPosition::minimumPosition(), SourceProviderSourceType sourceType = SourceProviderSourceType::Program)
+    inline SourceCode makeSource(const String& source, const String& url = "" const TextPosition& startPosition = TextPosition(), SourceProviderSourceType sourceType = SourceProviderSourceType::Program)
     {
         return SourceCode(StringSourceProvider::create(source, url, startPosition, sourceType), startPosition.m_line.oneBasedInt(), startPosition.m_column.oneBasedInt());
     }

Modified: trunk/Source/_javascript_Core/parser/SourceProvider.h (209626 => 209627)


--- trunk/Source/_javascript_Core/parser/SourceProvider.h	2016-12-09 22:00:28 UTC (rev 209626)
+++ trunk/Source/_javascript_Core/parser/SourceProvider.h	2016-12-09 22:04:14 UTC (rev 209627)
@@ -89,7 +89,7 @@
 
     class StringSourceProvider : public SourceProvider {
     public:
-        static Ref<StringSourceProvider> create(const String& source, const String& url, const TextPosition& startPosition = TextPosition::minimumPosition(), SourceProviderSourceType sourceType = SourceProviderSourceType::Program)
+        static Ref<StringSourceProvider> create(const String& source, const String& url, const TextPosition& startPosition = TextPosition(), SourceProviderSourceType sourceType = SourceProviderSourceType::Program)
         {
             return adoptRef(*new StringSourceProvider(source, url, startPosition, sourceType));
         }
@@ -139,7 +139,7 @@
 
     private:
         WebAssemblySourceProvider(const Vector<uint8_t>& data, const String& url)
-            : SourceProvider(url, TextPosition::minimumPosition(), SourceProviderSourceType::WebAssembly)
+            : SourceProvider(url, TextPosition(), SourceProviderSourceType::WebAssembly)
             , m_source("[WebAssembly source]")
             , m_data(data)
         {

Modified: trunk/Source/_javascript_Core/runtime/FunctionConstructor.cpp (209626 => 209627)


--- trunk/Source/_javascript_Core/runtime/FunctionConstructor.cpp	2016-12-09 22:00:28 UTC (rev 209626)
+++ trunk/Source/_javascript_Core/runtime/FunctionConstructor.cpp	2016-12-09 22:04:14 UTC (rev 209627)
@@ -170,7 +170,7 @@
 // ECMA 15.3.2 The Function Constructor
 JSObject* constructFunction(ExecState* exec, JSGlobalObject* globalObject, const ArgList& args, FunctionConstructionMode functionConstructionMode, JSValue newTarget)
 {
-    return constructFunction(exec, globalObject, args, exec->propertyNames().anonymous, String(), TextPosition::minimumPosition(), functionConstructionMode, newTarget);
+    return constructFunction(exec, globalObject, args, exec->propertyNames().anonymous, String(), TextPosition(), functionConstructionMode, newTarget);
 }
 
 } // namespace JSC

Modified: trunk/Source/_javascript_Core/runtime/ModuleLoaderPrototype.cpp (209626 => 209627)


--- trunk/Source/_javascript_Core/runtime/ModuleLoaderPrototype.cpp	2016-12-09 22:00:28 UTC (rev 209626)
+++ trunk/Source/_javascript_Core/runtime/ModuleLoaderPrototype.cpp	2016-12-09 22:04:14 UTC (rev 209627)
@@ -113,7 +113,7 @@
     String source = exec->argument(1).toString(exec)->value(exec);
     RETURN_IF_EXCEPTION(scope, encodedJSValue());
 
-    SourceCode sourceCode = makeSource(source, moduleKey.impl(), TextPosition::minimumPosition(), SourceProviderSourceType::Module);
+    SourceCode sourceCode = makeSource(source, moduleKey.impl(), TextPosition(), SourceProviderSourceType::Module);
 
     CodeProfiling profile(sourceCode);
 

Modified: trunk/Source/WTF/ChangeLog (209626 => 209627)


--- trunk/Source/WTF/ChangeLog	2016-12-09 22:00:28 UTC (rev 209626)
+++ trunk/Source/WTF/ChangeLog	2016-12-09 22:04:14 UTC (rev 209627)
@@ -1,5 +1,19 @@
 2016-12-09  Geoffrey Garen  <gga...@apple.com>
 
+        TextPosition and OrdinalNumber should be more like idiomatic numbers
+        https://bugs.webkit.org/show_bug.cgi?id=165678
+
+        Reviewed by Filip Pizlo.
+
+        * wtf/text/TextPosition.h:
+        (WTF::TextPosition::minimumPosition): Deleted. Just use the default
+        constructor. Other numbers use their default constructors to mean zero.
+
+        Any time you need a comment that says "used as a default value", that's
+        a pretty good indicator that it should be the default constructor.
+
+2016-12-09  Geoffrey Garen  <gga...@apple.com>
+
         Moved OrdinalNumber into its own file
         https://bugs.webkit.org/show_bug.cgi?id=165663
 

Modified: trunk/Source/WTF/wtf/text/OrdinalNumber.h (209626 => 209627)


--- trunk/Source/WTF/wtf/text/OrdinalNumber.h	2016-12-09 22:00:28 UTC (rev 209626)
+++ trunk/Source/WTF/wtf/text/OrdinalNumber.h	2016-12-09 22:04:14 UTC (rev 209627)
@@ -33,6 +33,7 @@
 public:
     static OrdinalNumber fromZeroBasedInt(int zeroBasedInt) { return OrdinalNumber(zeroBasedInt); }
     static OrdinalNumber fromOneBasedInt(int oneBasedInt) { return OrdinalNumber(oneBasedInt - 1); }
+
     OrdinalNumber() : m_zeroBasedValue(0) { }
 
     int zeroBasedInt() const { return m_zeroBasedValue; }
@@ -41,7 +42,6 @@
     bool operator==(OrdinalNumber other) { return m_zeroBasedValue == other.m_zeroBasedValue; }
     bool operator!=(OrdinalNumber other) { return !((*this) == other); }
 
-    static OrdinalNumber first() { return OrdinalNumber(0); }
     static OrdinalNumber beforeFirst() { return OrdinalNumber(-1); }
 
 private:

Modified: trunk/Source/WTF/wtf/text/TextPosition.h (209626 => 209627)


--- trunk/Source/WTF/wtf/text/TextPosition.h	2016-12-09 22:00:28 UTC (rev 209626)
+++ trunk/Source/WTF/wtf/text/TextPosition.h	2016-12-09 22:04:14 UTC (rev 209627)
@@ -37,13 +37,11 @@
         , m_column(column)
     {
     }
+
     TextPosition() { }
     bool operator==(const TextPosition& other) { return m_line == other.m_line && m_column == other.m_column; }
     bool operator!=(const TextPosition& other) { return !((*this) == other); }
 
-    // A 'minimum' value of position, used as a default value.
-    static TextPosition minimumPosition() { return TextPosition(OrdinalNumber::first(), OrdinalNumber::first()); }
-
     // A value with line value less than a minimum; used as an impossible position.
     static TextPosition belowRangePosition() { return TextPosition(OrdinalNumber::beforeFirst(), OrdinalNumber::beforeFirst()); }
 

Modified: trunk/Source/WebCore/ChangeLog (209626 => 209627)


--- trunk/Source/WebCore/ChangeLog	2016-12-09 22:00:28 UTC (rev 209626)
+++ trunk/Source/WebCore/ChangeLog	2016-12-09 22:04:14 UTC (rev 209627)
@@ -1,3 +1,38 @@
+2016-12-09  Geoffrey Garen  <gga...@apple.com>
+
+        TextPosition and OrdinalNumber should be more like idiomatic numbers
+        https://bugs.webkit.org/show_bug.cgi?id=165678
+
+        Reviewed by Filip Pizlo.
+
+        * bindings/js/CachedScriptSourceProvider.h:
+        (WebCore::CachedScriptSourceProvider::CachedScriptSourceProvider):
+        * bindings/js/JSEventListener.h:
+        (WebCore::JSEventListener::sourcePosition):
+        * bindings/js/JSLazyEventListener.cpp:
+        (WebCore::JSLazyEventListener::JSLazyEventListener):
+        * bindings/js/ScriptController.cpp:
+        (WebCore::ScriptController::eventHandlerPosition):
+        * bindings/js/ScriptSourceCode.h:
+        (WebCore::ScriptSourceCode::ScriptSourceCode):
+        * css/CSSStyleSheet.cpp:
+        (WebCore::CSSStyleSheet::create):
+        * dom/ScriptElement.h:
+        * html/parser/HTMLTreeBuilder.cpp:
+        (WebCore::uninitializedPositionValue1):
+        * inspector/InspectorStyleSheet.cpp:
+        (WebCore::InspectorStyleSheet::buildObjectForStyleSheetInfo): Adopt
+        default construtor.
+
+        * xml/XMLErrors.cpp:
+        (WebCore::XMLErrors::XMLErrors):
+        (WebCore::XMLErrors::handleError):
+        * xml/XMLErrors.h: Use std::optional instead of belowRangePosition()
+        because in-band signaling is harder to reason about.
+
+        * xml/parser/XMLDocumentParserLibxml2.cpp:
+        (WebCore::XMLDocumentParser::textPosition): Adopt default constructor.
+
 2016-12-09  Chris Dumez  <cdu...@apple.com>
 
         [Cocoa] Validation message for required checkbox doesn’t conform the the Apple Style Guide

Modified: trunk/Source/WebCore/bindings/js/CachedScriptSourceProvider.h (209626 => 209627)


--- trunk/Source/WebCore/bindings/js/CachedScriptSourceProvider.h	2016-12-09 22:00:28 UTC (rev 209626)
+++ trunk/Source/WebCore/bindings/js/CachedScriptSourceProvider.h	2016-12-09 22:04:14 UTC (rev 209627)
@@ -48,7 +48,7 @@
 
 private:
     CachedScriptSourceProvider(CachedScript* cachedScript, JSC::SourceProviderSourceType sourceType)
-        : SourceProvider(cachedScript->response().url(), TextPosition::minimumPosition(), sourceType)
+        : SourceProvider(cachedScript->response().url(), TextPosition(), sourceType)
         , m_cachedScript(cachedScript)
     {
         m_cachedScript->addClient(*this);

Modified: trunk/Source/WebCore/bindings/js/JSEventListener.h (209626 => 209627)


--- trunk/Source/WebCore/bindings/js/JSEventListener.h	2016-12-09 22:00:28 UTC (rev 209626)
+++ trunk/Source/WebCore/bindings/js/JSEventListener.h	2016-12-09 22:04:14 UTC (rev 209627)
@@ -71,7 +71,7 @@
     void setWrapper(JSC::VM&, JSC::JSObject* wrapper) const { m_wrapper = JSC::Weak<JSC::JSObject>(wrapper); }
 
     virtual String sourceURL() const { return String(); }
-    virtual TextPosition sourcePosition() const { return TextPosition::minimumPosition(); }
+    virtual TextPosition sourcePosition() const { return TextPosition(); }
 
 private:
     virtual JSC::JSObject* initializeJSFunction(ScriptExecutionContext*) const;

Modified: trunk/Source/WebCore/bindings/js/JSLazyEventListener.cpp (209626 => 209627)


--- trunk/Source/WebCore/bindings/js/JSLazyEventListener.cpp	2016-12-09 22:00:28 UTC (rev 209626)
+++ trunk/Source/WebCore/bindings/js/JSLazyEventListener.cpp	2016-12-09 22:04:14 UTC (rev 209627)
@@ -54,7 +54,7 @@
     // A JSLazyEventListener can be created with a line number of zero when it is created with
     // a setAttribute call from _javascript_, so make the line number 1 in that case.
     if (m_sourcePosition == TextPosition::belowRangePosition())
-        m_sourcePosition = TextPosition::minimumPosition();
+        m_sourcePosition = TextPosition();
 
     ASSERT(m_eventParameterName == "evt" || m_eventParameterName == "event");
 

Modified: trunk/Source/WebCore/bindings/js/ScriptController.cpp (209626 => 209627)


--- trunk/Source/WebCore/bindings/js/ScriptController.cpp	2016-12-09 22:00:28 UTC (rev 209626)
+++ trunk/Source/WebCore/bindings/js/ScriptController.cpp	2016-12-09 22:04:14 UTC (rev 209627)
@@ -420,7 +420,7 @@
     ScriptableDocumentParser* parser = m_frame.document()->scriptableDocumentParser();
     if (parser)
         return parser->textPosition();
-    return TextPosition::minimumPosition();
+    return TextPosition();
 }
 
 void ScriptController::enableEval()

Modified: trunk/Source/WebCore/bindings/js/ScriptSourceCode.h (209626 => 209627)


--- trunk/Source/WebCore/bindings/js/ScriptSourceCode.h	2016-12-09 22:00:28 UTC (rev 209626)
+++ trunk/Source/WebCore/bindings/js/ScriptSourceCode.h	2016-12-09 22:04:14 UTC (rev 209627)
@@ -42,7 +42,7 @@
 
 class ScriptSourceCode {
 public:
-    ScriptSourceCode(const String& source, const URL& url = "" const TextPosition& startPosition = TextPosition::minimumPosition(), JSC::SourceProviderSourceType sourceType = JSC::SourceProviderSourceType::Program)
+    ScriptSourceCode(const String& source, const URL& url = "" const TextPosition& startPosition = TextPosition(), JSC::SourceProviderSourceType sourceType = JSC::SourceProviderSourceType::Program)
         : m_provider(JSC::StringSourceProvider::create(source, url.isNull() ? String() : url.string(), startPosition, sourceType))
         , m_code(m_provider, startPosition.m_line.oneBasedInt(), startPosition.m_column.oneBasedInt())
         , m_url(url)

Modified: trunk/Source/WebCore/css/CSSStyleSheet.cpp (209626 => 209627)


--- trunk/Source/WebCore/css/CSSStyleSheet.cpp	2016-12-09 22:00:28 UTC (rev 209626)
+++ trunk/Source/WebCore/css/CSSStyleSheet.cpp	2016-12-09 22:04:14 UTC (rev 209627)
@@ -85,7 +85,7 @@
 
 Ref<CSSStyleSheet> CSSStyleSheet::create(Ref<StyleSheetContents>&& sheet, Node& ownerNode, const std::optional<bool>& isCleanOrigin)
 {
-    return adoptRef(*new CSSStyleSheet(WTFMove(sheet), ownerNode, TextPosition::minimumPosition(), false, isCleanOrigin));
+    return adoptRef(*new CSSStyleSheet(WTFMove(sheet), ownerNode, TextPosition(), false, isCleanOrigin));
 }
 
 Ref<CSSStyleSheet> CSSStyleSheet::createInline(Ref<StyleSheetContents>&& sheet, Element& owner, const TextPosition& startPosition)

Modified: trunk/Source/WebCore/dom/ScriptElement.h (209626 => 209627)


--- trunk/Source/WebCore/dom/ScriptElement.h	2016-12-09 22:00:28 UTC (rev 209626)
+++ trunk/Source/WebCore/dom/ScriptElement.h	2016-12-09 22:04:14 UTC (rev 209627)
@@ -47,7 +47,7 @@
     const Element& element() const { return m_element; }
 
     enum LegacyTypeSupport { DisallowLegacyTypeInTypeAttribute, AllowLegacyTypeInTypeAttribute };
-    bool prepareScript(const TextPosition& scriptStartPosition = TextPosition::minimumPosition(), LegacyTypeSupport = DisallowLegacyTypeInTypeAttribute);
+    bool prepareScript(const TextPosition& scriptStartPosition = TextPosition(), LegacyTypeSupport = DisallowLegacyTypeInTypeAttribute);
 
     String scriptCharset() const { return m_characterEncoding; }
     WEBCORE_EXPORT String scriptContent() const;

Modified: trunk/Source/WebCore/html/parser/HTMLTreeBuilder.cpp (209626 => 209627)


--- trunk/Source/WebCore/html/parser/HTMLTreeBuilder.cpp	2016-12-09 22:00:28 UTC (rev 209626)
+++ trunk/Source/WebCore/html/parser/HTMLTreeBuilder.cpp	2016-12-09 22:04:14 UTC (rev 209627)
@@ -73,7 +73,7 @@
 
 static inline TextPosition uninitializedPositionValue1()
 {
-    return TextPosition(OrdinalNumber::fromOneBasedInt(-1), OrdinalNumber::first());
+    return TextPosition(OrdinalNumber::fromOneBasedInt(-1), OrdinalNumber());
 }
 
 static inline bool isAllWhitespace(const String& string)

Modified: trunk/Source/WebCore/inspector/InspectorStyleSheet.cpp (209626 => 209627)


--- trunk/Source/WebCore/inspector/InspectorStyleSheet.cpp	2016-12-09 22:00:28 UTC (rev 209626)
+++ trunk/Source/WebCore/inspector/InspectorStyleSheet.cpp	2016-12-09 22:04:14 UTC (rev 209627)
@@ -1032,7 +1032,7 @@
         .setSourceURL(finalURL())
         .setTitle(styleSheet->title())
         .setFrameId(m_pageAgent->frameId(frame))
-        .setIsInline(styleSheet->isInline() && styleSheet->startPosition() != TextPosition::minimumPosition())
+        .setIsInline(styleSheet->isInline() && styleSheet->startPosition() != TextPosition())
         .setStartLine(styleSheet->startPosition().m_line.zeroBasedInt())
         .setStartColumn(styleSheet->startPosition().m_column.zeroBasedInt())
         .release();

Modified: trunk/Source/WebCore/xml/XMLErrors.cpp (209626 => 209627)


--- trunk/Source/WebCore/xml/XMLErrors.cpp	2016-12-09 22:00:28 UTC (rev 209626)
+++ trunk/Source/WebCore/xml/XMLErrors.cpp	2016-12-09 22:04:14 UTC (rev 209627)
@@ -50,7 +50,6 @@
 
 XMLErrors::XMLErrors(Document& document)
     : m_document(document)
-    , m_lastErrorPosition(TextPosition::belowRangePosition())
 {
 }
 
@@ -61,7 +60,7 @@
 
 void XMLErrors::handleError(ErrorType type, const char* message, TextPosition position)
 {
-    if (type == fatal || (m_errorCount < maxErrors && m_lastErrorPosition.m_line != position.m_line && m_lastErrorPosition.m_column != position.m_column)) {
+    if (type == fatal || (m_errorCount < maxErrors && (!m_lastErrorPosition || (m_lastErrorPosition->m_line != position.m_line && m_lastErrorPosition->m_column != position.m_column)))) {
         switch (type) {
         case warning:
             appendErrorMessage("warning", position, message);

Modified: trunk/Source/WebCore/xml/XMLErrors.h (209626 => 209627)


--- trunk/Source/WebCore/xml/XMLErrors.h	2016-12-09 22:00:28 UTC (rev 209626)
+++ trunk/Source/WebCore/xml/XMLErrors.h	2016-12-09 22:04:14 UTC (rev 209627)
@@ -51,7 +51,7 @@
 
     Document& m_document;
     int m_errorCount { 0 };
-    TextPosition m_lastErrorPosition;
+    std::optional<TextPosition> m_lastErrorPosition;
     StringBuilder m_errorMessages;
 };
 

Modified: trunk/Source/WebCore/xml/parser/XMLDocumentParserLibxml2.cpp (209626 => 209627)


--- trunk/Source/WebCore/xml/parser/XMLDocumentParserLibxml2.cpp	2016-12-09 22:00:28 UTC (rev 209626)
+++ trunk/Source/WebCore/xml/parser/XMLDocumentParserLibxml2.cpp	2016-12-09 22:04:14 UTC (rev 209627)
@@ -1381,7 +1381,7 @@
 {
     xmlParserCtxtPtr context = this->context();
     if (!context)
-        return TextPosition::minimumPosition();
+        return TextPosition();
     return TextPosition(OrdinalNumber::fromOneBasedInt(context->input->line),
                         OrdinalNumber::fromOneBasedInt(context->input->col));
 }

Modified: trunk/Source/WebKit/win/ChangeLog (209626 => 209627)


--- trunk/Source/WebKit/win/ChangeLog	2016-12-09 22:00:28 UTC (rev 209626)
+++ trunk/Source/WebKit/win/ChangeLog	2016-12-09 22:04:14 UTC (rev 209627)
@@ -1,3 +1,15 @@
+2016-12-09  Geoffrey Garen  <gga...@apple.com>
+
+        TextPosition and OrdinalNumber should be more like idiomatic numbers
+        https://bugs.webkit.org/show_bug.cgi?id=165678
+
+        Reviewed by Filip Pizlo.
+
+        Adopt default constructor.
+
+        * Plugins/PluginPackage.cpp:
+        (WebCore::makeSource):
+
 2016-12-08  Filip Pizlo  <fpi...@apple.com>
 
         Enable SharedArrayBuffer, remove the flag

Modified: trunk/Source/WebKit/win/Plugins/PluginPackage.cpp (209626 => 209627)


--- trunk/Source/WebKit/win/Plugins/PluginPackage.cpp	2016-12-09 22:00:28 UTC (rev 209626)
+++ trunk/Source/WebKit/win/Plugins/PluginPackage.cpp	2016-12-09 22:04:14 UTC (rev 209627)
@@ -192,7 +192,7 @@
         aList.append(JSC::Bindings::convertNPVariantToValue(exec, &args[i], rootObject));
 }
 
-static inline JSC::SourceCode makeSource(const String& source, const String& url = "" const TextPosition& startPosition = TextPosition::minimumPosition())
+static inline JSC::SourceCode makeSource(const String& source, const String& url = "" const TextPosition& startPosition = TextPosition())
 {
     return JSC::SourceCode(JSC::StringSourceProvider::create(source, url, startPosition), startPosition.m_line.oneBasedInt(), startPosition.m_column.oneBasedInt());
 }
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to