Bug 196762

Summary: WebCore should build successfully even with -DENABLE_UNIFIED_BUILDS=OFF
Product: WebKit Reporter: Ross Kirsling <ross.kirsling>
Component: New BugsAssignee: Ross Kirsling <ross.kirsling>
Status: RESOLVED FIXED    
Severity: Normal CC: ap, commit-queue, don.olmstead, ews-watchlist, Hironori.Fujii, keith_miller, rniwa, webkit-bug-importer, ysuzuki
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Patch
none
Archive of layout-test-results from ews102 for mac-highsierra
none
Archive of layout-test-results from ews104 for mac-highsierra-wk2
none
Patch
none
Patch for landing none

Description Ross Kirsling 2019-04-09 22:19:11 PDT
WebCore should build successfully even with -DENABLE_UNIFIED_BUILDS=OFF
Comment 1 Ross Kirsling 2019-04-09 22:21:44 PDT
Created attachment 367102 [details]
Patch
Comment 2 Ross Kirsling 2019-04-09 22:24:17 PDT
Comment on attachment 367102 [details]
Patch

The good news is that this patch gets WinCairo (regardless of clang-cl or regular cl) through compiling WebCore.

The bad news is that we hit one heck of a nasty-looking linking error:

> [5/1068] Linking CXX static library lib64\WebCore.lib
> FAILED: lib64/WebCore.lib
> cmd.exe /C "cd . && C:\PROGRA~2\MICROS~4\2019\COMMUN~1\VC\Tools\MSVC\1420~1.275\bin\Hostx64\x64\link.exe /lib /nologo /machine:x64 /out:lib64\WebCore.lib @CMakeFiles\WebCore.rsp  && cd ."
> lib64\WebCore.lib : fatal error LNK1248: image size (1002E82C0) exceeds maximum allowable size (FFFFFFFF)
> ninja: build stopped: subcommand failed.
Comment 3 EWS Watchlist 2019-04-09 23:31:55 PDT Comment hidden (obsolete)
Comment 4 EWS Watchlist 2019-04-09 23:31:57 PDT Comment hidden (obsolete)
Comment 5 EWS Watchlist 2019-04-09 23:40:47 PDT Comment hidden (obsolete)
Comment 6 EWS Watchlist 2019-04-09 23:40:49 PDT Comment hidden (obsolete)
Comment 7 Ross Kirsling 2019-04-09 23:53:24 PDT
Created attachment 367108 [details]
Patch
Comment 8 Ryosuke Niwa 2019-04-10 01:25:11 PDT
Comment on attachment 367108 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=367108&action=review

r=me provided the following comments are addressed.

> Source/WebCore/bindings/js/JSCanvasRenderingContext2DCustom.cpp:31
> +    JSCanvasRenderingContext2D* jsCanvasRenderingContext = JSC::jsCast<JSCanvasRenderingContext2D*>(handle.slot()->asCell());
> +    void* root = jsCanvasRenderingContext->wrapped().canvas().opaqueRoot();

We don't wanna directly call Node::opaqueRoot like this.
Just include JSNode.h instead.

> Source/WebCore/bindings/js/JSCanvasRenderingContext2DCustom.cpp:37
> -    visitor.addOpaqueRoot(root(wrapped().canvas()));
> +    visitor.addOpaqueRoot(wrapped().canvas().opaqueRoot());

Ditto.
Comment 9 Ryosuke Niwa 2019-04-10 01:25:35 PDT
JSNodeCustom.h rather.
Comment 10 Ross Kirsling 2019-04-10 09:29:37 PDT
Created attachment 367127 [details]
Patch for landing
Comment 11 WebKit Commit Bot 2019-04-10 09:53:48 PDT
Comment on attachment 367127 [details]
Patch for landing

Clearing flags on attachment: 367127

Committed r244115: <https://trac.webkit.org/changeset/244115>
Comment 12 WebKit Commit Bot 2019-04-10 09:53:50 PDT
All reviewed patches have been landed.  Closing bug.
Comment 13 Radar WebKit Bug Importer 2019-04-10 09:54:24 PDT
<rdar://problem/49779064>