Commit 45e1c540 authored by dpapad's avatar dpapad Committed by Commit Bot

WebUI Polymer3: Handle paths to same folder in polymer_modulizer.py.

<link rel="import" src="foo.html">
needs to be converted to
import './foo.m.js';

Where the "./" prefix is added, otherwise the following error is thrown at
runtime.

Uncaught TypeError: Failed to resolve module specifier "foo.m.js". Relative
references must start with either "/", "./", or "../".

This was discovered while porting md_select_css.html to Polymer3, which
happens to trigger this case.

Bug: 965770
Change-Id: Id22bcb70a2d1bb4035b33b54dbde87bf0321982c
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1681343
Commit-Queue: Rebekah Potter <rbpotter@chromium.org>
Auto-Submit: Demetrios Papadopoulos <dpapad@chromium.org>
Reviewed-by: default avatarRebekah Potter <rbpotter@chromium.org>
Cr-Commit-Position: refs/heads/master@{#673414}
parent 6e9ca4b0
......@@ -79,6 +79,11 @@ def _rewrite_dependency_path(dep):
dep = dep.replace(r'.html', '.m.js')
# Prepend "./" if |dep| refers to the same folder as the processed file. This
# prefix is necessary for JS modules paths.
if not re.match('chrome://', dep) and os.path.dirname(dep) == '':
dep = './' + dep
return dep
......
<link rel="import" href="../../html/polymer.html">
<link rel="import" href="foo.html">
<custom-style>
<style>
html {
......
import {Polymer, html} from 'chrome://resources/polymer/v3_0/polymer/polymer_bundled.min.js';
import './foo.m.js';
const $_documentContainer = document.createElement('template');
$_documentContainer.innerHTML = `
<custom-style>
......
......@@ -2,6 +2,7 @@
<link rel="import" href="chrome://resources/polymer/v1_0/paper-behaviors/paper-ripple-behavior.html">
<link rel="import" href="../shared_vars_css.html">
<link rel="import" href="foo.html">
<dom-module id="cr-test-foo">
<template>
......
import {Polymer, html} from 'chrome://resources/polymer/v3_0/polymer/polymer_bundled.min.js';
import {PaperRippleBehavior} from 'chrome://resources/polymer/v3_0/paper-behaviors/paper-ripple-behavior.js';
import '../shared_vars_css.m.js';
import './foo.m.js';
Polymer({
_template: html`
......
import {Polymer, html} from 'chrome://resources/polymer/v3_0/polymer/polymer_bundled.min.js';
import 'some_other_style.m.js';
import './some_other_style.m.js';
const styleElement = document.createElement('dom-module');
styleElement.innerHTML = `
<template>
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment