jenkins-bot has submitted this change and it was merged.

Change subject: HHVM beta feature: just manage the cookie for now
......................................................................


HHVM beta feature: just manage the cookie for now

Per discussion with Tim, Rob, and Greg on IRC, we should defer UX changes, and
make the beta feature just manage the cookie for now.

Change-Id: Icaf9c1440c72bbc4a4e51a2575f24c0f2c6fb6ce
---
M WikimediaEvents.php
M WikimediaEventsHooks.php
D modules/ext.wikimediaEvents.backendPerformance.js
3 files changed, 20 insertions(+), 75 deletions(-)

Approvals:
  Aaron Schulz: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/WikimediaEvents.php b/WikimediaEvents.php
index 49ef1ca..79a76ef 100644
--- a/WikimediaEvents.php
+++ b/WikimediaEvents.php
@@ -61,11 +61,6 @@
                'remoteExtPath' => 'WikimediaEvents/modules',
                'targets' => array( 'desktop', 'mobile' ),
        ),
-       'ext.wikimediaEvents.backendPerformance' => array(
-               'scripts' => 'ext.wikimediaEvents.backendPerformance.js',
-               'localBasePath' => __DIR__ . '/modules',
-               'remoteExtPath' => 'WikimediaEvents/modules',
-       ),
 );
 
 $wgVisualEditorPluginModules[] = 'ext.wikimediaEvents.ve';
@@ -94,5 +89,3 @@
 // Hooks for HHVM beta-feature
 
 $wgHooks['GetBetaFeaturePreferences'][] = 
'WikimediaEventsHooks::onGetBetaFeaturePreferences';
-$wgHooks['UserSetCookies'][] = 'WikimediaEventsHooks::onUserSetCookies';
-$wgHooks['PreferencesFormPreSave'][] = 
'WikimediaEventsHooks::onPreferencesFormPreSave';
\ No newline at end of file
diff --git a/WikimediaEventsHooks.php b/WikimediaEventsHooks.php
index f94391e..2f2b772 100644
--- a/WikimediaEventsHooks.php
+++ b/WikimediaEventsHooks.php
@@ -16,12 +16,27 @@
         * @param Skin &$skin
         */
        public static function onBeforePageDisplay( &$out, &$skin ) {
-               if ( !$out->getUser()->isAnon() ) {
-                       $out->addModules( 'ext.wikimediaEvents.deprecate' );
-               }
+               $user = $out->getUser();
 
-               if ( self::enabledHHVMBetaFeature( $out->getUser() ) ) {
-                       $out->addModules( 
'ext.wikimediaEvents.backendPerformance' );
+               if ( $user->isAnon() ) {
+                       return;
+               }
+               $out->addModules( 'ext.wikimediaEvents.deprecate' );
+
+               $req = $out->getRequest();
+               $hhvmEnabled = ( class_exists( 'BetaFeatures' ) && 
BetaFeatures::isFeatureEnabled( $user, 'HHVM' ) );
+               $currentCookieValue = $req->getCookie( 'HHVM', '' );
+
+               if ( $hhvmEnabled ) {
+                       if ( $currentCookieValue !== 'true' ) {
+                               // Set the cookie.
+                               $req->response()->setcookie( 'HHVM', 'true', 
null, array( 'prefix' => '' ) );
+                       }
+               } else {
+                       if ( $currentCookieValue !== null ) {
+                               // Clear the cookie.
+                               $req->response()->setcookie( 'HHVM', '', time() 
- 86400, array( 'prefix' => '' ) );
+                       }
                }
        }
 
@@ -318,60 +333,6 @@
         */
        public static function onListDefinedTags( &$tags ) {
                $tags[] = 'HHVM';
-       }
-
-       /**
-        * Set the HHVM cookie on login
-        *
-        * @param User $user
-        * @param array &$session
-        * @param array &$cookies
-        */
-       public static function onUserSetCookies( User $user, &$session, 
&$cookies ) {
-               // We can't use $cookies because we need to override the 
default prefix.
-               self::setHHVMCookie(
-                       $user->getRequest()->response(),
-                       self::enabledHHVMBetaFeature( $user )
-               );
-       }
-
-       /**
-        * Set the HHVM cookie for the given WebResponse.
-        *
-        * @param WebResponse $response
-        * @param bool $value
-        */
-       private static function setHHVMCookie( WebResponse $response, $value ) {
-               $response->setcookie(
-                       'HHVM',
-                       $value ? 'true': '', // must be the string "true"
-                       0, // expiry
-                       array( 'prefix' => '' )
-               );
-       }
-
-       /**
-        * Set the HHVM cookie after saving preferences
-        *
-        * @param $formData
-        * @param PreferencesForm $form
-        * @param User $user
-        */
-       public static function onPreferencesFormPreSave( $formData, 
PreferencesForm $form, User $user ) {
-               self::setHHVMCookie(
-                       $form->getRequest()->response(),
-                       self::enabledHHVMBetaFeature( $user )
-               );
-       }
-
-       /**
-        * Whether the user has enabled the HHVM BetaFeature
-        *
-        * @param User $user
-        * @return bool
-        */
-       private static function enabledHHVMBetaFeature( User $user ) {
-               return class_exists( 'BetaFeatures' ) && 
BetaFeatures::isFeatureEnabled( $user, 'HHVM' );
        }
 
        /**
diff --git a/modules/ext.wikimediaEvents.backendPerformance.js 
b/modules/ext.wikimediaEvents.backendPerformance.js
deleted file mode 100644
index ab1036b..0000000
--- a/modules/ext.wikimediaEvents.backendPerformance.js
+++ /dev/null
@@ -1,9 +0,0 @@
-( function ( mw, $ ) {
-       $( window ).on( 'load', function() {
-               var backend = mw.config.get( 'wgPoweredByHHVM' ) ? 'HHVM' : 
'PHP5',
-                       respTime = mw.config.get( 'wgBackendResponseTime' ),
-                       caption = respTime.toString() + 'ms (<strong>' + 
backend + '</strong>)';
-
-               $( '<li class="mw-backendperformance">' ).html( caption 
).prependTo( '#p-personal ul' );
-       } );
-}( mediaWiki, jQuery ) );

-- 
To view, visit https://gerrit.wikimedia.org/r/161372
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: Icaf9c1440c72bbc4a4e51a2575f24c0f2c6fb6ce
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/WikimediaEvents
Gerrit-Branch: master
Gerrit-Owner: Ori.livneh <[email protected]>
Gerrit-Reviewer: Aaron Schulz <[email protected]>
Gerrit-Reviewer: jenkins-bot <>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to