jenkins-bot [Fri, 23 Sep 2016 20:49:36 +0000 (20:49 +0000)]
Merge "mw.loader: Use native Set where possible instead of string keys"
jenkins-bot [Fri, 23 Sep 2016 20:37:59 +0000 (20:37 +0000)]
Merge "Add IMaintainableDatabase for non-OLTP type methods"
jenkins-bot [Fri, 23 Sep 2016 20:36:37 +0000 (20:36 +0000)]
Merge "Add ILBFactory interface for completeness"
jenkins-bot [Fri, 23 Sep 2016 20:32:15 +0000 (20:32 +0000)]
Merge "Add DBO_* class constants and defines.php alias the class constants"
L10n-bot [Fri, 23 Sep 2016 20:03:51 +0000 (20:03 +0000)]
Merge "Localisation updates from https://translatewiki.net."
Translation updater bot [Fri, 23 Sep 2016 19:59:24 +0000 (21:59 +0200)]
Localisation updates from https://translatewiki.net.
Change-Id: Iff900bc05ff000bd0c290d77ad20be6808b12fb0
Aaron Schulz [Fri, 23 Sep 2016 19:41:22 +0000 (12:41 -0700)]
Add DBO_* class constants and defines.php alias the class constants
Change-Id: If13b23ef849d4cf4c711b0ec2bf2e8a795f90738
Aaron Schulz [Sun, 18 Sep 2016 21:40:38 +0000 (14:40 -0700)]
Dependency cleanups to FileBackendStore
* Inject a PSR logger in place of wf* logging methods.
* Replace wfTimestamp() call with ConvertableTimestamp.
* Inject the Profiler object.
* Rename $wiki => $domain to avoid "wiki" mentions.
* Remove stray FSFile::extractImageSizeInfo() method.
Change-Id: I3e3a43d36506bec341dc5727b52f5f5a5d32bff5
jenkins-bot [Fri, 23 Sep 2016 19:20:43 +0000 (19:20 +0000)]
Merge "Add alternative DB_* class constants to ILoadBalancer"
Aaron Schulz [Fri, 23 Sep 2016 06:10:20 +0000 (23:10 -0700)]
Add ILBFactory interface for completeness
Also fixed comment indentation.
Change-Id: I535d320b63477302b06fd634b3ab47eef6868ffc
jenkins-bot [Fri, 23 Sep 2016 18:58:51 +0000 (18:58 +0000)]
Merge "Make newExternalLB() public to match newMainLB()"
Aaron Schulz [Fri, 23 Sep 2016 18:36:43 +0000 (11:36 -0700)]
Add alternative DB_* class constants to ILoadBalancer
Change-Id: I5d7e6d9f0f5bd4275e240a94b996f3740ef46330
jenkins-bot [Fri, 23 Sep 2016 15:25:11 +0000 (15:25 +0000)]
Merge "Add HTMLFormField class for MWRestrictions and use it for bot passwords"
jenkins-bot [Fri, 23 Sep 2016 15:18:12 +0000 (15:18 +0000)]
Merge "Log when Message::__toString has an unexpected format"
jenkins-bot [Fri, 23 Sep 2016 08:55:15 +0000 (08:55 +0000)]
Merge "ScopedCallback: Fix a typo in a comment"
Niklas Laxström [Fri, 23 Sep 2016 08:41:30 +0000 (10:41 +0200)]
ScopedCallback: Fix a typo in a comment
Change-Id: I6179f3b97fdf787c7175e8d7edf06cb2d84f7403
jenkins-bot [Fri, 23 Sep 2016 08:19:46 +0000 (08:19 +0000)]
Merge "Handle links with multiple pipes correctly in edit summaries"
Aaron Schulz [Mon, 19 Sep 2016 09:28:04 +0000 (02:28 -0700)]
Code comment and style cleanups to MysqlLockManager
Change-Id: Idf05c0c44f5f6fbb373625c0aebe015e385700ce
jenkins-bot [Fri, 23 Sep 2016 07:46:04 +0000 (07:46 +0000)]
Merge "Move tagging of API deletions to RC save"
jenkins-bot [Fri, 23 Sep 2016 06:16:11 +0000 (06:16 +0000)]
Merge "Ensure users are able to edit the page after changing the content model"
Aaron Schulz [Fri, 23 Sep 2016 05:24:08 +0000 (22:24 -0700)]
Make newExternalLB() public to match newMainLB()
Change-Id: I7e46c947882c5de6e4d25a7110c2a2558df7ad76
Aaron Schulz [Mon, 19 Sep 2016 08:06:45 +0000 (01:06 -0700)]
Move more LockManager classes to /libs
Change-Id: I4bfa79f430827b8717a57bb61cb7c36bc7fcb489
Kunal Mehta [Sun, 11 Sep 2016 05:14:04 +0000 (22:14 -0700)]
Ensure users are able to edit the page after changing the content model
It is possible for page restrictions to be dependent upon the content
model a page. The best example of this is user JavaScript and CSS
subpages. This adds a Title::setContentModel() function which allows
mocking a Title's content model for the purpose of permission checks.
EditPage and Special:ChangeContentModel were updated to ensure the user
can edit the page with the newly proposed content model before making
the change.
Title::$mContentModel was made private to make sure nothing else mucks
around with it. There were no uses outside of Title anyways.
Bug: T145316
Change-Id: I28c46f408cadf65ed1868401cd00dc15e5acd2fe
jenkins-bot [Fri, 23 Sep 2016 05:13:48 +0000 (05:13 +0000)]
Merge "Inject "srvCache" and local DB connections into LockManagerDB"
Aaron Schulz [Fri, 23 Sep 2016 03:46:16 +0000 (20:46 -0700)]
Add IMaintainableDatabase for non-OLTP type methods
Change-Id: I4cbdfd7a40af17269c527df6e1c3c5644672b8a7
jenkins-bot [Fri, 23 Sep 2016 03:55:04 +0000 (03:55 +0000)]
Merge "Call setTransactionTicket() on DeferredUpdates sub-queue items too"
Aaron Schulz [Fri, 23 Sep 2016 02:53:58 +0000 (19:53 -0700)]
Reduce queries in CategoryViewer via addGoodLinkObjFromRow()
Change-Id: Id782b50f166efbee6c9f8b9b263f09fc5fb5e3f2
jenkins-bot [Fri, 23 Sep 2016 02:09:42 +0000 (02:09 +0000)]
Merge "Remove see comment"
jenkins-bot [Fri, 23 Sep 2016 00:36:40 +0000 (00:36 +0000)]
Merge "Rename includes/Services to includes/services for consistency"
jenkins-bot [Fri, 23 Sep 2016 00:35:47 +0000 (00:35 +0000)]
Merge "Revert "Move wfEscapeWikiText() to Parser::escapeWikitext()""
Legoktm [Fri, 23 Sep 2016 00:29:21 +0000 (00:29 +0000)]
Revert "Move wfEscapeWikiText() to Parser::escapeWikitext()"
Apparently it is possible for Parser::mParserOptions
to not be set in some cases. I'll try again later.
This reverts commit
bda74bff6e180b5a6bb2cc68e12ae391d53789a3.
Bug: T146433
Change-Id: Idb6d1b20995d5f86b712abb386ab987356c4f560
Reedy [Fri, 23 Sep 2016 00:20:50 +0000 (01:20 +0100)]
Remove see comment
Change-Id: I58fcd682dba6c778c0975baf67a6b87f36b1aff2
Reedy [Thu, 22 Sep 2016 23:35:52 +0000 (00:35 +0100)]
Rename includes/Services to includes/services for consistency
Change-Id: I900fab26a7cf5a339233f55c31168f8c2963bc8c
Aaron Schulz [Fri, 23 Sep 2016 00:03:51 +0000 (17:03 -0700)]
Call setTransactionTicket() on DeferredUpdates sub-queue items too
This should lower the rate of "does not have outer scope" log
warnings in DBPerformance.
Also add traces to such logs.
Change-Id: I7d21ea745cae07e0fbbe4cd8de82e93f1d10e0a5
jenkins-bot [Thu, 22 Sep 2016 23:14:34 +0000 (23:14 +0000)]
Merge "Support multiple limits and arbitrary periods in account creation throttle"
Timo Tijhof [Thu, 22 Sep 2016 23:07:54 +0000 (00:07 +0100)]
mw.loader: Use native Set where possible instead of string keys
Total time spent in sortDependencies
(Chrome Canary, unthrottled, MacBook Pro, MediaWiki-Vagrant)
* Before: 0.53ms
* After: 0.3ms
Bug: T146432
Change-Id: I65e2b0efbd080adab003b5c9605405ea0ae5380d
jenkins-bot [Thu, 22 Sep 2016 22:58:26 +0000 (22:58 +0000)]
Merge "Fix doc typo for wasConnectionError()"
jenkins-bot [Thu, 22 Sep 2016 22:54:02 +0000 (22:54 +0000)]
Merge "Split out new ObjectCache::newWANCacheFromParams() method"
jenkins-bot [Thu, 22 Sep 2016 22:35:16 +0000 (22:35 +0000)]
Merge "Simplify and clean up FileBackend exceptions"
Aaron Schulz [Wed, 21 Sep 2016 04:44:29 +0000 (21:44 -0700)]
Simplify and clean up FileBackend exceptions
Use standard exceptions for unexpected errors and remove
FileBackendException class, leaving FileBackendError. The
later is actually intended to be caught in some cases.
Change-Id: I735a525e0b14e518b2da5f18762e0f293064dfc2
Aaron Schulz [Thu, 22 Sep 2016 22:19:17 +0000 (15:19 -0700)]
Add DBConnRef sanity check to LoadBalancer::reuseConnection()
Change-Id: I6b079b994f29c5f7953efe73982ef9e6946a21f8
Aaron Schulz [Thu, 22 Sep 2016 22:09:55 +0000 (15:09 -0700)]
Fix doc typo for wasConnectionError()
Change-Id: I70eaeb630e2a4bb8f2940c2dcc938f7305014d48
jenkins-bot [Thu, 22 Sep 2016 22:05:25 +0000 (22:05 +0000)]
Merge "Make MigrateFileRepoLayout use getErrors()"
jenkins-bot [Thu, 22 Sep 2016 22:02:36 +0000 (22:02 +0000)]
Merge "Move wfEscapeWikiText() to Parser::escapeWikitext()"
Aaron Schulz [Wed, 21 Sep 2016 20:06:05 +0000 (13:06 -0700)]
Generalize core schema docs in DatabasePostgres
Change-Id: I52e64867c1533c50406623d5bc121c1e4da2459a
Gergő Tisza [Thu, 22 Sep 2016 19:44:07 +0000 (19:44 +0000)]
Log when Message::__toString has an unexpected format
Message formatting methods have a side effect on how string conversion
will work, which is a security problem waiting to happen:
$msg = new Message( 'foo' );
echo $msg; // parsed
echo $msg->plain();
echo $msg; // not parsed
This change logs Message -> string transformations which are
affected by a prior call in this way. The behavior will be removed
in a later patch (possibly replaced by something more explicit
if it turns out that something depends on it).
Bug: T146416
Change-Id: Id51cf6a5a937bc41a914f317e980ef42e4d385fb
jenkins-bot [Thu, 22 Sep 2016 21:29:44 +0000 (21:29 +0000)]
Merge "Break long lines and generalize some comments in /rdbms"
jenkins-bot [Thu, 22 Sep 2016 21:19:17 +0000 (21:19 +0000)]
Merge "Inject schema vars into DatabaseMysql"
Bartosz Dziewoński [Thu, 22 Sep 2016 21:14:29 +0000 (21:14 +0000)]
Merge "IcuCollation: Update comments on $tailoringFirstLetters"
Bartosz Dziewoński [Thu, 22 Sep 2016 21:14:23 +0000 (21:14 +0000)]
Merge "Correct error handling for exceptions in 'user' module"
Aaron Schulz [Wed, 21 Sep 2016 20:39:00 +0000 (13:39 -0700)]
Inject schema vars into DatabaseMysql
Also fix broken patchSql.php maintenance script
Change-Id: I45bccb0e2e10bd06651a551fa08ed0c66d11eb6a
jenkins-bot [Thu, 22 Sep 2016 21:05:56 +0000 (21:05 +0000)]
Merge "Remove old remapping hacks from Database::indexName()"
Aaron Schulz [Thu, 22 Sep 2016 21:02:53 +0000 (14:02 -0700)]
Break long lines and generalize some comments in /rdbms
Change-Id: Ibf80c67b59df748e98d74eeab492b1f33d198024
Bartosz Dziewoński [Sun, 18 Sep 2016 12:54:36 +0000 (14:54 +0200)]
Correct error handling for exceptions in 'user' module
Rearrange code so that the try...catch which is supposed to catch
exceptions when evalling code actually catches them. Evaluation of
'user' module was wrapped in `mw.loader.using( 'site' ).always( ... )`,
so it could be executed asynchronously, so try...catch never caught
exceptions from it; they bubbled up to all kinds of weird places and
broke things in confusing ways.
I think the same issue could occur for any module when waiting for
legacy modules to load ('wgResourceLoaderLegacyModules').
Bug: T145970
Change-Id: I91e7d0b4e50c786f7302e30a2b7ed43c3cd0da6c
Bartosz Dziewoński [Wed, 21 Sep 2016 19:24:41 +0000 (21:24 +0200)]
IcuCollation: Update comments on $tailoringFirstLetters
A few more languages marked as "Verified by native speakers",
based on which collations we've been using in production
on Wikimedia wikis.
(I'm not sure if this makes sense now that we're fairly confident
that these are good in general, but since it's already here...)
Change-Id: I8e1f31fa61509eca8c76a2df4e18638005e68b77
Translation updater bot [Thu, 22 Sep 2016 20:56:08 +0000 (22:56 +0200)]
Localisation updates from https://translatewiki.net.
Change-Id: I3796071d3b7f94e65c50a0444fd345a8eeb84534
Gergő Tisza [Wed, 21 Sep 2016 01:33:26 +0000 (01:33 +0000)]
Add HTMLFormField class for MWRestrictions and use it for bot passwords
Change-Id: Ib50238e3be5eec63eb5df97154b60dc4ca33d581
jenkins-bot [Thu, 22 Sep 2016 20:47:57 +0000 (20:47 +0000)]
Merge "Make Database::__clone() a bit more robust using handleSessionLoss()"
jenkins-bot [Thu, 22 Sep 2016 20:43:23 +0000 (20:43 +0000)]
Merge "Split up DBError classes into their own files"
Aaron Schulz [Wed, 21 Sep 2016 21:25:00 +0000 (14:25 -0700)]
Make Database::__clone() a bit more robust using handleSessionLoss()
Change-Id: I6c16abceea612a7b1167b9cca70a174fa6b77020
Aaron Schulz [Thu, 22 Sep 2016 19:12:01 +0000 (12:12 -0700)]
Split up DBError classes into their own files
Change-Id: I671f1a88f0192a5199cfc9c6d7fbde1bff5c4ac8
jenkins-bot [Thu, 22 Sep 2016 20:23:50 +0000 (20:23 +0000)]
Merge "Follow-up
764cd6a1: unbreak quiet buttons"
jenkins-bot [Thu, 22 Sep 2016 19:35:14 +0000 (19:35 +0000)]
Merge "Remove MediaWiki mentions from /rdbms error strings"
Aaron Schulz [Wed, 21 Sep 2016 19:50:34 +0000 (12:50 -0700)]
Remove MediaWiki mentions from /rdbms error strings
Change-Id: Ia330d8e465641d04e5d22a24490d792913f1ccb8
Roan Kattouw [Thu, 22 Sep 2016 19:01:11 +0000 (12:01 -0700)]
Follow-up
764cd6a1: unbreak quiet buttons
Quiet buttons are supposed to be initially gray,
not initially colored.
Bug: T146401
Change-Id: I8c3020591c82f7b2c1f7043892e73019886478af
Ramunas Geciauskas [Tue, 8 Mar 2016 16:04:27 +0000 (11:04 -0500)]
Add category name in ID property for extension row in Special:Version page
Extensions can belong to multiple different categories. When listing them in
the Special:Version page each entry is surrounded with HTML element with
ID property "mw-version-ext-{NAME}". This causes generation of duplicate
ID values, which is against W3C rules.
To preserve valid and compliant HTML while retaining ID values, change the
ID pattern to "mw-version-ext-{CATEGORY}-{NAME}".
Bug: T99025
Change-Id: Ifdde0704631f1ef41e4c83e7e8116003983e0808
Timo Tijhof [Thu, 22 Sep 2016 17:29:28 +0000 (18:29 +0100)]
tests: Fix invalid @covers value in StatusTest.php
Uusally, phpunit issues a warning and continues to generate the
report but in this case it caused an early exit with no output.
Follows-up
3706dcb5c.
> Trying to @cover not existing method Status::getErrorsOnlyStatus.
Also:
* Increase coverage by adding @covers where missing.
* Use setOK() internally.
* Add test for 'ok' setter.
Change-Id: If6db634079c857f02b2594be199e6910ec49a52a
cenarium [Tue, 20 Sep 2016 17:21:36 +0000 (19:21 +0200)]
Support multiple limits and arbitrary periods in account creation throttle
This adds support for multiple count-per-period limits and arbitrary
period durations in the AuthManager account creation throttle in the
wiki settings. The $wgAccountCreationThrottle config variable becomes
an array like $wgPasswordAttemptThrottle.
Bug: T146290
Change-Id: Iea182a92a1199b0ce7103ab9ae24f1c87b01985c
jenkins-bot [Thu, 22 Sep 2016 07:17:39 +0000 (07:17 +0000)]
Merge "Remove screen layout references in passwordreset-email* messages"
jenkins-bot [Thu, 22 Sep 2016 05:36:32 +0000 (05:36 +0000)]
Merge "Use ConvertibleTimestamp::convert() in a few places"
Aaron Schulz [Thu, 22 Sep 2016 05:22:04 +0000 (22:22 -0700)]
Actually set errorLogger in Database
Change-Id: Icc2e49bcedf5172c1c1fdf8202acc6c1abdbac5b
Kunal Mehta [Thu, 22 Sep 2016 04:46:24 +0000 (21:46 -0700)]
Use ConvertibleTimestamp::convert() in a few places
Change-Id: I9da31cd96fa7afa5cfccbbc204fb446fdb1a3c65
Kunal Mehta [Thu, 22 Sep 2016 04:43:32 +0000 (21:43 -0700)]
Rename Convert*a*bleTimestamp to Convert*i*bleTimestamp
Per the dictionary.
Change-Id: I3dcef9fb020c8c6764ee073111ed8c032e4c5a63
jenkins-bot [Thu, 22 Sep 2016 04:34:16 +0000 (04:34 +0000)]
Merge "time: Implement ConvertableTimestamp::now()"
jenkins-bot [Thu, 22 Sep 2016 04:31:59 +0000 (04:31 +0000)]
Merge "Add deprecated comment to Article::doEdit()"
Kunal Mehta [Thu, 22 Sep 2016 03:28:42 +0000 (20:28 -0700)]
time: Implement ConvertableTimestamp::now()
Shortcut for ConvertableTimestamp::convert() for the current time.
Change-Id: I1c34c0a59bb57652c7a2e959836c8ba400a25f49
jenkins-bot [Thu, 22 Sep 2016 03:55:33 +0000 (03:55 +0000)]
Merge "time: Implement ConvertableTimestamp::convert()"
Timo Tijhof [Wed, 21 Sep 2016 00:19:00 +0000 (01:19 +0100)]
time: Implement ConvertableTimestamp::convert()
* This method is analogous to wfTimestamp(). Optimise for the common
idiom of just converting a timestamp without having the caller hold
on to any object.
* Make wfTimestamp() use this (it could already since it didn't
use any MWTimestamp methods). Use via MWTimestamp. While this is
the same as direct access, it allows future changes.
* Add tests covering this new method.
Change-Id: I7f9104f1701d92fe25d72c7943581c64e1d093fa
jenkins-bot [Thu, 22 Sep 2016 03:30:06 +0000 (03:30 +0000)]
Merge "Move IP class to libs/"
jenkins-bot [Thu, 22 Sep 2016 03:25:20 +0000 (03:25 +0000)]
Merge "Remove MimeMagic depedency from FSFile and move it to /libs"
jenkins-bot [Thu, 22 Sep 2016 03:19:27 +0000 (03:19 +0000)]
Merge "Move IP::isConfigured/TrustedProxy() to ProxyLookup service"
Kunal Mehta [Thu, 22 Sep 2016 03:18:08 +0000 (20:18 -0700)]
Move IP class to libs/
Also fix some misplaced parenthesis in IPTest.
Change-Id: I84d6120c49f733ec45e7e0005259871808b7568b
Aaron Schulz [Mon, 19 Sep 2016 02:05:48 +0000 (19:05 -0700)]
Remove MimeMagic depedency from FSFile and move it to /libs
Change-Id: Ieaae909b49c798b6e9bed65d15961cefbdaec49b
jenkins-bot [Thu, 22 Sep 2016 03:02:14 +0000 (03:02 +0000)]
Merge "Move SamplingStatsdClient into stats/ subdirectory"
Kunal Mehta [Thu, 22 Sep 2016 02:52:06 +0000 (19:52 -0700)]
Move IP::isConfigured/TrustedProxy() to ProxyLookup service
This creates a new ProxyLookup service to house the
IP::isConfiguredProxy() and IP::isTrustedProxy() functions. The main
purpose of this refactoring is to make the IP class entirely independent
from MediaWiki, so it can be split into a separate library.
Change-Id: I60434a5f3d99880352bc0f72349c33b7d029ae09
jenkins-bot [Thu, 22 Sep 2016 03:01:51 +0000 (03:01 +0000)]
Merge "refreshLinks: Use vslow group for DB_REPLICA connections"
jenkins-bot [Thu, 22 Sep 2016 02:07:14 +0000 (02:07 +0000)]
Merge "Migrate callers to new MWFileProps::getPropsFromPath() method"
jenkins-bot [Thu, 22 Sep 2016 00:40:45 +0000 (00:40 +0000)]
Merge "Dependency inject $wgTmpDirectory into FileBackend classes"
Aaron Schulz [Mon, 19 Sep 2016 01:39:59 +0000 (18:39 -0700)]
Migrate callers to new MWFileProps::getPropsFromPath() method
* FSFile should not be responsible for handling this much logic.
* Make more MediaHandler classes aware of the fact that an object
other than File might be passed in. Use the FSFile instead of a
useless empty stdClass object.
* Also added more fields to FSFile::placeholderProps to make it
more complete.
Change-Id: I9fe764b2a7261af507c6555e6a57273cf7d00d36
Aaron Schulz [Thu, 22 Sep 2016 00:28:08 +0000 (17:28 -0700)]
Make MigrateFileRepoLayout use getErrors()
Change-Id: I5281c4ded9eba42eccaf5a67e809a0175fa057ce
Aaron Schulz [Wed, 21 Sep 2016 16:47:34 +0000 (09:47 -0700)]
Split out new ObjectCache::newWANCacheFromParams() method
Change-Id: Ib2e409dd129bd1e2871fe239e71a4eb8fb42944c
Aaron Schulz [Wed, 21 Sep 2016 16:38:34 +0000 (09:38 -0700)]
Use standard exceptions in ObjectCache and always handle CACHE_NONE/"hash"
* If cache CACHE_NONE or "hash" is not set yet or was unset,
return the proper new object anyway for sanity.
* Also fixed $params typo in newFromParams(). This should not
have any effect since SqlBagOStuff ignores the key in this case.
* Removed excess "use" statement.
Change-Id: I36108a865273b9c209145828e5e1216b545ef431
jenkins-bot [Wed, 21 Sep 2016 21:48:39 +0000 (21:48 +0000)]
Merge "Cleanup method visibilites in Database"
jenkins-bot [Wed, 21 Sep 2016 21:41:11 +0000 (21:41 +0000)]
Merge "Set more FakeDatabaseMysqlBase fields in __construct()"
L10n-bot [Wed, 21 Sep 2016 21:21:58 +0000 (21:21 +0000)]
Merge "Localisation updates from https://translatewiki.net."
Translation updater bot [Wed, 21 Sep 2016 21:16:46 +0000 (23:16 +0200)]
Localisation updates from https://translatewiki.net.
Change-Id: Ib08086b1ad6f1c9409464178b552525bb74e41e4
jenkins-bot [Wed, 21 Sep 2016 21:13:36 +0000 (21:13 +0000)]
Merge "Clean up lock name in lock messages in DatabaseMysqlBase"
jenkins-bot [Wed, 21 Sep 2016 21:12:00 +0000 (21:12 +0000)]
Merge "Fix IDEA warnings in CloneDatabase"
Aaron Schulz [Wed, 21 Sep 2016 21:06:12 +0000 (14:06 -0700)]
Set more FakeDatabaseMysqlBase fields in __construct()
Change-Id: I37a1e4aae186e19637817bd10be0d8fad06187d4
Alexander I. Mashin [Tue, 2 Aug 2016 13:08:05 +0000 (20:08 +0700)]
Fix to incorrect calls of header () breaking saving some pages and login
This is to fix incorrect calls of header () with null as its third parametre
in WebResponse::header ().
Under HHVM 3.14.3 this causes warnings in error.log and breaks saving page
and user login.
Bug: T140864
Change-Id: I98291e2746e92e22672de077bccfb36ae91d2c62