2 Copyright (c) 2015 The Polymer Project Authors. All rights reserved.
3 This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
4 The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
5 The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
6 Code distributed by Google as part of the polymer project is also
7 subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
10 <link rel=
"import" href=
"../polymer/polymer.html">
13 `iron-media-query` can be used to data bind to a CSS media query.
14 The `query` property is a bare CSS media query.
15 The `query-matches` property is a boolean representing whether the page matches that media query.
19 <iron-media-query query="(min-width: 600px)" query-matches="{{queryMatches}}"></iron-media-query>
24 @element iron-media-query
31 is
: 'iron-media-query',
36 * The Boolean return value of the media query.
46 * The CSS media query to evaluate.
50 observer
: 'queryChanged'
56 this._mqHandler
= this.queryHandler
.bind(this);
59 queryChanged: function(query
) {
61 this._mq
.removeListener(this._mqHandler
);
63 if (query
[0] !== '(') {
64 query
= '(' + query
+ ')';
66 this._mq
= window
.matchMedia(query
);
67 this._mq
.addListener(this._mqHandler
);
68 this.queryHandler(this._mq
);
71 queryHandler: function(mq
) {
72 this._setQueryMatches(mq
.matches
);