| Index: sandbox/mac/os_compatibility.cc
|
| diff --git a/sandbox/mac/os_compatibility.cc b/sandbox/mac/os_compatibility.cc
|
| index 5ddf6a5d03ec9c973e98ffb754e64b089daf1252..5275a4ad61ff9dadf6d3a47d51e8702a153e0773 100644
|
| --- a/sandbox/mac/os_compatibility.cc
|
| +++ b/sandbox/mac/os_compatibility.cc
|
| @@ -18,15 +18,8 @@ namespace {
|
|
|
| #pragma pack(push, 4)
|
| // Verified from launchd-329.3.3 (10.6.8).
|
| -struct look_up2_request_10_6 {
|
| - mach_msg_header_t Head;
|
| - NDR_record_t NDR;
|
| - name_t servicename;
|
| - pid_t targetpid;
|
| - uint64_t flags;
|
| -};
|
| -
|
| -struct look_up2_reply_10_6 {
|
| +// look_up2_reply_10_7 is the same as the 10_6 version.
|
| +struct look_up2_reply_10_7 {
|
| mach_msg_header_t Head;
|
| mach_msg_body_t msgh_body;
|
| mach_msg_port_descriptor_t service_port;
|
| @@ -45,15 +38,13 @@ struct look_up2_request_10_7 {
|
| uint64_t flags;
|
| };
|
|
|
| -// look_up2_reply_10_7 is the same as the 10_6 version.
|
| -
|
| // Verified from:
|
| // launchd-329.3.3 (10.6.8)
|
| // launchd-392.39 (10.7.5)
|
| // launchd-442.26.2 (10.8.5)
|
| // launchd-842.1.4 (10.9.0)
|
| typedef int vproc_gsk_t; // Defined as an enum in liblaunch/vproc_priv.h.
|
| -struct swap_integer_request_10_6 {
|
| +struct swap_integer_request_10_7 {
|
| mach_msg_header_t Head;
|
| NDR_record_t NDR;
|
| vproc_gsk_t inkey;
|
| @@ -72,10 +63,10 @@ size_t strnlen(const char* str, size_t maxlen) {
|
| return len;
|
| }
|
|
|
| -class OSCompatibility_10_6 : public OSCompatibility {
|
| +class OSCompatibility_10_7 : public OSCompatibility {
|
| public:
|
| - OSCompatibility_10_6() {}
|
| - ~OSCompatibility_10_6() override {}
|
| + OSCompatibility_10_7() {}
|
| + ~OSCompatibility_10_7() override {}
|
|
|
| uint64_t GetMessageSubsystem(const IPCMessage message) override {
|
| return (message.mach->msgh_id / 100) * 100;
|
| @@ -98,12 +89,12 @@ class OSCompatibility_10_6 : public OSCompatibility {
|
| }
|
|
|
| std::string GetServiceLookupName(const IPCMessage message) override {
|
| - return GetRequestName<look_up2_request_10_6>(message);
|
| + return GetRequestName<look_up2_request_10_7>(message);
|
| }
|
|
|
| void WriteServiceLookUpReply(IPCMessage message,
|
| mach_port_t service_port) override {
|
| - auto reply = reinterpret_cast<look_up2_reply_10_6*>(message.mach);
|
| + auto reply = reinterpret_cast<look_up2_reply_10_7*>(message.mach);
|
| reply->Head.msgh_size = sizeof(*reply);
|
| reply->Head.msgh_bits =
|
| MACH_MSGH_BITS_REMOTE(MACH_MSG_TYPE_MOVE_SEND_ONCE) |
|
| @@ -116,7 +107,7 @@ class OSCompatibility_10_6 : public OSCompatibility {
|
|
|
| bool IsSwapIntegerReadOnly(const IPCMessage message) override {
|
| auto request =
|
| - reinterpret_cast<const swap_integer_request_10_6*>(message.mach);
|
| + reinterpret_cast<const swap_integer_request_10_7*>(message.mach);
|
| return request->inkey == 0 && request->inval == 0 && request->outkey != 0;
|
| }
|
|
|
| @@ -136,16 +127,6 @@ class OSCompatibility_10_6 : public OSCompatibility {
|
| }
|
| };
|
|
|
| -class OSCompatibility_10_7 : public OSCompatibility_10_6 {
|
| - public:
|
| - OSCompatibility_10_7() {}
|
| - ~OSCompatibility_10_7() override {}
|
| -
|
| - std::string GetServiceLookupName(const IPCMessage message) override {
|
| - return GetRequestName<look_up2_request_10_7>(message);
|
| - }
|
| -};
|
| -
|
| class OSCompatibility_10_10 : public OSCompatibility {
|
| public:
|
| OSCompatibility_10_10() {}
|
| @@ -198,9 +179,7 @@ class OSCompatibility_10_10 : public OSCompatibility {
|
|
|
| // static
|
| scoped_ptr<OSCompatibility> OSCompatibility::CreateForPlatform() {
|
| - if (base::mac::IsOSSnowLeopard())
|
| - return make_scoped_ptr(new OSCompatibility_10_6());
|
| - else if (base::mac::IsOSLionOrLater() && base::mac::IsOSMavericksOrEarlier())
|
| + if (base::mac::IsOSLionOrLater() && base::mac::IsOSMavericksOrEarlier())
|
| return make_scoped_ptr(new OSCompatibility_10_7());
|
| else
|
| return make_scoped_ptr(new OSCompatibility_10_10());
|
|
|