#ifndef Location_h
#define Location_h
#include <wtf/Forward.h>
#include <wtf/PassRefPtr.h>
#include <wtf/RefCounted.h>
namespace WebCore {
class DOMWindow;
class Frame;
class KURL;
typedef int ExceptionCode;
class Location : public RefCounted<Location> {
public:
static PassRefPtr<Location> create(Frame* frame) { return adoptRef(new Location(frame)); }
Frame* frame() const { return m_frame; }
void disconnectFrame();
void setHref(const String&, DOMWindow* activeWindow, DOMWindow* firstWindow);
String href() const;
void assign(const String&, DOMWindow* activeWindow, DOMWindow* firstWindow);
void replace(const String&, DOMWindow* activeWindow, DOMWindow* firstWindow);
void reload(DOMWindow* activeWindow);
void setProtocol(const String&, DOMWindow* activeWindow, DOMWindow* firstWindow, ExceptionCode&);
String protocol() const;
void setHost(const String&, DOMWindow* activeWindow, DOMWindow* firstWindow);
String host() const;
void setHostname(const String&, DOMWindow* activeWindow, DOMWindow* firstWindow);
String hostname() const;
void setPort(const String&, DOMWindow* activeWindow, DOMWindow* firstWindow);
String port() const;
void setPathname(const String&, DOMWindow* activeWindow, DOMWindow* firstWindow);
String pathname() const;
void setSearch(const String&, DOMWindow* activeWindow, DOMWindow* firstWindow);
String search() const;
void setHash(const String&, DOMWindow* activeWindow, DOMWindow* firstWindow);
String hash() const;
String origin() const;
String toString() const;
String getParameter(const String&) const;
private:
Location(Frame*);
const KURL& url() const;
Frame* m_frame;
};
}
#endif // Location_h