WikidataBuilder has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/291888

Change subject: New Wikidata Build - 2016-05-31T10:00:01+0000
......................................................................

New Wikidata Build - 2016-05-31T10:00:01+0000

Change-Id: I5745fde44e6b5cf246f749e29af95f3acffde9f2
---
M composer.lock
M 
extensions/ArticlePlaceholder/modules/ext.articleplaceholder.defaultDisplay.css
M extensions/MediaInfo/src/Content/MediaInfoHandler.php
M extensions/MediaInfo/tests/phpunit/mediawiki/View/MediaInfoViewTest.php
M extensions/Wikibase/client/i18n/inh.json
M extensions/Wikibase/client/includes/WikibaseClient.php
M extensions/Wikibase/composer.json
M extensions/Wikibase/lib/i18n/it.json
M extensions/Wikibase/lib/includes/Store/BufferingTermLookup.php
M extensions/Wikibase/lib/includes/Store/Sql/SqlEntityInfoBuilder.php
M extensions/Wikibase/lib/includes/Store/Sql/TermSqlIndex.php
M extensions/Wikibase/lib/includes/TermIndexEntry.php
M extensions/Wikibase/repo/i18n/it.json
M extensions/Wikibase/repo/includes/ValidatorBuilders.php
M extensions/Wikibase/repo/includes/WikibaseRepo.php
M extensions/Wikibase/repo/resources/wikibase.ui.entityViewInit.js
A extensions/Wikibase/tests/browser/ci.yml
M 
extensions/Wikibase/view/resources/jquery/wikibase/jquery.wikibase.entitytermsview.js
M vendor/composer/installed.json
M vendor/wikibase/javascript-api/README.md
M vendor/wikibase/javascript-api/WikibaseJavaScriptApi.php
M vendor/wikibase/javascript-api/src/getLocationAgnosticMwApi.js
22 files changed, 346 insertions(+), 293 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Wikidata 
refs/changes/88/291888/1

diff --git a/composer.lock b/composer.lock
index 67ba63f..23eb22a 100644
--- a/composer.lock
+++ b/composer.lock
@@ -780,12 +780,12 @@
             "source": {
                 "type": "git",
                 "url": 
"https://github.com/wikimedia/mediawiki-extensions-ArticlePlaceholder.git";,
-                "reference": "6025c71f8be6b2d17b46749ec298d07b091b9e82"
+                "reference": "be49fc7fef64e29f5f1f3ae5d6aa420c7c9aa6d9"
             },
             "dist": {
                 "type": "zip",
-                "url": 
"https://api.github.com/repos/wikimedia/mediawiki-extensions-ArticlePlaceholder/zipball/6025c71f8be6b2d17b46749ec298d07b091b9e82";,
-                "reference": "6025c71f8be6b2d17b46749ec298d07b091b9e82",
+                "url": 
"https://api.github.com/repos/wikimedia/mediawiki-extensions-ArticlePlaceholder/zipball/be49fc7fef64e29f5f1f3ae5d6aa420c7c9aa6d9";,
+                "reference": "be49fc7fef64e29f5f1f3ae5d6aa420c7c9aa6d9",
                 "shasum": ""
             },
             "require-dev": {
@@ -809,7 +809,7 @@
             ],
             "description": "Provides a special page with Wikibase information 
about a certain topic, with invitation to create an article for the topic",
             "homepage": 
"https://www.mediawiki.org/wiki/Extension:ArticlePlaceholder";,
-            "time": "2016-05-29 20:25:30"
+            "time": "2016-05-30 14:11:53"
         },
         {
             "name": "propertysuggester/property-suggester",
@@ -1369,16 +1369,16 @@
         },
         {
             "name": "wikibase/javascript-api",
-            "version": "1.1.0",
+            "version": "1.1.1",
             "source": {
                 "type": "git",
                 "url": 
"https://github.com/wikimedia/mediawiki-extensions-WikibaseJavaScriptApi.git";,
-                "reference": "a9c0202a33f278edd024f0c150d6281a6635bfc0"
+                "reference": "8c5eef73fc5a22c5ddb46da24dbeeaf14094c28c"
             },
             "dist": {
                 "type": "zip",
-                "url": 
"https://api.github.com/repos/wikimedia/mediawiki-extensions-WikibaseJavaScriptApi/zipball/a9c0202a33f278edd024f0c150d6281a6635bfc0";,
-                "reference": "a9c0202a33f278edd024f0c150d6281a6635bfc0",
+                "url": 
"https://api.github.com/repos/wikimedia/mediawiki-extensions-WikibaseJavaScriptApi/zipball/8c5eef73fc5a22c5ddb46da24dbeeaf14094c28c";,
+                "reference": "8c5eef73fc5a22c5ddb46da24dbeeaf14094c28c",
                 "shasum": ""
             },
             "require": {
@@ -1409,7 +1409,7 @@
                 }
             ],
             "description": "JavaScript client for the Wikibase Repository web 
API",
-            "time": "2016-02-17 10:46:01"
+            "time": "2016-05-30 17:31:31"
         },
         {
             "name": "wikibase/media-info",
@@ -1417,7 +1417,7 @@
             "source": {
                 "type": "git",
                 "url": 
"https://gerrit.wikimedia.org/r/mediawiki/extensions/WikibaseMediaInfo";,
-                "reference": "79b264dd93e26f00b7438dc00c79cd468acdde23"
+                "reference": "8111551b13188e898811f2af51637997a2a08f64"
             },
             "require": {
                 "php": ">=5.5.0",
@@ -1463,7 +1463,7 @@
                 "issues": "https://phabricator.wikimedia.org/";,
                 "irc": "irc://irc.freenode.net/wikidata"
             },
-            "time": "2016-05-24 16:10:19"
+            "time": "2016-05-31 07:02:52"
         },
         {
             "name": "wikibase/quality",
@@ -1569,12 +1569,12 @@
             "source": {
                 "type": "git",
                 "url": 
"https://github.com/wikimedia/mediawiki-extensions-Wikibase.git";,
-                "reference": "6600063308c7019fef6219973c8969fa6bb9f629"
+                "reference": "8307e06a9ab386302085184571dcad270ef4a77d"
             },
             "dist": {
                 "type": "zip",
-                "url": 
"https://api.github.com/repos/wikimedia/mediawiki-extensions-Wikibase/zipball/6600063308c7019fef6219973c8969fa6bb9f629";,
-                "reference": "6600063308c7019fef6219973c8969fa6bb9f629",
+                "url": 
"https://api.github.com/repos/wikimedia/mediawiki-extensions-Wikibase/zipball/8307e06a9ab386302085184571dcad270ef4a77d";,
+                "reference": "8307e06a9ab386302085184571dcad270ef4a77d",
                 "shasum": ""
             },
             "require": {
@@ -1585,7 +1585,7 @@
                 "data-values/interfaces": "~0.2.0|~0.1.5",
                 "data-values/javascript": "~0.8.0",
                 "data-values/number": "~0.7.0",
-                "data-values/serialization": "~1.0",
+                "data-values/serialization": "~1.1",
                 "data-values/time": "~0.8.4",
                 "data-values/validators": "~0.1.0",
                 "data-values/value-view": "~0.17.1",
@@ -1646,7 +1646,7 @@
                 "wikibaserepo",
                 "wikidata"
             ],
-            "time": "2016-05-30 08:56:04"
+            "time": "2016-05-31 09:34:42"
         },
         {
             "name": "wikibase/wikimedia-badges",
diff --git 
a/extensions/ArticlePlaceholder/modules/ext.articleplaceholder.defaultDisplay.css
 
b/extensions/ArticlePlaceholder/modules/ext.articleplaceholder.defaultDisplay.css
index 0040bd3..20c70c4 100644
--- 
a/extensions/ArticlePlaceholder/modules/ext.articleplaceholder.defaultDisplay.css
+++ 
b/extensions/ArticlePlaceholder/modules/ext.articleplaceholder.defaultDisplay.css
@@ -12,6 +12,10 @@
   padding-right: 305px;
 }
 
+.mw-body .mw-body-content .articleplaceholder-statementgroup h1 {
+  margin-top: 0; /*overwrite standard 1em top margin*/
+}
+
 #create-article-button {
   position: absolute;
   top: 0px;
@@ -30,11 +34,15 @@
 
 .articleplaceholder-identifierlist {
   clear: both;
-  border: 1px solid black;
+  border: 1px solid #ccc;
   background-color: #F9F9F9;
   width: 100%;
-  padding: 0.6em;
-  text-align: left;
+  padding: 0.4em;
+}
+
+.articleplaceholder-identifierlist td{
+  vertical-align: top;
+  padding:0.25em;
 }
 
 .mw-body .articleplaceholder-identifierlist p {
@@ -45,18 +53,23 @@
   word-break:break-all;
 }
 
-.articleplaceholder-statementgrouplist {
-  margin-top: 5%;
+.articleplaceholder-statement {
+  margin-top: 0em;
 }
 
-.articleplaceholder-value {
-  font-size: 130%;
+.articleplaceholder-statementgrouplist {
+  margin-top: 1.5em;
 }
 
 .articleplaceholder-identifierlist .articleplaceholder-value {
   font-size: 100%;
 }
 
-.articleplaceholder-qualifier {
-  text-indent: 1em;
+.articleplaceholder-identifierlist .articleplaceholder-value {
+  font-size: 100%;
+  margin-left: 1.5em;
 }
+
+.articleplaceholder-qualifier {
+  margin-left: 1em;
+}
\ No newline at end of file
diff --git a/extensions/MediaInfo/src/Content/MediaInfoHandler.php 
b/extensions/MediaInfo/src/Content/MediaInfoHandler.php
index ff4c23c..1185c93 100644
--- a/extensions/MediaInfo/src/Content/MediaInfoHandler.php
+++ b/extensions/MediaInfo/src/Content/MediaInfoHandler.php
@@ -3,7 +3,6 @@
 namespace Wikibase\MediaInfo\Content;
 
 use IContextSource;
-use Language;
 use Page;
 use Wikibase\DataModel\Entity\EntityIdParser;
 use Wikibase\EditEntityAction;
diff --git 
a/extensions/MediaInfo/tests/phpunit/mediawiki/View/MediaInfoViewTest.php 
b/extensions/MediaInfo/tests/phpunit/mediawiki/View/MediaInfoViewTest.php
index 7063b32..641d0cc 100644
--- a/extensions/MediaInfo/tests/phpunit/mediawiki/View/MediaInfoViewTest.php
+++ b/extensions/MediaInfo/tests/phpunit/mediawiki/View/MediaInfoViewTest.php
@@ -102,7 +102,6 @@
        public function testGetHtml(
                MediaInfo $entity,
                MediaInfoId $entityId = null,
-               TermList $descriptions = null,
                $contentLanguageCode = 'en',
                StatementList $statements = null
        ) {
@@ -145,7 +144,6 @@
 
        public function provideTestGetHtml() {
                $mediaInfoId = new MediaInfoId( 'M1' );
-               $descriptions = new TermList( [ new Term( 'en', 
'EN_DESCRIPTION' ) ] );
                $statements = new StatementList( [
                        new Statement( new PropertyNoValueSnak( new PropertyId( 
'P1' ) ) )
                ] );
@@ -155,42 +153,23 @@
                                new MediaInfo()
                        ],
                        [
-                               new MediaInfo(
-                                       $mediaInfoId
-                               ),
+                               new MediaInfo( $mediaInfoId ),
                                $mediaInfoId
                        ],
                        [
-                               new MediaInfo(
-                                       $mediaInfoId,
-                                       null,
-                                       $descriptions,
-                                       $statements
-                               ),
+                               new MediaInfo( $mediaInfoId, null, null, 
$statements ),
                                $mediaInfoId,
-                               $descriptions,
                                'en',
                                $statements
                        ],
                        [
-                               new MediaInfo(
-                                       $mediaInfoId,
-                                       null,
-                                       $descriptions
-                               ),
+                               new MediaInfo( $mediaInfoId ),
                                $mediaInfoId,
-                               $descriptions,
                                'lkt'
                        ],
                        [
-                               new MediaInfo(
-                                       $mediaInfoId,
-                                       null,
-                                       $descriptions,
-                                       $statements
-                               ),
+                               new MediaInfo( $mediaInfoId, null, null, 
$statements ),
                                $mediaInfoId,
-                               $descriptions,
                                'lkt',
                                $statements
                        ],
diff --git a/extensions/Wikibase/client/i18n/inh.json 
b/extensions/Wikibase/client/i18n/inh.json
index 8da3e61..562026c 100644
--- a/extensions/Wikibase/client/i18n/inh.json
+++ b/extensions/Wikibase/client/i18n/inh.json
@@ -13,7 +13,7 @@
        "wikibase-editlinkstitle": "Меттий юкъера тIахьожаяргаш тоаяр",
        "wikibase-linkitem-input-page": "ОагIув:",
        "wikibase-rc-hide-wikidata": "$1 {{WBREPONAME}}",
-       "wikibase-rc-hide-wikidata-hide": "ДIакъайладаккха",
+       "wikibase-rc-hide-wikidata-hide": "Къайладаккха",
        "wikibase-rc-hide-wikidata-show": "Хьахьокха",
        "wikibase-rc-wikibase-edit-letter": "д",
        "wikibase-rc-wikibase-edit-title": "{{grammar:genitive|{{WBREPONAME}}}} 
нийсдар",
diff --git a/extensions/Wikibase/client/includes/WikibaseClient.php 
b/extensions/Wikibase/client/includes/WikibaseClient.php
index ef164df..e161c83 100644
--- a/extensions/Wikibase/client/includes/WikibaseClient.php
+++ b/extensions/Wikibase/client/includes/WikibaseClient.php
@@ -917,7 +917,11 @@
                        'multilingualtext' => MultilingualTextValue::class,
                        'quantity' => QuantityValue::class,
                        'time' => TimeValue::class,
-                       'wikibase-entityid' => EntityIdValue::class,
+                       'wikibase-entityid' => function( $value ) {
+                               return isset( $value['id'] )
+                                       ? $this->getEntityIdParser()->parse( 
$value['id'] )
+                                       : EntityIdValue::newFromArray( $value );
+                       },
                ) );
        }
 
diff --git a/extensions/Wikibase/composer.json 
b/extensions/Wikibase/composer.json
index d6f6267..f6d63e1 100644
--- a/extensions/Wikibase/composer.json
+++ b/extensions/Wikibase/composer.json
@@ -30,7 +30,7 @@
                "data-values/time": "~0.8.4",
                "data-values/validators": "~0.1.0",
                "data-values/data-types": "~0.5.0",
-               "data-values/serialization": "~1.0",
+               "data-values/serialization": "~1.1",
                "data-values/javascript": "~0.8.0",
                "data-values/value-view": "~0.17.1",
                "wikibase/data-model": "~6.0",
diff --git a/extensions/Wikibase/lib/i18n/it.json 
b/extensions/Wikibase/lib/i18n/it.json
index d6610e9..ce4c917 100644
--- a/extensions/Wikibase/lib/i18n/it.json
+++ b/extensions/Wikibase/lib/i18n/it.json
@@ -74,7 +74,7 @@
        "datatypes-type-wikibase-item": "Elemento",
        "datatypes-type-wikibase-property": "Proprietà",
        "datatypes-type-commonsMedia": "File multimediale su Commons",
-       "datatypes-type-external-id": "Identificatore esterno",
+       "datatypes-type-external-id": "Identificativo esterno",
        "version-wikibase": "Wikibase",
        "wikibase-time-precision-Gannum": "$1 miliardi di anni d.C.",
        "wikibase-time-precision-Mannum": "$1 milioni di anni d.C.",
diff --git a/extensions/Wikibase/lib/includes/Store/BufferingTermLookup.php 
b/extensions/Wikibase/lib/includes/Store/BufferingTermLookup.php
index f21663c..9c48fe4 100644
--- a/extensions/Wikibase/lib/includes/Store/BufferingTermLookup.php
+++ b/extensions/Wikibase/lib/includes/Store/BufferingTermLookup.php
@@ -184,7 +184,13 @@
                $keys = array();
 
                foreach ( $terms as $term ) {
-                       $key = $this->getBufferKey( $term->getEntityId(), 
$term->getType(), $term->getLanguage() );
+                       $id = $term->getEntityId();
+
+                       if ( $id === null ) {
+                               continue;
+                       }
+
+                       $key = $this->getBufferKey( $id, $term->getType(), 
$term->getLanguage() );
                        $this->buffer->set( $key, $term->getText() );
                        $keys[] = $key;
                }
diff --git 
a/extensions/Wikibase/lib/includes/Store/Sql/SqlEntityInfoBuilder.php 
b/extensions/Wikibase/lib/includes/Store/Sql/SqlEntityInfoBuilder.php
index b4a0416..a973b1e 100644
--- a/extensions/Wikibase/lib/includes/Store/Sql/SqlEntityInfoBuilder.php
+++ b/extensions/Wikibase/lib/includes/Store/Sql/SqlEntityInfoBuilder.php
@@ -373,7 +373,13 @@
        private function injectTerms( ResultWrapper $dbResult ) {
                foreach ( $dbResult as $row ) {
                        // FIXME: this only works for items and properties
-                       $entityId = 
LegacyIdInterpreter::newIdFromTypeAndNumber( $row->term_entity_type, 
(int)$row->term_entity_id );
+                       try {
+                               $entityId = 
LegacyIdInterpreter::newIdFromTypeAndNumber( $row->term_entity_type, 
(int)$row->term_entity_id );
+                       } catch ( InvalidArgumentException $ex ) {
+                               wfWarn( 'Unsupported entity type "' . 
$row->term_entity_type . '"' );
+                               continue;
+                       }
+
                        $key = $entityId->getSerialization();
 
                        if ( !isset( $this->entityInfo[$key] ) ) {
diff --git a/extensions/Wikibase/lib/includes/Store/Sql/TermSqlIndex.php 
b/extensions/Wikibase/lib/includes/Store/Sql/TermSqlIndex.php
index fe98528..c38a294 100644
--- a/extensions/Wikibase/lib/includes/Store/Sql/TermSqlIndex.php
+++ b/extensions/Wikibase/lib/includes/Store/Sql/TermSqlIndex.php
@@ -10,9 +10,11 @@
 use Wikibase\DataModel\Entity\EntityDocument;
 use Wikibase\DataModel\Entity\EntityId;
 use Wikibase\DataModel\Entity\Item;
-use Wikibase\DataModel\Term\Fingerprint;
-use Wikibase\DataModel\Term\FingerprintProvider;
+use Wikibase\DataModel\Term\AliasesProvider;
+use Wikibase\DataModel\Term\AliasGroupList;
+use Wikibase\DataModel\Term\DescriptionsProvider;
 use Wikibase\DataModel\Term\LabelsProvider;
+use Wikibase\DataModel\Term\TermList;
 use Wikibase\Lib\Store\LabelConflictFinder;
 
 /**
@@ -25,6 +27,7 @@
  * @author Jens Ohlig < jens.oh...@wikimedia.de >
  * @author Daniel Kinzler
  * @author Denny
+ * @author Thiemo Mättig
  */
 class TermSqlIndex extends DBAccessBase implements TermIndex, 
LabelConflictFinder {
 
@@ -177,51 +180,77 @@
         * @return TermIndexEntry[]
         */
        public function getEntityTerms( EntityDocument $entity ) {
-               // FIXME: OCP violation. No support for new types of entities 
can be registered
+               // FIXME: Introduce and use an Int32EntityId interface.
+               if ( !method_exists( $entity->getId(), 'getNumericId' ) ) {
+                       wfWarn( 'Entity type "' . $entity->getType() . '" does 
not implement getNumericId' );
+                       return [];
+               }
 
+               $terms = [];
                $extraFields = [
                        'entityType' => $entity->getType(),
                        'entityId' => $entity->getId()->getNumericId(),
                ];
 
-               if ( $entity instanceof FingerprintProvider ) {
-                       $fingerprint = $entity->getFingerprint();
-                       return $this->getFingerprintTerms( $fingerprint, 
$extraFields );
+               if ( $entity instanceof DescriptionsProvider ) {
+                       $terms = array_merge( $terms, $this->getTermListTerms(
+                               TermIndexEntry::TYPE_DESCRIPTION,
+                               $entity->getDescriptions(),
+                               $extraFields
+                       ) );
                }
 
-               return array();
+               if ( $entity instanceof LabelsProvider ) {
+                       $terms = array_merge( $terms, $this->getTermListTerms(
+                               TermIndexEntry::TYPE_LABEL,
+                               $entity->getLabels(),
+                               $extraFields
+                       ) );
+               }
+
+               if ( $entity instanceof AliasesProvider ) {
+                       $terms = array_merge( $terms, 
$this->getAliasGroupListTerms(
+                               $entity->getAliasGroups(),
+                               $extraFields
+                       ) );
+               }
+
+               return $terms;
        }
 
        /**
-        * @param Fingerprint $fingerprint
+        * @param string $termType
+        * @param TermList $termList
         * @param array $extraFields
         *
         * @return TermIndexEntry[]
         */
-       private function getFingerprintTerms( Fingerprint $fingerprint, array 
$extraFields ) {
-               $terms = array();
+       private function getTermListTerms( $termType, TermList $termList, array 
$extraFields ) {
+               $terms = [];
 
-               foreach ( $fingerprint->getDescriptions()->toTextArray() as 
$languageCode => $description ) {
+               foreach ( $termList->toTextArray() as $languageCode => $text ) {
                        $term = new TermIndexEntry( $extraFields );
 
                        $term->setLanguage( $languageCode );
-                       $term->setType( TermIndexEntry::TYPE_DESCRIPTION );
-                       $term->setText( $description );
+                       $term->setType( $termType );
+                       $term->setText( $text );
 
                        $terms[] = $term;
                }
 
-               foreach ( $fingerprint->getLabels()->toTextArray() as 
$languageCode => $label ) {
-                       $term = new TermIndexEntry( $extraFields );
+               return $terms;
+       }
 
-                       $term->setLanguage( $languageCode );
-                       $term->setType( TermIndexEntry::TYPE_LABEL );
-                       $term->setText( $label );
+       /**
+        * @param AliasGroupList $aliasGroupList
+        * @param array $extraFields
+        *
+        * @return TermIndexEntry[]
+        */
+       private function getAliasGroupListTerms( AliasGroupList 
$aliasGroupList, array $extraFields ) {
+               $terms = [];
 
-                       $terms[] = $term;
-               }
-
-               foreach ( $fingerprint->getAliasGroups()->toArray() as 
$aliasGroup ) {
+               foreach ( $aliasGroupList->toArray() as $aliasGroup ) {
                        $languageCode = $aliasGroup->getLanguageCode();
 
                        foreach ( $aliasGroup->getAliases() as $alias ) {
@@ -300,8 +329,6 @@
         * @return float
         */
        private function getWeight( EntityDocument $entity ) {
-               // FIXME: OCP violation. No support for new types of entities 
can be registered
-
                $weight = 0.0;
 
                if ( $entity instanceof LabelsProvider ) {
diff --git a/extensions/Wikibase/lib/includes/TermIndexEntry.php 
b/extensions/Wikibase/lib/includes/TermIndexEntry.php
index 0a893d5..08e87c1 100644
--- a/extensions/Wikibase/lib/includes/TermIndexEntry.php
+++ b/extensions/Wikibase/lib/includes/TermIndexEntry.php
@@ -220,7 +220,12 @@
                        $numericId = $this->fields['entityId'];
 
                        // FIXME: this only works for items and properties
-                       return LegacyIdInterpreter::newIdFromTypeAndNumber( 
$entityType, $numericId );
+                       try {
+                               return 
LegacyIdInterpreter::newIdFromTypeAndNumber( $entityType, $numericId );
+                       } catch ( InvalidArgumentException $ex ) {
+                               wfWarn( 'Unsupported entity type "' . 
$entityType . '"' );
+                               return null;
+                       }
                }
 
                return null;
diff --git a/extensions/Wikibase/repo/i18n/it.json 
b/extensions/Wikibase/repo/i18n/it.json
index ce8bf62..4e6b623 100644
--- a/extensions/Wikibase/repo/i18n/it.json
+++ b/extensions/Wikibase/repo/i18n/it.json
@@ -322,8 +322,8 @@
        "wikibase-listdatatypes-time-body": "Campo dati letterale per un punto 
nel tempo. Fornito come data e ora con una certa precisione e limiti. Il tempo 
è salvato internamente nel modello di calendario specifico.\n* tempo - valore 
esplicito per un istante nel tempo, rappresentato come un timestamp simile a 
ISO 8601, ad esempio: +2013-01-01T00:00:00Z. L'anno ha sempre il segno e tra 4 
e 16 cifre.\n* fuso orario – valore espresso come un intero con segno. 
L'informazioni del fuso orario è indicata come offset dall'orario UTC in 
minuti.\n* prima – valore intero espresso per quante unità, dopo il tempo 
specificato, potrebbe essere. L'unità è data dalla precisione.\n* dopo – valore 
intero espresso per quanti unità, prima che il tempo specificato, potrebbe 
essere. L'unità è data dalla precisione.\n* precisione – valore espresso 
codificato in un intero breve. I numeri hanno il seguente significato: 0 - 
miliardi di anni, 100 milioni anni,..., 6 - millennio, 7 - secolo, 8 - decade, 
9 - anno, 10 - mese, 11 - giorno, 12 - ora, 13 - minuto, 14 - secondo.\n* 
calendario – valore espresso fornito come un URI. Identifica il modello di 
calendario del timestamp.",
        "wikibase-listdatatypes-url-head": "URL",
        "wikibase-listdatatypes-url-body": "Campo dati letterale per un URL. 
Gli URL sono limitati ai protocolli supportati per i collegamenti esterni nel 
wikitesto.",
-       "wikibase-listdatatypes-external-id-head": "Identificatore esterno",
-       "wikibase-listdatatypes-external-id-body": "Campo dati letterale per un 
identificatore esterno. Identificatori esterni possono essere collegati 
automaticamente a risorsa autorevole per la visualizzazione.",
+       "wikibase-listdatatypes-external-id-head": "Identificativo esterno",
+       "wikibase-listdatatypes-external-id-body": "Campo dati letterale per un 
identificativo esterno. Identificatori esterni possono essere collegati 
automaticamente a una risorsa autorevole per la visualizzazione.",
        "wikibase-concept-uri": "URI del concetto",
        "wikibase-concept-uri-tooltip": "URI che identifica il concetto 
descritto da questo elemento",
        "wikibase-pageimage-helptext": "Questa immagine è stata presa dalle 
dichiarazioni di questo elemento. Puoi regolare l'immagine cambiando la 
dichiarazione.",
diff --git a/extensions/Wikibase/repo/includes/ValidatorBuilders.php 
b/extensions/Wikibase/repo/includes/ValidatorBuilders.php
index 2282927..dfd8f79 100644
--- a/extensions/Wikibase/repo/includes/ValidatorBuilders.php
+++ b/extensions/Wikibase/repo/includes/ValidatorBuilders.php
@@ -132,13 +132,10 @@
         * @return ValueValidator[]
         */
        private function getEntityValidators( $entityType = null ) {
-               $validators = array();
-
-               //NOTE: The DataValue in question is going to be an instance of 
EntityId!
-               $validators[] = new TypeValidator( EntityIdValue::class );
-               $validators[] = new EntityExistsValidator( $this->entityLookup, 
$entityType );
-
-               return $validators;
+               return [
+                       new TypeValidator( EntityIdValue::class ),
+                       new EntityExistsValidator( $this->entityLookup, 
$entityType ),
+               ];
        }
 
        /**
diff --git a/extensions/Wikibase/repo/includes/WikibaseRepo.php 
b/extensions/Wikibase/repo/includes/WikibaseRepo.php
index f7dbe59..b57164f 100644
--- a/extensions/Wikibase/repo/includes/WikibaseRepo.php
+++ b/extensions/Wikibase/repo/includes/WikibaseRepo.php
@@ -1364,7 +1364,11 @@
                        'multilingualtext' => MultilingualTextValue::class,
                        'quantity' => QuantityValue::class,
                        'time' => TimeValue::class,
-                       'wikibase-entityid' => EntityIdValue::class,
+                       'wikibase-entityid' => function( $value ) {
+                               return isset( $value['id'] )
+                                       ? $this->getEntityIdParser()->parse( 
$value['id'] )
+                                       : EntityIdValue::newFromArray( $value );
+                       },
                ) );
        }
 
diff --git a/extensions/Wikibase/repo/resources/wikibase.ui.entityViewInit.js 
b/extensions/Wikibase/repo/resources/wikibase.ui.entityViewInit.js
index d236900..07d1e1b 100644
--- a/extensions/Wikibase/repo/resources/wikibase.ui.entityViewInit.js
+++ b/extensions/Wikibase/repo/resources/wikibase.ui.entityViewInit.js
@@ -252,7 +252,7 @@
                                        $.cookie( cookieKey, copyRightVersion, 
{ expires: 365 * 3, path: '/' } );
                                } else {
                                        var api = new mw.Api();
-                                       api.postWithToken( 'options', {
+                                       api.postWithToken( 'csrf', {
                                                action: 'options',
                                                optionname: optionsKey,
                                                optionvalue: copyRightVersion
@@ -290,7 +290,7 @@
                                $.cookie( cookieKey, copyRightVersion, { 
expires: 365 * 3, path: '/' } );
                        } else {
                                var api = new mw.Api();
-                               api.postWithToken( 'options', {
+                               api.postWithToken( 'csrf', {
                                        action: 'options',
                                        optionname: optionsKey,
                                        optionvalue: copyRightVersion
diff --git a/extensions/Wikibase/tests/browser/ci.yml 
b/extensions/Wikibase/tests/browser/ci.yml
new file mode 100644
index 0000000..8c9865e
--- /dev/null
+++ b/extensions/Wikibase/tests/browser/ci.yml
@@ -0,0 +1,8 @@
+BROWSER:
+  - firefox
+
+MEDIAWIKI_ENVIRONMENT:
+  - beta
+
+PLATFORM:
+  - Linux
diff --git 
a/extensions/Wikibase/view/resources/jquery/wikibase/jquery.wikibase.entitytermsview.js
 
b/extensions/Wikibase/view/resources/jquery/wikibase/jquery.wikibase.entitytermsview.js
index ce568c7..4efc9d5 100644
--- 
a/extensions/Wikibase/view/resources/jquery/wikibase/jquery.wikibase.entitytermsview.js
+++ 
b/extensions/Wikibase/view/resources/jquery/wikibase/jquery.wikibase.entitytermsview.js
@@ -236,7 +236,7 @@
                                                { expires: 365, path: '/' }
                                        );
                                } else {
-                                       api.postWithToken( 'options', {
+                                       api.postWithToken( 'csrf', {
                                                action: 'options',
                                                optionname: 
'wikibase-entitytermsview-showEntitytermslistview',
                                                optionvalue: params.visible ? 
'1' : '0'
diff --git a/vendor/composer/installed.json b/vendor/composer/installed.json
index 9229044..7637f5d 100644
--- a/vendor/composer/installed.json
+++ b/vendor/composer/installed.json
@@ -108,19 +108,19 @@
         "source": {
             "type": "git",
             "url": 
"https://github.com/wikimedia/mediawiki-extensions-ArticlePlaceholder.git";,
-            "reference": "6025c71f8be6b2d17b46749ec298d07b091b9e82"
+            "reference": "be49fc7fef64e29f5f1f3ae5d6aa420c7c9aa6d9"
         },
         "dist": {
             "type": "zip",
-            "url": 
"https://api.github.com/repos/wikimedia/mediawiki-extensions-ArticlePlaceholder/zipball/6025c71f8be6b2d17b46749ec298d07b091b9e82";,
-            "reference": "6025c71f8be6b2d17b46749ec298d07b091b9e82",
+            "url": 
"https://api.github.com/repos/wikimedia/mediawiki-extensions-ArticlePlaceholder/zipball/be49fc7fef64e29f5f1f3ae5d6aa420c7c9aa6d9";,
+            "reference": "be49fc7fef64e29f5f1f3ae5d6aa420c7c9aa6d9",
             "shasum": ""
         },
         "require-dev": {
             "jakub-onderka/php-parallel-lint": "0.9.2",
             "mediawiki/mediawiki-codesniffer": "0.7.2"
         },
-        "time": "2016-05-29 20:25:30",
+        "time": "2016-05-30 14:11:53",
         "type": "mediawiki-extension",
         "installation-source": "dist",
         "autoload": {
@@ -139,6 +139,181 @@
         ],
         "description": "Provides a special page with Wikibase information 
about a certain topic, with invitation to create an article for the topic",
         "homepage": 
"https://www.mediawiki.org/wiki/Extension:ArticlePlaceholder";
+    },
+    {
+        "name": "serialization/serialization",
+        "version": "3.2.1",
+        "version_normalized": "3.2.1.0",
+        "source": {
+            "type": "git",
+            "url": "https://github.com/wmde/Serialization.git";,
+            "reference": "8e06ec58c8f52079942c9cb2f30b2260f62dc1f4"
+        },
+        "dist": {
+            "type": "zip",
+            "url": 
"https://api.github.com/repos/wmde/Serialization/zipball/8e06ec58c8f52079942c9cb2f30b2260f62dc1f4";,
+            "reference": "8e06ec58c8f52079942c9cb2f30b2260f62dc1f4",
+            "shasum": ""
+        },
+        "require": {
+            "php": ">=5.3.0"
+        },
+        "time": "2014-08-19 01:53:31",
+        "type": "library",
+        "extra": {
+            "branch-alias": {
+                "dev-master": "3.2.x-dev"
+            }
+        },
+        "installation-source": "dist",
+        "autoload": {
+            "files": [
+                "Serialization.php"
+            ],
+            "psr-4": {
+                "Deserializers\\": "src/Deserializers/",
+                "Serializers\\": "src/Serializers/"
+            }
+        },
+        "notification-url": "https://packagist.org/downloads/";,
+        "license": [
+            "GPL-2.0+"
+        ],
+        "authors": [
+            {
+                "name": "Jeroen De Dauw",
+                "email": "jeroended...@gmail.com",
+                "homepage": "http://jeroendedauw.com";,
+                "role": "Developer"
+            }
+        ],
+        "description": "Library defining a Serializer and a Deserializer 
interface and basic utilities",
+        "homepage": "https://github.com/wmde/Serialization";,
+        "keywords": [
+            "deserialization",
+            "deserializer",
+            "serialization",
+            "serializer",
+            "unserialization",
+            "wikidata"
+        ]
+    },
+    {
+        "name": "data-values/data-values",
+        "version": "1.0.0",
+        "version_normalized": "1.0.0.0",
+        "source": {
+            "type": "git",
+            "url": "https://github.com/DataValues/DataValues.git";,
+            "reference": "de2b9abdbc26c4c393b25aa621619dfe3fc10fdc"
+        },
+        "dist": {
+            "type": "zip",
+            "url": 
"https://api.github.com/repos/DataValues/DataValues/zipball/de2b9abdbc26c4c393b25aa621619dfe3fc10fdc";,
+            "reference": "de2b9abdbc26c4c393b25aa621619dfe3fc10fdc",
+            "shasum": ""
+        },
+        "require": {
+            "php": ">=5.3.0"
+        },
+        "replace": {
+            "mediawiki/data-values": "*"
+        },
+        "time": "2014-09-26 07:02:27",
+        "type": "library",
+        "extra": {
+            "branch-alias": {
+                "dev-master": "1.0.x-dev"
+            }
+        },
+        "installation-source": "dist",
+        "autoload": {
+            "files": [
+                "DataValues.php"
+            ],
+            "classmap": [
+                "src/interfaces",
+                "tests/phpunit/DataValueTest.php"
+            ],
+            "psr-0": {
+                "DataValues\\": "src/"
+            }
+        },
+        "notification-url": "https://packagist.org/downloads/";,
+        "license": [
+            "GPL-2.0+"
+        ],
+        "authors": [
+            {
+                "name": "Jeroen De Dauw",
+                "email": "jeroended...@gmail.com",
+                "homepage": "http://jeroendedauw.com";,
+                "role": "Developer"
+            }
+        ],
+        "description": "Defines the DataValue interface and some trivial 
implementations",
+        "homepage": "https://github.com/DataValues/DataValues";,
+        "keywords": [
+            "datavalues",
+            "wikibase",
+            "wikidata"
+        ]
+    },
+    {
+        "name": "data-values/serialization",
+        "version": "1.1.0",
+        "version_normalized": "1.1.0.0",
+        "source": {
+            "type": "git",
+            "url": "https://github.com/DataValues/Serialization.git";,
+            "reference": "4b6d810d86866a3f43dcfecb2e336dfda5de2386"
+        },
+        "dist": {
+            "type": "zip",
+            "url": 
"https://api.github.com/repos/DataValues/Serialization/zipball/4b6d810d86866a3f43dcfecb2e336dfda5de2386";,
+            "reference": "4b6d810d86866a3f43dcfecb2e336dfda5de2386",
+            "shasum": ""
+        },
+        "require": {
+            "data-values/data-values": "~1.0|~0.1",
+            "php": ">=5.3.0",
+            "serialization/serialization": "~3.0"
+        },
+        "time": "2016-05-24 15:11:29",
+        "type": "library",
+        "extra": {
+            "branch-alias": {
+                "dev-master": "1.1.x-dev"
+            }
+        },
+        "installation-source": "dist",
+        "autoload": {
+            "psr-4": {
+                "DataValues\\Serializers\\": "src/Serializers",
+                "DataValues\\Deserializers\\": "src/Deserializers"
+            }
+        },
+        "notification-url": "https://packagist.org/downloads/";,
+        "license": [
+            "GPL-2.0+"
+        ],
+        "authors": [
+            {
+                "name": "Jeroen De Dauw",
+                "email": "jeroended...@gmail.com",
+                "homepage": "http://jeroendedauw.com";,
+                "role": "Developer"
+            }
+        ],
+        "description": "Serializers and deserializers for DataValue 
implementations",
+        "homepage": "https://github.com/DataValues/Serialization";,
+        "keywords": [
+            "datavalues",
+            "deserializers",
+            "serialization",
+            "serializers",
+            "wikidata"
+        ]
     },
     {
         "name": "wikimedia/purtle",
@@ -257,67 +432,6 @@
             "valueformatters",
             "valueparsers",
             "valuevalidators",
-            "wikidata"
-        ]
-    },
-    {
-        "name": "data-values/data-values",
-        "version": "1.0.0",
-        "version_normalized": "1.0.0.0",
-        "source": {
-            "type": "git",
-            "url": "https://github.com/DataValues/DataValues.git";,
-            "reference": "de2b9abdbc26c4c393b25aa621619dfe3fc10fdc"
-        },
-        "dist": {
-            "type": "zip",
-            "url": 
"https://api.github.com/repos/DataValues/DataValues/zipball/de2b9abdbc26c4c393b25aa621619dfe3fc10fdc";,
-            "reference": "de2b9abdbc26c4c393b25aa621619dfe3fc10fdc",
-            "shasum": ""
-        },
-        "require": {
-            "php": ">=5.3.0"
-        },
-        "replace": {
-            "mediawiki/data-values": "*"
-        },
-        "time": "2014-09-26 07:02:27",
-        "type": "library",
-        "extra": {
-            "branch-alias": {
-                "dev-master": "1.0.x-dev"
-            }
-        },
-        "installation-source": "dist",
-        "autoload": {
-            "files": [
-                "DataValues.php"
-            ],
-            "classmap": [
-                "src/interfaces",
-                "tests/phpunit/DataValueTest.php"
-            ],
-            "psr-0": {
-                "DataValues\\": "src/"
-            }
-        },
-        "notification-url": "https://packagist.org/downloads/";,
-        "license": [
-            "GPL-2.0+"
-        ],
-        "authors": [
-            {
-                "name": "Jeroen De Dauw",
-                "email": "jeroended...@gmail.com",
-                "homepage": "http://jeroendedauw.com";,
-                "role": "Developer"
-            }
-        ],
-        "description": "Defines the DataValue interface and some trivial 
implementations",
-        "homepage": "https://github.com/DataValues/DataValues";,
-        "keywords": [
-            "datavalues",
-            "wikibase",
             "wikidata"
         ]
     },
@@ -780,120 +894,6 @@
         ]
     },
     {
-        "name": "serialization/serialization",
-        "version": "3.2.1",
-        "version_normalized": "3.2.1.0",
-        "source": {
-            "type": "git",
-            "url": "https://github.com/wmde/Serialization.git";,
-            "reference": "8e06ec58c8f52079942c9cb2f30b2260f62dc1f4"
-        },
-        "dist": {
-            "type": "zip",
-            "url": 
"https://api.github.com/repos/wmde/Serialization/zipball/8e06ec58c8f52079942c9cb2f30b2260f62dc1f4";,
-            "reference": "8e06ec58c8f52079942c9cb2f30b2260f62dc1f4",
-            "shasum": ""
-        },
-        "require": {
-            "php": ">=5.3.0"
-        },
-        "time": "2014-08-19 01:53:31",
-        "type": "library",
-        "extra": {
-            "branch-alias": {
-                "dev-master": "3.2.x-dev"
-            }
-        },
-        "installation-source": "dist",
-        "autoload": {
-            "files": [
-                "Serialization.php"
-            ],
-            "psr-4": {
-                "Deserializers\\": "src/Deserializers/",
-                "Serializers\\": "src/Serializers/"
-            }
-        },
-        "notification-url": "https://packagist.org/downloads/";,
-        "license": [
-            "GPL-2.0+"
-        ],
-        "authors": [
-            {
-                "name": "Jeroen De Dauw",
-                "email": "jeroended...@gmail.com",
-                "homepage": "http://jeroendedauw.com";,
-                "role": "Developer"
-            }
-        ],
-        "description": "Library defining a Serializer and a Deserializer 
interface and basic utilities",
-        "homepage": "https://github.com/wmde/Serialization";,
-        "keywords": [
-            "deserialization",
-            "deserializer",
-            "serialization",
-            "serializer",
-            "unserialization",
-            "wikidata"
-        ]
-    },
-    {
-        "name": "data-values/serialization",
-        "version": "1.1.0",
-        "version_normalized": "1.1.0.0",
-        "source": {
-            "type": "git",
-            "url": "https://github.com/DataValues/Serialization.git";,
-            "reference": "4b6d810d86866a3f43dcfecb2e336dfda5de2386"
-        },
-        "dist": {
-            "type": "zip",
-            "url": 
"https://api.github.com/repos/DataValues/Serialization/zipball/4b6d810d86866a3f43dcfecb2e336dfda5de2386";,
-            "reference": "4b6d810d86866a3f43dcfecb2e336dfda5de2386",
-            "shasum": ""
-        },
-        "require": {
-            "data-values/data-values": "~1.0|~0.1",
-            "php": ">=5.3.0",
-            "serialization/serialization": "~3.0"
-        },
-        "time": "2016-05-24 15:11:29",
-        "type": "library",
-        "extra": {
-            "branch-alias": {
-                "dev-master": "1.1.x-dev"
-            }
-        },
-        "installation-source": "dist",
-        "autoload": {
-            "psr-4": {
-                "DataValues\\Serializers\\": "src/Serializers",
-                "DataValues\\Deserializers\\": "src/Deserializers"
-            }
-        },
-        "notification-url": "https://packagist.org/downloads/";,
-        "license": [
-            "GPL-2.0+"
-        ],
-        "authors": [
-            {
-                "name": "Jeroen De Dauw",
-                "email": "jeroended...@gmail.com",
-                "homepage": "http://jeroendedauw.com";,
-                "role": "Developer"
-            }
-        ],
-        "description": "Serializers and deserializers for DataValue 
implementations",
-        "homepage": "https://github.com/DataValues/Serialization";,
-        "keywords": [
-            "datavalues",
-            "deserializers",
-            "serialization",
-            "serializers",
-            "wikidata"
-        ]
-    },
-    {
         "name": "wikibase/data-model-serialization",
         "version": "2.2.0",
         "version_normalized": "2.2.0.0",
@@ -1030,17 +1030,17 @@
     },
     {
         "name": "wikibase/javascript-api",
-        "version": "1.1.0",
-        "version_normalized": "1.1.0.0",
+        "version": "1.1.1",
+        "version_normalized": "1.1.1.0",
         "source": {
             "type": "git",
             "url": 
"https://github.com/wikimedia/mediawiki-extensions-WikibaseJavaScriptApi.git";,
-            "reference": "a9c0202a33f278edd024f0c150d6281a6635bfc0"
+            "reference": "8c5eef73fc5a22c5ddb46da24dbeeaf14094c28c"
         },
         "dist": {
             "type": "zip",
-            "url": 
"https://api.github.com/repos/wikimedia/mediawiki-extensions-WikibaseJavaScriptApi/zipball/a9c0202a33f278edd024f0c150d6281a6635bfc0";,
-            "reference": "a9c0202a33f278edd024f0c150d6281a6635bfc0",
+            "url": 
"https://api.github.com/repos/wikimedia/mediawiki-extensions-WikibaseJavaScriptApi/zipball/8c5eef73fc5a22c5ddb46da24dbeeaf14094c28c";,
+            "reference": "8c5eef73fc5a22c5ddb46da24dbeeaf14094c28c",
             "shasum": ""
         },
         "require": {
@@ -1050,7 +1050,7 @@
             "jakub-onderka/php-parallel-lint": "0.9.2",
             "mediawiki/mediawiki-codesniffer": "0.5.1"
         },
-        "time": "2016-02-17 10:46:01",
+        "time": "2016-05-30 17:31:31",
         "type": "library",
         "installation-source": "dist",
         "autoload": {
@@ -1345,12 +1345,12 @@
         "source": {
             "type": "git",
             "url": 
"https://github.com/wikimedia/mediawiki-extensions-Wikibase.git";,
-            "reference": "6600063308c7019fef6219973c8969fa6bb9f629"
+            "reference": "8307e06a9ab386302085184571dcad270ef4a77d"
         },
         "dist": {
             "type": "zip",
-            "url": 
"https://api.github.com/repos/wikimedia/mediawiki-extensions-Wikibase/zipball/6600063308c7019fef6219973c8969fa6bb9f629";,
-            "reference": "6600063308c7019fef6219973c8969fa6bb9f629",
+            "url": 
"https://api.github.com/repos/wikimedia/mediawiki-extensions-Wikibase/zipball/8307e06a9ab386302085184571dcad270ef4a77d";,
+            "reference": "8307e06a9ab386302085184571dcad270ef4a77d",
             "shasum": ""
         },
         "require": {
@@ -1361,7 +1361,7 @@
             "data-values/interfaces": "~0.2.0|~0.1.5",
             "data-values/javascript": "~0.8.0",
             "data-values/number": "~0.7.0",
-            "data-values/serialization": "~1.0",
+            "data-values/serialization": "~1.1",
             "data-values/time": "~0.8.4",
             "data-values/validators": "~0.1.0",
             "data-values/value-view": "~0.17.1",
@@ -1383,7 +1383,7 @@
             "jakub-onderka/php-parallel-lint": "0.9.2",
             "mediawiki/mediawiki-codesniffer": "0.4.0|0.5.0"
         },
-        "time": "2016-05-30 08:56:04",
+        "time": "2016-05-31 09:34:42",
         "type": "mediawiki-extension",
         "installation-source": "dist",
         "autoload": {
@@ -1640,7 +1640,7 @@
         "source": {
             "type": "git",
             "url": 
"https://gerrit.wikimedia.org/r/mediawiki/extensions/WikibaseMediaInfo";,
-            "reference": "79b264dd93e26f00b7438dc00c79cd468acdde23"
+            "reference": "8111551b13188e898811f2af51637997a2a08f64"
         },
         "require": {
             "php": ">=5.5.0",
@@ -1654,7 +1654,7 @@
             "mediawiki/mediawiki-codesniffer": "0.6.0",
             "phpunit/phpunit": "~4.8"
         },
-        "time": "2016-05-24 16:10:19",
+        "time": "2016-05-31 07:02:52",
         "type": "mediawiki-extension",
         "installation-source": "source",
         "autoload": {
diff --git a/vendor/wikibase/javascript-api/README.md 
b/vendor/wikibase/javascript-api/README.md
index 22f34bc..e6dc91b 100644
--- a/vendor/wikibase/javascript-api/README.md
+++ b/vendor/wikibase/javascript-api/README.md
@@ -6,6 +6,10 @@
 
 ## Release notes
 
+### 1.1.1 (2016-05-30)
+
+* Fix getLocationAgnosticMwApi behavior in Internet Explorer
+
 ### 1.1.0 (2016-02-17)
 
 * Added optional propertyId parameter to RepoApi::formatValue
diff --git a/vendor/wikibase/javascript-api/WikibaseJavaScriptApi.php 
b/vendor/wikibase/javascript-api/WikibaseJavaScriptApi.php
index 157c013..a6d22f2 100644
--- a/vendor/wikibase/javascript-api/WikibaseJavaScriptApi.php
+++ b/vendor/wikibase/javascript-api/WikibaseJavaScriptApi.php
@@ -5,7 +5,7 @@
        return 1;
 }
 
-define( 'WIKIBASE_JAVASCRIPT_API_VERSION', '1.1.0' );
+define( 'WIKIBASE_JAVASCRIPT_API_VERSION', '1.1.1' );
 
 // Include the composer autoloader if it is present.
 if ( is_readable( __DIR__ . '/vendor/autoload.php' ) ) {
diff --git a/vendor/wikibase/javascript-api/src/getLocationAgnosticMwApi.js 
b/vendor/wikibase/javascript-api/src/getLocationAgnosticMwApi.js
index 90c5c61..24c8fa6 100644
--- a/vendor/wikibase/javascript-api/src/getLocationAgnosticMwApi.js
+++ b/vendor/wikibase/javascript-api/src/getLocationAgnosticMwApi.js
@@ -8,6 +8,11 @@
  * @return {string}
  */
 function getHost( url ) {
+       // Internet Explorer returns an incomplete host (without port) when the 
protocol is missing.
+       if ( /^\/\//.test( url ) ) {
+               url = location.protocol + url;
+       }
+
        var parser = document.createElement( 'A' );
        parser.href = url;
        return parser.host;
@@ -26,11 +31,7 @@
  * @return {mediaWiki.Api}
  */
 wb.api.getLocationAgnosticMwApi = function( apiEndpoint ) {
-       var localApiEndpoint = mw.config.get( 'wgServer' )
-               + mw.config.get( 'wgScriptPath' )
-               + '/api.php';
-
-       if ( getHost( localApiEndpoint ) !== getHost( apiEndpoint ) ) {
+       if ( getHost( apiEndpoint ) !== getHost( mw.config.get( 'wgServer' ) ) 
) {
                // Use mw.ForeignApi if the api we want to use is on a 
different domain.
                return new mw.ForeignApi( apiEndpoint );
        }

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I5745fde44e6b5cf246f749e29af95f3acffde9f2
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/Wikidata
Gerrit-Branch: master
Gerrit-Owner: WikidataBuilder <wikidata-servi...@wikimedia.de>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to