function isFile(obj) {
  return toString.call(obj) === '[object File]';
}
@name $browser#url

@description
GETTER:
Without any argument, this method just returns current value of `location.href` (with a
trailing `#` stripped of if the hash is empty).

SETTER:
With at least one argument, this method sets url to new value.
If html5 history api supported, `pushState`/`replaceState` is used, otherwise
`location.href`/`location.replace` is used.
Returns its own instance to allow chaining.

NOTE: this api is intended for use only by the `$location` service. Please use the
{@link ng.$location $location service} to change url.

@param {string} url New url (when used as setter)
@param {boolean=} replace Should new url replace current history record?
@param {object=} state State object to use with `pushState`/`replaceState`