/src/3rdparty/webkit/Source/WebCore/page/Location.h

https://bitbucket.org/ultra_iter/qt-vtl · C Header · 88 lines · 44 code · 17 blank · 27 comment · 0 complexity · 4eec4f4cb417b8a7814761a418ece557 MD5 · raw file

  1. /*
  2. * Copyright (C) 2008, 2010 Apple Inc. All rights reserved.
  3. *
  4. * Redistribution and use in source and binary forms, with or without
  5. * modification, are permitted provided that the following conditions
  6. * are met:
  7. *
  8. * 1. Redistributions of source code must retain the above copyright
  9. * notice, this list of conditions and the following disclaimer.
  10. * 2. Redistributions in binary form must reproduce the above copyright
  11. * notice, this list of conditions and the following disclaimer in the
  12. * documentation and/or other materials provided with the distribution.
  13. * 3. Neither the name of Apple Computer, Inc. ("Apple") nor the names of
  14. * its contributors may be used to endorse or promote products derived
  15. * from this software without specific prior written permission.
  16. *
  17. * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
  18. * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
  19. * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
  20. * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY
  21. * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
  22. * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
  23. * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
  24. * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
  25. * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
  26. * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  27. */
  28. #ifndef Location_h
  29. #define Location_h
  30. #include <wtf/Forward.h>
  31. #include <wtf/PassRefPtr.h>
  32. #include <wtf/RefCounted.h>
  33. namespace WebCore {
  34. class DOMWindow;
  35. class Frame;
  36. class KURL;
  37. typedef int ExceptionCode;
  38. class Location : public RefCounted<Location> {
  39. public:
  40. static PassRefPtr<Location> create(Frame* frame) { return adoptRef(new Location(frame)); }
  41. Frame* frame() const { return m_frame; }
  42. void disconnectFrame();
  43. void setHref(const String&, DOMWindow* activeWindow, DOMWindow* firstWindow);
  44. String href() const;
  45. void assign(const String&, DOMWindow* activeWindow, DOMWindow* firstWindow);
  46. void replace(const String&, DOMWindow* activeWindow, DOMWindow* firstWindow);
  47. void reload(DOMWindow* activeWindow);
  48. void setProtocol(const String&, DOMWindow* activeWindow, DOMWindow* firstWindow, ExceptionCode&);
  49. String protocol() const;
  50. void setHost(const String&, DOMWindow* activeWindow, DOMWindow* firstWindow);
  51. String host() const;
  52. void setHostname(const String&, DOMWindow* activeWindow, DOMWindow* firstWindow);
  53. String hostname() const;
  54. void setPort(const String&, DOMWindow* activeWindow, DOMWindow* firstWindow);
  55. String port() const;
  56. void setPathname(const String&, DOMWindow* activeWindow, DOMWindow* firstWindow);
  57. String pathname() const;
  58. void setSearch(const String&, DOMWindow* activeWindow, DOMWindow* firstWindow);
  59. String search() const;
  60. void setHash(const String&, DOMWindow* activeWindow, DOMWindow* firstWindow);
  61. String hash() const;
  62. String origin() const;
  63. String toString() const;
  64. String getParameter(const String&) const;
  65. private:
  66. Location(Frame*);
  67. const KURL& url() const;
  68. Frame* m_frame;
  69. };
  70. } // namespace WebCore
  71. #endif // Location_h