182 #if USE(CF)
183 WEBCORE_EXPORT URL(CFURLRef);
184 WEBCORE_EXPORT RetainPtr<CFURLRef> createCFURL() const;
185 #endif
186
187 #if USE(SOUP)
188 URL(SoupURI*);
189 GUniquePtr<SoupURI> createSoupURI() const;
190 #endif
191
192 #if USE(FOUNDATION)
193 WEBCORE_EXPORT URL(NSURL*);
194 WEBCORE_EXPORT operator NSURL*() const;
195 #endif
196 #ifdef __OBJC__
197 operator NSString*() const { return string(); }
198 #endif
199
200 #if PLATFORM(JAVA)
201 bool isJarFile() const { return m_protocolIsInJar; }
202 URL(JNIEnv* env, jstring url) : URL(ParsedURLString, String(env, url)) {}
203 #endif
204
205 #ifndef NDEBUG
206 void print() const;
207 #endif
208
209 template <class Encoder> void encode(Encoder&) const;
210 template <class Decoder> static bool decode(Decoder&, URL&);
211
212 String serialize(bool omitFragment = false) const;
213
214 private:
215 friend class URLParser;
216 WEBCORE_EXPORT void invalidate();
217 static bool protocolIs(const String&, const char*);
218 void init(const URL&, const String&, const TextEncoding&);
219 void copyToBuffer(Vector<char, 512>& buffer) const;
220
221 // Parses the given URL. The originalString parameter allows for an
222 // optimization: When the source is the same as the fixed-up string,
|
182 #if USE(CF)
183 WEBCORE_EXPORT URL(CFURLRef);
184 WEBCORE_EXPORT RetainPtr<CFURLRef> createCFURL() const;
185 #endif
186
187 #if USE(SOUP)
188 URL(SoupURI*);
189 GUniquePtr<SoupURI> createSoupURI() const;
190 #endif
191
192 #if USE(FOUNDATION)
193 WEBCORE_EXPORT URL(NSURL*);
194 WEBCORE_EXPORT operator NSURL*() const;
195 #endif
196 #ifdef __OBJC__
197 operator NSString*() const { return string(); }
198 #endif
199
200 #if PLATFORM(JAVA)
201 bool isJarFile() const { return m_protocolIsInJar; }
202 URL(JNIEnv* env, jstring url) : URL(URL(), String(env, url)) {}
203 #endif
204
205 #ifndef NDEBUG
206 void print() const;
207 #endif
208
209 template <class Encoder> void encode(Encoder&) const;
210 template <class Decoder> static bool decode(Decoder&, URL&);
211
212 String serialize(bool omitFragment = false) const;
213
214 private:
215 friend class URLParser;
216 WEBCORE_EXPORT void invalidate();
217 static bool protocolIs(const String&, const char*);
218 void init(const URL&, const String&, const TextEncoding&);
219 void copyToBuffer(Vector<char, 512>& buffer) const;
220
221 // Parses the given URL. The originalString parameter allows for an
222 // optimization: When the source is the same as the fixed-up string,
|