gecko/dom/workers/URL.h
Ryan VanderMeulen 671d1a817e Backed out 7 changesets (bug 1047483, bug 1079301, bug 1079335) for webplatform test failures.
Backed out changeset 7d06b68c44d0 (bug 1079335)
Backed out changeset 92030169528e (bug 1079301)
Backed out changeset c09d7f95554a (bug 1047483)
Backed out changeset c199f1057d7e (bug 1047483)
Backed out changeset 18830d07884c (bug 1047483)
Backed out changeset e087289ccfbb (bug 1047483)
Backed out changeset 6238ff5d3ed0 (bug 1047483)

CLOSED TREE

--HG--
rename : content/base/public/File.h => content/base/public/nsDOMFile.h
rename : content/base/src/MultipartFileImpl.cpp => content/base/src/nsDOMBlobBuilder.cpp
rename : content/base/src/MultipartFileImpl.h => content/base/src/nsDOMBlobBuilder.h
rename : content/base/src/File.cpp => content/base/src/nsDOMFile.cpp
2014-10-07 13:16:11 -04:00

146 lines
3.8 KiB
C++

/* -*- Mode: c++; c-basic-offset: 2; indent-tabs-mode: nil; tab-width: 40 -*- */
/* vim: set ts=2 et sw=2 tw=80: */
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* url, You can obtain one at http://mozilla.org/MPL/2.0/. */
#ifndef mozilla_dom_workers_url_h__
#define mozilla_dom_workers_url_h__
#include "Workers.h"
#include "mozilla/ErrorResult.h"
#include "mozilla/dom/BindingDeclarations.h"
#include "mozilla/dom/URLSearchParams.h"
class nsIPrincipal;
namespace mozilla {
namespace dom {
struct objectURLOptions;
}
}
BEGIN_WORKERS_NAMESPACE
class URLProxy;
class URL MOZ_FINAL : public mozilla::dom::URLSearchParamsObserver
{
typedef mozilla::dom::URLSearchParams URLSearchParams;
~URL();
public:
NS_DECL_CYCLE_COLLECTING_ISUPPORTS
NS_DECL_CYCLE_COLLECTION_CLASS(URL)
URL(WorkerPrivate* aWorkerPrivate, URLProxy* aURLProxy);
nsISupports*
GetParentObject() const
{
// There's only one global on a worker, so we don't need to specify.
return nullptr;
}
JSObject*
WrapObject(JSContext* aCx);
// Methods for WebIDL
static already_AddRefed<URL>
Constructor(const GlobalObject& aGlobal, const nsAString& aUrl,
URL& aBase, ErrorResult& aRv);
static already_AddRefed<URL>
Constructor(const GlobalObject& aGlobal, const nsAString& aUrl,
const nsAString& aBase, ErrorResult& aRv);
static void
CreateObjectURL(const GlobalObject& aGlobal,
JSObject* aArg, const objectURLOptions& aOptions,
nsString& aResult, ErrorResult& aRv);
static void
CreateObjectURL(const GlobalObject& aGlobal,
JSObject& aArg, const objectURLOptions& aOptions,
nsString& aResult, ErrorResult& aRv);
static void
RevokeObjectURL(const GlobalObject& aGlobal, const nsAString& aUrl);
void GetHref(nsString& aHref, ErrorResult& aRv) const;
void SetHref(const nsAString& aHref, ErrorResult& aRv);
void GetOrigin(nsString& aOrigin, ErrorResult& aRv) const;
void GetProtocol(nsString& aProtocol, ErrorResult& aRv) const;
void SetProtocol(const nsAString& aProtocol, ErrorResult& aRv);
void GetUsername(nsString& aUsername, ErrorResult& aRv) const;
void SetUsername(const nsAString& aUsername, ErrorResult& aRv);
void GetPassword(nsString& aPassword, ErrorResult& aRv) const;
void SetPassword(const nsAString& aPassword, ErrorResult& aRv);
void GetHost(nsString& aHost, ErrorResult& aRv) const;
void SetHost(const nsAString& aHost, ErrorResult& aRv);
void GetHostname(nsString& aHostname, ErrorResult& aRv) const;
void SetHostname(const nsAString& aHostname, ErrorResult& aRv);
void GetPort(nsString& aPort, ErrorResult& aRv) const;
void SetPort(const nsAString& aPort, ErrorResult& aRv);
void GetPathname(nsString& aPathname, ErrorResult& aRv) const;
void SetPathname(const nsAString& aPathname, ErrorResult& aRv);
void GetSearch(nsString& aSearch, ErrorResult& aRv) const;
void SetSearch(const nsAString& aSearch, ErrorResult& aRv);
URLSearchParams* SearchParams();
void SetSearchParams(URLSearchParams& aSearchParams);
void GetHash(nsString& aHost, ErrorResult& aRv) const;
void SetHash(const nsAString& aHash, ErrorResult& aRv);
void Stringify(nsString& aRetval, ErrorResult& aRv) const
{
GetHref(aRetval, aRv);
}
// IURLSearchParamsObserver
void URLSearchParamsUpdated(URLSearchParams* aSearchParams) MOZ_OVERRIDE;
private:
URLProxy* GetURLProxy() const
{
return mURLProxy;
}
void CreateSearchParamsIfNeeded();
void SetSearchInternal(const nsAString& aSearch);
void UpdateURLSearchParams();
WorkerPrivate* mWorkerPrivate;
nsRefPtr<URLProxy> mURLProxy;
nsRefPtr<URLSearchParams> mSearchParams;
};
END_WORKERS_NAMESPACE
#endif /* mozilla_dom_workers_url_h__ */