bool DragData::containsPlainText() const { if (m_platformDragData) return SUCCEEDED(m_platformDragData->QueryGetData(plainTextWFormat())) || SUCCEEDED(m_platformDragData->QueryGetData(plainTextFormat())); return m_dragDataMap.contains(plainTextWFormat()->cfFormat) || m_dragDataMap.contains(plainTextFormat()->cfFormat); }
String getPlainText(IDataObject* dataObject, bool& success) { STGMEDIUM store; String text; success = false; if (SUCCEEDED(dataObject->GetData(plainTextWFormat(), &store))) { // Unicode text UChar* data = static_cast<UChar*>(GlobalLock(store.hGlobal)); text = String(data); GlobalUnlock(store.hGlobal); ReleaseStgMedium(&store); success = true; } else if (SUCCEEDED(dataObject->GetData(plainTextFormat(), &store))) { // ASCII text char* data = static_cast<char*>(GlobalLock(store.hGlobal)); text = String(data); GlobalUnlock(store.hGlobal); ReleaseStgMedium(&store); success = true; } else { // FIXME: Originally, we called getURL() here because dragging and dropping files doesn't // populate the drag with text data. Per https://bugs.webkit.org/show_bug.cgi?id=38826, this // is undesirable, so maybe this line can be removed. text = getURL(dataObject, DragData::DoNotConvertFilenames, success); success = true; } return text; }
String getPlainText(IDataObject* dataObject, bool& success) { STGMEDIUM store; String text; success = false; if (SUCCEEDED(dataObject->GetData(plainTextWFormat(), &store))) { //unicode text UChar* data = (UChar*)GlobalLock(store.hGlobal); text = String(data); GlobalUnlock(store.hGlobal); ReleaseStgMedium(&store); success = true; } else if (SUCCEEDED(dataObject->GetData(plainTextFormat(), &store))) { //ascii text char* data = (char*)GlobalLock(store.hGlobal); text = String(data); GlobalUnlock(store.hGlobal); ReleaseStgMedium(&store); success = true; } else { //If a file is dropped on the window, it does not provide either of the //plain text formats, so here we try to forcibly get a url. text = getURL(dataObject, success); success = true; } return text; }
bool DragData::containsPlainText() const { return SUCCEEDED(m_platformDragData->QueryGetData(plainTextWFormat())) || SUCCEEDED(m_platformDragData->QueryGetData(plainTextFormat())); }