Auto merge of #10159 - pcwalton:iframes-know-their-pipelines, r=jdm

script: Make iframes know their pipeline IDs at all times, even after navigation.

Since WebRender uses the pipeline ID stored in the iframe element to
determine which pipeline to display, it had better be kept up to date!

Closes #9919.

r? @jdm

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/10159)
<!-- Reviewable:end -->
This commit is contained in:
bors-servo 2016-04-28 12:44:39 -07:00
commit 3836c2c4cb
8 changed files with 102 additions and 9 deletions

View file

@ -1800,6 +1800,18 @@
"url": "/_mozilla/css/iframe/hide_layers2.html"
}
],
"css/iframe/mozbrowser_navigation.html": [
{
"path": "css/iframe/mozbrowser_navigation.html",
"references": [
[
"/_mozilla/css/iframe/mozbrowser_navigation_ref.html",
"=="
]
],
"url": "/_mozilla/css/iframe/mozbrowser_navigation.html"
}
],
"css/iframe/multiple_external.html": [
{
"path": "css/iframe/multiple_external.html",
@ -8540,6 +8552,18 @@
"url": "/_mozilla/css/iframe/hide_layers2.html"
}
],
"css/iframe/mozbrowser_navigation.html": [
{
"path": "css/iframe/mozbrowser_navigation.html",
"references": [
[
"/_mozilla/css/iframe/mozbrowser_navigation_ref.html",
"=="
]
],
"url": "/_mozilla/css/iframe/mozbrowser_navigation.html"
}
],
"css/iframe/multiple_external.html": [
{
"path": "css/iframe/multiple_external.html",

View file

@ -0,0 +1,3 @@
[mozbrowser_navigation.html]
type: reftest
prefs: [dom.mozbrowser.enabled:true]

View file

@ -0,0 +1,33 @@
<!DOCTYPE html>
<html class="reftest-wait">
<head>
<meta charset="utf-8">
<style>
iframe {
display: block;
border: 1px solid black;
width: 500px;
height: 300px;
margin-left: 10px;
margin-top: 0px;
}
</style>
<link rel="match" href="mozbrowser_navigation_ref.html">
</head>
<body>
<iframe mozbrowser="true" src="data:text/html,Hello%20world"></iframe>
<script>
var iframe = document.getElementsByTagName('iframe')[0];
iframe.addEventListener('load', function first() {
iframe.removeEventListener('load', first);
iframe.src = "data:text/html,Foo";
iframe.addEventListener('load', function() {
iframe.goBack();
iframe.offsetHeight; // flush layout
document.documentElement.classList.remove("reftest-wait");
}, false);
}, false);
</script>
</body>
</html>

View file

@ -0,0 +1,19 @@
<!DOCTYPE html>
<html>
<meta charset="utf-8">
<style>
iframe {
display: block;
border: 1px solid black;
width: 500px;
height: 300px;
margin-left: 10px;
margin-top: 0px;
}
</style>
<body>
<iframe src="data:text/html,Hello%20world"></iframe>
</body>
</html>