diff --git a/WebDriver.sln b/WebDriver.sln
index ba486b3a04884..5b2203e63c3bd 100644
--- a/WebDriver.sln
+++ b/WebDriver.sln
@@ -27,6 +27,7 @@ EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "webdriver-interactions", "cpp\webdriver-interactions\webdriver-interactions.vcxproj", "{87FA39A1-958E-478A-8AB9-6D5E5AAA3886}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "webdriver-firefox", "cpp\webdriver-firefox\webdriver-firefox.vcxproj", "{A9D3BB2D-FD1E-43A2-80F6-F8320682323E}"
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "webdriver-firefox-5", "cpp\webdriver-firefox\webdriver-firefox-5.vcxproj", "{A9D3BB2D-FD1E-43A2-80F6-F8320682323E}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "IEDriver", "cpp\IEDriver\IEDriver.vcxproj", "{BB72383B-427F-4191-B692-E4345A30E33C}"
EndProject
diff --git a/cpp/build.desc b/cpp/build.desc
index 2f020522a7f4a..1b15ecfe68a76 100644
--- a/cpp/build.desc
+++ b/cpp/build.desc
@@ -1,9 +1,17 @@
visualc_library(name = "firefox_dll",
platform = "Win32",
project = "webdriver-firefox/webdriver-firefox.vcxproj",
+ file_deps = "third_party/gecko-2/win32",
out = "Win32/Release/webdriver-firefox.dll"
)
+visualc_library(name = "firefox5_dll",
+ platform = "Win32",
+ project = "webdriver-firefox/webdriver-firefox-5.vcxproj",
+ file_deps = "third_party/gecko-5/win32",
+ out = "Win32/Release/webdriver-firefox-5.dll"
+)
+
mozilla_xpt(name = "native_events_xpt",
srcs = [ "webdriver-firefox/nsINativeEvents.idl" ])
diff --git a/cpp/prebuilt/Win32/Release/webdriver-firefox-5.dll b/cpp/prebuilt/Win32/Release/webdriver-firefox-5.dll
new file mode 100755
index 0000000000000..300e56d53c198
Binary files /dev/null and b/cpp/prebuilt/Win32/Release/webdriver-firefox-5.dll differ
diff --git a/cpp/webdriver-firefox/webdriver-firefox-5.vcxproj b/cpp/webdriver-firefox/webdriver-firefox-5.vcxproj
new file mode 100644
index 0000000000000..8305a4f92bc2b
--- /dev/null
+++ b/cpp/webdriver-firefox/webdriver-firefox-5.vcxproj
@@ -0,0 +1,196 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Debug
+ x64
+
+
+ Release
+ Win32
+
+
+ Release
+ x64
+
+
+
+ {A9D3BB2D-FD1E-43A2-80F6-F8320682323E}
+ webdriverfirefox
+
+
+
+ DynamicLibrary
+ false
+ Static
+ Unicode
+ true
+
+
+ DynamicLibrary
+ false
+ Static
+ Unicode
+
+
+ DynamicLibrary
+ false
+ Static
+ Unicode
+ true
+
+
+ DynamicLibrary
+ false
+ Static
+ Unicode
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_ProjectFileVersion>10.0.30319.1
+ $(ProjectDir)..\..\build\cpp\$(Platform)\$(Configuration)\
+ $(ProjectDir)..\..\build\cpp\intermediate\$(ProjectName)\$(Platform)\$(Configuration)\
+ $(ProjectDir)..\..\build\cpp\$(Platform)\$(Configuration)\
+ $(ProjectDir)..\..\build\cpp\intermediate\$(ProjectName)\$(Platform)\$(Configuration)\
+ $(ProjectDir)..\..\build\cpp\$(Platform)\$(Configuration)\
+ $(ProjectDir)..\..\build\cpp\intermediate\$(ProjectName)\$(Platform)\$(Configuration)\
+ $(ProjectDir)..\..\build\cpp\$(Platform)\$(Configuration)\
+ $(ProjectDir)..\..\build\cpp\intermediate\$(ProjectName)\$(Platform)\$(Configuration)\
+ AllRules.ruleset
+
+
+ AllRules.ruleset
+
+
+ AllRules.ruleset
+
+
+ AllRules.ruleset
+
+
+
+
+
+ Disabled
+ $(ProjectDir)..\..\third_party\gecko-5\win32\include;$(ProjectDir)..\webdriver-interactions;$(ProjectDir)..\imehandler\common
+ XP_WIN;XP_WIN32;%(PreprocessorDefinitions)
+ true
+ EnableFastChecks
+ MultiThreadedDebug
+ Level3
+ EditAndContinue
+
+
+ nspr4.lib;xpcom.lib;xpcomglue_s_nomozalloc.lib;%(AdditionalDependencies)
+ $(ProjectDir)..\..\third_party\gecko-5\win32\lib;$(OutDir);%(AdditionalLibraryDirectories)
+ true
+ MachineX86
+
+
+
+
+ X64
+
+
+ Disabled
+ $(ProjectDir)..\..\third_party\gecko-5\win32\include;$(ProjectDir)..\webdriver-interactions;$(ProjectDir)..\imehandler\common
+ XP_WIN;XP_WIN32;%(PreprocessorDefinitions)
+ true
+ EnableFastChecks
+ MultiThreadedDebug
+ Level3
+ ProgramDatabase
+
+
+ nspr4.lib;xpcom.lib;xpcomglue_s_nomozalloc.lib;%(AdditionalDependencies)
+ $(ProjectDir)..\..\third_party\gecko-5\win32\lib;$(OutDir);%(AdditionalLibraryDirectories)
+ true
+ MachineX64
+
+
+
+
+ MaxSpeed
+ true
+ $(ProjectDir)..\..\third_party\gecko-5\win32\include;$(ProjectDir)..\webdriver-interactions;$(ProjectDir)..\imehandler\common
+ XP_WIN;XP_WIN32;%(PreprocessorDefinitions)
+ MultiThreaded
+ true
+ Level3
+
+
+
+
+ nspr4.lib;xpcom.lib;xpcomglue_s_nomozalloc.lib;%(AdditionalDependencies)
+ $(ProjectDir)..\..\third_party\gecko-5\win32\lib;$(OutDir);%(AdditionalLibraryDirectories)
+ false
+ true
+ true
+ MachineX86
+
+
+
+
+ X64
+
+
+ MaxSpeed
+ true
+ $(ProjectDir)..\..\third_party\gecko-5\win32\include;$(ProjectDir)..\webdriver-interactions;$(ProjectDir)..\imehandler\common
+ XP_WIN;XP_WIN32;%(PreprocessorDefinitions)
+ MultiThreaded
+ true
+ Level3
+ ProgramDatabase
+
+
+ nspr4.lib;xpcom.lib;xpcomglue_s_nomozalloc.lib;%(AdditionalDependencies)
+ $(ProjectDir)..\..\third_party\gecko-5\win32\lib;$(OutDir);%(AdditionalLibraryDirectories)
+ true
+ true
+ true
+ MachineX64
+
+
+
+
+ {87fa39a1-958e-478a-8ab9-6d5e5aaa3886}
+ true
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/cpp/webdriver-firefox/webdriver-firefox-5.vcxproj.filters b/cpp/webdriver-firefox/webdriver-firefox-5.vcxproj.filters
new file mode 100644
index 0000000000000..dc8f92c751114
--- /dev/null
+++ b/cpp/webdriver-firefox/webdriver-firefox-5.vcxproj.filters
@@ -0,0 +1,45 @@
+
+
+
+
+ {4FC737F1-C7A5-4376-A066-2A32D752A2FF}
+ cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx
+
+
+ {93995380-89BD-4b04-88EB-625FBE52EBFB}
+ h;hpp;hxx;hm;inl;inc;xsd
+
+
+ {67DA6AB6-F800-4c08-8B7A-83BB121AAD01}
+ rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav
+
+
+
+
+ Source Files
+
+
+ Source Files
+
+
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+
\ No newline at end of file
diff --git a/javascript/firefox-driver/build.desc b/javascript/firefox-driver/build.desc
index e413be1bb3904..17adc41f48ff6 100644
--- a/javascript/firefox-driver/build.desc
+++ b/javascript/firefox-driver/build.desc
@@ -35,6 +35,7 @@ mozilla_extension(name = "webdriver",
],
resources = [
{ "//cpp:firefox_dll" : "platform/WINNT_x86-msvc/components/webdriver-firefox.dll" },
+ { "//cpp:firefox5_dll" : "platform/WINNT_x86-msvc/components/webdriver-firefox-5.dll" },
{ "//cpp:imehandler_dll" : "platform/WINNT_x86-msvc/components/imehandler.dll" },
{ "//cpp:webdriver_firefox_ff4" : "platform/Linux_x86-gcc3/components/libwebdriver-firefox-ff4.so" },
{ "//cpp:webdriver_firefox_ff5" : "platform/Linux_x86-gcc3/components/libwebdriver-firefox-ff5.so" },
diff --git a/javascript/firefox-driver/extension/chrome.manifest b/javascript/firefox-driver/extension/chrome.manifest
index ede709036087f..9771eae4ea943 100644
--- a/javascript/firefox-driver/extension/chrome.manifest
+++ b/javascript/firefox-driver/extension/chrome.manifest
@@ -40,7 +40,8 @@ contract @googlecode.com/webdriver/wdsessionstoreservice;1 {b54195d3-841e-47df-b
component {E8F9FEFE-C513-4097-98BE-BE00A41D3645} components/syntheticMouse.js
contract @googlecode.com/webdriver/syntheticmouse;1 {E8F9FEFE-C513-4097-98BE-BE00A41D3645}
-binary-component platform/WINNT_x86-msvc/components/webdriver-firefox.dll ABI=WINNT_x86-msvc
+binary-component platform/WINNT_x86-msvc/components/webdriver-firefox.dll ABI=WINNT_x86-msvc appversion<5
+binary-component platform/WINNT_x86-msvc/components/webdriver-firefox-5.dll ABI=WINNT_x86-msvc appversion>=5
binary-component platform/WINNT_x86-msvc/components/imehandler.dll ABI=WINNT_x86-msvc
binary-component platform/Linux_x86_64-gcc3/components/libwebdriver-firefox-ff4.so ABI=Linux_x86_64-gcc3 appversion<5
binary-component platform/Linux_x86_64-gcc3/components/libwebdriver-firefox-ff5.so ABI=Linux_x86_64-gcc3 appversion>=5.0
diff --git a/rake-tasks/crazy_fun/mappings/visualstudio.rb b/rake-tasks/crazy_fun/mappings/visualstudio.rb
index ad650ac0602b1..d74fad0bfc4e7 100644
--- a/rake-tasks/crazy_fun/mappings/visualstudio.rb
+++ b/rake-tasks/crazy_fun/mappings/visualstudio.rb
@@ -350,6 +350,7 @@ def handle(fun, dir, args)
target_task.out = full_path
add_dependencies(target_task, dir, args[:deps])
+ target_task.enhance [ args[:file_deps] ] if args[:file_deps]
end
end
end