  }
  
 diff --git a/Source/WebCore/html/HTMLAttributeNames.in b/Source/WebCore/html/HTMLAttributeNames.in
-index 459078f..41d0a57 100644
+index 459078f..bfa3636 100644
 --- a/Source/WebCore/html/HTMLAttributeNames.in
 +++ b/Source/WebCore/html/HTMLAttributeNames.in
-@@ -163,6 +163,7 @@ noresize
+@@ -163,6 +163,8 @@ noresize
  noshade
  novalidate
  nowrap
 +nwdirectory
++nwsaveas
  object
  onabort
  onbeforecopy

     params.directory = false;
 #endif
+    params.extractDirectory = fileChooser->settings().allowsDirectoryUpload;
     params.acceptTypes = fileChooser->settings().acceptTypes();
     params.selectedFiles = fileChooser->settings().selectedFiles;
     if (params.selectedFiles.size() > 0)

     }
 };
diff --git a/Source/WebKit/chromium/src/ChromeClientImpl.cpp b/Source/WebKit/chromium/src/ChromeClientImpl.cpp
index dc5afc8..a390ecc 100644
--- a/Source/WebKit/chromium/src/ChromeClientImpl.cpp
+++ b/Source/WebKit/chromium/src/ChromeClientImpl.cpp
@@ -713,10 +713,12 @@ void ChromeClientImpl::runOpenPanel(Frame* frame, PassRefPtr<FileChooser> fileCh
     WebFileChooserParams params;
     params.multiSelect = fileChooser->settings().allowsMultipleFiles;
 #if ENABLE(DIRECTORY_UPLOAD)
