1 <!doctype html> 2 <!-- 3 Copyright (c) 2012 The Chromium Authors. All rights reserved. 4 Use of this source code is governed by a BSD-style license that can be 5 found in the LICENSE file. 6 --> 7 8 <html class="scrollable"> 9 <head> 10 <meta charset="utf-8"> 11 <link rel="icon" type="image/png" href="chromoting16.webp"> 12 <link rel="stylesheet" href="open_sans.css"> 13 <link rel="stylesheet" href="connection_stats.css"> 14 <link rel="stylesheet" href="connection_history.css"> 15 <link rel="stylesheet" href="main.css"> 16 <link rel="stylesheet" href="menu_button.css"> 17 <link rel="stylesheet" href="toolbar.css"> 18 <script src="butter_bar.js"></script> 19 <script src="client_plugin.js"></script> 20 <script src="client_plugin_async.js"></script> 21 <script src="client_screen.js"></script> 22 <script src="client_session.js"></script> 23 <script src="clipboard.js"></script> 24 <script src="connection_history.js"></script> 25 <script src="connection_stats.js"></script> 26 <script src="error.js"></script> 27 <script src="event_handlers.js"></script> 28 <script src="format_iq.js"></script> 29 <script src="host.js"></script> 30 <script src="host_controller.js"></script> 31 <script src="host_dispatcher.js"></script> 32 <script src="host_list.js"></script> 33 <script src="host_native_messaging.js"></script> 34 <script src="host_screen.js"></script> 35 <script src="host_session.js"></script> 36 <script src="host_settings.js"></script> 37 <script src="host_setup_dialog.js"></script> 38 <script src="host_table_entry.js"></script> 39 <script src="identity.js"></script> 40 <script src="l10n.js"></script> 41 <script src="log_to_server.js"></script> 42 <script src="menu_button.js"></script> 43 <script src="oauth2.js"></script> 44 <script src="oauth2_api.js"></script> 45 <script src="paired_client_manager.js"></script> 46 <script src="plugin_settings.js"></script> 47 <script src="remoting.js"></script> 48 <script src="server_log_entry.js"></script> 49 <script src="session_connector.js"></script> 50 <script src="stats_accumulator.js"></script> 51 <script src="third_party_host_permissions.js"></script> 52 <script src="third_party_token_fetcher.js"></script> 53 <script src="toolbar.js"></script> 54 <script src="ui_mode.js"></script> 55 <script src="xhr.js"></script> 56 <script src="wcs_sandbox_container.js"></script> 57 <title i18n-content="PRODUCT_NAME"></title> 58 </head> 59 60 <body> 61 62 <!-- loading-mode is initially visible, but becomes hidden as soon as an 63 AppMode is selected by remoting.init. All other divs are initially 64 hidden, but are shown appropriately when the mode changes. --> 65 <section id="loading-mode" data-ui-mode=""> 66 <em>Loading…</em> 67 </section> <!-- loading-mode --> 68 69 <div id="daemon-plugin-container"></div> 70 <div id="host-plugin-container"></div> 71 72 <iframe id="wcs-sandbox" src="wcs_sandbox.html" hidden></iframe> 73 74 <header data-ui-mode="home" hidden> 75 <div> 76 <img src="chromoting48.webp"> 77 <h1 class="icon-label" i18n-content="PRODUCT_NAME"></h1> 78 </div> 79 <div class="box-spacer"></div> 80 <div id="top-secondary"> 81 <span id="current-email"></span> 82 <span data-ui-mode="home" class="apps-v1-only"> 83 <a id="sign-out" href="#" i18n-content="SIGN_OUT_BUTTON"></a> 84 <!-- TODO(jamiewalch): Add this back in when we support it. 85 <a id="connection-history" 86 i18n-content="CONNECTION_HISTORY_BUTTON"></a> | 87 --> 88 </span> | 89 <a href="https://www.google.com/support/chrome/bin/answer.py?answer=1649523" 90 target="_blank" i18n-content="HELP"></a> 91 </div> 92 </header> 93 94 <div data-ui-mode="home"> 95 <div id="butter-bar" hidden> 96 <p> 97 <span id="butter-bar-message"></span> 98 <a id="butter-bar-dismiss" href="#"> 99 <img src="icon_cross.webp" class="close-icon"> 100 </a> 101 </p> 102 </div> 103 </div> 104 105 <div data-ui-mode="home" hidden> 106 107 <section> 108 <h2 i18n-content="MODE_IT2ME"></h2> 109 <div id="it2me-first-run"> 110 <div> 111 <p class="infographic-description" 112 i18n-content="IT2ME_FIRST_RUN"></p> 113 <button id="get-started-it2me" 114 i18n-content="GET_STARTED" 115 disabled></button> 116 </div> 117 <div class="infographic"> 118 <img src="infographic_remote_assistance.webp"> 119 </div> 120 </div> 121 <div id="it2me-content"> 122 <p id="webapp-description" 123 i18n-content="DESCRIPTION_HOME" 124 i18n-value-1="<a href='https://chrome.google.com/remotedesktop' target='_blank'>chrome.google.com/remotedesktop</a>"></p> 125 <div> 126 <div class="section-row"> 127 <div class="box-spacer"> 128 <div i18n-content="HOME_SHARE_DESCRIPTION"></div> 129 <div id="chrome-os-no-share" 130 i18n-content="HOME_SHARE_DESCRIPTION_CHROME_OS" 131 class="small-print"></div> 132 </div> 133 <div> 134 <button id="share-button" 135 i18n-content="HOME_SHARE_BUTTON" 136 class="kd-button-share" 137 type="button"> 138 </button> 139 </div> 140 </div> 141 </div> 142 <div class="section-row"> 143 <div i18n-content="HOME_ACCESS_DESCRIPTION" 144 class="box-spacer"></div> 145 <div> 146 <button id="access-mode-button" 147 i18n-content="HOME_ACCESS_BUTTON" 148 type="button"> 149 </button> 150 </div> 151 </div> 152 </div> <!-- it2me-content --> 153 </section> <!-- Remote Assistance --> 154 155 <section id="host-list-div" class="host-list-container"> 156 <div id="me2me-first-run"> 157 <h2 i18n-content="MODE_ME2ME"></h2> 158 <div> 159 <p class="infographic-description" 160 i18n-content="ME2ME_FIRST_RUN"></p> 161 <button id="get-started-me2me" 162 i18n-content="GET_STARTED" 163 disabled></button> 164 </div> 165 <div class="infographic"> 166 <img src="infographic_my_computers.webp"> 167 </div> 168 </div> 169 <div id="me2me-content"> 170 <h2> 171 <span i18n-content="MODE_ME2ME"></span> 172 <span class="h2-secondary" id="host-list-loading-indicator"> 173 <a href="#" id="host-list-reload" 174 class="icon-black" 175 i18n-title="TOOLTIP_REFRESH"> 176 <img src="reload.webp"> 177 </a> 178 <img src="spinner.gif" id="host-list-loading"> 179 </span> 180 </h2> 181 <div id="host-list" hidden></div> 182 <div id="host-list-error" class="box" hidden> 183 <div id="host-list-error-message" class="error-state"></div> 184 <div class="box-spacer"></div> 185 <button type="button" 186 id="host-list-refresh-failed-button"></button> 187 </div> 188 <div id="daemon-control" data-daemon-state="enabled disabled" hidden> 189 <div class="section-row no-non-local-hosts" 190 data-daemon-state="disabled"> 191 <img src="icon_host.webp" class="host-list-main-icon"> 192 <div class="box-spacer host-list-label" 193 id="start-daemon-message" 194 i18n-content="HOME_DAEMON_START_MESSAGE"></div> 195 <button type="button" 196 id="start-daemon" 197 i18n-content="HOME_DAEMON_START_BUTTON"> 198 </button> 199 </div> <!-- disabled --> 200 <div id="this-host-connect" 201 class="section-row clickable no-non-local-hosts" 202 data-daemon-state="enabled"> 203 <div class="host-list-main-icon"> 204 <span id="this-host-warning"></span> 205 <img id="this-host-icon" 206 src="icon_host.webp"> 207 </div> 208 <div id="this-host-name" class="box-spacer"></div> 209 <span id="this-host-rename" 210 class="host-list-edit" 211 tabIndex="0" 212 i18n-title="TOOLTIP_RENAME"> 213 <img id="this-host-rename" 214 class="host-list-rename-icon" 215 src="icon_pencil.webp"> 216 </span> 217 <button type="button" 218 id="stop-daemon" 219 i18n-content="HOME_DAEMON_STOP_BUTTON"> 220 </button> 221 </div> <!-- enabled --> 222 <div data-daemon-state="enabled"> 223 <div> 224 <span i18n-content="HOME_DAEMON_ACTIVE_MESSAGE"></span> 225 <a id="change-daemon-pin" 226 href="#" 227 i18n-content="HOME_DAEMON_CHANGE_PIN_LINK"></a> 228 </div> 229 <div id="paired-client-manager-message" hidden> 230 <span i18n-content="HOME_DAEMON_PAIRED_MESSAGE"></span> 231 <a href="#" 232 id="open-paired-client-manager-dialog" 233 i18n-content="HOME_DAEMON_MANAGE_PAIRINGS"></a> 234 </div> 235 </div> <!-- daemon-control --> 236 <div id="host-list-empty" hidden> 237 <div id="host-list-empty-hosting-supported" 238 class="host-list-empty-instructions" 239 i18n-content="HOST_LIST_EMPTY_HOSTING_SUPPORTED" 240 i18n-value-name-1="HOME_DAEMON_START_BUTTON"> 241 </div> 242 <div id="host-list-empty-hosting-unsupported" 243 class="host-list-empty-instructions" 244 i18n-content="HOST_LIST_EMPTY_HOSTING_UNSUPPORTED" 245 i18n-value-name-1="HOME_DAEMON_START_BUTTON"> 246 </div> 247 </div> 248 </div> <!-- me2me-content --> 249 </section> <!-- host-list-div --> 250 </div> <!-- home --> 251 252 <div id="auth-dialog" hidden> 253 <div class="dialog-screen"></div> 254 <div class="dialog-container"> 255 <div class="box-spacer"></div> 256 <div class="kd-modaldialog"> 257 <h2 i18n-content="MODE_AUTHORIZE"></h2> 258 <p id="auth-error-message" 259 i18n-content="DESCRIPTION_AUTHORIZE" 260 class="message"></p> 261 <div class="button-row"> 262 <button id="auth-button" 263 type="button" 264 autofocus="autofocus" 265 i18n-content="CONTINUE_BUTTON"> 266 </button> 267 </div> 268 </div> 269 <div class="box-spacer"></div> 270 </div> 271 </div> <!-- auth-dialog --> 272 273 <div class="dialog-screen" 274 data-ui-mode="home.host home.client home.history home.confirm-host-delete home.host-setup home.token-refresh-failed home.manage-pairings" 275 hidden></div> 276 277 <div class="dialog-container" 278 data-ui-mode="home.host home.client home.history home.confirm-host-delete home.host-setup home.token-refresh-failed home.manage-pairings" 279 hidden> 280 281 <div class="box-spacer"></div> 282 283 <!-- TODO(jamiewalch): Refactor the various error-state divs --> 284 <div class="kd-modaldialog" data-ui-mode="home.token-refresh-failed"> 285 <div class="message"> 286 <span id="token-refresh-error-message" class="error-state"></span> 287 </div> 288 <div id="token-refresh-auth-failed" class="button-row"> 289 <button id="token-refresh-error-sign-in" 290 type="button" 291 i18n-content="SIGN_IN_BUTTON"></button> 292 </div> 293 <div id="token-refresh-other-error" class="button-row"> 294 <button id="token-refresh-error-ok" 295 type="button" 296 i18n-content="OK"></button> 297 </div> 298 </div> <!-- home.token-refresh-failed --> 299 300 <div id="host-setup-dialog" 301 class="kd-modaldialog" 302 data-ui-mode="home.host-setup"> 303 <form id="ask-pin-form" 304 data-ui-mode="home.host-setup.ask-pin" 305 action=""> 306 <p class="message"> 307 <span i18n-content="HOST_SETUP_DIALOG_DESCRIPTION" 308 i18n-value-1="<b>" 309 i18n-value-2="</b>"></span> 310 <a href="http://support.google.com/chrome/bin/answer.py?hl=en&answer=1649523" 311 target="_blank" 312 i18n-content="WHY_IS_THIS_SAFE"></a> 313 </p> 314 <table id="set-pin-table"> 315 <tr> 316 <td class="table-label"> 317 <label for="daemon-pin-entry" 318 i18n-content="ASK_PIN_DIALOG_LABEL" 319 class="editbox-label"></label> 320 </td> 321 <td> 322 <input id="daemon-pin-entry" 323 autofocus="autofocus" 324 type="password"> 325 </td> 326 </tr> 327 <tr> 328 <td class="table-label"> 329 <label for="daemon-pin-confirm" 330 i18n-content="ASK_PIN_DIALOG_CONFIRM_LABEL" 331 class="editbox-label"></label> 332 </td> 333 <td> 334 <input id="daemon-pin-confirm" type="password"> 335 </td> 336 <tr> 337 </table> 338 <div id="daemon-pin-error-div" class="message" hidden> 339 <span id="daemon-pin-error-message" class="error-state"> 340 </span> 341 </div> 342 <div id="usagestats-consent" hidden> 343 <label class="checkbox-label"> 344 <input id="usagestats-consent-checkbox" type="checkbox"> 345 <span i18n-content="HOST_SETUP_CRASH_REPORTING_MESSAGE"></span> 346 </label> 347 </div> 348 <div class="button-row"> 349 <button id="daemon-pin-ok" type="submit" i18n-content="OK"> 350 </button> 351 <button id="daemon-pin-cancel" type="button" i18n-content="CANCEL"> 352 </button> 353 </div> 354 </form> 355 <div data-ui-mode="home.host-setup.processing" 356 class="box" 357 hidden> 358 <span class="waiting prominent" 359 id="host-setup-processing-message"> 360 </span> 361 </div> 362 <div data-ui-mode="home.host-setup.done" hidden> 363 <div id="host-setup-done-message" class="message"></div> 364 <div id="host-setup-done-message-2" class="message"></div> 365 <div class="button-row"> 366 <button id="host-config-done-dismiss" 367 autofocus="autofocus" 368 i18n-content="OK"></button> 369 </div> 370 </div> 371 <div data-ui-mode="home.host-setup.error" hidden> 372 <div id="host-setup-error-message" class="error-state"></div> 373 <div class="button-row"> 374 <button id="host-config-error-dismiss" 375 autofocus="autofocus" 376 i18n-content="OK"></button> 377 </div> 378 </div> 379 <div data-ui-mode="home.host-setup.install" hidden> 380 <div class="message" i18n-content="HOST_SETUP_INSTALL"></div> 381 <div class="button-row"> 382 <button id="host-config-install-continue" 383 autofocus="autofocus" 384 i18n-content="OK"></button> 385 <button id="host-config-install-dismiss" 386 i18n-content="CANCEL"></button> 387 </div> 388 </div> 389 <div data-ui-mode="home.host-setup.install-pending" hidden> 390 <div class="message" 391 i18n-content="HOST_SETUP_INSTALL_PENDING"></div> 392 <div class="button-row"> 393 <button id="host-config-install-retry" 394 autofocus="autofocus" 395 i18n-content="OK"></button> 396 </div> 397 </div> 398 </div> <!-- host-setup-dialog --> 399 400 <div id="host-dialog" 401 class="kd-modaldialog" 402 data-ui-mode="home.host"> 403 404 <div data-ui-mode="home.host.waiting-for-code" class="message" 405 i18n-content="MESSAGE_GENERATING"> 406 </div> <!-- host.waiting-for-code --> 407 408 <div data-ui-mode="home.host.waiting-for-connection"> 409 <div i18n-content="INSTRUCTIONS_SHARE_ABOVE"></div> 410 <div id="access-code-display" dir="ltr" class="selectable"></div> 411 <div id="access-code-countdown-container"> 412 <div id="access-code-countdown" class="expiring" hidden> 413 <span id="seconds-remaining" 414 i18n-content="ACCESS_CODE_TIMER"></span> 415 </div> 416 </div> 417 <div i18n-content="INSTRUCTIONS_SHARE_BELOW"></div> 418 </div> <!-- host.waiting-for-connection --> 419 420 <div data-ui-mode="home.host.shared"> 421 <div id="host-shared-message" class="message" 422 i18n-content="MESSAGE_SHARED"></div> 423 <div class="button-row"> 424 <button id="stop-sharing-button" 425 type="button" 426 i18n-content="STOP_SHARING_BUTTON"> 427 </button> 428 </div> 429 </div> <!-- host.shared --> 430 431 <div data-ui-mode="home.host.share-failed" class="message"> 432 <span id="host-plugin-error" class="error-state"></span> 433 </div> <!-- host.share-failed --> 434 435 <div data-ui-mode="home.host.share-finished" class="message" 436 i18n-content="MESSAGE_SESSION_FINISHED"> 437 </div> <!-- host.share-finished --> 438 439 <div data-ui-mode="home.host.share-failed home.host.share-finished" 440 class="button-row"> 441 <button id="host-finished-button" 442 type="button" 443 autofocus="autofocus" 444 i18n-content="OK"> 445 </button> 446 </div> 447 448 <div id="nat-box" 449 class="information-box" 450 data-ui-mode="home.host.waiting-for-connection" 451 i18n-content="WARNING_NAT_DISABLED"> 452 </div> <!-- nat-box --> 453 454 <div data-ui-mode="home.host.waiting-for-connection home.host.waiting-for-code" 455 class="button-row"> 456 <span class="waiting" i18n-content="FOOTER_WAITING"></span> 457 <button id="cancel-share-button" i18n-content="CANCEL"></button> 458 </div> 459 460 </div> <!-- host dialog --> 461 462 <div id="client-dialog" 463 class="kd-modaldialog" 464 data-ui-mode="home.client"> 465 466 <div data-ui-mode="home.client.unconnected"> 467 <div i18n-content="DESCRIPTION_CONNECT"></div> 468 <div id="access-code-entry-row"> 469 <form id="access-code-form" action=""> 470 <div class="box"> 471 <div class="box-spacer"></div> 472 <label for="access-code-entry" 473 i18n-content="ACCESS_CODE" 474 class="editbox-label"> 475 </label> 476 <input id="access-code-entry" 477 type="text" 478 autofocus="autofocus" 479 autocomplete="off"/> 480 <div class="box-spacer"></div> 481 </div> 482 <div class="button-row"> 483 <button id="connect-button" 484 type="submit" 485 i18n-content="CONNECT_BUTTON"> 486 </button> 487 <button id="cancel-access-code-button" 488 type="button" 489 i18n-content="CANCEL"> 490 </button> 491 </div> 492 </form> 493 </div> <!-- code-entry-row --> 494 <div id="startup-mode-box-it2me" class="information-box" hidden> 495 <span i18n-content="WARNING_NOT_WINDOWED"></span> 496 <a href="http://support.google.com/chrome/bin/answer.py?hl=en&answer=1649523" 497 target="_blank" 498 i18n-content="LEARN_HOW"></a> 499 </div> <!-- startup-mode-box-it2me --> 500 501 </div> <!-- client.unconnected --> 502 503 <div data-ui-mode="home.client.connecting" class="box"> 504 <span class="waiting prominent" 505 i18n-content="FOOTER_CONNECTING"></span> 506 <div class="box-spacer"></div> 507 <button id="cancel-connect-button" i18n-content="CANCEL"></button> 508 </div> <!-- client.connecting --> 509 510 <div data-ui-mode="home.client.host-needs-upgrade"> 511 <div id="host-needs-update-message" 512 class="message error-state multi-line-error-state"> 513 </div> 514 <div class="message"> 515 <span i18n-content="HOST_NEEDS_UPDATE_DETAIL"></span> 516 <a href="http://support.google.com/chrome/bin/answer.py?hl=en&answer=1649523" 517 target="_blank" 518 i18n-content="LEARN_HOW"></a> 519 </div> 520 <div class="button-row"> 521 <button id="host-needs-update-connect-button" 522 type="button" 523 i18n-content="CONNECT_ANYWAY" 524 autofocus="autofocus"> 525 </button> 526 <button id="host-needs-update-cancel-button" 527 type="button" 528 i18n-content="CANCEL"> 529 </button> 530 </div> 531 </div> <!-- home.client.host-needs-upgrade --> 532 533 <div data-ui-mode="home.client.pin-prompt"> 534 <div id="pin-message" 535 i18n-content="PIN_MESSAGE" 536 class="message"></div> 537 <form id="pin-form" action=""> 538 <table class="centered"> 539 <tr> 540 <td> 541 <label for="pin-entry" 542 i18n-content="PIN" 543 class="editbox-label"></label> 544 </td> 545 <td> 546 <input id="pin-entry" 547 type="password" 548 autofocus="autofocus" 549 autocomplete="off"/> 550 <button id="pin-connect-button" 551 type="submit" 552 i18n-content="CONNECT_BUTTON"> 553 </button> 554 <button id="cancel-pin-entry-button" 555 type="button" 556 i18n-content="CANCEL"> 557 </button> 558 </td> 559 </tr> 560 <tr> 561 <td> 562 <!-- Empty cell to align the checkbox and PIN entry. --> 563 </td> 564 <td> 565 <label id="remember-pin" class="checkbox-label"> 566 <input id="remember-pin-checkbox" type="checkbox"> 567 <span i18n-content="REMEMBER_PIN"></span> 568 </label> 569 </td> 570 </tr> 571 </table> 572 </form> 573 <div id="startup-mode-box-me2me" 574 class="information-box centered" 575 hidden> 576 <span i18n-content="WARNING_NOT_WINDOWED"></span> 577 <a href="http://support.google.com/chrome/bin/answer.py?hl=en&answer=1649523" 578 target="_blank" 579 i18n-content="LEARN_HOW"></a> 580 </div> <!-- startup-mode-box-it2me --> 581 </div> <!-- client.pin-prompt --> 582 583 <div data-ui-mode="home.client.third-party-auth" class="centered"> 584 <div id="third-party-auth-message" 585 i18n-content="DESCRIPTION_THIRD_PARTY_AUTH" 586 class="message"></div> 587 <div id="third-party-auth-url" 588 class="message"></div> 589 <div class="button-row"> 590 <button id="third-party-auth-button" 591 type="button" 592 autofocus="autofocus" 593 i18n-content="CONTINUE_BUTTON"> 594 </button> 595 </div> 596 </div> <!-- third-party-auth-dialog --> 597 598 <div data-ui-mode="home.client.connect-failed" 599 class="message"> 600 <span id="connect-error-message" class="error-state"></span> 601 </div> <!-- client.connect-failed --> 602 603 <div data-ui-mode="home.client.session-finished" 604 class="message" i18n-content="MESSAGE_SESSION_FINISHED"> 605 </div> <!-- client.session-finished --> 606 607 <div data-ui-mode="home.client.connect-failed.it2me home.client.session-finished.it2me" 608 class="button-row"> 609 <button id="client-finished-it2me-button" 610 type="button" 611 i18n-content="OK" 612 autofocus="autofocus"> 613 </button> 614 </div> <!-- connect-failed.it2me session-finished.it2me --> 615 616 <div data-ui-mode="home.client.connect-failed.me2me home.client.session-finished.me2me" 617 class="button-row"> 618 <button id="client-reconnect-button" 619 type="button" 620 i18n-content="RETRY" 621 autofocus="autofocus"> 622 </button> 623 <button id="client-finished-me2me-button" 624 type="button" 625 i18n-content="CANCEL"> 626 </button> 627 </div> <!-- connect-failed.me2me session-finished.me2me --> 628 629 </div> <!-- client-dialog --> 630 631 <div id="connection-history-dialog" 632 class="kd-modaldialog" 633 data-ui-mode="home.history" 634 hidden> 635 <div class="internal-frame-of-reference"> 636 <h2 i18n-content="CONNECTION_HISTORY_TITLE"></h2> 637 <div id="connection-history-options"> 638 <div class="link-list"> 639 <a id="history-view-all" 640 i18n-content="ALL_CONNECTIONS" 641 class="no-link"></a> 642 <a id="history-view-outgoing" 643 i18n-content="OUTGOING_CONNECTIONS"></a> 644 <a id="history-view-incoming" 645 i18n-content="INCOMING_CONNECTIONS"></a> 646 </div> 647 <div class="box-spacer"></div> 648 <a id="clear-connection-history" i18n-content="CLEAR_HISTORY"></a> 649 </div> 650 <div id="connection-history-scroller"> 651 <table id="connection-history-table"> 652 <thead> 653 <tr> 654 <td></td> 655 <td i18n-content="TIME_HEADER"></td> 656 <td></td> 657 <td i18n-content="CONNECTION_FROM_HEADER"></td> 658 <td i18n-content="CONNECTION_TO_HEADER"></td> 659 <td i18n-content="DURATION_HEADER"></td> 660 </tr> 661 </thead> 662 <tbody id="connection-history-entries" class="selectable"> 663 </tbody> 664 </table> 665 </div> 666 <button id="close-connection-history" 667 i18n-content="CLOSE" 668 type="button"></button> 669 </div> 670 </div> <!-- connection-history-dialog --> 671 672 <div id="confirm-host-delete-dialog" 673 class="kd-modaldialog" 674 data-ui-mode="home.confirm-host-delete" 675 hidden> 676 <p id="confirm-host-delete-message" 677 i18n-content="CONFIRM_HOST_DELETE" 678 class="message"> 679 </p> 680 <div class="button-row"> 681 <button id="confirm-host-delete" 682 i18n-content="DISABLE_HOST" 683 type="button"> 684 </button> 685 <button id="cancel-host-delete" 686 i18n-content="CANCEL" 687 autofocus="autofocus" 688 type="button"> 689 </button> 690 </div> 691 </div> <!-- home.confirm-host-delete --> 692 693 <div id="paired-client-manager-dialog" 694 class="kd-modaldialog" 695 data-ui-mode="home.manage-pairings" 696 hidden> 697 <p i18n-content="PAIRED_CLIENTS_INTRODUCTION" 698 class="message"> 699 </p> 700 <div id="paired-clients-list"> 701 <table> 702 <thead> 703 <tr> 704 <td i18n-content="PAIRED_CLIENT_DATE"></td> 705 <td i18n-content="PAIRED_CLIENT_NAME"></td> 706 </tr> 707 </thead> 708 <tbody> 709 </tbody> 710 </table> 711 <p id="no-paired-clients"> 712 <em i18n-content="NO_PAIRED_CLIENTS"></em> 713 </p> 714 </div> <!-- paired-clients-list --> 715 <p id="paired-client-manager-dialog-error" 716 class="error-state" 717 hidden> 718 </p> 719 <div class="button-row"> 720 <span id="paired-client-manager-dialog-working" 721 class="waiting" 722 i18n-content="WORKING" 723 hidden></span> 724 <button id="delete-all-paired-clients" 725 i18n-content="DELETE_ALL_PAIRED_CLIENTS"> 726 <button id="close-paired-client-manager-dialog" 727 i18n-content="CLOSE"> 728 </button> 729 </div> 730 </div> <!-- home.manage-pairings --> 731 732 <div class="box-spacer"></div> 733 734 </div> <!-- dialog-container --> 735 736 <div id="session-mode" data-ui-mode="in-session home.client" hidden> 737 <div id="session-toolbar" 738 data-ui-mode="in-session" 739 class="toolbar-container" 740 hidden> 741 <div class="toolbar-border"> 742 <div id="session-status-message" 743 i18n-content="LABEL_CONNECTED"></div> 744 <div id="connected-to"></div> 745 <div id="new-connection" class="icon-black apps-v2-only"> 746 <img src="plus.webp" i18n-title="NEW_CONNECTION"> 747 </div> 748 <div class="box-spacer"></div> 749 <button id="toolbar-disconnect" 750 type="button" 751 i18n-content="DISCONNECT_MYSELF_BUTTON"> 752 </button> 753 <span class="menu-button" id="send-keys-menu"> 754 <button> 755 <span i18n-content="SEND_KEYS"></span> 756 <img src="disclosure_arrow_down.webp" 757 class="kd-disclosureindicator"> 758 </button> 759 <ul> 760 <li id="send-ctrl-alt-del" i18n-content="SEND_CTRL_ALT_DEL"></li> 761 <li id="send-print-screen" i18n-content="SEND_PRINT_SCREEN"></li> 762 </ul> 763 </span> 764 <span class="menu-button" id="screen-options-menu"> 765 <button> 766 <span i18n-content="SCREEN_OPTIONS"></span> 767 <img src="disclosure_arrow_down.webp" 768 class="kd-disclosureindicator"> 769 </button> 770 <ul> 771 <li id="screen-resize-to-client" 772 i18n-content="RESIZE_TO_CLIENT"></li> 773 <li id="screen-shrink-to-fit" i18n-content="SHRINK_TO_FIT"></li> 774 <li class="menu-separator"></li> 775 <li id="toggle-full-screen" i18n-content="FULL_SCREEN"></li> 776 </ul> 777 </span> 778 </div> 779 <div class="toolbar-stub" id="toolbar-stub"> 780 <div class="arrow-down"></div> 781 </div> 782 </div> <!-- session-toolbar --> 783 </div> <!-- session-mode --> 784 785 <div id="statistics" dir="ltr" class="selectable" hidden> 786 </div> <!-- statistics --> 787 788 </body> 789 </html> 790