mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
f6d5673760
Handle text/html and image MIME types on gonk/nsClipboard
76 lines
1.3 KiB
C++
76 lines
1.3 KiB
C++
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
|
|
|
#include "GonkClipboardData.h"
|
|
#include "mozilla/gfx/DataSurfaceHelpers.h"
|
|
|
|
namespace mozilla {
|
|
|
|
void
|
|
GonkClipboardData::SetText(const nsAString &aText)
|
|
{
|
|
mPlain = aText;
|
|
}
|
|
|
|
bool
|
|
GonkClipboardData::HasText() const
|
|
{
|
|
return !mPlain.IsEmpty();
|
|
}
|
|
|
|
const nsAString&
|
|
GonkClipboardData::GetText() const
|
|
{
|
|
return mPlain;
|
|
}
|
|
|
|
void
|
|
GonkClipboardData::SetHTML(const nsAString &aHTML)
|
|
{
|
|
mHTML = aHTML;
|
|
}
|
|
|
|
bool
|
|
GonkClipboardData::HasHTML() const
|
|
{
|
|
return !mHTML.IsEmpty();
|
|
}
|
|
|
|
const nsAString&
|
|
GonkClipboardData::GetHTML() const
|
|
{
|
|
return mHTML;
|
|
}
|
|
|
|
void
|
|
GonkClipboardData::SetImage(gfx::DataSourceSurface* aDataSource)
|
|
{
|
|
// Clone a new DataSourceSurface and store it.
|
|
mImage = gfx::CreateDataSourceSurfaceByCloning(aDataSource);
|
|
}
|
|
|
|
bool
|
|
GonkClipboardData::HasImage() const
|
|
{
|
|
return static_cast<bool>(mImage);
|
|
}
|
|
|
|
already_AddRefed<gfx::DataSourceSurface>
|
|
GonkClipboardData::GetImage() const
|
|
{
|
|
// Return cloned DataSourceSurface.
|
|
RefPtr<gfx::DataSourceSurface> cloned = gfx::CreateDataSourceSurfaceByCloning(mImage);
|
|
return cloned.forget();
|
|
}
|
|
|
|
void
|
|
GonkClipboardData::Clear()
|
|
{
|
|
mPlain.Truncate(0);
|
|
mHTML.Truncate(0);
|
|
mImage = nullptr;
|
|
}
|
|
|
|
} // namespace mozilla
|