Changeset 229929 in webkit


Ignore:
Timestamp:
Mar 23, 2018 3:41:40 PM (6 years ago)
Author:
commit-queue@webkit.org
Message:

Local storage getItem() for an empty string returned UNDEFINED value.
https://bugs.webkit.org/show_bug.cgi?id=69138
<rdar://problem/13410974>

Patch by Sihui Liu <sihui_liu@apple.com> on 2018-03-23
Reviewed by Brady Eidson.

Source/WebCore:

  • platform/sql/SQLiteStatement.cpp:

(WebCore::SQLiteStatement::getColumnBlobAsString):

Tools:

Add API test coverage.

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebKitCocoa/LocalStoragePersistence.mm: Added.

(-[LocalStorageMessageHandler userContentController:didReceiveScriptMessage:]):
(TEST):

  • TestWebKitAPI/Tests/WebKitCocoa/localstorage-empty-string-value.html: Added.
Location:
trunk
Files:
2 added
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r229927 r229929  
     12018-03-23  Sihui Liu  <sihui_liu@apple.com>
     2
     3        Local storage getItem() for an empty string returned UNDEFINED value.
     4        https://bugs.webkit.org/show_bug.cgi?id=69138
     5        <rdar://problem/13410974>
     6
     7        Reviewed by Brady Eidson.
     8
     9        * platform/sql/SQLiteStatement.cpp:
     10        (WebCore::SQLiteStatement::getColumnBlobAsString):
     11
    1122018-03-23  Chris Dumez  <cdumez@apple.com>
    213
  • trunk/Source/WebCore/platform/sql/SQLiteStatement.cpp

    r210134 r229929  
    384384
    385385    const void* blob = sqlite3_column_blob(m_statement, col);
     386    if (m_database.lastError() != SQLITE_OK)
     387        return String();
    386388    if (!blob)
    387         return String();
     389        return emptyString();
    388390
    389391    int size = sqlite3_column_bytes(m_statement, col);
  • trunk/Tools/ChangeLog

    r229927 r229929  
     12018-03-23  Sihui Liu  <sihui_liu@apple.com>
     2
     3        Local storage getItem() for an empty string returned UNDEFINED value.
     4        https://bugs.webkit.org/show_bug.cgi?id=69138
     5        <rdar://problem/13410974>
     6
     7        Reviewed by Brady Eidson.
     8
     9        Add API test coverage.
     10
     11        * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
     12        * TestWebKitAPI/Tests/WebKitCocoa/LocalStoragePersistence.mm: Added.
     13        (-[LocalStorageMessageHandler userContentController:didReceiveScriptMessage:]):
     14        (TEST):
     15        * TestWebKitAPI/Tests/WebKitCocoa/localstorage-empty-string-value.html: Added.
     16
    1172018-03-23  Chris Dumez  <cdumez@apple.com>
    218
  • trunk/Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj

    r229869 r229929  
    554554                83DB79691EF63B3C00BFA5E5 /* Function.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 83DB79671EF63B3C00BFA5E5 /* Function.cpp */; };
    555555                83DE134D1EF1C50800C1B355 /* ResponsivenessTimer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 83DE134C1EF1C4FE00C1B355 /* ResponsivenessTimer.cpp */; };
     556                8C10AF98206467920018FD90 /* localstorage-empty-string-value.html in Copy Resources */ = {isa = PBXBuildFile; fileRef = 8C10AF97206467830018FD90 /* localstorage-empty-string-value.html */; };
     557                8C10AF99206467A90018FD90 /* LocalStoragePersistence.mm in Sources */ = {isa = PBXBuildFile; fileRef = 8C10AF96206467770018FD90 /* LocalStoragePersistence.mm */; };
    556558                8E4A85371E1D1AB200F53B0F /* GridPosition.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8E4A85361E1D1AA100F53B0F /* GridPosition.cpp */; };
    557559                930AD402150698D00067970F /* lots-of-text.html in Copy Resources */ = {isa = PBXBuildFile; fileRef = 930AD401150698B30067970F /* lots-of-text.html */; };
     
    10181020                                378E64791632707400B6C676 /* link-with-title.html in Copy Resources */,
    10191021                                57901FB11CAF142D00ED64F9 /* LoadInvalidURLRequest.html in Copy Resources */,
     1022                                8C10AF98206467920018FD90 /* localstorage-empty-string-value.html in Copy Resources */,
    10201023                                51E6A8961D2F1CA700C004B6 /* LocalStorageClear.html in Copy Resources */,
    10211024                                46C519E61D3563FD00DAA51A /* LocalStorageNullEntries.html in Copy Resources */,
     
    15711574                8A3AF93A16C9ED2700D248C1 /* ReloadPageAfterCrash.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ReloadPageAfterCrash.cpp; sourceTree = "<group>"; };
    15721575                8AA28C1916D2FA7B002FF4DB /* LoadPageOnCrash.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = LoadPageOnCrash.cpp; sourceTree = "<group>"; };
     1576                8C10AF96206467770018FD90 /* LocalStoragePersistence.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = LocalStoragePersistence.mm; sourceTree = "<group>"; };
     1577                8C10AF97206467830018FD90 /* localstorage-empty-string-value.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "localstorage-empty-string-value.html"; sourceTree = "<group>"; };
    15731578                8DD76FA10486AA7600D96B5E /* TestWebKitAPI */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = TestWebKitAPI; sourceTree = BUILT_PRODUCTS_DIR; };
    15741579                8E4A85361E1D1AA100F53B0F /* GridPosition.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = GridPosition.cpp; sourceTree = "<group>"; };
     
    21632168                                51E6A8921D2F1BEC00C004B6 /* LocalStorageClear.mm */,
    21642169                                46C519D81D355A7300DAA51A /* LocalStorageNullEntries.mm */,
     2170                                8C10AF96206467770018FD90 /* LocalStoragePersistence.mm */,
    21652171                                7A6A2C6F1DCCF87B00C0D085 /* LocalStorageQuirkTest.mm */,
    21662172                                5165FE03201EE617009F7EC3 /* MessagePortProviders.mm */,
     
    24922498                                F41AB9961EF4692C0083FA08 /* link-and-input.html */,
    24932499                                F41AB99D1EF4692C0083FA08 /* link-and-target-div.html */,
     2500                                8C10AF97206467830018FD90 /* localstorage-empty-string-value.html */,
    24942501                                51E6A8951D2F1C7700C004B6 /* LocalStorageClear.html */,
    24952502                                46C519E21D35629600DAA51A /* LocalStorageNullEntries.html */,
     
    35813588                                51E6A8941D2F1C0A00C004B6 /* LocalStorageClear.mm in Sources */,
    35823589                                46C519DA1D355AB200DAA51A /* LocalStorageNullEntries.mm in Sources */,
     3590                                8C10AF99206467A90018FD90 /* LocalStoragePersistence.mm in Sources */,
    35833591                                7A6A2C701DCCFA8C00C0D085 /* LocalStorageQuirkTest.mm in Sources */,
    35843592                                076E507F1F4513D6006E9F5A /* Logging.cpp in Sources */,
     
    36373645                                7CCE7F0C1A411AE600447C4C /* PrivateBrowsingPushStateNoHistoryCallback.cpp in Sources */,
    36383646                                4647B1261EBA3B850041D7EF /* ProcessDidTerminate.cpp in Sources */,
     3647                                518C1153205B0504001FF4AE /* ProcessSwapOnNavigation.mm in Sources */,
    36393648                                7C83E0C11D0A652F00FEBCF3 /* ProvisionalURLNotChange.mm in Sources */,
    36403649                                7CCE7EC81A411A7E00447C4C /* PublicSuffix.mm in Sources */,
     
    37443753                                7C54A4BE1AA11CCA00380F78 /* WKBundleFileHandle.cpp in Sources */,
    37453754                                5CE354D91E70DA5C00BEFE3B /* WKContentExtensionStore.mm in Sources */,
    3746                                 518C1153205B0504001FF4AE /* ProcessSwapOnNavigation.mm in Sources */,
    37473755                                2D838B1F1EEF3A5C009B980E /* WKContentViewEditingActions.mm in Sources */,
    37483756                                370CE22A1F57343400E7410B /* WKContentViewTargetForAction.mm in Sources */,
Note: See TracChangeset for help on using the changeset viewer.