summaryrefslogtreecommitdiff
path: root/cloud_print
diff options
context:
space:
mode:
authorTorne (Richard Coles) <torne@google.com>2013-06-11 10:57:03 +0100
committerTorne (Richard Coles) <torne@google.com>2013-06-11 10:57:03 +0100
commit868fa2fe829687343ffae624259930155e16dbd8 (patch)
tree54d316199dd9739c57c3aacd131853bbd6554a94 /cloud_print
parentbb1bdbd796f966b5bf11f40ecbea12621c7bfac9 (diff)
downloadchromium_org-868fa2fe829687343ffae624259930155e16dbd8.tar.gz
Merge from Chromium at DEPS revision r205460
This commit was generated by merge_to_master.py. Change-Id: I4a744a5e426bd3bb378d887cfa56fe054742a540
Diffstat (limited to 'cloud_print')
-rw-r--r--cloud_print/cloud_print.gyp1
-rw-r--r--cloud_print/common/win/cloud_print_utils.h2
-rw-r--r--cloud_print/common/win/install_utils.h2
-rw-r--r--cloud_print/gcp20/prototype/dns_sd_server.cc137
-rw-r--r--cloud_print/gcp20/prototype/dns_sd_server.h62
-rw-r--r--cloud_print/gcp20/prototype/gcp20_device.cc28
-rw-r--r--cloud_print/gcp20/prototype/gcp20_device.gyp41
-rw-r--r--cloud_print/service/service.gyp2
-rw-r--r--cloud_print/service/service_state.cc6
-rw-r--r--cloud_print/service/service_state_unittest.cc2
-rw-r--r--cloud_print/service/win/cloud_print_service.cc4
-rw-r--r--cloud_print/service/win/cloud_print_service_config.cc2
-rw-r--r--cloud_print/service/win/local_security_policy.cc2
-rw-r--r--cloud_print/service/win/local_security_policy.h2
-rw-r--r--cloud_print/service/win/service_controller.h2
-rw-r--r--cloud_print/service/win/service_utils.cc2
-rw-r--r--cloud_print/service/win/service_utils.h2
-rw-r--r--cloud_print/service/win/setup_listener.cc2
-rw-r--r--cloud_print/service/win/setup_listener.h2
-rw-r--r--cloud_print/virtual_driver/win/install/setup.cc4
-rw-r--r--cloud_print/virtual_driver/win/port_monitor/port_monitor.cc10
-rw-r--r--cloud_print/virtual_driver/win/port_monitor/port_monitor.h2
-rw-r--r--cloud_print/virtual_driver/win/port_monitor/port_monitor_dll.cc2
-rw-r--r--cloud_print/virtual_driver/win/port_monitor/port_monitor_unittest.cc2
-rw-r--r--cloud_print/virtual_driver/win/virtual_driver_helpers.cc2
-rw-r--r--cloud_print/virtual_driver/win/virtual_driver_helpers.h2
26 files changed, 297 insertions, 30 deletions
diff --git a/cloud_print/cloud_print.gyp b/cloud_print/cloud_print.gyp
index b746f41b4e..cf3c5433be 100644
--- a/cloud_print/cloud_print.gyp
+++ b/cloud_print/cloud_print.gyp
@@ -58,6 +58,7 @@
'type': 'none',
'dependencies': [
'service/service.gyp:*',
+ 'gcp20/prototype/gcp20_device.gyp:*',
],
'conditions': [
['OS=="win"', {
diff --git a/cloud_print/common/win/cloud_print_utils.h b/cloud_print/common/win/cloud_print_utils.h
index bab86e6112..7effa1b758 100644
--- a/cloud_print/common/win/cloud_print_utils.h
+++ b/cloud_print/common/win/cloud_print_utils.h
@@ -7,7 +7,7 @@
#include <wtypes.h>
-#include "base/string16.h"
+#include "base/strings/string16.h"
namespace cloud_print {
diff --git a/cloud_print/common/win/install_utils.h b/cloud_print/common/win/install_utils.h
index e4387d44ca..1e484cf9a8 100644
--- a/cloud_print/common/win/install_utils.h
+++ b/cloud_print/common/win/install_utils.h
@@ -9,7 +9,7 @@
#include <string>
#include "base/files/file_path.h"
-#include "base/string16.h"
+#include "base/strings/string16.h"
namespace cloud_print {
diff --git a/cloud_print/gcp20/prototype/dns_sd_server.cc b/cloud_print/gcp20/prototype/dns_sd_server.cc
new file mode 100644
index 0000000000..0ca8b4395f
--- /dev/null
+++ b/cloud_print/gcp20/prototype/dns_sd_server.cc
@@ -0,0 +1,137 @@
+// Copyright 2013 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "cloud_print/gcp20/prototype/dns_sd_server.h"
+
+#include <string.h>
+
+#include "base/basictypes.h"
+#include "net/base/big_endian.h"
+#include "net/base/net_util.h"
+#include "net/dns/dns_protocol.h"
+
+namespace {
+
+const char* kDefaultIpAddressMulticast = "224.0.0.251";
+const uint16 kDefaultPortMulticast = 5353;
+
+// TODO(maksymb): Add possibility to set constants via command line arguments
+const uint32 kDefaultTTL = 60*60; // in seconds
+
+} // namespace
+
+DnsSdServer::DnsSdServer() : is_online_(false) {
+ // Do nothing
+}
+
+DnsSdServer::~DnsSdServer() {
+ Shutdown();
+}
+
+bool DnsSdServer::Start() {
+ if (is_online_)
+ return true;
+
+ if (!CreateSocket())
+ return false;
+
+ LOG(INFO) << "DNS server started";
+
+ SendAnnouncement(kDefaultTTL);
+
+ is_online_ = true;
+ return true;
+}
+
+void DnsSdServer::Update() {
+ if (!is_online_)
+ return;
+
+ SendAnnouncement(kDefaultTTL);
+}
+
+void DnsSdServer::Shutdown() {
+ if (!is_online_)
+ return;
+
+ SendAnnouncement(0); // ttl is 0
+ socket_->Close();
+ is_online_ = false;
+ LOG(INFO) << "DNS server stopped";
+}
+
+void DnsSdServer::ProcessMessages() {
+ NOTIMPLEMENTED(); // implement this
+}
+
+bool DnsSdServer::CreateSocket() {
+ net::IPAddressNumber local_ip_any;
+ bool success = net::ParseIPLiteralToNumber("0.0.0.0", &local_ip_any);
+ DCHECK(success);
+
+ net::IPAddressNumber multicast_dns_ip_address;
+ success = net::ParseIPLiteralToNumber(kDefaultIpAddressMulticast,
+ &multicast_dns_ip_address);
+ DCHECK(success);
+
+
+ socket_.reset(new net::UDPSocket(net::DatagramSocket::DEFAULT_BIND,
+ net::RandIntCallback(),
+ NULL,
+ net::NetLog::Source()));
+
+ net::IPEndPoint local_address = net::IPEndPoint(local_ip_any,
+ kDefaultPortMulticast);
+ multicast_address_ = net::IPEndPoint(multicast_dns_ip_address,
+ kDefaultPortMulticast);
+
+ socket_->AllowAddressReuse();
+
+ int status = socket_->Bind(local_address);
+ if (status < 0)
+ return false;
+
+ socket_->SetMulticastLoopbackMode(false);
+ status = socket_->JoinGroup(multicast_dns_ip_address);
+
+ if (status < 0)
+ return false;
+
+ DCHECK(socket_->is_connected());
+
+ return true;
+}
+
+bool DnsSdServer::CheckPendingQueries() {
+ NOTIMPLEMENTED(); // implement this
+ return false;
+}
+
+void DoNothing(int /*var*/) {
+ // Do nothing
+}
+
+void DnsSdServer::SendAnnouncement(uint32 ttl) {
+ // Create a message with allocated space for header.
+ // DNS header is temporary empty.
+ scoped_ptr<std::vector<uint8> > message(
+ new std::vector<uint8>(sizeof(net::dns_protocol::Header), 0)); // all is 0
+
+ // TODO(maksymb): Create and implement DnsResponse class
+
+ // Preparing for sending
+ scoped_refptr<net::IOBufferWithSize> buffer =
+ new net::IOBufferWithSize(static_cast<int>(message.get()->size()));
+ memcpy(buffer.get()->data(), message.get()->data(), message.get()->size());
+
+ // Create empty callback (we don't need it at all) and send packet
+ net::CompletionCallback callback = base::Bind(DoNothing);
+ socket_->SendTo(buffer.get(),
+ buffer.get()->size(),
+ multicast_address_,
+ callback);
+
+ LOG(INFO) << "Announcement was sent with TTL: " << ttl;
+}
+
diff --git a/cloud_print/gcp20/prototype/dns_sd_server.h b/cloud_print/gcp20/prototype/dns_sd_server.h
new file mode 100644
index 0000000000..9c8ed96b7d
--- /dev/null
+++ b/cloud_print/gcp20/prototype/dns_sd_server.h
@@ -0,0 +1,62 @@
+// Copyright 2013 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef GCP20_PROTOTYPE_DNS_SD_H_
+#define GCP20_PROTOTYPE_DNS_SD_H_
+
+#include <vector>
+
+#include "net/dns/dns_protocol.h"
+#include "net/udp/udp_socket.h"
+
+// Class for sending multicast announcements, receiving queries and answering on
+// them. Client should call |ProccessMessages| periodically to make server work.
+class DnsSdServer {
+ public:
+ // Constructs unstarted server.
+ DnsSdServer();
+
+ // Stops server.
+ ~DnsSdServer();
+
+ // Starts the server. Returns |true| if server works. Also sends
+ // announcement.
+ bool Start();
+
+ // Sends announcement if server works.
+ void Update();
+
+ // Stops server with announcement.
+ void Shutdown();
+
+ // Process pending queries for the server.
+ void ProcessMessages();
+
+ // Returns |true| if server works.
+ bool is_online() { return is_online_; }
+
+ private:
+ // Binds a socket to multicast address. Returns |true| on success.
+ bool CreateSocket();
+
+ // Sends announcement.
+ void SendAnnouncement(uint32 ttl);
+
+ // Returns |true| if server received some questions.
+ bool CheckPendingQueries();
+
+ // Stores |true| if server was started.
+ bool is_online_;
+
+ // Stores socket to multicast address.
+ scoped_ptr<net::UDPSocket> socket_;
+
+ // Stores multicast address end point.
+ net::IPEndPoint multicast_address_;
+
+ DISALLOW_COPY_AND_ASSIGN(DnsSdServer);
+};
+
+#endif // GCP20_PROTOTYPE_DNS_SD_H_
+
diff --git a/cloud_print/gcp20/prototype/gcp20_device.cc b/cloud_print/gcp20/prototype/gcp20_device.cc
new file mode 100644
index 0000000000..f210063a7b
--- /dev/null
+++ b/cloud_print/gcp20/prototype/gcp20_device.cc
@@ -0,0 +1,28 @@
+// Copyright 2013 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include <stdio.h>
+
+#include "base/command_line.h"
+#include "base/logging.h"
+#include "base/threading/platform_thread.h"
+#include "cloud_print/gcp20/prototype/dns_sd_server.h"
+
+int main(int argc, char* argv[]) {
+ CommandLine::Init(argc, argv);
+
+ logging::InitLogging(NULL,
+ logging::LOG_ONLY_TO_SYSTEM_DEBUG_LOG,
+ logging::LOCK_LOG_FILE,
+ logging::APPEND_TO_OLD_LOG_FILE,
+ logging::DISABLE_DCHECK_FOR_NON_OFFICIAL_RELEASE_BUILDS);
+
+ DnsSdServer dns_sd_server;
+ dns_sd_server.Start();
+ base::PlatformThread::Sleep(base::TimeDelta::FromSeconds(2));
+ dns_sd_server.Shutdown();
+
+ return 0;
+}
+
diff --git a/cloud_print/gcp20/prototype/gcp20_device.gyp b/cloud_print/gcp20/prototype/gcp20_device.gyp
new file mode 100644
index 0000000000..7946960dbd
--- /dev/null
+++ b/cloud_print/gcp20/prototype/gcp20_device.gyp
@@ -0,0 +1,41 @@
+# Copyright 2013 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+{
+ 'target_defaults': {
+ 'variables': {
+ 'chromium_code': 1,
+ 'enable_wexit_time_destructors': 1,
+ },
+ 'include_dirs': [
+ '<(DEPTH)',
+ # To allow including "version.h"
+ '<(SHARED_INTERMEDIATE_DIR)',
+ ],
+ },
+ 'targets': [
+ {
+ 'target_name': 'gcp20_device',
+ 'type': 'executable',
+ 'dependencies': [
+ '<(DEPTH)/base/base.gyp:base',
+ '<(DEPTH)/net/net.gyp:net',
+ ],
+ 'sources': [
+ 'dns_sd_server.cc',
+ 'gcp20_device.cc',
+ ],
+ 'msvs_settings': {
+ 'VCLinkerTool': {
+ 'SubSystem': '1', # Set /SUBSYSTEM:CONSOLE
+ 'AdditionalDependencies': [
+ 'secur32.lib',
+ 'httpapi.lib',
+ 'Ws2_32.lib',
+ ],
+ },
+ },
+ },
+ ],
+}
diff --git a/cloud_print/service/service.gyp b/cloud_print/service/service.gyp
index d1ac6119aa..1bdc5528b1 100644
--- a/cloud_print/service/service.gyp
+++ b/cloud_print/service/service.gyp
@@ -54,11 +54,11 @@
'<(DEPTH)/base/base.gyp:base',
'<(DEPTH)/base/base.gyp:base_static',
'<(DEPTH)/base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations',
- '<(DEPTH)/build/temp_gyp/googleurl.gyp:googleurl',
'<(DEPTH)/google_apis/google_apis.gyp:google_apis',
'<(DEPTH)/ipc/ipc.gyp:ipc',
'<(DEPTH)/net/net.gyp:net',
'<(DEPTH)/printing/printing.gyp:printing',
+ '<(DEPTH)/url/url.gyp:url_lib',
'service_resources',
],
'conditions': [
diff --git a/cloud_print/service/service_state.cc b/cloud_print/service/service_state.cc
index 0c30be6b49..6b9ccfcfcc 100644
--- a/cloud_print/service/service_state.cc
+++ b/cloud_print/service/service_state.cc
@@ -8,8 +8,8 @@
#include "base/json/json_writer.h"
#include "base/logging.h"
#include "base/message_loop.h"
-#include "base/string_util.h"
-#include "base/utf_string_conversions.h"
+#include "base/strings/string_util.h"
+#include "base/strings/utf_string_conversions.h"
#include "net/base/escape.h"
#include "net/base/io_buffer.h"
#include "net/base/load_flags.h"
@@ -64,7 +64,7 @@ class ServiceStateURLRequestDelegate : public net::URLRequest::Delegate {
const int kBufSize = 100000;
scoped_refptr<net::IOBuffer> buf(new net::IOBuffer(kBufSize));
int num_bytes = 0;
- while (request->Read(buf, kBufSize, &num_bytes)) {
+ while (request->Read(buf.get(), kBufSize, &num_bytes)) {
data_.append(buf->data(), buf->data() + num_bytes);
}
}
diff --git a/cloud_print/service/service_state_unittest.cc b/cloud_print/service/service_state_unittest.cc
index 4e5d2d090a..50155e8ad9 100644
--- a/cloud_print/service/service_state_unittest.cc
+++ b/cloud_print/service/service_state_unittest.cc
@@ -4,7 +4,7 @@
#include "cloud_print/service/service_state.h"
-#include "base/string_util.h"
+#include "base/strings/string_util.h"
#include "testing/gmock/include/gmock/gmock.h"
#include "testing/gtest/include/gtest/gtest.h"
diff --git a/cloud_print/service/win/cloud_print_service.cc b/cloud_print/service/win/cloud_print_service.cc
index 10456ddee6..5a3c502aab 100644
--- a/cloud_print/service/win/cloud_print_service.cc
+++ b/cloud_print/service/win/cloud_print_service.cc
@@ -15,8 +15,8 @@
#include "base/guid.h"
#include "base/logging.h"
#include "base/path_service.h"
-#include "base/string_util.h"
-#include "base/utf_string_conversions.h"
+#include "base/strings/string_util.h"
+#include "base/strings/utf_string_conversions.h"
#include "base/win/scoped_handle.h"
#include "chrome/common/chrome_constants.h"
#include "chrome/common/chrome_switches.h"
diff --git a/cloud_print/service/win/cloud_print_service_config.cc b/cloud_print/service/win/cloud_print_service_config.cc
index 422caeb66e..cf8e777faf 100644
--- a/cloud_print/service/win/cloud_print_service_config.cc
+++ b/cloud_print/service/win/cloud_print_service_config.cc
@@ -10,7 +10,7 @@
#include "base/command_line.h"
#include "base/file_util.h"
#include "base/message_loop.h"
-#include "base/string16.h"
+#include "base/strings/string16.h"
#include "base/threading/thread.h"
#include "chrome/common/chrome_constants.h"
#include "cloud_print/common/win/cloud_print_utils.h"
diff --git a/cloud_print/service/win/local_security_policy.cc b/cloud_print/service/win/local_security_policy.cc
index c1190ddad8..44c4e95011 100644
--- a/cloud_print/service/win/local_security_policy.cc
+++ b/cloud_print/service/win/local_security_policy.cc
@@ -9,7 +9,7 @@
#include <windows.h>
#include "base/logging.h"
-#include "base/string_util.h"
+#include "base/strings/string_util.h"
const wchar_t kSeServiceLogonRight[] = L"SeServiceLogonRight";
diff --git a/cloud_print/service/win/local_security_policy.h b/cloud_print/service/win/local_security_policy.h
index 712ab1913b..3e800a7b24 100644
--- a/cloud_print/service/win/local_security_policy.h
+++ b/cloud_print/service/win/local_security_policy.h
@@ -9,7 +9,7 @@
#include <ntsecapi.h>
#include "base/basictypes.h"
-#include "base/string16.h"
+#include "base/strings/string16.h"
extern const wchar_t kSeServiceLogonRight[];
diff --git a/cloud_print/service/win/service_controller.h b/cloud_print/service/win/service_controller.h
index 449864c686..167b0c1a3a 100644
--- a/cloud_print/service/win/service_controller.h
+++ b/cloud_print/service/win/service_controller.h
@@ -9,7 +9,7 @@
#include <string>
#include "base/command_line.h"
-#include "base/string16.h"
+#include "base/strings/string16.h"
#include "cloud_print/resources.h"
namespace base {
diff --git a/cloud_print/service/win/service_utils.cc b/cloud_print/service/win/service_utils.cc
index 5635e6fccf..e63f2ab3d9 100644
--- a/cloud_print/service/win/service_utils.cc
+++ b/cloud_print/service/win/service_utils.cc
@@ -9,7 +9,7 @@
#include <security.h> // NOLINT
#include "base/command_line.h"
-#include "base/string_util.h"
+#include "base/strings/string_util.h"
#include "chrome/common/chrome_switches.h"
string16 GetLocalComputerName() {
diff --git a/cloud_print/service/win/service_utils.h b/cloud_print/service/win/service_utils.h
index b75479e5ac..083e091979 100644
--- a/cloud_print/service/win/service_utils.h
+++ b/cloud_print/service/win/service_utils.h
@@ -7,7 +7,7 @@
class CommandLine;
-#include "base/string16.h"
+#include "base/strings/string16.h"
string16 ReplaceLocalHostInName(const string16& user_name);
string16 GetCurrentUserName();
diff --git a/cloud_print/service/win/setup_listener.cc b/cloud_print/service/win/setup_listener.cc
index ebf475fe23..65c6e329cd 100644
--- a/cloud_print/service/win/setup_listener.cc
+++ b/cloud_print/service/win/setup_listener.cc
@@ -10,10 +10,10 @@
#include "base/bind.h"
#include "base/guid.h"
#include "base/json/json_reader.h"
+#include "base/strings/utf_string_conversions.h"
#include "base/synchronization/waitable_event.h"
#include "base/threading/platform_thread.h"
#include "base/threading/thread.h"
-#include "base/utf_string_conversions.h"
#include "base/values.h"
#include "cloud_print/service/win/service_utils.h"
#include "ipc/ipc_channel.h"
diff --git a/cloud_print/service/win/setup_listener.h b/cloud_print/service/win/setup_listener.h
index 52c059d42a..9745c62311 100644
--- a/cloud_print/service/win/setup_listener.h
+++ b/cloud_print/service/win/setup_listener.h
@@ -11,7 +11,7 @@
#include "base/compiler_specific.h"
#include "base/files/file_path.h"
#include "base/memory/scoped_ptr.h"
-#include "base/string16.h"
+#include "base/strings/string16.h"
#include "ipc/ipc_listener.h"
namespace base {
diff --git a/cloud_print/virtual_driver/win/install/setup.cc b/cloud_print/virtual_driver/win/install/setup.cc
index 4cde7a959d..26fc32ffe5 100644
--- a/cloud_print/virtual_driver/win/install/setup.cc
+++ b/cloud_print/virtual_driver/win/install/setup.cc
@@ -17,8 +17,8 @@
#include "base/path_service.h"
#include "base/process.h"
#include "base/process_util.h"
-#include "base/string16.h"
-#include "base/string_util.h"
+#include "base/strings/string16.h"
+#include "base/strings/string_util.h"
#include "base/win/registry.h"
#include "base/win/scoped_handle.h"
#include "base/win/windows_version.h"
diff --git a/cloud_print/virtual_driver/win/port_monitor/port_monitor.cc b/cloud_print/virtual_driver/win/port_monitor/port_monitor.cc
index c13228adff..084816e98f 100644
--- a/cloud_print/virtual_driver/win/port_monitor/port_monitor.cc
+++ b/cloud_print/virtual_driver/win/port_monitor/port_monitor.cc
@@ -15,11 +15,12 @@
#include "base/at_exit.h"
#include "base/command_line.h"
#include "base/file_util.h"
+#include "base/files/file_enumerator.h"
#include "base/logging.h"
#include "base/path_service.h"
#include "base/process.h"
#include "base/process_util.h"
-#include "base/string16.h"
+#include "base/strings/string16.h"
#include "base/win/registry.h"
#include "base/win/scoped_handle.h"
#include "base/win/windows_version.h"
@@ -119,14 +120,11 @@ base::FilePath GetAppDataDir() {
// Delete files which where not deleted by chrome.
void DeleteLeakedFiles(const base::FilePath& dir) {
- using file_util::FileEnumerator;
base::Time delete_before = base::Time::Now() - base::TimeDelta::FromDays(1);
- FileEnumerator enumerator(dir, false, FileEnumerator::FILES);
+ base::FileEnumerator enumerator(dir, false, base::FileEnumerator::FILES);
for (base::FilePath file_path = enumerator.Next(); !file_path.empty();
file_path = enumerator.Next()) {
- FileEnumerator::FindInfo info;
- enumerator.GetFindInfo(&info);
- if (FileEnumerator::GetLastModifiedTime(info) < delete_before)
+ if (enumerator.GetInfo().GetLastModifiedTime() < delete_before)
file_util::Delete(file_path, false);
}
}
diff --git a/cloud_print/virtual_driver/win/port_monitor/port_monitor.h b/cloud_print/virtual_driver/win/port_monitor/port_monitor.h
index 3e21f88aaa..45476ec9a7 100644
--- a/cloud_print/virtual_driver/win/port_monitor/port_monitor.h
+++ b/cloud_print/virtual_driver/win/port_monitor/port_monitor.h
@@ -9,7 +9,7 @@
#include <string>
#include "base/file_util.h"
#include "base/process.h"
-#include "base/string16.h"
+#include "base/strings/string16.h"
namespace cloud_print {
diff --git a/cloud_print/virtual_driver/win/port_monitor/port_monitor_dll.cc b/cloud_print/virtual_driver/win/port_monitor/port_monitor_dll.cc
index ae25d55ee9..6bc59629ed 100644
--- a/cloud_print/virtual_driver/win/port_monitor/port_monitor_dll.cc
+++ b/cloud_print/virtual_driver/win/port_monitor/port_monitor_dll.cc
@@ -19,7 +19,7 @@
#include "base/path_service.h"
#include "base/process.h"
#include "base/process_util.h"
-#include "base/string16.h"
+#include "base/strings/string16.h"
#include "base/win/registry.h"
#include "base/win/scoped_handle.h"
#include "base/win/windows_version.h"
diff --git a/cloud_print/virtual_driver/win/port_monitor/port_monitor_unittest.cc b/cloud_print/virtual_driver/win/port_monitor/port_monitor_unittest.cc
index cc935bf04c..1ab8a366b1 100644
--- a/cloud_print/virtual_driver/win/port_monitor/port_monitor_unittest.cc
+++ b/cloud_print/virtual_driver/win/port_monitor/port_monitor_unittest.cc
@@ -6,7 +6,7 @@
#include <winspool.h>
#include "base/file_util.h"
#include "base/path_service.h"
-#include "base/string16.h"
+#include "base/strings/string16.h"
#include "base/win/registry.h"
#include "base/win/scoped_handle.h"
#include "cloud_print/virtual_driver/win/port_monitor/spooler_win.h"
diff --git a/cloud_print/virtual_driver/win/virtual_driver_helpers.cc b/cloud_print/virtual_driver/win/virtual_driver_helpers.cc
index 71aa2bf6d4..e214529507 100644
--- a/cloud_print/virtual_driver/win/virtual_driver_helpers.cc
+++ b/cloud_print/virtual_driver/win/virtual_driver_helpers.cc
@@ -9,7 +9,7 @@
#include "base/file_util.h"
#include "base/logging.h"
-#include "base/string16.h"
+#include "base/strings/string16.h"
#include "base/win/windows_version.h"
#include "cloud_print/common/win/cloud_print_utils.h"
diff --git a/cloud_print/virtual_driver/win/virtual_driver_helpers.h b/cloud_print/virtual_driver/win/virtual_driver_helpers.h
index 18736ccda4..7a275ac9ae 100644
--- a/cloud_print/virtual_driver/win/virtual_driver_helpers.h
+++ b/cloud_print/virtual_driver/win/virtual_driver_helpers.h
@@ -7,7 +7,7 @@
#include <windows.h>
-#include "base/string16.h"
+#include "base/strings/string16.h"
namespace base {
class FilePath;