diff options
Diffstat (limited to 'Source/WebKit/chromium/src/WebHistoryItem.cpp')
-rw-r--r-- | Source/WebKit/chromium/src/WebHistoryItem.cpp | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/Source/WebKit/chromium/src/WebHistoryItem.cpp b/Source/WebKit/chromium/src/WebHistoryItem.cpp index db35317ad..31d2bd564 100644 --- a/Source/WebKit/chromium/src/WebHistoryItem.cpp +++ b/Source/WebKit/chromium/src/WebHistoryItem.cpp @@ -31,6 +31,7 @@ #include "config.h" #include "WebHistoryItem.h" +#include "FormController.h" #include "FormData.h" #include "HistoryItem.h" #include "KURL.h" @@ -287,6 +288,23 @@ void WebHistoryItem::appendToChildren(const WebHistoryItem& item) m_private->addChildItem(item); } +WebVector<WebString> WebHistoryItem::getReferencedFilePaths() const +{ + Vector<WebString> filePaths; + const FormData* formData = m_private->formData(); + if (formData) { + for (size_t i = 0; i < formData->elements().size(); ++i) { + const FormDataElement& element = formData->elements()[i]; + if (element.m_type == FormDataElement::encodedFile) + filePaths.append(element.m_filename); + } + } + const Vector<String>& selectedFilePaths = WebCore::FormController::getReferencedFilePaths(m_private->documentState()); + for (size_t i = 0; i < selectedFilePaths.size(); ++i) + filePaths.append(selectedFilePaths[i]); + return filePaths; +} + WebHistoryItem::WebHistoryItem(const PassRefPtr<HistoryItem>& item) : m_private(item) { |