chromium/chrome/test/chromedriver/session.h

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

#ifndef CHROME_TEST_CHROMEDRIVER_SESSION_H_
#define CHROME_TEST_CHROMEDRIVER_SESSION_H_

#include <list>
#include <memory>
#include <queue>
#include <string>
#include <vector>

#include "base/functional/callback.h"
#include "base/memory/raw_ptr.h"
#include "base/time/time.h"
#include "base/values.h"
#include "chrome/test/chromedriver/basic_types.h"
#include "chrome/test/chromedriver/chrome/device_metrics.h"
#include "chrome/test/chromedriver/chrome/geoposition.h"
#include "chrome/test/chromedriver/chrome/network_conditions.h"
#include "chrome/test/chromedriver/chrome/scoped_temp_dir_with_retry.h"
#include "chrome/test/chromedriver/chrome/ui_events.h"
#include "chrome/test/chromedriver/command_listener.h"
#include "chrome/test/chromedriver/prompt_behavior.h"

// Controls whether ChromeDriver operates in W3C mode (when true) by default
// or legacy mode (when false).
static const bool kW3CDefault =;

class Chrome;
class Status;
class WebDriverLog;
class WebView;

struct FrameInfo {};

struct InputCancelListEntry {};

SendTextFunc;

CloseFunc;

struct BidiConnection {};

struct Session {};

Session* GetThreadLocalSession();

void SetThreadLocalSession(std::unique_ptr<Session> new_session);

namespace internal {
Status SplitChannel(std::string* channel,
                    int* connection_id,
                    std::string* suffix);
}

#endif  // CHROME_TEST_CHROMEDRIVER_SESSION_H_