1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- // Copyright 2007 The Closure Library Authors. All Rights Reserved.
- //
- // 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.
- /**
- * @fileoverview Newer versions of iPhoto include a Safari plugin which allows
- * the browser to detect if iPhoto is installed. Adapted from detection code
- * built into the Mac.com Gallery RSS feeds.
- * @author brenneman@google.com (Shawn Brenneman)
- * @see ../demos/useragent.html
- */
- goog.provide('goog.userAgent.iphoto');
- goog.require('goog.string');
- goog.require('goog.userAgent');
- (function() {
- var hasIphoto = false;
- var version = '';
- /**
- * The plugin description string contains the version number as in the form
- * 'iPhoto 700'. This returns just the version number as a dotted string,
- * e.g., '7.0.0', compatible with {@code goog.string.compareVersions}.
- * @param {string} desc The version string.
- * @return {string} The dotted version.
- */
- function getIphotoVersion(desc) {
- var matches = desc.match(/\d/g);
- return matches.join('.');
- }
- if (goog.userAgent.WEBKIT && navigator.mimeTypes &&
- navigator.mimeTypes.length > 0) {
- var iphoto = navigator.mimeTypes['application/photo'];
- if (iphoto) {
- hasIphoto = true;
- var description = iphoto['description'];
- if (description) {
- version = getIphotoVersion(description);
- }
- }
- }
- /**
- * Whether we can detect that the user has iPhoto installed.
- * @type {boolean}
- */
- goog.userAgent.iphoto.HAS_IPHOTO = hasIphoto;
- /**
- * The version of iPhoto installed if found.
- * @type {string}
- */
- goog.userAgent.iphoto.VERSION = version;
- })();
- /**
- * Whether the installed version of iPhoto is as new or newer than a given
- * version.
- * @param {string} version The version to check.
- * @return {boolean} Whether the installed version of iPhoto is as new or newer
- * than a given version.
- */
- goog.userAgent.iphoto.isVersion = function(version) {
- return goog.string.compareVersions(goog.userAgent.iphoto.VERSION, version) >=
- 0;
- };
|