Skip to:
Content

BuddyPress.org

Changeset 10495


Ignore:
Timestamp:
02/02/2016 07:53:52 PM (9 years ago)
Author:
imath
Message:

Make sure the Avatar UI behaves the right way in Microsoft Edge & Chrome

  • Use, if needed, MS Edge specific attribute for the video stream (srcObject).
  • Make sure Plupload Uploader is also ready for MS Edge within the wp-admin/profile screen.
  • Make sure the "Browse" button works the right way in MS Edge.
  • About the Chrome Browser: only load the webcam script if the website is using ssl.

see #6846 (branch 2.4)

props r-a-y, hnla

Location:
branches/2.4/src/bp-core
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • branches/2.4/src/bp-core/bp-core-avatars.php

    r10369 r10495  
    19491949 */
    19501950function bp_avatar_use_webcam() {
    1951     global $is_safari, $is_IE;
     1951    global $is_safari, $is_IE, $is_chrome;
    19521952
    19531953    /**
     
    19641964     * @see  http://caniuse.com/#feat=stream
    19651965     */
    1966     if ( $is_safari || $is_IE ) {
     1966    if ( $is_safari || $is_IE || ( $is_chrome && ! is_ssl() ) ) {
    19671967        return false;
    19681968    }
  • branches/2.4/src/bp-core/css/avatar-rtl.css

    r10155 r10495  
    171171}
    172172
    173 .drag-drop-inside p.drag-drop-info {margin-top: 0;}
     173.drag-drop-inside p.drag-drop-info {
     174    margin-top: 0;
     175}
     176
     177@supports (-ms-accelerator:true) {
     178    .drag-drop-inside p.drag-drop-info {
     179        display: block;
     180    }
     181}
    174182
    175183#avatar-to-crop {
  • branches/2.4/src/bp-core/css/avatar.css

    r10155 r10495  
    171171}
    172172
    173 .drag-drop-inside p.drag-drop-info {margin-top: 0;}
     173.drag-drop-inside p.drag-drop-info {
     174    margin-top: 0;
     175}
     176
     177@supports (-ms-accelerator:true) {
     178    .drag-drop-inside p.drag-drop-info {
     179        display: block;
     180    }
     181}
    174182
    175183#avatar-to-crop {
  • branches/2.4/src/bp-core/js/avatar.js

    r10208 r10495  
    1616    bp.Avatar = {
    1717        start: function() {
     18            var self = this;
     19
    1820            /**
    1921             * Remove the bp-legacy UI
     
    4345            /**
    4446             * In Administration screens we're using Thickbox
    45              * We need to make sure to reset the views if it's closed
     47             * We need to make sure to reset the views if it's closed or opened
    4648             */
    4749            $( 'body.wp-admin' ).on( 'tb_unload', '#TB_window', function() {
    48                 // Reset to the uploader view
    49                 bp.Avatar.nav.trigger( 'bp-avatar-view:changed', 'upload' );
    50 
    51                 // Reset to the uploader nav
    52                 _.each( bp.Avatar.navItems.models, function( model ) {
    53                     if ( model.id === 'upload' ) {
    54                         model.set( { active: 1 } );
    55                     } else {
    56                         model.set( { active: 0 } );
    57                     }
    58                 } );
     50                self.resetViews();
     51            } );
     52
     53            $( 'body.wp-admin' ).on( 'click', '.bp-xprofile-avatar-user-edit', function() {
     54                self.resetViews();
    5955            } );
    6056        },
     
    121117                    break;
    122118            }
     119        },
     120
     121        resetViews: function() {
     122            // Reset to the uploader view
     123            this.nav.trigger( 'bp-avatar-view:changed', 'upload' );
     124
     125            // Reset to the uploader nav
     126            _.each( this.navItems.models, function( model ) {
     127                if ( model.id === 'upload' ) {
     128                    model.set( { active: 1 } );
     129                } else {
     130                    model.set( { active: 0 } );
     131                }
     132            } );
    123133        },
    124134
  • branches/2.4/src/bp-core/js/webcam.js

    r10017 r10495  
    9090                video.src = stream;
    9191                video.play();
     92            } else if ( video.srcObject !== undefined ) {
     93                video.srcObject = stream;
    9294            } else if ( window.URL ) {
    9395                video.src = window.URL.createObjectURL( stream );
     
    213215
    214216            if ( navigator.getUserMedia ) {
    215                 navigator.getUserMedia( { video:true }, bp.WebCam.gotStream, bp.WebCams.noStream );
     217                navigator.getUserMedia( { video:true }, bp.WebCam.gotStream, bp.WebCam.noStream );
    216218            }  else if ( navigator.oGetUserMedia ) {
    217219                navigator.oGetUserMedia( { video:true }, bp.WebCam.gotStream, bp.WebCam.noStream );
Note: See TracChangeset for help on using the changeset viewer.