+ /**
+ * Set the files this module depends on indirectly for a given skin.
+ *
+ * @since 1.26
+ * @param string $skin Skin name
+ * @param array $localFileRefs List of files
+ */
+ protected function saveFileDependencies( $skin, $localFileRefs ) {
+ try {
+ // If the list has been modified since last time we cached it, update the cache
+ if ( $localFileRefs !== $this->getFileDependencies( $skin ) ) {
+ $dbw = wfGetDB( DB_MASTER );
+ $dbw->replace( 'module_deps',
+ array( array( 'md_module', 'md_skin' ) ), array(
+ 'md_module' => $this->getName(),
+ 'md_skin' => $skin,
+ 'md_deps' => FormatJson::encode( $localFileRefs ),
+ )
+ );
+ }
+ } catch ( Exception $e ) {
+ wfDebugLog( 'resourceloader', __METHOD__ . ": failed to update DB: $e" );
+ }
+ }
+