PassRefPtr<DocumentFragment> DragData::asFragment(Frame* frame, Range&, bool, bool&) const { /* * Order is richest format first. On OSX this is: * * Web Archive * * Filenames * * HTML * * RTF * * TIFF * * PICT */ if (m_platformDragData) { if (containsFilenames(m_platformDragData)) { if (PassRefPtr<DocumentFragment> fragment = fragmentFromFilenames(frame->document(), m_platformDragData)) return fragment; } if (containsHTML(m_platformDragData)) { if (PassRefPtr<DocumentFragment> fragment = fragmentFromHTML(frame->document(), m_platformDragData)) return fragment; } } else { if (containsFilenames(&m_dragDataMap)) { if (PassRefPtr<DocumentFragment> fragment = fragmentFromFilenames(frame->document(), &m_dragDataMap)) return fragment; } if (containsHTML(&m_dragDataMap)) { if (PassRefPtr<DocumentFragment> fragment = fragmentFromHTML(frame->document(), &m_dragDataMap)) return fragment; } } return 0; }
bool DragData::containsCompatibleContent() const { return containsPlainText() || containsURL(0) || ((m_platformDragData) ? (containsHTML(m_platformDragData) || containsFilenames(m_platformDragData)) : (containsHTML(&m_dragDataMap) || containsFilenames(&m_dragDataMap))) || containsColor(); }
bool DragData::containsCompatibleContent() const { return containsPlainText() || containsURL() || containsHTML(m_platformDragData) || containsFiles(); }
DocumentFragment* DragData::asFragment(LocalFrame* frame) const { /* * Order is richest format first. On OSX this is: * * Web Archive * * Filenames * * HTML * * RTF * * TIFF * * PICT */ if (containsFiles()) { // FIXME: Implement this. Should be pretty simple to make some HTML // and call createFragmentFromMarkup. } if (containsHTML()) { String html; KURL baseURL; m_platformDragData->htmlAndBaseURL(html, baseURL); DCHECK(frame->document()); if (DocumentFragment* fragment = createFragmentFromMarkup(*frame->document(), html, baseURL, DisallowScriptingAndPluginContent)) return fragment; } return nullptr; }
static RefPtr<DocumentFragment> createFragmentFromPlatformData(PlatformDragData& platformDragData, Frame& frame) { if (containsFilenames(&platformDragData)) { if (PassRefPtr<DocumentFragment> fragment = fragmentFromFilenames(frame.document(), &platformDragData)) return fragment; } if (containsHTML(&platformDragData)) { if (RefPtr<DocumentFragment> fragment = fragmentFromHTML(frame.document(), &platformDragData)) return fragment; } return nullptr; }
PassRefPtr<DocumentFragment> DragData::asFragment(Document* doc) const { /* * Order is richest format first. On OSX this is: * * Web Archive * * Filenames * * HTML * * RTF * * TIFF * * PICT */ if (containsFilenames(m_platformDragData)) if (PassRefPtr<DocumentFragment> fragment = fragmentFromFilenames(doc, m_platformDragData)) return fragment; if (containsHTML(m_platformDragData)) if (PassRefPtr<DocumentFragment> fragment = fragmentFromHTML(doc, m_platformDragData)) return fragment; return 0; }