List icon Conteúdo

De 7.17 para 7.18

Cookies

Apagar os cookies

v7.17

Quando se apaga um cookie, o método CookieStore.delete(Cookie) devolve um valor boolean indicando se o cookie em causa foi excluído ou não.

Java
Kotlin
if (!cookieStore.delete(cookie)) {
    // Erro: O cookie não foi excluído.
}
if (!cookieStore.delete(cookie)) {
    // Erro: O cookie não foi excluído.
}

v7.18

Nesta versão, simplificamos esta funcionalidade. Agora, o método CookieStore.delete(Cookie) retorna void. Se o cookie não tiver sido excluído porque é inválido ou não existe, o método não faz nada:

Java
Kotlin
cookieStore.delete(cookie);
cookieStore.delete(cookie)

Definição de cookie

v7.17

Para definir um cookie, é utilizado o método CookieStore.put(String url, Cookie cookie). Este método requer dois parâmetros: o cookie e o URL. Se o URL fornecido e o domínio do cookie forem diferentes, o cookie não será definido e o método devolve false. Por isso, certifique-se de que o URL fornecido e o domínio do cookie são os mesmos domínios.

Java
Kotlin
Cookie cookie = Cookie.newBuilder()
        .name("cookieName")
        .value("cookieValue")
        .domain(".google.com")
        .secure(true)
        .path("/")
        .build();
if (!cookieStore.put("https://www.google.com", cookie)) {
    // Erro: O cookie não foi definido.
}
Cookie cookie = Cookie.newBuilder()
        .name("cookieName")
        .value("cookieValue")
        .domain(".google.com")
        .secure(true)
        .path("/")
        .build()
if (!cookieStore.put("https://www.google.com", cookie)) {
    // Erro: O cookie não foi definido.
}

v7.18

Descobrimos que o parâmetro URL é utilizado pelo Chromium apenas para validar o cookie fornecido e verificar o seu domínio. Decidimos simplificar esta API. Agora, você não precisa de passar o parâmetro URL e certificar-se de que o URL e o domínio do cookie são os mesmos. Agora, você pode definir um cookie utilizando a seguinte forma:

Java
Kotlin
cookieStore.set(Cookie.newBuilder(".google.com")
        .name("cookieName")
        .value("cookieValue")
        .secure(true)
        .path("/")
        .build());
cookieStore.set(Cookie.newBuilder(".google.com")
        .name("cookieName")
        .value("cookieValue")
        .secure(true)
        .path("/")
        .build())

Se o cookie fornecido for inválido e não puder ser definido, o método lança java.lang.IllegalArgumentException.