<?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>115483</bug_id>
          
          <creation_ts>2013-05-01 11:39:02 -0700</creation_ts>
          <short_desc>[WK2][Mac] Pass plug-in bundle ID to LaunchServices</short_desc>
          <delta_ts>2013-05-06 11:40:44 -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>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alexey Proskuryakov">ap</reporter>
          <assigned_to name="Alexey Proskuryakov">ap</assigned_to>
          <cc>andersca</cc>
    
    <cc>darin</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>883478</commentid>
    <comment_count>0</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2013-05-01 11:39:02 -0700</bug_when>
    <thetext>&lt;rdar://problem/13600073&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>883479</commentid>
    <comment_count>1</comment_count>
      <attachid>200230</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2013-05-01 11:43:22 -0700</bug_when>
    <thetext>Created attachment 200230
proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>883516</commentid>
    <comment_count>2</comment_count>
      <attachid>200230</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2013-05-01 13:34:36 -0700</bug_when>
    <thetext>Comment on attachment 200230
proposed patch

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

&gt; Source/WebKit2/PluginProcess/mac/PluginProcessMac.mm:47
&gt; +const CFStringRef _kLSPluginBundleIdentifierKey = CFSTR(&quot;LSPluginBundleIdentifierKey&quot;);

Why the underscore? Don’t we need “static” on this to prevent it from having external linkage?

&gt; Source/WebKit2/PluginProcess/mac/PluginProcessMac.mm:285
&gt; +static String loadSandboxProfileForDirectory(String bundleIdentifier, NSString *sandboxProfileDirectoryPath)

Why the change from const String&amp; to String for the argument type? Please use const String&amp;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>883536</commentid>
    <comment_count>3</comment_count>
      <attachid>200230</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2013-05-01 14:20:02 -0700</bug_when>
    <thetext>Comment on attachment 200230
proposed patch

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

&gt;&gt; Source/WebKit2/PluginProcess/mac/PluginProcessMac.mm:47
&gt;&gt; +const CFStringRef _kLSPluginBundleIdentifierKey = CFSTR(&quot;LSPluginBundleIdentifierKey&quot;);
&gt; 
&gt; Why the underscore? Don’t we need “static” on this to prevent it from having external linkage?

I guess I was just thinking of matching other similar keys. No need to do that here indeed.

In C++, constants do not have external linkage, so we do not need &quot;static&quot; here.

&gt;&gt; Source/WebKit2/PluginProcess/mac/PluginProcessMac.mm:285
&gt;&gt; +static String loadSandboxProfileForDirectory(String bundleIdentifier, NSString *sandboxProfileDirectoryPath)
&gt; 
&gt; Why the change from const String&amp; to String for the argument type? Please use const String&amp;.

I&apos;m modifying the argument in the function.

I think that asking the caller to do the copy is a fairly common and desirable pattern, as this gives the compiler more opportunities for optimization.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>885151</commentid>
    <comment_count>4</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2013-05-06 11:39:50 -0700</bug_when>
    <thetext>Committed &lt;http://trac.webkit.org/r149619&gt;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>885152</commentid>
    <comment_count>5</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2013-05-06 11:40:44 -0700</bug_when>
    <thetext>Went with const String&amp;. While I think that a String is just fine, we should probably start using this idiom in some place where it demonstrably improves performance, not here.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>200230</attachid>
            <date>2013-05-01 11:43:22 -0700</date>
            <delta_ts>2013-05-01 14:20:01 -0700</delta_ts>
            <desc>proposed patch</desc>
            <filename>PluginBundleIdentifier.txt</filename>
            <type>text/plain</type>
            <size>5868</size>
            <attacher name="Alexey Proskuryakov">ap</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDE0OTQ0MikKKysrIFNvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIxIEBACisyMDEzLTA1LTAxICBBbGV4ZXkg
UHJvc2t1cnlha292ICA8YXBAYXBwbGUuY29tPgorCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8x
MzQ3OTgwNj4gW01hY10gUGFzcyBwbHVnLWluIGJ1bmRsZSBJRCB0byBMYXVuY2hTZXJ2aWNlcwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE1NDgzCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBQbHVnaW5Q
cm9jZXNzL1BsdWdpblByb2Nlc3MuaDogQWRkZWQgbV9wbHVnaW5CdW5kbGVJZGVudGlmaWVyLiBX
ZSBub3cgbmVlZCBpdAorICAgICAgICBpbiBtdWx0aXBsZSBwbGFjZXMsIHNvIGl0J3MgZWFzaWVy
IHRvIHByZS1jb21wdXRlIGl0LgorCisgICAgICAgICogUGx1Z2luUHJvY2Vzcy9tYWMvUGx1Z2lu
UHJvY2Vzc01hYy5tbToKKyAgICAgICAgKFdlYktpdDo6bG9hZFNhbmRib3hQcm9maWxlRm9yRGly
ZWN0b3J5KTogQ2hhbmdlZCB0byB1c2UgcHJlY29tcHV0ZWQgYnVuZGxlIElELgorICAgICAgICAo
V2ViS2l0Ojpsb2FkU2FuZGJveFByb2ZpbGUpOiBEaXR0by4KKyAgICAgICAgKFdlYktpdDo6UGx1
Z2luUHJvY2Vzczo6cGxhdGZvcm1Jbml0aWFsaXplUHJvY2Vzcyk6IFByZS1jb21wdXRlIGJ1bmRs
ZSBJRC4KKyAgICAgICAgKFdlYktpdDo6UGx1Z2luUHJvY2Vzczo6aW5pdGlhbGl6ZVByb2Nlc3NO
YW1lKTogUGFzcyBpdCB0byBMYXVuY2hTZXJ2aWNlcy4KKyAgICAgICAgKFdlYktpdDo6UGx1Z2lu
UHJvY2Vzczo6aW5pdGlhbGl6ZVNhbmRib3gpOiBQYXNzIHByZWNvbXB1dGVkIGJ1bmRsZSBJRCBp
bnN0ZWFkIG9mCisgICAgICAgIGEgcGF0aC4KKwogMjAxMy0wNS0wMSAgQWxleGV5IFByb3NrdXJ5
YWtvdiAgPGFwQGFwcGxlLmNvbT4KIAogICAgICAgICA8cmRhcjovL3Byb2JsZW0vMTM3ODExNTY+
IExhdW5jaGluZyBOZXR3b3JrUHJvY2VzcyBicm9rZW4gb24gc29tZSBPUyB2ZXJzaW9ucy4KSW5k
ZXg6IFNvdXJjZS9XZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1Z2luUHJvY2Vzcy5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1Z2luUHJvY2Vzcy5oCShyZXZp
c2lvbiAxNDk0MTUpCisrKyBTb3VyY2UvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdpblByb2Nl
c3MuaAkod29ya2luZyBjb3B5KQpAQCAtOTcsNiArOTcsMTAgQEAgcHJpdmF0ZToKICAgICAvLyBU
aGUgcGx1Zy1pbiBwYXRoLgogICAgIFN0cmluZyBtX3BsdWdpblBhdGg7CiAKKyNpZiBQTEFURk9S
TShNQUMpCisgICAgU3RyaW5nIG1fcGx1Z2luQnVuZGxlSWRlbnRpZmllcjsKKyNlbmRpZgorCiAg
ICAgLy8gVGhlIHBsdWctaW4gbW9kdWxlLgogICAgIFJlZlB0cjxOZXRzY2FwZVBsdWdpbk1vZHVs
ZT4gbV9wbHVnaW5Nb2R1bGU7CiAgICAgCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9QbHVnaW5Qcm9j
ZXNzL21hYy9QbHVnaW5Qcm9jZXNzTWFjLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQy
L1BsdWdpblByb2Nlc3MvbWFjL1BsdWdpblByb2Nlc3NNYWMubW0JKHJldmlzaW9uIDE0OTQxNSkK
KysrIFNvdXJjZS9XZWJLaXQyL1BsdWdpblByb2Nlc3MvbWFjL1BsdWdpblByb2Nlc3NNYWMubW0J
KHdvcmtpbmcgY29weSkKQEAgLTQ0LDYgKzQ0LDggQEAKIAogdXNpbmcgbmFtZXNwYWNlIFdlYkNv
cmU7CiAKK2NvbnN0IENGU3RyaW5nUmVmIF9rTFNQbHVnaW5CdW5kbGVJZGVudGlmaWVyS2V5ID0g
Q0ZTVFIoIkxTUGx1Z2luQnVuZGxlSWRlbnRpZmllcktleSIpOworCiBuYW1lc3BhY2UgV2ViS2l0
IHsKIAogY2xhc3MgRnVsbHNjcmVlbldpbmRvd1RyYWNrZXIgewpAQCAtMjgwLDE3ICsyODIsOCBA
QCB2b2lkIFBsdWdpblByb2Nlc3M6OnNldEZ1bGxzY3JlZW5XaW5kb3dJCiAgICAgcGFyZW50UHJv
Y2Vzc0Nvbm5lY3Rpb24oKS0+c2VuZChNZXNzYWdlczo6UGx1Z2luUHJvY2Vzc1Byb3h5OjpTZXRG
dWxsc2NyZWVuV2luZG93SXNTaG93aW5nKGZ1bGxzY3JlZW5XaW5kb3dJc1Nob3dpbmcpLCAwKTsK
IH0KIAotc3RhdGljIFN0cmluZyBsb2FkU2FuZGJveFByb2ZpbGVGb3JEaXJlY3RvcnkoY29uc3Qg
U3RyaW5nJiBwbHVnaW5QYXRoLCBOU1N0cmluZyAqc2FuZGJveFByb2ZpbGVEaXJlY3RvcnlQYXRo
KQorc3RhdGljIFN0cmluZyBsb2FkU2FuZGJveFByb2ZpbGVGb3JEaXJlY3RvcnkoU3RyaW5nIGJ1
bmRsZUlkZW50aWZpZXIsIE5TU3RyaW5nICpzYW5kYm94UHJvZmlsZURpcmVjdG9yeVBhdGgpCiB7
Ci0gICAgUmV0YWluUHRyPENGVVJMUmVmPiBwbHVnaW5VUkwgPSBhZG9wdENGKENGVVJMQ3JlYXRl
V2l0aEZpbGVTeXN0ZW1QYXRoKDAsIHBsdWdpblBhdGguY3JlYXRlQ0ZTdHJpbmcoKS5nZXQoKSwg
a0NGVVJMUE9TSVhQYXRoU3R5bGUsIGZhbHNlKSk7Ci0gICAgaWYgKCFwbHVnaW5VUkwpCi0gICAg
ICAgIHJldHVybiBTdHJpbmcoKTsKLQotICAgIFJldGFpblB0cjxDRkJ1bmRsZVJlZj4gcGx1Z2lu
QnVuZGxlID0gYWRvcHRDRihDRkJ1bmRsZUNyZWF0ZShrQ0ZBbGxvY2F0b3JEZWZhdWx0LCBwbHVn
aW5VUkwuZ2V0KCkpKTsKLSAgICBpZiAoIXBsdWdpbkJ1bmRsZSkKLSAgICAgICAgcmV0dXJuIFN0
cmluZygpOwotCi0gICAgU3RyaW5nIGJ1bmRsZUlkZW50aWZpZXIgPSBDRkJ1bmRsZUdldElkZW50
aWZpZXIocGx1Z2luQnVuZGxlLmdldCgpKTsKICAgICBpZiAoYnVuZGxlSWRlbnRpZmllci5pc0Vt
cHR5KCkpCiAgICAgICAgIHJldHVybiBTdHJpbmcoKTsKIApAQCAtMzE1LDE1ICszMDgsMTUgQEAg
c3RhdGljIFN0cmluZyBsb2FkU2FuZGJveFByb2ZpbGVGb3JEaXJlYwogICAgIHJldHVybiBbY29t
bW9uUHJvZmlsZVN0cmluZy5nZXQoKSBzdHJpbmdCeUFwcGVuZGluZ1N0cmluZzpwcm9maWxlU3Ry
aW5nLmdldCgpXTsKIH0KIAotc3RhdGljIFN0cmluZyBsb2FkU2FuZGJveFByb2ZpbGUoY29uc3Qg
U3RyaW5nJiBwbHVnaW5QYXRoKQorc3RhdGljIFN0cmluZyBsb2FkU2FuZGJveFByb2ZpbGUoY29u
c3QgU3RyaW5nJiBidW5kbGVJZGVudGlmaWVyKQogewogICAgIC8vIEZpcnN0IGxvb2sgaW4gdGhl
IFdlYktpdDIgYnVuZGxlLgotICAgIFN0cmluZyBzYW5kYm94UHJvZmlsZSA9IGxvYWRTYW5kYm94
UHJvZmlsZUZvckRpcmVjdG9yeShwbHVnaW5QYXRoLCBbW1tOU0J1bmRsZSBidW5kbGVGb3JDbGFz
czpOU0NsYXNzRnJvbVN0cmluZyhAIldLVmlldyIpXSByZXNvdXJjZVBhdGhdIHN0cmluZ0J5QXBw
ZW5kaW5nUGF0aENvbXBvbmVudDpAIlBsdWdJblNhbmRib3hQcm9maWxlcyJdKTsKKyAgICBTdHJp
bmcgc2FuZGJveFByb2ZpbGUgPSBsb2FkU2FuZGJveFByb2ZpbGVGb3JEaXJlY3RvcnkoYnVuZGxl
SWRlbnRpZmllciwgW1tbTlNCdW5kbGUgYnVuZGxlRm9yQ2xhc3M6TlNDbGFzc0Zyb21TdHJpbmco
QCJXS1ZpZXciKV0gcmVzb3VyY2VQYXRoXSBzdHJpbmdCeUFwcGVuZGluZ1BhdGhDb21wb25lbnQ6
QCJQbHVnSW5TYW5kYm94UHJvZmlsZXMiXSk7CiAgICAgaWYgKCFzYW5kYm94UHJvZmlsZS5pc0Vt
cHR5KCkpCiAgICAgICAgIHJldHVybiBzYW5kYm94UHJvZmlsZTsKIAogICAgIC8vIFRoZW4gdHJ5
IC9TeXN0ZW0vTGlicmFyeS9TYW5kYm94L1Byb2ZpbGVzLy4KLSAgICBzYW5kYm94UHJvZmlsZSA9
IGxvYWRTYW5kYm94UHJvZmlsZUZvckRpcmVjdG9yeShwbHVnaW5QYXRoLCBAIi9TeXN0ZW0vTGli
cmFyeS9TYW5kYm94L1Byb2ZpbGVzLyIpOworICAgIHNhbmRib3hQcm9maWxlID0gbG9hZFNhbmRi
b3hQcm9maWxlRm9yRGlyZWN0b3J5KGJ1bmRsZUlkZW50aWZpZXIsIEAiL1N5c3RlbS9MaWJyYXJ5
L1NhbmRib3gvUHJvZmlsZXMvIik7CiAgICAgaWYgKCFzYW5kYm94UHJvZmlsZS5pc0VtcHR5KCkp
CiAgICAgICAgIHJldHVybiBzYW5kYm94UHJvZmlsZTsKIApAQCAtMzY0LDE3ICszNTcsMzEgQEAg
dm9pZCBQbHVnaW5Qcm9jZXNzOjpwbGF0Zm9ybUluaXRpYWxpemVQcgogICAgIFtbTlNVc2VyRGVm
YXVsdHMgc3RhbmRhcmRVc2VyRGVmYXVsdHNdIHJlZ2lzdGVyRGVmYXVsdHM6ZGVmYXVsdHNdOwog
ICAgIFtkZWZhdWx0cyByZWxlYXNlXTsKICNlbmRpZgorCisgICAgUmV0YWluUHRyPENGVVJMUmVm
PiBwbHVnaW5VUkwgPSBhZG9wdENGKENGVVJMQ3JlYXRlV2l0aEZpbGVTeXN0ZW1QYXRoKDAsIG1f
cGx1Z2luUGF0aC5jcmVhdGVDRlN0cmluZygpLmdldCgpLCBrQ0ZVUkxQT1NJWFBhdGhTdHlsZSwg
ZmFsc2UpKTsKKyAgICBpZiAoIXBsdWdpblVSTCkKKyAgICAgICAgcmV0dXJuOworCisgICAgUmV0
YWluUHRyPENGQnVuZGxlUmVmPiBwbHVnaW5CdW5kbGUgPSBhZG9wdENGKENGQnVuZGxlQ3JlYXRl
KGtDRkFsbG9jYXRvckRlZmF1bHQsIHBsdWdpblVSTC5nZXQoKSkpOworICAgIGlmICghcGx1Z2lu
QnVuZGxlKQorICAgICAgICByZXR1cm47CisKKyAgICBtX3BsdWdpbkJ1bmRsZUlkZW50aWZpZXIg
PSBDRkJ1bmRsZUdldElkZW50aWZpZXIocGx1Z2luQnVuZGxlLmdldCgpKTsKIH0KIAogdm9pZCBQ
bHVnaW5Qcm9jZXNzOjppbml0aWFsaXplUHJvY2Vzc05hbWUoY29uc3QgQ2hpbGRQcm9jZXNzSW5p
dGlhbGl6YXRpb25QYXJhbWV0ZXJzJiBwYXJhbWV0ZXJzKQogewogICAgIE5TU3RyaW5nICphcHBs
aWNhdGlvbk5hbWUgPSBbTlNTdHJpbmcgc3RyaW5nV2l0aEZvcm1hdDpXRUJfVUlfU1RSSU5HKCIl
QCAoJUAgSW50ZXJuZXQgcGx1Zy1pbikiLCAidmlzaWJsZSBuYW1lIG9mIHRoZSBwbHVnLWluIGhv
c3QgcHJvY2Vzcy4gVGhlIGZpcnN0IGFyZ3VtZW50IGlzIHRoZSBwbHVnLWluIG5hbWUgYW5kIHRo
ZSBzZWNvbmQgYXJndW1lbnQgaXMgdGhlIGFwcGxpY2F0aW9uIG5hbWUuIiksIFtbKE5TU3RyaW5n
ICopbV9wbHVnaW5QYXRoIGxhc3RQYXRoQ29tcG9uZW50XSBzdHJpbmdCeURlbGV0aW5nUGF0aEV4
dGVuc2lvbl0sIChOU1N0cmluZyAqKXBhcmFtZXRlcnMudWlQcm9jZXNzTmFtZV07CiAgICAgV0tT
ZXRWaXNpYmxlQXBwbGljYXRpb25OYW1lKChDRlN0cmluZ1JlZilhcHBsaWNhdGlvbk5hbWUpOwor
I2lmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTA5MAorICAgIGlmICghbV9w
bHVnaW5CdW5kbGVJZGVudGlmaWVyLmlzRW1wdHkoKSkKKyAgICAgICAgV0tTZXRBcHBsaWNhdGlv
bkluZm9ybWF0aW9uSXRlbShfa0xTUGx1Z2luQnVuZGxlSWRlbnRpZmllcktleSwgbV9wbHVnaW5C
dW5kbGVJZGVudGlmaWVyLmNyZWF0ZUNGU3RyaW5nKCkuZ2V0KCkpOworI2VuZGlmCiB9CiAKIHZv
aWQgUGx1Z2luUHJvY2Vzczo6aW5pdGlhbGl6ZVNhbmRib3goY29uc3QgQ2hpbGRQcm9jZXNzSW5p
dGlhbGl6YXRpb25QYXJhbWV0ZXJzJiBwYXJhbWV0ZXJzLCBTYW5kYm94SW5pdGlhbGl6YXRpb25Q
YXJhbWV0ZXJzJiBzYW5kYm94UGFyYW1ldGVycykKIHsKLSAgICBTdHJpbmcgc2FuZGJveFByb2Zp
bGUgPSBsb2FkU2FuZGJveFByb2ZpbGUobV9wbHVnaW5QYXRoKTsKKyAgICBTdHJpbmcgc2FuZGJv
eFByb2ZpbGUgPSBsb2FkU2FuZGJveFByb2ZpbGUobV9wbHVnaW5CdW5kbGVJZGVudGlmaWVyKTsK
ICAgICBpZiAoc2FuZGJveFByb2ZpbGUuaXNFbXB0eSgpKQogICAgICAgICByZXR1cm47CiAK
</data>
<flag name="review"
          id="221723"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>