Exemplo n.º 1
0
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;
}
Exemplo n.º 2
0
bool DragData::containsCompatibleContent() const
{
    return containsPlainText() || containsURL(0)
           || ((m_platformDragData) ? (containsHTML(m_platformDragData) || containsFilenames(m_platformDragData))
               : (containsHTML(&m_dragDataMap) || containsFilenames(&m_dragDataMap)))
           || containsColor();
}
Exemplo n.º 3
0
bool DragData::containsCompatibleContent() const
{
    return containsPlainText()
        || containsURL()
        || containsHTML(m_platformDragData)
        || containsFiles();
}
Exemplo n.º 4
0
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;
}
Exemplo n.º 5
0
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;
}
Exemplo n.º 6
0
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;
}