Bug 21015

Summary: KURL's getters are inconsitent about returning null or empty strings
Product: WebKit Reporter: Brett Wilson (Google) <brettw>
Component: PlatformAssignee: Nobody <webkit-unassigned>
Status: RESOLVED INVALID    
Severity: Normal CC: abarth, annevk, ap
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: All   
OS: All   
Bug Depends on:    
Bug Blocks: 37641    

Description Brett Wilson (Google) 2008-09-22 19:58:15 PDT
KURL's getters randomly return either isNull or empty strings. This is potentially dangerous if some code relies on this.

Returns a null string on empty:
  pass()
  lastPathComponent()
  ref()

Returns an empty string on empty (although at least some of these will return a null string if the URL is itself null):
  protocol()
  user()
  host()
  query()
  path()

We can make them all return null strings, all return empty strings, or return null strings only when the URL is itself NULL, and empty the rest of the time (I think this is currently the dominant behavior).
Comment 1 Alexey Proskuryakov 2008-09-23 00:05:04 PDT
With any changes, we'll need to check all callers - in many cases, the behavior is not exactly random, even if it is painfully inconsistent.
Comment 2 Anne van Kesteren 2023-05-22 03:40:50 PDT
We no longer use KURL.