WebKit Bugzilla
New
Browse
Search+
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
197432
[WinCairo] Implement and enable RemoteInspector Server.
https://bugs.webkit.org/show_bug.cgi?id=197432
Summary
[WinCairo] Implement and enable RemoteInspector Server.
Basuke Suzuki
Reported
2019-04-30 13:09:11 PDT
Add platform socket implementation and enable RemoteInspector Server on WinCairo.
Attachments
patch
(37.06 KB, patch)
2019-05-02 12:39 PDT
,
Basuke Suzuki
no flags
Details
Formatted Diff
Diff
patch
(37.68 KB, patch)
2019-05-02 14:34 PDT
,
Basuke Suzuki
ews-watchlist
: commit-queue-
Details
Formatted Diff
Diff
Archive of layout-test-results from ews210 for win-future
(14.13 MB, application/zip)
2019-05-02 16:18 PDT
,
EWS Watchlist
no flags
Details
PATCH
(36.72 KB, patch)
2019-05-03 12:37 PDT
,
Basuke Suzuki
ross.kirsling
: review+
Details
Formatted Diff
Diff
Patch for landing :)
(36.81 KB, patch)
2019-05-03 13:41 PDT
,
Basuke Suzuki
no flags
Details
Formatted Diff
Diff
Show Obsolete
(4)
View All
Add attachment
proposed patch, testcase, etc.
Basuke Suzuki
Comment 1
2019-05-02 11:12:13 PDT
(In reply to Ross Kirsling from comment
https://bugs.webkit.org/show_bug.cgi?id=197434#c3
)
> Comment on
attachment 368718
[details]
> Patch > > View in context: >
https://bugs.webkit.org/attachment.cgi?id=368718&action=review
> > > Source/JavaScriptCore/inspector/remote/RemoteInspector.h:56 > > -#if PLATFORM(PLAYSTATION) > > +#if USE(RI_SOCKET_SERVER) > > Perhaps RWI would be clearer than just RI? Or maybe we could just say > USE(INSPECTOR_SOCKET_SERVER) since we know the non-remote inspector doesn't > need a socket server?
Good. I prefer INSPECTOR_SOCKET_SERVER. It makes sense perfectly.
> > Source/JavaScriptCore/inspector/remote/socket/RemoteInspectorServer.cpp:63 > > + LOG_ERROR("Inspector server listens for targets already."); > > Nit: "Inspector server is already listening for targets."
> > Source/JavaScriptCore/inspector/remote/socket/RemoteInspectorServer.cpp:112 > > + { "SetTargetList"_s, reinterpret_cast<CallHandler>(&RemoteInspectorServer::setTargetList)}, > > Nit: You added a space to this one but not the others. ;)
Oh my.
> (Technically I think all of these pairs should begin and end with a space? > But either way consistency is the most important...)
I agree with that.
> > Source/JavaScriptCore/inspector/remote/socket/win/RemoteInspectorSocketWin.cpp:38 > > +static PlatformSocketType create(); > > If the declaration needs to be up here, should we just move the definition > too?
I will move that to static member of the class.
> > Source/JavaScriptCore/inspector/remote/socket/win/RemoteInspectorSocketWin.cpp:88 > > + if (socket == INVALID_SOCKET) { > > + LOG_ERROR("socket() failed, errno = %d", WSAGetLastError()); > > + return INVALID_SOCKET_VALUE; > > Seems like INVALID_SOCKET_VALUE is the same as INVALID_SOCKET on Windows -- > need we use both?
I intentionally use WinSock definition when it is in the context of WinSock API usage. The value is returned from WinSock's `socket()` function so that I want to compare with INVALID_SOCKET.
> > > Source/JavaScriptCore/inspector/remote/socket/win/RemoteInspectorSocketWin.cpp:231 > > + // fcntl(socket, F_SETFD, FD_CLOEXEC); > > + // int flags = fcntl(socket, F_GETFL, 0); > > + // fcntl(socket, F_SETFL, flags | O_NONBLOCK); > > Can these comments be deleted?
Can I add FIXME comment for future improvement?
Basuke Suzuki
Comment 2
2019-05-02 11:19:19 PDT
(In reply to Basuke Suzuki from
comment #1
)
> > > Source/JavaScriptCore/inspector/remote/socket/win/RemoteInspectorSocketWin.cpp:231 > > > + // fcntl(socket, F_SETFD, FD_CLOEXEC); > > > + // int flags = fcntl(socket, F_GETFL, 0); > > > + // fcntl(socket, F_SETFL, flags | O_NONBLOCK); > > > > Can these comments be deleted? > > Can I add FIXME comment for future improvement?
I confirmed these are not required on Windows. I'll remove them.
Basuke Suzuki
Comment 3
2019-05-02 12:39:46 PDT
Created
attachment 368809
[details]
patch
Ross Kirsling
Comment 4
2019-05-02 13:31:49 PDT
Comment on
attachment 368809
[details]
patch View in context:
https://bugs.webkit.org/attachment.cgi?id=368809&action=review
> Source/JavaScriptCore/inspector/remote/socket/posix/RemoteInspectorSocketPOSIX.cpp:72 > -Optional<PlatformSocketType> listen(uint16_t port) > +Optional<PlatformSocketType> listen(const char* address, uint16_t port) > { > - struct sockaddr_in address = { }; > + struct sockaddr_in addr = { };
Instead of abbreviating the local, can we make the parameter more descriptive? Seems like you're calling this parameter `addressStr` in the Windows implementation (and connect() has `serverAddress`).
Basuke Suzuki
Comment 5
2019-05-02 14:34:14 PDT
Created
attachment 368822
[details]
patch
Basuke Suzuki
Comment 6
2019-05-02 14:34:45 PDT
Comment on
attachment 368822
[details]
patch Right. Changed.
Ross Kirsling
Comment 7
2019-05-02 15:05:54 PDT
Comment on
attachment 368822
[details]
patch View in context:
https://bugs.webkit.org/attachment.cgi?id=368822&action=review
> Source/JavaScriptCore/inspector/remote/socket/posix/RemoteInspectorSocketPOSIX.cpp:46 > +Optional<PlatformSocketType> connect(const char* addressStr, uint16_t serverPort)
I don't think you need to change this parameter name (unless you want to change it in the header and Windows implementation too). I just was mentioning different ways to avoid having to change `address` to `addr`. :)
Christopher Reid
Comment 8
2019-05-02 15:27:53 PDT
Comment on
attachment 368809
[details]
patch View in context:
https://bugs.webkit.org/attachment.cgi?id=368809&action=review
Some infromal review comments.
> ChangeLog:8 > + Add new build flag USE_RI_SOCKET_SERVER to indicate using Socket imprementation for RemoteInspector
USE_RI_SOCKET_SERVER should be updated Nit: typo in "imprementation"
> Source/JavaScriptCore/ChangeLog:11 > + Also add listener interface for connection betweeb RemoteInspector and RemoteInspectorServer
Nit: typo in "betweeb"
> Source/JavaScriptCore/inspector/remote/socket/posix/RemoteInspectorSocketPOSIX.cpp:171 > + memset(&address, 0, len);
This can just be struct sockaddr_in address = { };
https://bugs.webkit.org/show_bug.cgi?id=193806#c40
> Source/JavaScriptCore/inspector/remote/socket/win/RemoteInspectorSocketWin.cpp:210 > + address.sin_family = AF_INET;
Windows 10 has AF_UNIX now, can we use that for UIProcess to WebProcess communication instead of AF_INET? It would be nice if we can limit what connections are open to the network if we can.
> Source/JavaScriptCore/inspector/remote/socket/win/RemoteInspectorSocketWin.cpp:259 > + struct sockaddr_in address;
This can also be `= { }`.
EWS Watchlist
Comment 9
2019-05-02 16:18:51 PDT
Comment on
attachment 368822
[details]
patch
Attachment 368822
[details]
did not pass win-ews (win): Output:
https://webkit-queues.webkit.org/results/12066867
New failing tests: legacy-animation-engine/fast/layers/no-clipping-overflow-hidden-hardware-acceleration.html
EWS Watchlist
Comment 10
2019-05-02 16:18:53 PDT
Created
attachment 368839
[details]
Archive of layout-test-results from ews210 for win-future The attached test failures were seen while running run-webkit-tests on the win-ews. Bot: ews210 Port: win-future Platform: CYGWIN_NT-10.0-17763-3.0.5-338.x86_64-x86_64-64bit
Basuke Suzuki
Comment 11
2019-05-03 12:30:18 PDT
(In reply to Christopher Reid from
comment #8
)
> Comment on
attachment 368809
[details]
> patch > > View in context: >
https://bugs.webkit.org/attachment.cgi?id=368809&action=review
> > Some infromal review comments. > > > ChangeLog:8 > > + Add new build flag USE_RI_SOCKET_SERVER to indicate using Socket imprementation for RemoteInspector > > USE_RI_SOCKET_SERVER should be updated > Nit: typo in "imprementation"
Right.
> > Source/JavaScriptCore/ChangeLog:11 > > + Also add listener interface for connection betweeb RemoteInspector and RemoteInspectorServer > > Nit: typo in "betweeb"
Right.
> > Source/JavaScriptCore/inspector/remote/socket/posix/RemoteInspectorSocketPOSIX.cpp:171 > > + memset(&address, 0, len); > > This can just be struct sockaddr_in address = { }; >
https://bugs.webkit.org/show_bug.cgi?id=193806#c40
Oh, thank you.
> > Source/JavaScriptCore/inspector/remote/socket/win/RemoteInspectorSocketWin.cpp:210 > > + address.sin_family = AF_INET; > > Windows 10 has AF_UNIX now, can we use that for UIProcess to WebProcess > communication instead of AF_INET? > It would be nice if we can limit what connections are open to the network if > we can.
Yeah, I'm also exciting about that, but I want to keep this patch with old-fashioned AF_INET socket for simplicity and keep AF_UNIX support for next ticket.
> > Source/JavaScriptCore/inspector/remote/socket/win/RemoteInspectorSocketWin.cpp:259 > > + struct sockaddr_in address; > > This can also be `= { }`.
Yep.
Basuke Suzuki
Comment 12
2019-05-03 12:37:53 PDT
Created
attachment 368965
[details]
PATCH Win's layout tests failure isn't related to this patch. It is red anyway.
Ross Kirsling
Comment 13
2019-05-03 12:56:16 PDT
Comment on
attachment 368965
[details]
PATCH View in context:
https://bugs.webkit.org/attachment.cgi?id=368965&action=review
r=me with nits
> Source/JavaScriptCore/inspector/remote/socket/RemoteInspectorServer.h:65 > - void didAccept(ConnectionID, Socket::Domain) override; > + void didAccept(ConnectionID, ConnectionID listenerID, Socket::Domain) override;
You should probably label both ConnectID parameters here.
> Source/JavaScriptCore/inspector/remote/socket/RemoteInspectorSocket.h:72 > -Optional<PlatformSocketType> listen(uint16_t port); > +Optional<PlatformSocketType> listen(const char* address, uint16_t port);
This parameter is now called addressStr, though I suppose the names here could just be omitted.
Basuke Suzuki
Comment 14
2019-05-03 13:41:11 PDT
Created
attachment 368978
[details]
Patch for landing :) Thanks, Ross
WebKit Commit Bot
Comment 15
2019-05-03 14:03:39 PDT
Comment on
attachment 368978
[details]
Patch for landing :) Clearing flags on attachment: 368978 Committed
r244919
: <
https://trac.webkit.org/changeset/244919
>
WebKit Commit Bot
Comment 16
2019-05-03 14:03:41 PDT
All reviewed patches have been landed. Closing bug.
Radar WebKit Bug Importer
Comment 17
2019-05-03 14:04:32 PDT
<
rdar://problem/50456158
>
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug