<!--
@license
Copyright (C) 2018 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="../../../behaviors/fire-behavior/fire-behavior.html">
<link rel="import" href="../../../behaviors/gr-patch-set-behavior/gr-patch-set-behavior.html">
<link rel="import" href="../../core/gr-reporting/gr-reporting.html">
<link rel="import" href="../../shared/gr-rest-api-interface/gr-rest-api-interface.html">
<link rel="import" href="../../shared/gr-comment-thread/gr-comment-thread.html">
<link rel="import" href="../../shared/gr-js-api-interface/gr-js-api-interface.html">
<link rel="import" href="../gr-diff/gr-diff.html">

<dom-module id="gr-diff-host">
  <template>
    <gr-diff
        id="diff"
        change-num="[[changeNum]]"
        no-auto-render=[[noAutoRender]]
        patch-range="[[patchRange]]"
        path="[[path]]"
        prefs="[[prefs]]"
        project-name="[[projectName]]"
        display-line="[[displayLine]]"
        is-image-diff="[[isImageDiff]]"
        commit-range="[[commitRange]]"
        hidden$="[[hidden]]"
        no-render-on-prefs-change="[[noRenderOnPrefsChange]]"
        line-wrapping="[[lineWrapping]]"
        view-mode="[[viewMode]]"
        line-of-interest="[[lineOfInterest]]"
        logged-in="[[_loggedIn]]"
        loading="[[_loading]]"
        error-message="[[_errorMessage]]"
        base-image="[[_baseImage]]"
        revision-image=[[_revisionImage]]
        coverage-ranges="[[_coverageRanges]]"
        blame="[[_blame]]"
        diff="[[_diff]]"></gr-diff>
    <gr-js-api-interface id="jsAPI"></gr-js-api-interface>
    <gr-rest-api-interface id="restAPI"></gr-rest-api-interface>
    <gr-reporting id="reporting" category="diff"></gr-reporting>
  </template>
  <script src="gr-diff-host.js"></script>
</dom-module>
