Ori.livneh 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
(cherry picked from commit 86bfc4f45b5baf445717e2875656efd332eca4da)
---
M WikimediaEvents.php
M WikimediaEventsHooks.php
D modules/ext.wikimediaEvents.backendPerformance.js
3 files changed, 20 insertions(+), 75 deletions(-)
Approvals:
Ori.livneh: Verified; Looks good to me, approved
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/161384
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: wmf/1.24wmf21
Gerrit-Owner: Ori.livneh <[email protected]>
Gerrit-Reviewer: Ori.livneh <[email protected]>
Gerrit-Reviewer: jenkins-bot <>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits