<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>46209</bug_id>
          
          <creation_ts>2010-09-21 12:49:32 -0700</creation_ts>
          <short_desc>WebKit2 should look for WebKit2WebProcess.exe next to WebKit.dll</short_desc>
          <delta_ts>2010-09-21 13:53:23 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit2</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Windows 7</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Brian Weinstein">bweinstein</reporter>
          <assigned_to name="Brian Weinstein">bweinstein</assigned_to>
          <cc>abarth</cc>
    
    <cc>aroben</cc>
    
    <cc>eric</cc>
    
    <cc>sfalken</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>282490</commentid>
    <comment_count>0</comment_count>
    <who name="Brian Weinstein">bweinstein</who>
    <bug_when>2010-09-21 12:49:32 -0700</bug_when>
    <thetext>WebKit2WebProcess should live with WebKit.dll, which means we should pass a full path to CreateProcess, instead of just assuming that WebKit.dll (and WebKitWebProcess.exe) are in the same folder as Safari.exe</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>282491</commentid>
    <comment_count>1</comment_count>
      <attachid>68277</attachid>
    <who name="Brian Weinstein">bweinstein</who>
    <bug_when>2010-09-21 12:56:06 -0700</bug_when>
    <thetext>Created attachment 68277
[PATCH] Fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>282496</commentid>
    <comment_count>2</comment_count>
      <attachid>68277</attachid>
    <who name="Steve Falkenburg">sfalken</who>
    <bug_when>2010-09-21 13:04:30 -0700</bug_when>
    <thetext>Comment on attachment 68277
[PATCH] Fix

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

&gt; WebKit2/UIProcess/Launcher/win/ProcessLauncherWin.cpp:57
&gt; +    HMODULE webkitModule = GetModuleHandle(webkitDLLName);

We&apos;ve been using :: to namespace quality Win32 calls lately.

&gt; WebKit2/UIProcess/Launcher/win/ProcessLauncherWin.cpp:63
&gt; +    if (!GetModuleFileName(webkitModule, pathStr, MAX_PATH) || GetLastError() != ERROR_SUCCESS)

You shouldn&apos;t need to check GetLastError and the result of the function. Just checking the result for 0 should be enough to check for failure.
Same comment about the ::.

&gt; WebKit2/UIProcess/Launcher/win/ProcessLauncherWin.cpp:66
&gt; +    PathRemoveFileSpec(pathStr);

Why not error check this one since you did with the others?
Same comment about ::

&gt; WebKit2/UIProcess/Launcher/win/ProcessLauncherWin.cpp:67
&gt; +    if (!PathAppend(pathStr, webProcessName))

And again,</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>282499</commentid>
    <comment_count>3</comment_count>
      <attachid>68277</attachid>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2010-09-21 13:07:35 -0700</bug_when>
    <thetext>Comment on attachment 68277
[PATCH] Fix

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

&gt; WebKit2/UIProcess/Launcher/win/ProcessLauncherWin.cpp:35
&gt; +const LPCWSTR webkitDLLName = L&quot;WebKit_debug.dll&quot;;

Should be webKitDLLName (with a capital &quot;K&quot;).

&gt;&gt; WebKit2/UIProcess/Launcher/win/ProcessLauncherWin.cpp:57
&gt;&gt; +    HMODULE webkitModule = GetModuleHandle(webkitDLLName);
&gt; 
&gt; We&apos;ve been using :: to namespace quality Win32 calls lately.

We&apos;ve also been using the W versions of the APIs, so: ::GetModuleHandleW(webKitDLLName);

&gt;&gt; WebKit2/UIProcess/Launcher/win/ProcessLauncherWin.cpp:63
&gt;&gt; +    if (!GetModuleFileName(webkitModule, pathStr, MAX_PATH) || GetLastError() != ERROR_SUCCESS)
&gt; 
&gt; You shouldn&apos;t need to check GetLastError and the result of the function. Just checking the result for 0 should be enough to check for failure.
&gt; Same comment about the ::.

_countof(pathStr) would be better than repeating MAX_PATH.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>282506</commentid>
    <comment_count>4</comment_count>
    <who name="Brian Weinstein">bweinstein</who>
    <bug_when>2010-09-21 13:10:16 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 68277 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=68277&amp;action=review
&gt; 
&gt; &gt; WebKit2/UIProcess/Launcher/win/ProcessLauncherWin.cpp:57
&gt; &gt; +    HMODULE webkitModule = GetModuleHandle(webkitDLLName);
&gt; 
&gt; We&apos;ve been using :: to namespace quality Win32 calls lately.

Fixed.

&gt; 
&gt; &gt; WebKit2/UIProcess/Launcher/win/ProcessLauncherWin.cpp:63
&gt; &gt; +    if (!GetModuleFileName(webkitModule, pathStr, MAX_PATH) || GetLastError() != ERROR_SUCCESS)
&gt; 
&gt; You shouldn&apos;t need to check GetLastError and the result of the function. Just checking the result for 0 should be enough to check for failure.

Removed the GetLastError call.

&gt; Same comment about the ::.

Fixed.

&gt; 
&gt; &gt; WebKit2/UIProcess/Launcher/win/ProcessLauncherWin.cpp:66
&gt; &gt; +    PathRemoveFileSpec(pathStr);
&gt; 
&gt; Why not error check this one since you did with the others?

This didn&apos;t seem to have as clearly defined a failure case and success case as the others (the function returns nonzero if something was removed, or zero otherwise), so I omitted the check for now.


&gt; Same comment about ::

Fixed.

&gt; 
&gt; &gt; WebKit2/UIProcess/Launcher/win/ProcessLauncherWin.cpp:67
&gt; &gt; +    if (!PathAppend(pathStr, webProcessName))
&gt; 
&gt; And again,

Fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>282507</commentid>
    <comment_count>5</comment_count>
    <who name="Brian Weinstein">bweinstein</who>
    <bug_when>2010-09-21 13:11:16 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 68277 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=68277&amp;action=review
&gt; 
&gt; &gt; WebKit2/UIProcess/Launcher/win/ProcessLauncherWin.cpp:35
&gt; &gt; +const LPCWSTR webkitDLLName = L&quot;WebKit_debug.dll&quot;;
&gt; 
&gt; Should be webKitDLLName (with a capital &quot;K&quot;).

Yes, it should. Fixed.

&gt; 
&gt; &gt;&gt; WebKit2/UIProcess/Launcher/win/ProcessLauncherWin.cpp:57
&gt; &gt;&gt; +    HMODULE webkitModule = GetModuleHandle(webkitDLLName);
&gt; &gt; 
&gt; &gt; We&apos;ve been using :: to namespace quality Win32 calls lately.
&gt; 
&gt; We&apos;ve also been using the W versions of the APIs, so: ::GetModuleHandleW(webKitDLLName);

Fixed.

&gt; 
&gt; &gt;&gt; WebKit2/UIProcess/Launcher/win/ProcessLauncherWin.cpp:63
&gt; &gt;&gt; +    if (!GetModuleFileName(webkitModule, pathStr, MAX_PATH) || GetLastError() != ERROR_SUCCESS)
&gt; &gt; 
&gt; &gt; You shouldn&apos;t need to check GetLastError and the result of the function. Just checking the result for 0 should be enough to check for failure.
&gt; &gt; Same comment about the ::.
&gt; 
&gt; _countof(pathStr) would be better than repeating MAX_PATH.

Fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>282515</commentid>
    <comment_count>6</comment_count>
    <who name="Brian Weinstein">bweinstein</who>
    <bug_when>2010-09-21 13:20:22 -0700</bug_when>
    <thetext>Landed in r67979.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>282542</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-09-21 13:53:23 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/67979 might have broken Qt Windows 32-bit Debug
The following changes are on the blame list:
http://trac.webkit.org/changeset/67973
http://trac.webkit.org/changeset/67974
http://trac.webkit.org/changeset/67975
http://trac.webkit.org/changeset/67976
http://trac.webkit.org/changeset/67977
http://trac.webkit.org/changeset/67978
http://trac.webkit.org/changeset/67979</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>68277</attachid>
            <date>2010-09-21 12:56:06 -0700</date>
            <delta_ts>2010-09-21 13:07:35 -0700</delta_ts>
            <desc>[PATCH] Fix</desc>
            <filename>web_process_webkit_dll.patch</filename>
            <type>text/plain</type>
            <size>2687</size>
            <attacher name="Brian Weinstein">bweinstein</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdDIvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdDIvQ2hhbmdlTG9n
CShyZXZpc2lvbiA2Nzk3NykKKysrIFdlYktpdDIvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTYgQEAKKzIwMTAtMDktMjEgIEJyaWFuIFdlaW5zdGVpbiAgPGJ3ZWluc3RlaW5A
YXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIFdlYktpdDIgc2hvdWxkIGxvb2sgZm9yIFdlYktpdDJXZWJQcm9jZXNzLmV4ZSBuZXh0IHRv
IFdlYktpdC5kbGwKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTQ2MjA5CisgICAgICAgIAorICAgICAgICBGaW5kIFdlYktpdDJXZWJQcm9jZXNzLmV4ZSBi
eSBnZXR0aW5nIHRoZSBmdWxsIHBhdGggdG8gV2ViS2l0LmRsbCwgYW5kIHRoZW4KKyAgICAgICAg
cmVtb3ZpbmcgdGhlIGxhc3QgcGF0aCBjb21wb25lbnQgYW5kIHJlcGxhY2luZyBpdCB3aXRoIFdl
YktpdDJXZWJQcm9jZXNzLmV4ZS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9MYXVuY2hlci93aW4v
UHJvY2Vzc0xhdW5jaGVyV2luLmNwcDoKKyAgICAgICAgKFdlYktpdDo6UHJvY2Vzc0xhdW5jaGVy
OjpsYXVuY2hQcm9jZXNzKToKKwogMjAxMC0wOS0yMSAgQW5kZXJzIENhcmxzc29uICA8YW5kZXJz
Y2FAYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEFkYW0gUm9iZW4uCkluZGV4OiBX
ZWJLaXQyL1VJUHJvY2Vzcy9MYXVuY2hlci93aW4vUHJvY2Vzc0xhdW5jaGVyV2luLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJLaXQyL1VJUHJvY2Vzcy9MYXVuY2hlci93aW4vUHJvY2Vzc0xhdW5jaGVy
V2luLmNwcAkocmV2aXNpb24gNjc4ODgpCisrKyBXZWJLaXQyL1VJUHJvY2Vzcy9MYXVuY2hlci93
aW4vUHJvY2Vzc0xhdW5jaGVyV2luLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjcsMTIgKzI3LDE1
IEBACiAKICNpbmNsdWRlICJDb25uZWN0aW9uLmgiCiAjaW5jbHVkZSAiUnVuTG9vcC5oIgorI2lu
Y2x1ZGUgPHNobHdhcGkuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAogI2lm
ICFkZWZpbmVkKE5ERUJVRykgJiYgKCFkZWZpbmVkKERFQlVHX0lOVEVSTkFMKSB8fCBkZWZpbmVk
KERFQlVHX0FMTCkpCiBjb25zdCBMUENXU1RSIHdlYlByb2Nlc3NOYW1lID0gTCJXZWJLaXQyV2Vi
UHJvY2Vzc19kZWJ1Zy5leGUiOworY29uc3QgTFBDV1NUUiB3ZWJraXRETExOYW1lID0gTCJXZWJL
aXRfZGVidWcuZGxsIjsKICNlbHNlCiBjb25zdCBMUENXU1RSIHdlYlByb2Nlc3NOYW1lID0gTCJX
ZWJLaXQyV2ViUHJvY2Vzcy5leGUiOworY29uc3QgTFBDV1NUUiB3ZWJraXRETExOYW1lID0gTCJX
ZWJLaXQuZGxsIjsKICNlbmRpZgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKQEAgLTQ4LDEyICs1MSwy
NSBAQCB2b2lkIFByb2Nlc3NMYXVuY2hlcjo6bGF1bmNoUHJvY2VzcygpCiAKICAgICAvLyBFbnN1
cmUgdGhhdCB0aGUgY2hpbGQgcHJvY2VzcyBpbmhlcml0cyB0aGUgY2xpZW50IGlkZW50aWZpZXIu
CiAgICAgOjpTZXRIYW5kbGVJbmZvcm1hdGlvbihjbGllbnRJZGVudGlmaWVyLCBIQU5ETEVfRkxB
R19JTkhFUklULCBIQU5ETEVfRkxBR19JTkhFUklUKTsKLSAgICAgICAgCi0gICAgVmVjdG9yPFVD
aGFyPiBjb21tYW5kTGluZVZlY3RvcjsKIAotICAgIC8vIEZJWE1FOiBXZSB3b3VsZCBsaWtlIHRv
IHBhc3MgYSBmdWxsIHBhdGggdG8gdGhlIC5leGUgaGVyZS4KKyAgICAvLyBUbyBnZXQgdGhlIGZ1
bGwgZmlsZSBwYXRoIHRvIFdlYktpdDJXZWJQcm9jZXNzLmV4ZSwgd2UgZmlsZCB0aGUgbG9jYXRp
b24gb2YgV2ViS2l0LmRsbCwKKyAgICAvLyByZW1vdmUgdGhlIGxhc3QgcGF0aCBjb21wb25lbnQs
IGFuZCB0aGVuIGFwcGVuZCBXZWJLaXQyV2ViUHJvY2VzcyhfZGVidWcpLmV4ZS4KKyAgICBITU9E
VUxFIHdlYmtpdE1vZHVsZSA9IEdldE1vZHVsZUhhbmRsZSh3ZWJraXRETExOYW1lKTsKKyAgICBB
U1NFUlQod2Via2l0TW9kdWxlKTsKKyAgICBpZiAoIXdlYmtpdE1vZHVsZSkKKyAgICAgICAgcmV0
dXJuOworCisgICAgV0NIQVIgcGF0aFN0cltNQVhfUEFUSF07CisgICAgaWYgKCFHZXRNb2R1bGVG
aWxlTmFtZSh3ZWJraXRNb2R1bGUsIHBhdGhTdHIsIE1BWF9QQVRIKSB8fCBHZXRMYXN0RXJyb3Io
KSAhPSBFUlJPUl9TVUNDRVNTKQorICAgICAgICByZXR1cm47CisKKyAgICBQYXRoUmVtb3ZlRmls
ZVNwZWMocGF0aFN0cik7CisgICAgaWYgKCFQYXRoQXBwZW5kKHBhdGhTdHIsIHdlYlByb2Nlc3NO
YW1lKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgU3RyaW5nIGNvbW1hbmRMaW5lKHBhdGhTdHIp
OwogCi0gICAgU3RyaW5nIGNvbW1hbmRMaW5lKHdlYlByb2Nlc3NOYW1lKTsKKyAgICBWZWN0b3I8
VUNoYXI+IGNvbW1hbmRMaW5lVmVjdG9yOwogICAgIGFwcGVuZChjb21tYW5kTGluZVZlY3Rvciwg
Y29tbWFuZExpbmUpOwogICAgIGFwcGVuZChjb21tYW5kTGluZVZlY3RvciwgIiAtbW9kZSB3ZWJw
cm9jZXNzIik7CiAgICAgYXBwZW5kKGNvbW1hbmRMaW5lVmVjdG9yLCAiIC1jbGllbnRJZGVudGlm
aWVyICIpOwo=
</data>
<flag name="review"
          id="57777"
          type_id="1"
          status="+"
          setter="aroben"
    />
    <flag name="commit-queue"
          id="57778"
          type_id="3"
          status="-"
          setter="bweinstein"
    />
          </attachment>
      

    </bug>

</bugzilla>