Chromium Code Reviews| Index: Source/core/frame/Location.cpp |
| diff --git a/Source/core/frame/Location.cpp b/Source/core/frame/Location.cpp |
| index 45b0ea5cdeecaa4238c66d32d6aa8a789c0cae5b..dccdb944f7a8f0f832179991cf4c7e7bfa189dc8 100644 |
| --- a/Source/core/frame/Location.cpp |
| +++ b/Source/core/frame/Location.cpp |
| @@ -42,21 +42,21 @@ |
| namespace blink { |
| -Location::Location(LocalFrame* frame) |
| - : DOMWindowProperty(frame) |
| +Location::Location(Frame* frame) |
| + : m_frame(frame) |
| { |
| } |
| void Location::trace(Visitor* visitor) |
| { |
| - DOMWindowProperty::trace(visitor); |
| + visitor->trace(m_frame); |
| } |
| inline const KURL& Location::url() const |
| { |
| - ASSERT(m_frame); |
| + ASSERT(m_frame && m_frame->isLocalFrame()); |
|
haraken
2015/02/03 00:56:09
This ASSERT would be redundant, since toLocalFrame
Nate Chapin
2015/02/03 19:17:21
Done.
|
| - const KURL& url = m_frame->document()->url(); |
| + const KURL& url = toLocalFrame(m_frame)->document()->url(); |
| if (!url.isValid()) |
| return blankURL(); // Use "about:blank" while the page is still loading (before we have a frame). |
| @@ -149,7 +149,8 @@ void Location::setProtocol(LocalDOMWindow* callingWindow, LocalDOMWindow* entere |
| { |
| if (!m_frame) |
| return; |
| - KURL url = m_frame->document()->url(); |
| + ASSERT(m_frame->isLocalFrame()); |
|
haraken
2015/02/03 00:56:09
Ditto. The same comment for other parts in this fi
Nate Chapin
2015/02/03 19:17:21
Done.
|
| + KURL url = toLocalFrame(m_frame)->document()->url(); |
| if (!url.setProtocol(protocol)) { |
| exceptionState.throwDOMException(SyntaxError, "'" + protocol + "' is an invalid protocol."); |
| return; |
| @@ -161,7 +162,8 @@ void Location::setHost(LocalDOMWindow* callingWindow, LocalDOMWindow* enteredWin |
| { |
| if (!m_frame) |
| return; |
| - KURL url = m_frame->document()->url(); |
| + ASSERT(m_frame->isLocalFrame()); |
| + KURL url = toLocalFrame(m_frame)->document()->url(); |
| url.setHostAndPort(host); |
| setLocation(url.string(), callingWindow, enteredWindow); |
| } |
| @@ -170,7 +172,8 @@ void Location::setHostname(LocalDOMWindow* callingWindow, LocalDOMWindow* entere |
| { |
| if (!m_frame) |
| return; |
| - KURL url = m_frame->document()->url(); |
| + ASSERT(m_frame->isLocalFrame()); |
| + KURL url = toLocalFrame(m_frame)->document()->url(); |
| url.setHost(hostname); |
| setLocation(url.string(), callingWindow, enteredWindow); |
| } |
| @@ -179,7 +182,8 @@ void Location::setPort(LocalDOMWindow* callingWindow, LocalDOMWindow* enteredWin |
| { |
| if (!m_frame) |
| return; |
| - KURL url = m_frame->document()->url(); |
| + ASSERT(m_frame->isLocalFrame()); |
| + KURL url = toLocalFrame(m_frame)->document()->url(); |
| url.setPort(portString); |
| setLocation(url.string(), callingWindow, enteredWindow); |
| } |
| @@ -188,7 +192,8 @@ void Location::setPathname(LocalDOMWindow* callingWindow, LocalDOMWindow* entere |
| { |
| if (!m_frame) |
| return; |
| - KURL url = m_frame->document()->url(); |
| + ASSERT(m_frame->isLocalFrame()); |
| + KURL url = toLocalFrame(m_frame)->document()->url(); |
| url.setPath(pathname); |
| setLocation(url.string(), callingWindow, enteredWindow); |
| } |
| @@ -197,7 +202,8 @@ void Location::setSearch(LocalDOMWindow* callingWindow, LocalDOMWindow* enteredW |
| { |
| if (!m_frame) |
| return; |
| - KURL url = m_frame->document()->url(); |
| + ASSERT(m_frame->isLocalFrame()); |
| + KURL url = toLocalFrame(m_frame)->document()->url(); |
| url.setQuery(search); |
| setLocation(url.string(), callingWindow, enteredWindow); |
| } |
| @@ -206,7 +212,8 @@ void Location::setHash(LocalDOMWindow* callingWindow, LocalDOMWindow* enteredWin |
| { |
| if (!m_frame) |
| return; |
| - KURL url = m_frame->document()->url(); |
| + ASSERT(m_frame->isLocalFrame()); |
| + KURL url = toLocalFrame(m_frame)->document()->url(); |
| String oldFragmentIdentifier = url.fragmentIdentifier(); |
| String newFragmentIdentifier = hash; |
| if (hash[0] == '#') |
| @@ -238,7 +245,8 @@ void Location::reload(LocalDOMWindow* callingWindow) |
| { |
| if (!m_frame) |
| return; |
| - if (protocolIsJavaScript(m_frame->document()->url())) |
| + ASSERT(m_frame->isLocalFrame()); |
| + if (protocolIsJavaScript(toLocalFrame(m_frame)->document()->url())) |
| return; |
| m_frame->reload(NormalReload, ClientRedirect); |
| } |