<table><tr><td style="">dfaure accepted this revision.<br />dfaure added inline comments.<br />This revision is now accepted and ready to land.
</td><a style="text-decoration: none; padding: 4px 8px; margin: 0 8px 8px; float: right; color: #464C5C; font-weight: bold; border-radius: 3px; background-color: #F7F7F9; background-image: linear-gradient(to bottom,#fff,#f1f0f1); display: inline-block; border: 1px solid rgba(71,87,120,.2);" href="https://phabricator.kde.org/D26557">View Revision</a></tr></table><br /><div><strong>INLINE COMMENTS</strong><div><div style="margin: 6px 0 12px 0;"><div style="border: 1px solid #C7CCD9; border-radius: 3px;"><div style="padding: 0; background: #F7F7F7; border-color: #e3e4e8; border-style: solid; border-width: 0 0 1px 0; margin: 0;"><div style="color: #74777d; background: #eff2f4; padding: 6px 8px; overflow: hidden;"><a style="float: right; text-decoration: none;" href="https://phabricator.kde.org/D26557#inline-150052">View Inline</a><span style="color: #4b4d51; font-weight: bold;">meven</span> wrote in <span style="color: #4b4d51; font-weight: bold;">desktopexecparser.cpp:213</span></div>
<div style="margin: 8px 0; padding: 0 12px; color: #74777D;"><blockquote style="border-left: 3px solid #a7b5bf; color: #464c5c; font-style: italic; margin: 4px 0 12px 0; padding: 4px 12px; background-color: #f8f9fc;"><p style="padding: 0; margin: 8px;">Can you call mimeTypes() instead of serviceTypes() here? I'm trying to slowly split the two notions, after it all got mixed up long ago.</p></blockquote>

<p style="padding: 0; margin: 8px;">No in fact, "x-scheme-handler/<protocol>" are not included in KService::mimeTypes() :</p>

<blockquote style="border-left: 3px solid #a7b5bf; color: #464c5c; font-style: italic; margin: 4px 0 12px 0; padding: 4px 12px; background-color: #f8f9fc;"><div class="remarkup-code-block" style="margin: 12px 0;" data-code-lang="text" data-sigil="remarkup-code-block"><pre class="remarkup-code" style="font: 11px/15px "Menlo", "Consolas", "Monaco", monospace; padding: 12px; margin: 0; background: rgba(71, 87, 120, 0.08);">if (db.mimeTypeForName(sv).isValid()) { // keep only mimetypes, filter out servicetypes</pre></div></blockquote></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">OK, I see.</p></div></div><br /><div style="border: 1px solid #C7CCD9; border-radius: 3px;"><div style="padding: 0; background: #F7F7F7; border-color: #e3e4e8; border-style: solid; border-width: 0 0 1px 0; margin: 0;"><div style="color: #74777d; background: #eff2f4; padding: 6px 8px; overflow: hidden;"><a style="float: right; text-decoration: none;" href="https://phabricator.kde.org/D26557#inline-150403">View Inline</a><span style="color: #4b4d51; font-weight: bold;">krun.cpp:962</span></div>
<div style="font: 11px/15px "Menlo", "Consolas", "Monaco", monospace; white-space: pre-wrap; clear: both; padding: 4px 0; margin: 0;"><div style="padding: 0 8px; margin: 0 4px; ">            <span style="color: #aa4000">if</span> <span class="p">(</span><span class="n">exec</span><span class="p">.</span><span class="n">isEmpty</span><span class="p">())</span> <span class="p">{</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);">                <span style="color: #74777d">// the scheme has no kio protocol associated</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);">                <span style="color: #74777d">// use default mimetype opener for file</span>
</div></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">That is not true. isHelperProtocol returns true so there *is* a kio .protocol file.<br />
Just no kioslave behind it.<br />
A helper protocol is like vnc.protocol which sends vnc urls to the <tt style="background: #ebebeb; font-size: 13px;">krdc</tt> program.<br />
So it says exec=krdc '%u'.</p>

<p style="padding: 0; margin: 8px;">A helper protocol with an empty exec line is weird, but I see a few like mms.protocol (<a href="https://bugs.kde.org/show_bug.cgi?id=84664" class="remarkup-link" target="_blank" rel="noreferrer">https://bugs.kde.org/show_bug.cgi?id=84664</a> has some context).</p>

<p style="padding: 0; margin: 8px;">A helper protocol with an empty exec line *and* a default mimetype... well there's one: rtsp.protocol which says defaultMimetype=audio/x-pn-realaudio. Well at least I see the point of that: it'll launch the app associated with that mimetype, for any rtsp://url.</p>

<p style="padding: 0; margin: 8px;">OK, scheme-handler replaces most of these uses. I think we should just deprecate "helper protocols" (which either hardcode an exec line or abuse mimetypes) and move it all to the scheme-handler mechanism.</p>

<p style="padding: 0; margin: 8px;">That's unrelated to your change so let's do that separately, of course.</p>

<p style="padding: 0; margin: 8px;">For now, this comment makes no sense, you can just remove this line (962) and push.</p></div></div></div></div></div><br /><div><strong>REPOSITORY</strong><div><div>R241 KIO</div></div></div><br /><div><strong>BRANCH</strong><div><div>arcpatch-D26557</div></div></div><br /><div><strong>REVISION DETAIL</strong><div><a href="https://phabricator.kde.org/D26557">https://phabricator.kde.org/D26557</a></div></div><br /><div><strong>To: </strong>meven, ervin, ngraham, Frameworks, dfaure<br /><strong>Cc: </strong>dfaure, kde-frameworks-devel, LeGast00n, GB_2, michaelh, ngraham, bruns<br /></div>