summaryrefslogtreecommitdiff
path: root/Source/WebKit/chromium/src/WebHistoryItem.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Source/WebKit/chromium/src/WebHistoryItem.cpp')
-rw-r--r--Source/WebKit/chromium/src/WebHistoryItem.cpp18
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)
{