summaryrefslogtreecommitdiffstats
path: root/src/core/access_token_store_qt.cpp
blob: b007d372fbba88dd41b00a1d76f18bb24844acc3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
// Copyright (c) 2012 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.

#include "access_token_store_qt.h"

#include "base/bind.h"
#include "base/message_loop/message_loop.h"
#include "base/strings/utf_string_conversions.h"
#include "content/public/browser/browser_thread.h"

#include "browser_context_qt.h"
#include "browser_context_adapter.h"
#include "content_browser_client_qt.h"
#include "web_engine_context.h"

using content::AccessTokenStore;
using content::BrowserThread;

AccessTokenStoreQt::AccessTokenStoreQt()
    : m_systemRequestContext(0)
{
}

AccessTokenStoreQt::~AccessTokenStoreQt()
{
}

void AccessTokenStoreQt::LoadAccessTokens(const LoadAccessTokensCallbackType& callback)
{
    BrowserThread::PostTaskAndReply(BrowserThread::UI, FROM_HERE
                , base::Bind(&AccessTokenStoreQt::performWorkOnUIThread, this)
                , base::Bind(&AccessTokenStoreQt::respondOnOriginatingThread, this, callback));
}

void AccessTokenStoreQt::performWorkOnUIThread()
{
    m_systemRequestContext = WebEngineContext::current()->defaultBrowserContext()->browserContext()->GetRequestContext();
}

void AccessTokenStoreQt::respondOnOriginatingThread(const LoadAccessTokensCallbackType& callback)
{
    callback.Run(m_accessTokenSet, m_systemRequestContext);
    m_systemRequestContext = 0;
}

void AccessTokenStoreQt::SaveAccessToken(const GURL& serverUrl, const base::string16& accessToken)
{
    m_accessTokenSet[serverUrl] = accessToken;
}