{"action":"created","comment":{"url":"https://api.github.com/repos/Polymer/core-overlay/pulls/comments/26619543","id":26619543,"diff_hunk":"@@ -111,666 +124,373 @@\n   .core-overlay-backdrop.core-opened {\n     opacity: 0.6;\n   }\n+\n </style>\n \n-<polymer-element name=\"core-overlay\">\n+<dom-module id=\"core-overlay\">\n+\n+  <style>\n+\n+    :host {\n+      position: fixed;\n+      background: #fff;\n+    }\n+\n+  </style>\n+\n+</dom-module>\n+\n <script>\n-(function() {\n \n-  Polymer(Polymer.mixin({\n+  (function() {\n+\n+    var manager = Polymer.Core.Overlay.Manager;\n+\n+    Polymer({\n+\n+      is: 'core-overlay',\n+\n+      mixins: [\n+        Polymer.Core.Overlay.Positioner,\n+        Polymer.Core.EventUtils\n+      ],\n+\n+      properties: {\n+\n+        /**\n+         * A `core-overlay`'s size is guaranteed to be\n+         * constrained to the window size. To achieve this, the sizingElement\n+         * is sized with a max-height/width. By default this element is the\n+         * target element, but it can be specifically set to a specific element\n+         * inside the target if that is more appropriate. This is useful, for\n+         * example, when a region inside the overlay should scroll if needed.\n+         *\n+         * @attribute sizingTarget\n+         * @type Object\n+         * @default this\n+         */\n+        sizingTarget: {\n+          type: Object,\n+          value: function() {\n+            return this;\n+          }\n+        },\n \n-    publish: {\n-      /**\n-       * The target element that will be shown when the overlay is \n-       * opened. If unspecified, the core-overlay itself is the target.\n-       *\n-       * @attribute target\n-       * @type Object\n-       * @default the overlay element\n-       */\n-      target: null,\n+        /**\n+         * Set opened to true to show an overlay and to false to hide it.\n+         * A `core-overlay` may be made initially opened by setting its\n+         * `opened` attribute.\n+         * @attribute opened\n+         * @type boolean\n+         * @default false\n+         */\n+        opened: {\n+          type: Boolean,\n+          value: false,\n+          observer: 'openedChanged'\n+        },\n \n+        /**\n+         * If true, the overlay has a backdrop darkening the rest of the screen.\n+         * The backdrop element is attached to the document body and may be styled\n+         * with the class `core-overlay-backdrop`. When opened the `core-opened`\n+         * class is applied.\n+         *\n+         * @attribute backdrop\n+         * @type boolean\n+         * @default false\n+         */\n+        backdrop: {\n+          type: Boolean,\n+          value: false\n+        },\n \n-      /**\n-       * A `core-overlay`'s size is guaranteed to be \n-       * constrained to the window size. To achieve this, the sizingElement\n-       * is sized with a max-height/width. By default this element is the \n-       * target element, but it can be specifically set to a specific element\n-       * inside the target if that is more appropriate. This is useful, for \n-       * example, when a region inside the overlay should scroll if needed.\n-       *\n-       * @attribute sizingTarget\n-       * @type Object\n-       * @default the target element\n-       */\n-      sizingTarget: null,\n-    \n-      /**\n-       * Set opened to true to show an overlay and to false to hide it.\n-       * A `core-overlay` may be made initially opened by setting its\n-       * `opened` attribute.\n-       * @attribute opened\n-       * @type boolean\n-       * @default false\n-       */\n-      opened: false,\n+        /**\n+         * If true, the ESC key does not cancel the overlay.\n+         *\n+         * @attribute noCancelOnEscKey\n+         * @type boolean\n+         * @default false\n+         */\n+        noCancelOnEscKey: {\n+          type: Boolean,\n+          value: false\n+        },\n \n-      /**\n-       * If true, the overlay has a backdrop darkening the rest of the screen.\n-       * The backdrop element is attached to the document body and may be styled\n-       * with the class `core-overlay-backdrop`. When opened the `core-opened`\n-       * class is applied.\n-       *\n-       * @attribute backdrop\n-       * @type boolean\n-       * @default false\n-       */    \n-      backdrop: false,\n+        /**\n+         * If true, clicking outside the overlay does not cancel the overlay.\n+         *\n+         * @attribute noCancelOnOutsideClick\n+         * @type boolean\n+         * @default false\n+         */\n+        noCancelOnOutsideClick: {\n+          type: Boolean,\n+          value: false\n+        }\n \n-      /**\n-       * If true, the overlay is guaranteed to display above page content.\n-       *\n-       * @attribute layered\n-       * @type boolean\n-       * @default false\n-      */\n-      layered: false,\n-    \n-      /**\n-       * By default an overlay will close automatically if the user\n-       * taps outside it or presses the escape key. Disable this\n-       * behavior by setting the `autoCloseDisabled` property to true.\n-       * @attribute autoCloseDisabled\n-       * @type boolean\n-       * @default false\n-       */\n-      autoCloseDisabled: false,\n+      },\n+\n+      get backdropElement() {\n+        return this._backdrop;\n+      },\n+\n+      registered: function() {","path":"core-overlay.html","position":266,"original_position":266,"commit_id":"7d4c46615d1de742a71a88fcffdd0125a0a64fb4","original_commit_id":"7d4c46615d1de742a71a88fcffdd0125a0a64fb4","user":{"login":"ssorallen","id":29612,"avatar_url":"https://avatars.githubusercontent.com/u/29612?v=3","gravatar_id":"","url":"https://api.github.com/users/ssorallen","html_url":"https://github.com/ssorallen","followers_url":"https://api.github.com/users/ssorallen/followers","following_url":"https://api.github.com/users/ssorallen/following{/other_user}","gists_url":"https://api.github.com/users/ssorallen/gists{/gist_id}","starred_url":"https://api.github.com/users/ssorallen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ssorallen/subscriptions","organizations_url":"https://api.github.com/users/ssorallen/orgs","repos_url":"https://api.github.com/users/ssorallen/repos","events_url":"https://api.github.com/users/ssorallen/events{/privacy}","received_events_url":"https://api.github.com/users/ssorallen/received_events","type":"User","site_admin":false},"body":"There's a stealthy note about it in the [primer](https://github.com/Polymer/polymer/blob/0.8-preview/PRIMER.md#basic-lifecycle-callbacks):\r\n\r\n> Polymer.Base also implements registerCallback, which will be called by Polymer() to allow Polymer.Base to supply a layering system for Polymer abstractions.","created_at":"2015-03-17T21:43:54Z","updated_at":"2015-03-17T21:43:54Z","html_url":"https://github.com/Polymer/core-overlay/pull/59#discussion_r26619543","pull_request_url":"https://api.github.com/repos/Polymer/core-overlay/pulls/59","_links":{"self":{"href":"https://api.github.com/repos/Polymer/core-overlay/pulls/comments/26619543"},"html":{"href":"https://github.com/Polymer/core-overlay/pull/59#discussion_r26619543"},"pull_request":{"href":"https://api.github.com/repos/Polymer/core-overlay/pulls/59"}}},"pull_request":{"url":"https://api.github.com/repos/Polymer/core-overlay/pulls/59","id":30995141,"html_url":"https://github.com/Polymer/core-overlay/pull/59","diff_url":"https://github.com/Polymer/core-overlay/pull/59.diff","patch_url":"https://github.com/Polymer/core-overlay/pull/59.patch","issue_url":"https://api.github.com/repos/Polymer/core-overlay/issues/59","number":59,"state":"open","locked":false,"title":"0.8-preview port/rewrite","user":{"login":"morethanreal","id":1202776,"avatar_url":"https://avatars.githubusercontent.com/u/1202776?v=3","gravatar_id":"","url":"https://api.github.com/users/morethanreal","html_url":"https://github.com/morethanreal","followers_url":"https://api.github.com/users/morethanreal/followers","following_url":"https://api.github.com/users/morethanreal/following{/other_user}","gists_url":"https://api.github.com/users/morethanreal/gists{/gist_id}","starred_url":"https://api.github.com/users/morethanreal/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/morethanreal/subscriptions","organizations_url":"https://api.github.com/users/morethanreal/orgs","repos_url":"https://api.github.com/users/morethanreal/repos","events_url":"https://api.github.com/users/morethanreal/events{/privacy}","received_events_url":"https://api.github.com/users/morethanreal/received_events","type":"User","site_admin":false},"body":"TODO:\r\n\r\n* [ ] core-overlay-toggle feature\r\n* [ ] focus management\r\n* [ ] use core-resizable\r\n* [ ] transitions (depends on core-transition work\r\n* [ ] layered (new element?)\r\n* fix safari/ff issues\r\n  * [ ] first render issues\r\n* test cases:\r\n  * [ ] set up hooks to run tests\r\n  * [ ] fix test failures on safari/ff\r\n  * [ ] fit in window (refactor size constraint code)","created_at":"2015-03-11T23:20:03Z","updated_at":"2015-03-17T21:43:54Z","closed_at":null,"merged_at":null,"merge_commit_sha":"89c5e195c79fb427a807ae2302ea4134afb61bc8","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/Polymer/core-overlay/pulls/59/commits","review_comments_url":"https://api.github.com/repos/Polymer/core-overlay/pulls/59/comments","review_comment_url":"https://api.github.com/repos/Polymer/core-overlay/pulls/comments{/number}","comments_url":"https://api.github.com/repos/Polymer/core-overlay/issues/59/comments","statuses_url":"https://api.github.com/repos/Polymer/core-overlay/statuses/7d4c46615d1de742a71a88fcffdd0125a0a64fb4","head":{"label":"Polymer:0.8-preview-wip","ref":"0.8-preview-wip","sha":"7d4c46615d1de742a71a88fcffdd0125a0a64fb4","user":{"login":"Polymer","id":2159051,"avatar_url":"https://avatars.githubusercontent.com/u/2159051?v=3","gravatar_id":"","url":"https://api.github.com/users/Polymer","html_url":"https://github.com/Polymer","followers_url":"https://api.github.com/users/Polymer/followers","following_url":"https://api.github.com/users/Polymer/following{/other_user}","gists_url":"https://api.github.com/users/Polymer/gists{/gist_id}","starred_url":"https://api.github.com/users/Polymer/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Polymer/subscriptions","organizations_url":"https://api.github.com/users/Polymer/orgs","repos_url":"https://api.github.com/users/Polymer/repos","events_url":"https://api.github.com/users/Polymer/events{/privacy}","received_events_url":"https://api.github.com/users/Polymer/received_events","type":"Organization","site_admin":false},"repo":{"id":17763576,"name":"core-overlay","full_name":"Polymer/core-overlay","owner":{"login":"Polymer","id":2159051,"avatar_url":"https://avatars.githubusercontent.com/u/2159051?v=3","gravatar_id":"","url":"https://api.github.com/users/Polymer","html_url":"https://github.com/Polymer","followers_url":"https://api.github.com/users/Polymer/followers","following_url":"https://api.github.com/users/Polymer/following{/other_user}","gists_url":"https://api.github.com/users/Polymer/gists{/gist_id}","starred_url":"https://api.github.com/users/Polymer/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Polymer/subscriptions","organizations_url":"https://api.github.com/users/Polymer/orgs","repos_url":"https://api.github.com/users/Polymer/repos","events_url":"https://api.github.com/users/Polymer/events{/privacy}","received_events_url":"https://api.github.com/users/Polymer/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/Polymer/core-overlay","description":"A custom element that renders on top of other content.","fork":false,"url":"https://api.github.com/repos/Polymer/core-overlay","forks_url":"https://api.github.com/repos/Polymer/core-overlay/forks","keys_url":"https://api.github.com/repos/Polymer/core-overlay/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Polymer/core-overlay/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Polymer/core-overlay/teams","hooks_url":"https://api.github.com/repos/Polymer/core-overlay/hooks","issue_events_url":"https://api.github.com/repos/Polymer/core-overlay/issues/events{/number}","events_url":"https://api.github.com/repos/Polymer/core-overlay/events","assignees_url":"https://api.github.com/repos/Polymer/core-overlay/assignees{/user}","branches_url":"https://api.github.com/repos/Polymer/core-overlay/branches{/branch}","tags_url":"https://api.github.com/repos/Polymer/core-overlay/tags","blobs_url":"https://api.github.com/repos/Polymer/core-overlay/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Polymer/core-overlay/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Polymer/core-overlay/git/refs{/sha}","trees_url":"https://api.github.com/repos/Polymer/core-overlay/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Polymer/core-overlay/statuses/{sha}","languages_url":"https://api.github.com/repos/Polymer/core-overlay/languages","stargazers_url":"https://api.github.com/repos/Polymer/core-overlay/stargazers","contributors_url":"https://api.github.com/repos/Polymer/core-overlay/contributors","subscribers_url":"https://api.github.com/repos/Polymer/core-overlay/subscribers","subscription_url":"https://api.github.com/repos/Polymer/core-overlay/subscription","commits_url":"https://api.github.com/repos/Polymer/core-overlay/commits{/sha}","git_commits_url":"https://api.github.com/repos/Polymer/core-overlay/git/commits{/sha}","comments_url":"https://api.github.com/repos/Polymer/core-overlay/comments{/number}","issue_comment_url":"https://api.github.com/repos/Polymer/core-overlay/issues/comments{/number}","contents_url":"https://api.github.com/repos/Polymer/core-overlay/contents/{+path}","compare_url":"https://api.github.com/repos/Polymer/core-overlay/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Polymer/core-overlay/merges","archive_url":"https://api.github.com/repos/Polymer/core-overlay/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Polymer/core-overlay/downloads","issues_url":"https://api.github.com/repos/Polymer/core-overlay/issues{/number}","pulls_url":"https://api.github.com/repos/Polymer/core-overlay/pulls{/number}","milestones_url":"https://api.github.com/repos/Polymer/core-overlay/milestones{/number}","notifications_url":"https://api.github.com/repos/Polymer/core-overlay/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Polymer/core-overlay/labels{/name}","releases_url":"https://api.github.com/repos/Polymer/core-overlay/releases{/id}","created_at":"2014-03-14T23:22:28Z","updated_at":"2015-02-13T01:01:31Z","pushed_at":"2015-03-13T22:42:59Z","git_url":"git://github.com/Polymer/core-overlay.git","ssh_url":"git@github.com:Polymer/core-overlay.git","clone_url":"https://github.com/Polymer/core-overlay.git","svn_url":"https://github.com/Polymer/core-overlay","homepage":"","size":762,"stargazers_count":4,"watchers_count":4,"language":"JavaScript","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":18,"mirror_url":null,"open_issues_count":31,"forks":18,"open_issues":31,"watchers":4,"default_branch":"master"}},"base":{"label":"Polymer:0.8-preview","ref":"0.8-preview","sha":"75655937c07cbf32581e1a01043d755e0e0aa55f","user":{"login":"Polymer","id":2159051,"avatar_url":"https://avatars.githubusercontent.com/u/2159051?v=3","gravatar_id":"","url":"https://api.github.com/users/Polymer","html_url":"https://github.com/Polymer","followers_url":"https://api.github.com/users/Polymer/followers","following_url":"https://api.github.com/users/Polymer/following{/other_user}","gists_url":"https://api.github.com/users/Polymer/gists{/gist_id}","starred_url":"https://api.github.com/users/Polymer/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Polymer/subscriptions","organizations_url":"https://api.github.com/users/Polymer/orgs","repos_url":"https://api.github.com/users/Polymer/repos","events_url":"https://api.github.com/users/Polymer/events{/privacy}","received_events_url":"https://api.github.com/users/Polymer/received_events","type":"Organization","site_admin":false},"repo":{"id":17763576,"name":"core-overlay","full_name":"Polymer/core-overlay","owner":{"login":"Polymer","id":2159051,"avatar_url":"https://avatars.githubusercontent.com/u/2159051?v=3","gravatar_id":"","url":"https://api.github.com/users/Polymer","html_url":"https://github.com/Polymer","followers_url":"https://api.github.com/users/Polymer/followers","following_url":"https://api.github.com/users/Polymer/following{/other_user}","gists_url":"https://api.github.com/users/Polymer/gists{/gist_id}","starred_url":"https://api.github.com/users/Polymer/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Polymer/subscriptions","organizations_url":"https://api.github.com/users/Polymer/orgs","repos_url":"https://api.github.com/users/Polymer/repos","events_url":"https://api.github.com/users/Polymer/events{/privacy}","received_events_url":"https://api.github.com/users/Polymer/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/Polymer/core-overlay","description":"A custom element that renders on top of other content.","fork":false,"url":"https://api.github.com/repos/Polymer/core-overlay","forks_url":"https://api.github.com/repos/Polymer/core-overlay/forks","keys_url":"https://api.github.com/repos/Polymer/core-overlay/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Polymer/core-overlay/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Polymer/core-overlay/teams","hooks_url":"https://api.github.com/repos/Polymer/core-overlay/hooks","issue_events_url":"https://api.github.com/repos/Polymer/core-overlay/issues/events{/number}","events_url":"https://api.github.com/repos/Polymer/core-overlay/events","assignees_url":"https://api.github.com/repos/Polymer/core-overlay/assignees{/user}","branches_url":"https://api.github.com/repos/Polymer/core-overlay/branches{/branch}","tags_url":"https://api.github.com/repos/Polymer/core-overlay/tags","blobs_url":"https://api.github.com/repos/Polymer/core-overlay/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Polymer/core-overlay/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Polymer/core-overlay/git/refs{/sha}","trees_url":"https://api.github.com/repos/Polymer/core-overlay/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Polymer/core-overlay/statuses/{sha}","languages_url":"https://api.github.com/repos/Polymer/core-overlay/languages","stargazers_url":"https://api.github.com/repos/Polymer/core-overlay/stargazers","contributors_url":"https://api.github.com/repos/Polymer/core-overlay/contributors","subscribers_url":"https://api.github.com/repos/Polymer/core-overlay/subscribers","subscription_url":"https://api.github.com/repos/Polymer/core-overlay/subscription","commits_url":"https://api.github.com/repos/Polymer/core-overlay/commits{/sha}","git_commits_url":"https://api.github.com/repos/Polymer/core-overlay/git/commits{/sha}","comments_url":"https://api.github.com/repos/Polymer/core-overlay/comments{/number}","issue_comment_url":"https://api.github.com/repos/Polymer/core-overlay/issues/comments{/number}","contents_url":"https://api.github.com/repos/Polymer/core-overlay/contents/{+path}","compare_url":"https://api.github.com/repos/Polymer/core-overlay/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Polymer/core-overlay/merges","archive_url":"https://api.github.com/repos/Polymer/core-overlay/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Polymer/core-overlay/downloads","issues_url":"https://api.github.com/repos/Polymer/core-overlay/issues{/number}","pulls_url":"https://api.github.com/repos/Polymer/core-overlay/pulls{/number}","milestones_url":"https://api.github.com/repos/Polymer/core-overlay/milestones{/number}","notifications_url":"https://api.github.com/repos/Polymer/core-overlay/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Polymer/core-overlay/labels{/name}","releases_url":"https://api.github.com/repos/Polymer/core-overlay/releases{/id}","created_at":"2014-03-14T23:22:28Z","updated_at":"2015-02-13T01:01:31Z","pushed_at":"2015-03-13T22:42:59Z","git_url":"git://github.com/Polymer/core-overlay.git","ssh_url":"git@github.com:Polymer/core-overlay.git","clone_url":"https://github.com/Polymer/core-overlay.git","svn_url":"https://github.com/Polymer/core-overlay","homepage":"","size":762,"stargazers_count":4,"watchers_count":4,"language":"JavaScript","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":18,"mirror_url":null,"open_issues_count":31,"forks":18,"open_issues":31,"watchers":4,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/Polymer/core-overlay/pulls/59"},"html":{"href":"https://github.com/Polymer/core-overlay/pull/59"},"issue":{"href":"https://api.github.com/repos/Polymer/core-overlay/issues/59"},"comments":{"href":"https://api.github.com/repos/Polymer/core-overlay/issues/59/comments"},"review_comments":{"href":"https://api.github.com/repos/Polymer/core-overlay/pulls/59/comments"},"review_comment":{"href":"https://api.github.com/repos/Polymer/core-overlay/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/Polymer/core-overlay/pulls/59/commits"},"statuses":{"href":"https://api.github.com/repos/Polymer/core-overlay/statuses/7d4c46615d1de742a71a88fcffdd0125a0a64fb4"}}}}