Bug 23281

Summary: Fix the Chromium Win build
Product: WebKit Reporter: Dmitry Titov <dimich>
Component: PlatformAssignee: Nobody <webkit-unassigned>
Status: RESOLVED FIXED    
Severity: Normal CC: ap, darin, eric, mjs
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: PC   
OS: Windows XP   
Attachments:
Description Flags
Proposed patch darin: review+

Description Dmitry Titov 2009-01-12 18:45:39 PST
My recent change that introduced WTF::currentTime used PLATFORM(WIN) for all windows builds that are not GTK and not WX. This is incorrect. PLATFORM(WIN) is basically "Apple Win Port", while PLATFORM(WIN_OS) is "any port built on Windows", which I actually wanted. In particular, PLATFORM(CHROMIUM) does not define WIN but defines WIN_OS.

Patch is coming as soon as I finish both Win builds (regular and scons).
Comment 1 Mark Rowe (bdash) 2009-01-12 19:19:23 PST
PLATFORM(WIN) indicates a port using high-level Windows functionality, such as GDI and so on, while WIN_OS indicates low-level functionality such as threading primitives.  Neither indicates which port is being built.
Comment 2 Eric Seidel (no email) 2009-01-12 19:50:33 PST
(In reply to comment #1)
> PLATFORM(WIN) indicates a port using high-level Windows functionality, such as
> GDI and so on, while WIN_OS indicates low-level functionality such as threading
> primitives.  Neither indicates which port is being built.
> 

There has been historical disagreement on this point.  It would be very useful to me (and likely others) if you, or someone else from the project could post to webkit-dev or write on the wiki what each of the PLATFORM(*) defines mean.
Comment 3 Dmitry Titov 2009-01-12 20:04:56 PST
Created attachment 26659 [details]
Proposed patch

bdash: thanks! It seems that for time querying purposes, the WIN_OS is the right one... So here is the patch.
The change affects only Chromium builds since they are PLATFORM(CHROMIUM) && PLATFORM(WIN_OS) which was not covered before.  
WIN, GTK, QT and WX stay the same. The only reason for GTK and WX to be here is to match occasional usage of their time getters.
Comment 4 Mark Rowe (bdash) 2009-01-12 20:21:17 PST
(In reply to comment #2)
> (In reply to comment #1)
> > PLATFORM(WIN) indicates a port using high-level Windows functionality, such as
> > GDI and so on, while WIN_OS indicates low-level functionality such as threading
> > primitives.  Neither indicates which port is being built.
> > 
> 
> There has been historical disagreement on this point.  It would be very useful
> to me (and likely others) if you, or someone else from the project could post
> to webkit-dev or write on the wiki what each of the PLATFORM(*) defines mean.

This has been discussed *at length* on webkit-dev in the past.
Comment 5 Darin Adler 2009-01-13 07:41:04 PST
Comment on attachment 26659 [details]
Proposed patch

r=me
Comment 6 Dmitry Titov 2009-01-13 11:24:25 PST
Committed: http://trac.webkit.org/changeset/39866