Fix more Windows compile errors - Silence warnings in sky code (unnecessary return) - Disable some warnings for bison-generated code - Missing include for htons et al. - Don't build xdisplaycheck on Windows. R=jam@chromium.org Review URL: https://codereview.chromium.org/697183003
diff --git a/BUILD.gn b/BUILD.gn index bda6162..150cc24 100644 --- a/BUILD.gn +++ b/BUILD.gn
@@ -9,7 +9,7 @@ "//mojo", "//sky", ] - if (!is_android) { + if (!is_android && !is_win) { deps += [ "//tools/xdisplaycheck" ] } }
diff --git a/base/win/win_util.cc b/base/win/win_util.cc index f46242d..3ae42e4 100644 --- a/base/win/win_util.cc +++ b/base/win/win_util.cc
@@ -119,14 +119,12 @@ static bool g_crash_on_process_detach = false; -void GetNonClientMetrics(NONCLIENTMETRICS_XP* metrics) { +void GetNonClientMetrics(NONCLIENTMETRICS* metrics) { DCHECK(metrics); metrics->cbSize = sizeof(*metrics); - const bool success = !!SystemParametersInfo( - SPI_GETNONCLIENTMETRICS, - metrics->cbSize, - reinterpret_cast<NONCLIENTMETRICS*>(metrics), - 0); + const bool success = + !!SystemParametersInfo( + SPI_GETNONCLIENTMETRICS, metrics->cbSize, metrics, 0); DCHECK(success); }
diff --git a/base/win/win_util.h b/base/win/win_util.h index 8513f62..9439597 100644 --- a/base/win/win_util.h +++ b/base/win/win_util.h
@@ -33,30 +33,10 @@ struct _tagpropertykey; typedef _tagpropertykey PROPERTYKEY; -// This is the same as NONCLIENTMETRICS except that the -// unused member |iPaddedBorderWidth| has been removed. -struct NONCLIENTMETRICS_XP { - UINT cbSize; - int iBorderWidth; - int iScrollWidth; - int iScrollHeight; - int iCaptionWidth; - int iCaptionHeight; - LOGFONTW lfCaptionFont; - int iSmCaptionWidth; - int iSmCaptionHeight; - LOGFONTW lfSmCaptionFont; - int iMenuWidth; - int iMenuHeight; - LOGFONTW lfMenuFont; - LOGFONTW lfStatusFont; - LOGFONTW lfMessageFont; -}; - namespace base { namespace win { -BASE_EXPORT void GetNonClientMetrics(NONCLIENTMETRICS_XP* metrics); +BASE_EXPORT void GetNonClientMetrics(NONCLIENTMETRICS* metrics); // Returns the string representing the current user sid. BASE_EXPORT bool GetUserSidString(std::wstring* user_sid);
diff --git a/sky/engine/BUILD.gn b/sky/engine/BUILD.gn index 1200619..4f8f0be 100644 --- a/sky/engine/BUILD.gn +++ b/sky/engine/BUILD.gn
@@ -40,8 +40,11 @@ if (is_win) { cflags += [ + "/wd4065", # Switch statement contains 'default' but no 'case' labels. + # In generated parser code. "/wd4305", # Truncation from 'type1' to 'type2'. "/wd4324", # Struct padded due to declspec(align). + "/wd4702", # Unreachable code, happens in bison-generated code. "/wd4714", # Function marked forceinline not inlined. "/wd4800", # Value forced to bool. "/wd4996", # Deprecated function call.
diff --git a/sky/engine/core/dom/Node.cpp b/sky/engine/core/dom/Node.cpp index bc6f208..2efcb14 100644 --- a/sky/engine/core/dom/Node.cpp +++ b/sky/engine/core/dom/Node.cpp
@@ -1882,7 +1882,6 @@ case Node::DOCUMENT_NODE: case Node::DOCUMENT_FRAGMENT_NODE: return toContainerNode(this)->countChildren(); - return 0; } ASSERT_NOT_REACHED(); return 0;
diff --git a/sky/engine/wtf/ByteOrder.h b/sky/engine/wtf/ByteOrder.h index c437a21..9febf7d 100644 --- a/sky/engine/wtf/ByteOrder.h +++ b/sky/engine/wtf/ByteOrder.h
@@ -35,4 +35,8 @@ #include <arpa/inet.h> #endif +#if OS(WIN) +#include <winsock2.h> +#endif + #endif // WTF_ByteOrder_h