Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(122)

Side by Side Diff: Source/core/html/DOMURL.h

Issue 24066010: Implement URLUtils and URL interface (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: updates based on code review comments Created 7 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « Source/core/core.gypi ('k') | Source/core/html/DOMURL.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2011 Google Inc. All rights reserved. 2 * Copyright (C) 2011 Google Inc. All rights reserved.
3 * Copyright (C) 2012 Motorola Mobility Inc. 3 * Copyright (C) 2012 Motorola Mobility Inc.
4 * 4 *
5 * Redistribution and use in source and binary forms, with or without 5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions 6 * modification, are permitted provided that the following conditions
7 * are met: 7 * are met:
8 * 8 *
9 * 1. Redistributions of source code must retain the above copyright 9 * 1. Redistributions of source code must retain the above copyright
10 * notice, this list of conditions and the following disclaimer. 10 * notice, this list of conditions and the following disclaimer.
11 * 2. Redistributions in binary form must reproduce the above copyright 11 * 2. Redistributions in binary form must reproduce the above copyright
12 * notice, this list of conditions and the following disclaimer in the 12 * notice, this list of conditions and the following disclaimer in the
13 * documentation and/or other materials provided with the distribution. 13 * documentation and/or other materials provided with the distribution.
14 * 14 *
15 * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY 15 * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
16 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 16 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
17 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 17 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
18 * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY 18 * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY
19 * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 19 * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
20 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 20 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
21 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 21 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
22 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 22 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
23 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 23 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
24 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 24 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25 */ 25 */
26 26
27 #ifndef DOMURL_h 27 #ifndef DOMURL_h
28 #define DOMURL_h 28 #define DOMURL_h
29 29
30 #include "bindings/v8/ScriptWrappable.h"
31 #include "core/html/DOMURLUtils.h"
32 #include "weborigin/KURL.h"
30 #include "wtf/Forward.h" 33 #include "wtf/Forward.h"
31 #include "wtf/PassRefPtr.h" 34 #include "wtf/PassRefPtr.h"
32 #include "wtf/RefCounted.h" 35 #include "wtf/RefCounted.h"
36 #include "wtf/text/WTFString.h"
33 37
34 namespace WebCore { 38 namespace WebCore {
35 39
36 class Blob; 40 class Blob;
41 class ExceptionState;
37 class ScriptExecutionContext; 42 class ScriptExecutionContext;
38 class URLRegistrable; 43 class URLRegistrable;
39 44
40 class DOMURL : public RefCounted<DOMURL> { 45 class DOMURL : public ScriptWrappable, public DOMURLUtils, public RefCounted<DOM URL> {
41 46
42 public: 47 public:
43 static PassRefPtr<DOMURL> create() { return adoptRef(new DOMURL); } 48 static PassRefPtr<DOMURL> create(const String& url, ExceptionState& es)
49 {
50 return adoptRef(new DOMURL(url, blankURL(), es));
51 }
52 static PassRefPtr<DOMURL> create(const String& url, const String& base, Exce ptionState& es)
53 {
54 return adoptRef(new DOMURL(url, KURL(KURL(), base), es));
55 }
56 static PassRefPtr<DOMURL> create(const String& url, PassRefPtr<DOMURL> base, ExceptionState& es)
57 {
58 ASSERT(base);
59 return adoptRef(new DOMURL(url, base->m_url, es));
60 }
44 61
45 static String createObjectURL(ScriptExecutionContext*, Blob*); 62 static String createObjectURL(ScriptExecutionContext*, Blob*);
46 static void revokeObjectURL(ScriptExecutionContext*, const String&); 63 static void revokeObjectURL(ScriptExecutionContext*, const String&);
47 64
48 static String createPublicURL(ScriptExecutionContext*, URLRegistrable*); 65 static String createPublicURL(ScriptExecutionContext*, URLRegistrable*);
66
67 virtual KURL url() const OVERRIDE { return m_url; }
68 virtual void setURL(const KURL& url) OVERRIDE { m_url = url; }
69
70 virtual String input() const OVERRIDE { return m_input; }
71 virtual void setInput(const String&) OVERRIDE;
72
73 private:
74 DOMURL(const String& url, const KURL& base, ExceptionState&);
75
76 KURL m_url;
77 String m_input;
49 }; 78 };
50 79
51 } // namespace WebCore 80 } // namespace WebCore
52 81
53 #endif // DOMURL_h 82 #endif // DOMURL_h
OLDNEW
« no previous file with comments | « Source/core/core.gypi ('k') | Source/core/html/DOMURL.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698