| Index: chrome/browser/renderer_host/render_sandbox_host_linux.cc
 | 
| diff --git a/chrome/browser/renderer_host/render_sandbox_host_linux.cc b/chrome/browser/renderer_host/render_sandbox_host_linux.cc
 | 
| index de68170d6426fb8b9ba4844fcfc5176e0350b270..f7ca1451d27ebd00ac06553bc74e9fa9910960b9 100644
 | 
| --- a/chrome/browser/renderer_host/render_sandbox_host_linux.cc
 | 
| +++ b/chrome/browser/renderer_host/render_sandbox_host_linux.cc
 | 
| @@ -9,6 +9,7 @@
 | 
|  #include <sys/uio.h>
 | 
|  #include <sys/socket.h>
 | 
|  #include <sys/poll.h>
 | 
| +#include <time.h>
 | 
|  
 | 
|  #include "base/eintr_wrapper.h"
 | 
|  #include "base/process_util.h"
 | 
| @@ -176,6 +177,8 @@ class SandboxIPCProcess : public WebKitClient {
 | 
|        HandleFontOpenRequest(fd, pickle, iter, fds);
 | 
|      } else if (kind == LinuxSandbox::METHOD_GET_FONT_FAMILY_FOR_CHARS) {
 | 
|        HandleGetFontFamilyForChars(fd, pickle, iter, fds);
 | 
| +    } else if (kind == LinuxSandbox::METHOD_LOCALTIME) {
 | 
| +      HandleLocaltime(fd, pickle, iter, fds);
 | 
|      }
 | 
|  
 | 
|    error:
 | 
| @@ -281,6 +284,29 @@ class SandboxIPCProcess : public WebKitClient {
 | 
|      SendRendererReply(fds, reply, -1);
 | 
|    }
 | 
|  
 | 
| +  void HandleLocaltime(int fd, Pickle& pickle, void* iter,
 | 
| +                       std::vector<int>& fds) {
 | 
| +    // The other side of this call is in zygote_main_linux.cc
 | 
| +
 | 
| +    std::string time_string;
 | 
| +    if (!pickle.ReadString(&iter, &time_string) ||
 | 
| +        time_string.size() != sizeof(time_t)) {
 | 
| +      return;
 | 
| +    }
 | 
| +
 | 
| +    time_t time;
 | 
| +    memcpy(&time, time_string.data(), sizeof(time));
 | 
| +    struct tm expanded_time;
 | 
| +    localtime_r(&time, &expanded_time);
 | 
| +
 | 
| +    const std::string result_string(reinterpret_cast<char*>(&expanded_time),
 | 
| +                                    sizeof(expanded_time));
 | 
| +
 | 
| +    Pickle reply;
 | 
| +    reply.WriteString(result_string);
 | 
| +    SendRendererReply(fds, reply, -1);
 | 
| +  }
 | 
| +
 | 
|    void SendRendererReply(const std::vector<int>& fds, const Pickle& reply,
 | 
|                           int reply_fd) {
 | 
|      struct msghdr msg;
 | 
| 
 |