<!--
Copyright (C) 2016 The Android Open Source Project

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<link rel="import" href="../../../bower_components/polymer/polymer.html">

<link rel="import" href="../gr-selection-action-box/gr-selection-action-box.html">

<dom-module id="gr-diff-highlight">
  <template>
    <style>
      .contentWrapper ::content {
        position: relative;
      }
      .contentWrapper ::content .range {
        background-color: rgba(255,213,0,0.5);
        display: inline;
      }
      .contentWrapper ::content .rangeHighlight {
        background-color: rgba(255,255,0,0.5);
        display: inline;
      }
    </style>
    <div class="contentWrapper">
      <content></content>
    </div>
  </template>
  <script src="gr-annotation.js"></script>
  <script src="gr-range-normalizer.js"></script>
  <script src="gr-diff-highlight.js"></script>
</dom-module>
