<table><tr><td style="">broulik created this revision.<br />broulik added reviewers: Plasma, fvogt.<br />Herald added a project: Plasma.<br />Herald added a subscriber: plasma-devel.<br />broulik requested review of this revision.
</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/D21113">View Revision</a></tr></table><br /><div><strong>REVISION SUMMARY</strong><div><p>We already have somewhat of a versioning system available in the host and it stores and exposes information about what extension it supports and in what version.<br />
This makes this information available to the options page and allows hiding elements using the <tt style="background: #ebebeb; font-size: 13px;">data-requires-extension="foo"</tt> and <tt style="background: #ebebeb; font-size: 13px;">data-requires-extension-version-minimum="2"</tt> attributes.<br />
This is for better compatibility when adding new features to the host which is released independently of the extension.<br />
Since the settings are still read and the items still added to the DOM, saving settings will not touch/change the enabled state of unsupported extensions should you use the extension on multiple computers with different versions of the host.</p></div></div><br /><div><strong>TEST PLAN</strong><div><p>Depends on <a href="https://phabricator.kde.org/D21112" style="background-color: #e7e7e7;
          border-color: #e7e7e7;
          border-radius: 3px;
          padding: 0 4px;
          font-weight: bold;
          color: black;text-decoration: none;">D21112</a></p>

<ul class="remarkup-list">
<li class="remarkup-list-item">Added a new item with required extension attribute, didn't add it to the host, had the item successfully hidden</li>
<li class="remarkup-list-item">Added a new item with a required version of 2, had the item successfully hidden</li>
<li class="remarkup-list-item">Verified that saving would still write the enabled state correctly</li>
</ul></div></div><br /><div><strong>REPOSITORY</strong><div><div>R856 Plasma Browser Integration</div></div></div><br /><div><strong>REVISION DETAIL</strong><div><a href="https://phabricator.kde.org/D21113">https://phabricator.kde.org/D21113</a></div></div><br /><div><strong>AFFECTED FILES</strong><div><div>extension/extension.js<br />
extension/options.css<br />
extension/options.js</div></div></div><br /><div><strong>To: </strong>broulik, Plasma, fvogt<br /><strong>Cc: </strong>plasma-devel, jraleigh, GB_2, ragreen, Pitel, ZrenBot, lesliezhai, ali-mohamed, jensreuterberg, abetts, sebas, apol, mart<br /></div>