// Copyright 2016 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

module content.mojom;

import "url/mojom/url.mojom";

interface RenderFrameMessageFilter {
  // Sets a cookie. Returns after the cookie write request has been scheduled on
  // the IO thread (the database is modified asynchronously). This ensures that
  // network requests issued after the cookie setter call are processed after
  // the cookie change is committed, and therefore see the change.
  [Sync]
  SetCookie(int32 render_frame_id, url.mojom.Url url,
      url.mojom.Url first_party_for_cookies, string cookie) => ();

  // Used to get cookies for the given URL. This may block waiting for a
  // previous SetCookie message to be processed.
  [Sync]
  GetCookies(int32 render_frame_id, url.mojom.Url url,
      url.mojom.Url first_party_for_cookies) => (string cookies);
};
