[iOS] Add layout tests for QuickLook
authoraestes@apple.com <aestes@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 9 Sep 2015 16:56:14 +0000 (16:56 +0000)
committeraestes@apple.com <aestes@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 9 Sep 2015 16:56:14 +0000 (16:56 +0000)
https://bugs.webkit.org/show_bug.cgi?id=148994

Reviewed by Daniel Bates.

Add tests that verify WebKit's ability to preview certain document types on iOS using QuickLook.framework.
These tests do not cover every document type supported by QuickLook, but they do cover common types like .pages,
.numbers, .key, .doc(x), .xls(x), and .ppt(x). These tests should detect regressions in WebKit's conversion code,
as well as regressions in QuickLook itself. The expected results might need to be occasionally updated if QuickLook
changes its preview markup.

These files contain text and images from webkit.org.

* TestExpectations: Skipped quicklook tests on all platforms.
* platform/ios-simulator/TestExpectations: Enabled quicklook tests on iOS.
* quicklook/excel-expected.html: Added.
* quicklook/excel-legacy-expected.html: Added.
* quicklook/excel-legacy.html: Added.
* quicklook/excel.html: Added.
* quicklook/keynote-09-expected.html: Added.
* quicklook/keynote-09.html: Added.
* quicklook/keynote-expected.html: Added.
* quicklook/keynote.html: Added.
* quicklook/numbers-09-expected.html: Added.
* quicklook/numbers-09.html: Added.
* quicklook/numbers-expected.html: Added.
* quicklook/numbers.html: Added.
* quicklook/pages-09-expected.html: Added.
* quicklook/pages-09.html: Added.
* quicklook/pages-expected.html: Added.
* quicklook/pages.html: Added.
* quicklook/powerpoint-expected.html: Added.
* quicklook/powerpoint-legacy-expected.html: Added.
* quicklook/powerpoint-legacy.html: Added.
* quicklook/powerpoint.html: Added.
* quicklook/resources/excel-expected.html: Added.
* quicklook/resources/excel-legacy-expected.html: Added.
* quicklook/resources/excel-legacy.xls: Added.
* quicklook/resources/excel.xlsx: Added.
* quicklook/resources/keynote-09-expected/index.css: Added.
* quicklook/resources/keynote-09-expected/index.html: Added.
* quicklook/resources/keynote-09-expected/index.js: Added.
* quicklook/resources/keynote-09.key: Added.
* quicklook/resources/keynote-expected.pdf: Added.
* quicklook/resources/keynote.key: Added.
* quicklook/resources/numbers-09-expected/canvas.js: Added.
* quicklook/resources/numbers-09-expected/index.html: Added.
* quicklook/resources/numbers-09-expected/navigation.css: Added.
* quicklook/resources/numbers-09-expected/navigation.html: Added.
* quicklook/resources/numbers-09-expected/sheet_1.html: Added.
* quicklook/resources/numbers-09.numbers: Added.
* quicklook/resources/numbers-expected.pdf: Added.
* quicklook/resources/numbers.numbers: Added.
* quicklook/resources/pages-09-expected/index.css: Added.
* quicklook/resources/pages-09-expected/index.html: Added.
* quicklook/resources/pages-09.pages: Added.
* quicklook/resources/pages-expected.pdf: Added.
* quicklook/resources/pages.pages: Added.
* quicklook/resources/powerpoint-expected.html: Added.
* quicklook/resources/powerpoint-legacy-expected.html: Added.
* quicklook/resources/powerpoint-legacy.ppt: Added.
* quicklook/resources/powerpoint.pptx: Added.
* quicklook/resources/webkit-icon.pdf: Added.
* quicklook/resources/webkit-icon.png: Added.
* quicklook/resources/webkit-icon.tiff: Added.
* quicklook/resources/word-expected.html: Added.
* quicklook/resources/word-legacy-expected.html: Added.
* quicklook/resources/word-legacy.doc: Added.
* quicklook/resources/word.docx: Added.
* quicklook/word-expected.html: Added.
* quicklook/word-legacy-expected.html: Added.
* quicklook/word-legacy.html: Added.
* quicklook/word.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@189542 268f45cc-cd09-0410-ab3c-d52691b4dbfc

61 files changed:
LayoutTests/ChangeLog
LayoutTests/TestExpectations
LayoutTests/platform/ios-simulator/TestExpectations
LayoutTests/quicklook/excel-expected.html [new file with mode: 0644]
LayoutTests/quicklook/excel-legacy-expected.html [new file with mode: 0644]
LayoutTests/quicklook/excel-legacy.html [new file with mode: 0644]
LayoutTests/quicklook/excel.html [new file with mode: 0644]
LayoutTests/quicklook/keynote-09-expected.html [new file with mode: 0644]
LayoutTests/quicklook/keynote-09.html [new file with mode: 0644]
LayoutTests/quicklook/keynote-expected.html [new file with mode: 0644]
LayoutTests/quicklook/keynote.html [new file with mode: 0644]
LayoutTests/quicklook/numbers-09-expected.html [new file with mode: 0644]
LayoutTests/quicklook/numbers-09.html [new file with mode: 0644]
LayoutTests/quicklook/numbers-expected.html [new file with mode: 0644]
LayoutTests/quicklook/numbers.html [new file with mode: 0644]
LayoutTests/quicklook/pages-09-expected.html [new file with mode: 0644]
LayoutTests/quicklook/pages-09.html [new file with mode: 0644]
LayoutTests/quicklook/pages-expected.html [new file with mode: 0644]
LayoutTests/quicklook/pages.html [new file with mode: 0644]
LayoutTests/quicklook/powerpoint-expected.html [new file with mode: 0644]
LayoutTests/quicklook/powerpoint-legacy-expected.html [new file with mode: 0644]
LayoutTests/quicklook/powerpoint-legacy.html [new file with mode: 0644]
LayoutTests/quicklook/powerpoint.html [new file with mode: 0644]
LayoutTests/quicklook/resources/excel-expected.html [new file with mode: 0644]
LayoutTests/quicklook/resources/excel-legacy-expected.html [new file with mode: 0644]
LayoutTests/quicklook/resources/excel-legacy.xls [new file with mode: 0644]
LayoutTests/quicklook/resources/excel.xlsx [new file with mode: 0644]
LayoutTests/quicklook/resources/keynote-09-expected/index.css [new file with mode: 0644]
LayoutTests/quicklook/resources/keynote-09-expected/index.html [new file with mode: 0644]
LayoutTests/quicklook/resources/keynote-09-expected/index.js [new file with mode: 0644]
LayoutTests/quicklook/resources/keynote-09.key [new file with mode: 0644]
LayoutTests/quicklook/resources/keynote-expected.pdf [new file with mode: 0644]
LayoutTests/quicklook/resources/keynote.key [new file with mode: 0644]
LayoutTests/quicklook/resources/numbers-09-expected/canvas.js [new file with mode: 0644]
LayoutTests/quicklook/resources/numbers-09-expected/index.html [new file with mode: 0644]
LayoutTests/quicklook/resources/numbers-09-expected/navigation.css [new file with mode: 0644]
LayoutTests/quicklook/resources/numbers-09-expected/navigation.html [new file with mode: 0644]
LayoutTests/quicklook/resources/numbers-09-expected/sheet_1.html [new file with mode: 0644]
LayoutTests/quicklook/resources/numbers-09.numbers [new file with mode: 0644]
LayoutTests/quicklook/resources/numbers-expected.pdf [new file with mode: 0644]
LayoutTests/quicklook/resources/numbers.numbers [new file with mode: 0644]
LayoutTests/quicklook/resources/pages-09-expected/index.css [new file with mode: 0644]
LayoutTests/quicklook/resources/pages-09-expected/index.html [new file with mode: 0644]
LayoutTests/quicklook/resources/pages-09.pages [new file with mode: 0644]
LayoutTests/quicklook/resources/pages-expected.pdf [new file with mode: 0644]
LayoutTests/quicklook/resources/pages.pages [new file with mode: 0644]
LayoutTests/quicklook/resources/powerpoint-expected.html [new file with mode: 0644]
LayoutTests/quicklook/resources/powerpoint-legacy-expected.html [new file with mode: 0644]
LayoutTests/quicklook/resources/powerpoint-legacy.ppt [new file with mode: 0644]
LayoutTests/quicklook/resources/powerpoint.pptx [new file with mode: 0644]
LayoutTests/quicklook/resources/webkit-icon.pdf [new file with mode: 0644]
LayoutTests/quicklook/resources/webkit-icon.png [new file with mode: 0644]
LayoutTests/quicklook/resources/webkit-icon.tiff [new file with mode: 0644]
LayoutTests/quicklook/resources/word-expected.html [new file with mode: 0644]
LayoutTests/quicklook/resources/word-legacy-expected.html [new file with mode: 0644]
LayoutTests/quicklook/resources/word-legacy.doc [new file with mode: 0644]
LayoutTests/quicklook/resources/word.docx [new file with mode: 0644]
LayoutTests/quicklook/word-expected.html [new file with mode: 0644]
LayoutTests/quicklook/word-legacy-expected.html [new file with mode: 0644]
LayoutTests/quicklook/word-legacy.html [new file with mode: 0644]
LayoutTests/quicklook/word.html [new file with mode: 0644]

index 9fc60c6..6ee83d1 100644 (file)
@@ -1,3 +1,79 @@
+2015-09-08  Andy Estes  <aestes@apple.com>
+
+        [iOS] Add layout tests for QuickLook
+        https://bugs.webkit.org/show_bug.cgi?id=148994
+
+        Reviewed by Daniel Bates.
+
+        Add tests that verify WebKit's ability to preview certain document types on iOS using QuickLook.framework.
+        These tests do not cover every document type supported by QuickLook, but they do cover common types like .pages,
+        .numbers, .key, .doc(x), .xls(x), and .ppt(x). These tests should detect regressions in WebKit's conversion code,
+        as well as regressions in QuickLook itself. The expected results might need to be occasionally updated if QuickLook
+        changes its preview markup.
+
+        These files contain text and images from webkit.org.
+
+        * TestExpectations: Skipped quicklook tests on all platforms.
+        * platform/ios-simulator/TestExpectations: Enabled quicklook tests on iOS.
+        * quicklook/excel-expected.html: Added.
+        * quicklook/excel-legacy-expected.html: Added.
+        * quicklook/excel-legacy.html: Added.
+        * quicklook/excel.html: Added.
+        * quicklook/keynote-09-expected.html: Added.
+        * quicklook/keynote-09.html: Added.
+        * quicklook/keynote-expected.html: Added.
+        * quicklook/keynote.html: Added.
+        * quicklook/numbers-09-expected.html: Added.
+        * quicklook/numbers-09.html: Added.
+        * quicklook/numbers-expected.html: Added.
+        * quicklook/numbers.html: Added.
+        * quicklook/pages-09-expected.html: Added.
+        * quicklook/pages-09.html: Added.
+        * quicklook/pages-expected.html: Added.
+        * quicklook/pages.html: Added.
+        * quicklook/powerpoint-expected.html: Added.
+        * quicklook/powerpoint-legacy-expected.html: Added.
+        * quicklook/powerpoint-legacy.html: Added.
+        * quicklook/powerpoint.html: Added.
+        * quicklook/resources/excel-expected.html: Added.
+        * quicklook/resources/excel-legacy-expected.html: Added.
+        * quicklook/resources/excel-legacy.xls: Added.
+        * quicklook/resources/excel.xlsx: Added.
+        * quicklook/resources/keynote-09-expected/index.css: Added.
+        * quicklook/resources/keynote-09-expected/index.html: Added.
+        * quicklook/resources/keynote-09-expected/index.js: Added.
+        * quicklook/resources/keynote-09.key: Added.
+        * quicklook/resources/keynote-expected.pdf: Added.
+        * quicklook/resources/keynote.key: Added.
+        * quicklook/resources/numbers-09-expected/canvas.js: Added.
+        * quicklook/resources/numbers-09-expected/index.html: Added.
+        * quicklook/resources/numbers-09-expected/navigation.css: Added.
+        * quicklook/resources/numbers-09-expected/navigation.html: Added.
+        * quicklook/resources/numbers-09-expected/sheet_1.html: Added.
+        * quicklook/resources/numbers-09.numbers: Added.
+        * quicklook/resources/numbers-expected.pdf: Added.
+        * quicklook/resources/numbers.numbers: Added.
+        * quicklook/resources/pages-09-expected/index.css: Added.
+        * quicklook/resources/pages-09-expected/index.html: Added.
+        * quicklook/resources/pages-09.pages: Added.
+        * quicklook/resources/pages-expected.pdf: Added.
+        * quicklook/resources/pages.pages: Added.
+        * quicklook/resources/powerpoint-expected.html: Added.
+        * quicklook/resources/powerpoint-legacy-expected.html: Added.
+        * quicklook/resources/powerpoint-legacy.ppt: Added.
+        * quicklook/resources/powerpoint.pptx: Added.
+        * quicklook/resources/webkit-icon.pdf: Added.
+        * quicklook/resources/webkit-icon.png: Added.
+        * quicklook/resources/webkit-icon.tiff: Added.
+        * quicklook/resources/word-expected.html: Added.
+        * quicklook/resources/word-legacy-expected.html: Added.
+        * quicklook/resources/word-legacy.doc: Added.
+        * quicklook/resources/word.docx: Added.
+        * quicklook/word-expected.html: Added.
+        * quicklook/word-legacy-expected.html: Added.
+        * quicklook/word-legacy.html: Added.
+        * quicklook/word.html: Added.
+
 2015-09-09  Commit Queue  <commit-queue@webkit.org>
 
         Unreviewed, rolling out r189536 and r189538.
index 4cd8d6d..59c45ef 100644 (file)
@@ -33,6 +33,9 @@ fast/events/mouse-force-changed.html [ Skip ]
 fast/events/mouse-force-down.html [ Skip ]
 fast/events/mouse-force-up.html [ Skip ]
 
+# Only iOS supports QuickLook
+quicklook [ Skip ]
+
 #//////////////////////////////////////////////////////////////////////////////////////////
 # End platform-specific tests.
 #//////////////////////////////////////////////////////////////////////////////////////////
index cf7e7ae..4db6bc1 100644 (file)
@@ -7,6 +7,7 @@
 #//////////////////////////////////////////////////////////////////////////////////////////
 
 accessibility/ios-simulator [ Pass ]
+quicklook [ Pass ]
 
 #//////////////////////////////////////////////////////////////////////////////////////////
 # End platform-specific directories.
diff --git a/LayoutTests/quicklook/excel-expected.html b/LayoutTests/quicklook/excel-expected.html
new file mode 100644 (file)
index 0000000..fe0417d
--- /dev/null
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<style>
+iframe {
+    width: 100vw;
+    height: 100vh;
+}
+</style>
+<iframe src="resources/excel-expected.html"></iframe>
diff --git a/LayoutTests/quicklook/excel-legacy-expected.html b/LayoutTests/quicklook/excel-legacy-expected.html
new file mode 100644 (file)
index 0000000..a6fd117
--- /dev/null
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<style>
+iframe {
+    width: 100vw;
+    height: 100vh;
+}
+</style>
+<iframe src="resources/excel-legacy-expected.html"></iframe>
diff --git a/LayoutTests/quicklook/excel-legacy.html b/LayoutTests/quicklook/excel-legacy.html
new file mode 100644 (file)
index 0000000..3d57d1c
--- /dev/null
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<style>
+iframe {
+    width: 100vw;
+    height: 100vh;
+}
+</style>
+<iframe src="resources/excel-legacy.xls"></iframe>
diff --git a/LayoutTests/quicklook/excel.html b/LayoutTests/quicklook/excel.html
new file mode 100644 (file)
index 0000000..8848ad5
--- /dev/null
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<style>
+iframe {
+    width: 100vw;
+    height: 100vh;
+}
+</style>
+<iframe src="resources/excel.xlsx"></iframe>
diff --git a/LayoutTests/quicklook/keynote-09-expected.html b/LayoutTests/quicklook/keynote-09-expected.html
new file mode 100644 (file)
index 0000000..91b0784
--- /dev/null
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<style>
+iframe {
+    width: 100vw;
+    height: 100vh;
+}
+</style>
+<iframe src="resources/keynote-09-expected/index.html"></iframe>
diff --git a/LayoutTests/quicklook/keynote-09.html b/LayoutTests/quicklook/keynote-09.html
new file mode 100644 (file)
index 0000000..22273b0
--- /dev/null
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<style>
+iframe {
+    width: 100vw;
+    height: 100vh;
+}
+</style>
+<iframe src="resources/keynote-09.key"></iframe>
diff --git a/LayoutTests/quicklook/keynote-expected.html b/LayoutTests/quicklook/keynote-expected.html
new file mode 100644 (file)
index 0000000..18ef75f
--- /dev/null
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<style>
+iframe {
+    width: 100vw;
+    height: 100vh;
+}
+</style>
+<iframe src="resources/keynote-expected.pdf"></iframe>
diff --git a/LayoutTests/quicklook/keynote.html b/LayoutTests/quicklook/keynote.html
new file mode 100644 (file)
index 0000000..6837335
--- /dev/null
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<style>
+iframe {
+    width: 100vw;
+    height: 100vh;
+}
+</style>
+<iframe src="resources/keynote.key"></iframe>
diff --git a/LayoutTests/quicklook/numbers-09-expected.html b/LayoutTests/quicklook/numbers-09-expected.html
new file mode 100644 (file)
index 0000000..c4ff0d6
--- /dev/null
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<style>
+iframe {
+    width: 100vw;
+    height: 100vh;
+}
+</style>
+<iframe src="resources/numbers-09-expected/index.html"></iframe>
diff --git a/LayoutTests/quicklook/numbers-09.html b/LayoutTests/quicklook/numbers-09.html
new file mode 100644 (file)
index 0000000..d5256d8
--- /dev/null
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<style>
+iframe {
+    width: 100vw;
+    height: 100vh;
+}
+</style>
+<iframe src="resources/numbers-09.numbers"></iframe>
diff --git a/LayoutTests/quicklook/numbers-expected.html b/LayoutTests/quicklook/numbers-expected.html
new file mode 100644 (file)
index 0000000..89bcd84
--- /dev/null
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<style>
+iframe {
+    width: 100vw;
+    height: 100vh;
+}
+</style>
+<iframe src="resources/numbers-expected.pdf"></iframe>
diff --git a/LayoutTests/quicklook/numbers.html b/LayoutTests/quicklook/numbers.html
new file mode 100644 (file)
index 0000000..6ee3872
--- /dev/null
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<style>
+iframe {
+    width: 100vw;
+    height: 100vh;
+}
+</style>
+<iframe src="resources/numbers.numbers"></iframe>
diff --git a/LayoutTests/quicklook/pages-09-expected.html b/LayoutTests/quicklook/pages-09-expected.html
new file mode 100644 (file)
index 0000000..3c83324
--- /dev/null
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<style>
+iframe {
+    width: 100vw;
+    height: 100vh;
+}
+</style>
+<iframe src="resources/pages-09-expected/index.html"></iframe>
diff --git a/LayoutTests/quicklook/pages-09.html b/LayoutTests/quicklook/pages-09.html
new file mode 100644 (file)
index 0000000..dc22d95
--- /dev/null
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<style>
+iframe {
+    width: 100vw;
+    height: 100vh;
+}
+</style>
+<iframe src="resources/pages-09.pages"></iframe>
diff --git a/LayoutTests/quicklook/pages-expected.html b/LayoutTests/quicklook/pages-expected.html
new file mode 100644 (file)
index 0000000..fd30075
--- /dev/null
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<style>
+iframe {
+    width: 100vw;
+    height: 100vh;
+}
+</style>
+<iframe src="resources/pages-expected.pdf"></iframe>
diff --git a/LayoutTests/quicklook/pages.html b/LayoutTests/quicklook/pages.html
new file mode 100644 (file)
index 0000000..d337751
--- /dev/null
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<style>
+iframe {
+    width: 100vw;
+    height: 100vh;
+}
+</style>
+<iframe src="resources/pages.pages"></iframe>
diff --git a/LayoutTests/quicklook/powerpoint-expected.html b/LayoutTests/quicklook/powerpoint-expected.html
new file mode 100644 (file)
index 0000000..2be1a9c
--- /dev/null
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<style>
+iframe {
+    width: 100vw;
+    height: 100vh;
+}
+</style>
+<iframe src="resources/powerpoint-expected.html"></iframe>
diff --git a/LayoutTests/quicklook/powerpoint-legacy-expected.html b/LayoutTests/quicklook/powerpoint-legacy-expected.html
new file mode 100644 (file)
index 0000000..e25723b
--- /dev/null
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<style>
+iframe {
+    width: 100vw;
+    height: 100vh;
+}
+</style>
+<iframe src="resources/powerpoint-legacy-expected.html"></iframe>
diff --git a/LayoutTests/quicklook/powerpoint-legacy.html b/LayoutTests/quicklook/powerpoint-legacy.html
new file mode 100644 (file)
index 0000000..5869004
--- /dev/null
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<style>
+iframe {
+    width: 100vw;
+    height: 100vh;
+}
+</style>
+<iframe src="resources/powerpoint-legacy.ppt"></iframe>
diff --git a/LayoutTests/quicklook/powerpoint.html b/LayoutTests/quicklook/powerpoint.html
new file mode 100644 (file)
index 0000000..846152a
--- /dev/null
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<style>
+iframe {
+    width: 100vw;
+    height: 100vh;
+}
+</style>
+<iframe src="resources/powerpoint.pptx"></iframe>
diff --git a/LayoutTests/quicklook/resources/excel-expected.html b/LayoutTests/quicklook/resources/excel-expected.html
new file mode 100644 (file)
index 0000000..e2014cd
--- /dev/null
@@ -0,0 +1,90 @@
+<html>
+<head>
+    <style type="text/css">
+        .s0 {font-family:Helvetica;font-size:12; padding-top:0; padding-bottom:0; text-align:center;}
+        .s1 {font-family:Helvetica; font-weight:bold; background-color:#bdc0bf; white-space:normal; padding-bottom:0; border-top-style:solid;border-left-style:none;border-bottom-style:solid;border-right-style:solid;border-width:thin;border-color:black; vertical-align:top; padding-top:0;}
+        .s2 {font-family:Helvetica; font-weight:bold; background-color:#bdc0bf; white-space:normal; padding-bottom:0; border-style:solid;border-width:thin;border-color:black; vertical-align:top; padding-top:0;}
+        .s3 {font-family:Helvetica; font-weight:bold; background-color:#dbdbdb; white-space:normal; padding-bottom:0; border-top-style:solid;border-left-style:none;border-bottom-style:solid;border-right-style:solid;border-width:thin;border-color:black; vertical-align:top; padding-top:0;}
+        .s4 {font-family:Helvetica; white-space:normal; padding-bottom:0; border-style:solid;border-width:thin;border-color:black; vertical-align:top; padding-top:0;}
+        .s5 {font-family:Lucida Grande; font-weight:bold;color:#003300;font-size:16; white-space:normal; padding-top:0; padding-bottom:0; border-style:solid;border-width:thin;border-color:black; vertical-align:top;}
+        body {-webkit-text-size-adjust:none;}
+        td {white-space:pre; font-family:Arial; font-size:10;}
+        p {margin:0;}
+    </style>
+    <meta charset="utf-8">
+    <meta name="viewport">
+</head>
+<body style="font-family:Arial; font-size:10;">
+    <div>
+        <table style="border-collapse:collapse; table-layout:fixed; width:576; border-style:none; border-color:#d2d2df;">
+            <col style="width:65;">
+            <col style="width:65;">
+            <col style="width:65;">
+            <col style="width:65;">
+            <col style="width:65;">
+            <col style="width:65;">
+            <col style="width:65;">
+            <col style="width:65;">
+            <col style="width:65;">
+            <tr>
+                <td colspan="9" class="s0"> Table 1</td>
+            </tr>
+            <tr height="20;">
+                <td class="s1"> </td>
+                <td class="s2"> </td>
+                <td class="s2"> </td>
+                <td class="s2"> </td>
+                <td class="s2"> </td>
+                <td class="s2"> </td>
+                <td class="s2"> </td>
+                <td class="s2"> </td>
+                <td class="s2"> </td>
+            </tr>
+            <tr height="20;">
+                <td class="s3"> </td>
+                <td class="s4"> </td>
+                <td class="s4"> </td>
+                <td class="s4"> </td>
+                <td class="s4"> </td>
+                <td class="s4"> </td>
+                <td class="s4"> </td>
+                <td class="s4"> </td>
+                <td class="s4"> </td>
+            </tr>
+            <tr height="170;">
+                <td class="s3"> </td>
+                <td class="s5"> <div style="width:64; overflow:hidden;">Welcome to the website for the WebKit Open Source Project!</div></td>
+                <td class="s5"> <div style="width:64; overflow:hidden;">Welcome to the website for the WebKit Open Source Project!</div></td>
+                <td class="s5"> <div style="width:64; overflow:hidden;">Welcome to the website for the WebKit Open Source Project!</div></td>
+                <td class="s4"> </td>
+                <td class="s4"> </td>
+                <td class="s4"> </td>
+                <td class="s4"> </td>
+                <td class="s4"> </td>
+            </tr>
+            <tr height="338;">
+                <td class="s3"> </td>
+                <td class="s4"> <a href="http://www.apple.com/safari/"><div style="width:64; overflow:hidden;"><span style="font-family:Lucida Grande;color:#323232;font-size:12;">WebKit is an open source web browser engine. WebKit is also the name of the OS X system framework version of the engine that's used by </span><span style="font-family:Lucida Grande;color:#228711;font-size:12;">Safari</span><span style="font-family:Lucida Grande;color:#323232;font-size:12;">, Dashboard, Mail, and many other OS X applications.</span></div></a></td>
+                <td class="s4"> <a href="http://www.apple.com/safari/"><div style="width:64; overflow:hidden;"><span style="font-family:Lucida Grande;color:#323232;font-size:12;">WebKit is an open source web browser engine. WebKit is also the name of the OS X system framework version of the engine that's used by </span><span style="font-family:Lucida Grande;color:#228711;font-size:12;">Safari</span><span style="font-family:Lucida Grande;color:#323232;font-size:12;">, Dashboard, Mail, and many other OS X applications.</span></div></a></td>
+                <td class="s4"> <a href="http://www.apple.com/safari/"><div style="width:64; overflow:hidden;"><span style="font-family:Lucida Grande;color:#323232;font-size:12;">WebKit is an open source web browser engine. WebKit is also the name of the OS X system framework version of the engine that's used by </span><span style="font-family:Lucida Grande;color:#228711;font-size:12;">Safari</span><span style="font-family:Lucida Grande;color:#323232;font-size:12;">, Dashboard, Mail, and many other OS X applications.</span></div></a></td>
+                <td class="s4"> </td>
+                <td class="s4"> </td>
+                <td class="s4"> </td>
+                <td class="s4"> </td>
+                <td class="s4"> </td>
+            </tr>
+            <tr height="158;">
+                <td class="s3"> </td>
+                <td class="s4"> <a href="http://konqueror.kde.org/features/browser.php"><div style="width:64; overflow:hidden;"><span style="font-family:Lucida Grande;color:#323232;font-size:12;">WebKit's HTML and JavaScript code began as a branch of the </span><span style="font-family:Lucida Grande;color:#228711;font-size:12;">KHTML</span><span style="font-family:Lucida Grande;color:#323232;font-size:12;"> and KJS libraries from </span><span style="font-family:Lucida Grande;color:#228711;font-size:12;">KDE</span><span style="font-family:Lucida Grande;color:#323232;font-size:12;">.</span></div></a></td>
+                <td class="s4"> <a href="http://konqueror.kde.org/features/browser.php"><div style="width:64; overflow:hidden;"><span style="font-family:Lucida Grande;color:#323232;font-size:12;">WebKit's HTML and JavaScript code began as a branch of the </span><span style="font-family:Lucida Grande;color:#228711;font-size:12;">KHTML</span><span style="font-family:Lucida Grande;color:#323232;font-size:12;"> and KJS libraries from </span><span style="font-family:Lucida Grande;color:#228711;font-size:12;">KDE</span><span style="font-family:Lucida Grande;color:#323232;font-size:12;">.</span></div></a></td>
+                <td class="s4"> <a href="http://konqueror.kde.org/features/browser.php"><div style="width:64; overflow:hidden;"><span style="font-family:Lucida Grande;color:#323232;font-size:12;">WebKit's HTML and JavaScript code began as a branch of the </span><span style="font-family:Lucida Grande;color:#228711;font-size:12;">KHTML</span><span style="font-family:Lucida Grande;color:#323232;font-size:12;"> and KJS libraries from </span><span style="font-family:Lucida Grande;color:#228711;font-size:12;">KDE</span><span style="font-family:Lucida Grande;color:#323232;font-size:12;">.</span></div></a></td>
+                <td class="s4"> </td>
+                <td class="s4"> </td>
+                <td class="s4"> </td>
+                <td class="s4"> </td>
+                <td class="s4"> </td>
+            </tr>
+        </table>
+    </div>
+</body>
+</html>
diff --git a/LayoutTests/quicklook/resources/excel-legacy-expected.html b/LayoutTests/quicklook/resources/excel-legacy-expected.html
new file mode 100644 (file)
index 0000000..0940c98
--- /dev/null
@@ -0,0 +1,88 @@
+<html>
+<head>
+    <style type="text/css">
+        .s0 {font-family:Helvetica; font-size:12; padding-bottom:0; vertical-align:bottom; text-align:center; padding-top:0;}
+        .s1 {font-family:Helvetica; font-weight:bold; &nbsp;background-color:#bdc0bf; white-space:normal; padding-bottom:0; border-top-style:solid;border-left-style:none;border-bottom-style:solid;border-right-style:solid;border-width:thin;border-color:black; vertical-align:top; padding-top:0;}
+        .s2 {font-family:Helvetica; font-weight:bold; &nbsp;background-color:#bdc0bf; white-space:normal; padding-bottom:0; border-style:solid;border-width:thin;border-color:black; vertical-align:top; padding-top:0;}
+        .s3 {font-family:Helvetica; font-weight:bold; &nbsp;background-color:#dbdbdb; white-space:normal; padding-bottom:0; border-top-style:solid;border-left-style:none;border-bottom-style:solid;border-right-style:solid;border-width:thin;border-color:black; vertical-align:top; padding-top:0;}
+        .s4 {font-family:Helvetica; &nbsp;white-space:normal; padding-bottom:0; border-style:solid;border-width:thin;border-color:black; vertical-align:top; padding-top:0;}
+        .s5 {font-family:Lucida Grande; font-weight:bold; color:#003300;font-size:16; white-space:normal; padding-top:0; padding-bottom:0; border-style:solid;border-width:thin;border-color:black; vertical-align:top;}
+        body {-webkit-text-size-adjust:none;}
+        td {white-space:pre; font-family:Arial; font-size:10;}
+        p {margin:0;}
+    </style>
+    <meta charset="utf-8">
+    <meta name="viewport">
+</head>
+<body style="font-family:Arial; font-size:10;">
+    <div>
+        <table style="border-collapse:collapse; table-layout:fixed; width:567; border-style:none; border-color:#d2d2df;">
+            <col style="width:64;">
+            <col style="width:64;">
+            <col style="width:64;">
+            <col style="width:64;">
+            <col style="width:64;">
+            <col style="width:64;">
+            <col style="width:64;">
+            <col style="width:64;">
+            <col style="width:64;">
+            <tr>
+                <td colspan="9" class="s0"> Table 1</td>
+            </tr>
+            <tr height="20;">
+                <td class="s1"> </td>
+                <td class="s2"> </td>
+                <td class="s2"> </td>
+                <td class="s2"> </td>
+                <td class="s2"> </td>
+                <td class="s2"> </td>
+                <td class="s2"> </td>
+                <td class="s2"> </td>
+                <td class="s2"> </td>
+            </tr>
+            <tr height="20;">
+                <td class="s3"> </td>
+                <td class="s4"> </td>
+                <td class="s4"> </td>
+                <td class="s4"> </td>
+                <td class="s4"> </td>
+                <td class="s4"> </td>
+                <td class="s4"> </td>
+                <td class="s4"> </td>
+                <td class="s4"> </td>
+            </tr>
+            <tr height="170;">
+                <td class="s3"> </td>
+                <td class="s5"> <div style="width:62; overflow:hidden;">Welcome to the website for the WebKit Open Source Project!</div></td>
+                <td class="s5"> <div style="width:62; overflow:hidden;">Welcome to the website for the WebKit Open Source Project!</div></td>
+                <td class="s5"> <div style="width:62; overflow:hidden;">Welcome to the website for the WebKit Open Source Project!</div></td>
+                <td class="s4"> </td><td class="s4"> </td>
+                <td class="s4"> </td><td class="s4"> </td>
+                <td class="s4"> </td>
+            </tr>
+            <tr height="338;">
+                <td class="s3"> </td>
+                <td class="s4"> <a href="http://www.apple.com/safari/"><div style="width:62; overflow:hidden;"><span style="font-family:Lucida Grande; color:#323232;font-size:12;">WebKit is an open source web browser engine. WebKit is also the name of the OS X system framework version of the engine that's used by </span><span style="font-family:Lucida Grande; color:#228711;font-size:12;">Safari</span><span style="font-family:Lucida Grande; color:#323232;font-size:12;">, Dashboard, Mail, and many other OS X applications.</span></div></a></td>
+                <td class="s4"> <a href="http://www.apple.com/safari/"><div style="width:62; overflow:hidden;"><span style="font-family:Lucida Grande; color:#323232;font-size:12;">WebKit is an open source web browser engine. WebKit is also the name of the OS X system framework version of the engine that's used by </span><span style="font-family:Lucida Grande; color:#228711;font-size:12;">Safari</span><span style="font-family:Lucida Grande; color:#323232;font-size:12;">, Dashboard, Mail, and many other OS X applications.</span></div></a></td>
+                <td class="s4"> <a href="http://www.apple.com/safari/"><div style="width:62; overflow:hidden;"><span style="font-family:Lucida Grande; color:#323232;font-size:12;">WebKit is an open source web browser engine. WebKit is also the name of the OS X system framework version of the engine that's used by </span><span style="font-family:Lucida Grande; color:#228711;font-size:12;">Safari</span><span style="font-family:Lucida Grande; color:#323232;font-size:12;">, Dashboard, Mail, and many other OS X applications.</span></div></a></td>
+                <td class="s4"> </td>
+                <td class="s4"> </td>
+                <td class="s4"> </td>
+                <td class="s4"> </td>
+                <td class="s4"> </td>
+            </tr>
+            <tr height="158;">
+                <td class="s3"> </td>
+                <td class="s4"> <a href="http://konqueror.kde.org/features/browser.php"><div style="width:62; overflow:hidden;"><span style="font-family:Lucida Grande; color:#323232;font-size:12;">WebKit's HTML and JavaScript code began as a branch of the </span><span style="font-family:Lucida Grande; color:#228711;font-size:12;">KHTML</span><span style="font-family:Lucida Grande; color:#323232;font-size:12;"> and KJS libraries from </span><span style="font-family:Lucida Grande; color:#228711;font-size:12;">KDE</span><span style="font-family:Lucida Grande; color:#323232;font-size:12;">.</span></div></a></td>
+                <td class="s4"> <a href="http://konqueror.kde.org/features/browser.php"><div style="width:62; overflow:hidden;"><span style="font-family:Lucida Grande; color:#323232;font-size:12;">WebKit's HTML and JavaScript code began as a branch of the </span><span style="font-family:Lucida Grande; color:#228711;font-size:12;">KHTML</span><span style="font-family:Lucida Grande; color:#323232;font-size:12;"> and KJS libraries from </span><span style="font-family:Lucida Grande; color:#228711;font-size:12;">KDE</span><span style="font-family:Lucida Grande; color:#323232;font-size:12;">.</span></div></a></td>
+                <td class="s4"> <a href="http://konqueror.kde.org/features/browser.php"><div style="width:62; overflow:hidden;"><span style="font-family:Lucida Grande; color:#323232;font-size:12;">WebKit's HTML and JavaScript code began as a branch of the </span><span style="font-family:Lucida Grande; color:#228711;font-size:12;">KHTML</span><span style="font-family:Lucida Grande; color:#323232;font-size:12;"> and KJS libraries from </span><span style="font-family:Lucida Grande; color:#228711;font-size:12;">KDE</span><span style="font-family:Lucida Grande; color:#323232;font-size:12;">.</span></div></a></td>
+                <td class="s4"> </td>
+                <td class="s4"> </td>
+                <td class="s4"> </td>
+                <td class="s4"> </td>
+                <td class="s4"> </td>
+            </tr>
+        </table>
+    </div>
+</body>
+</html>
diff --git a/LayoutTests/quicklook/resources/excel-legacy.xls b/LayoutTests/quicklook/resources/excel-legacy.xls
new file mode 100644 (file)
index 0000000..c4163b9
Binary files /dev/null and b/LayoutTests/quicklook/resources/excel-legacy.xls differ
diff --git a/LayoutTests/quicklook/resources/excel.xlsx b/LayoutTests/quicklook/resources/excel.xlsx
new file mode 100644 (file)
index 0000000..22ed434
Binary files /dev/null and b/LayoutTests/quicklook/resources/excel.xlsx differ
diff --git a/LayoutTests/quicklook/resources/keynote-09-expected/index.css b/LayoutTests/quicklook/resources/keynote-09-expected/index.css
new file mode 100644 (file)
index 0000000..a9625fd
--- /dev/null
@@ -0,0 +1,111 @@
+.slideStyle {
+    height: 768px;
+    position: relative;
+    -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.5);
+    margin-left: 0px;
+    margin-bottom: 5px;
+    width: 1024px;
+    background: white;
+    margin-right: 0px;
+    margin-top: 0px;
+    overflow: hidden;
+}
+
+.notesStyle {
+    padding: 10px;
+    margin-top: 2px;
+    position: relative;
+    display: table;
+    width: 1024px;
+    -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.5);
+    background: white;
+    margin-bottom: 12px;
+    height: 100px;
+    margin-left: 0px;
+    overflow: hidden;
+    margin-right: 0px;
+}
+
+.fl {float: left; clear: left; padding: 0; width: 0px; height: 10px;}
+
+.fr {float: right; clear: right; padding: 0; width: 0px; height: 10px;}
+
+.l1 {
+    display: table-cell;
+    vertical-align: top;
+}
+
+.l2 {
+    display: table-cell;
+    vertical-align: middle;
+}
+
+.p1 {
+    padding: 0px 0px 0px 0px;
+    text-align: left;
+    margin-top: 0;
+    font-weight: normal;
+    text-indent: 0px;
+    font-family: 'Helvetica';
+    font-size: 12;
+    color: rgb(0,0,0);
+    text-transform: none;
+    margin-bottom: 0;
+    font-style: normal;
+    line-height: 13px;
+}
+
+.p2 {
+    padding: 0px 0px 0px 0px;
+    text-align: center;
+    margin-top: 0;
+    font-weight: normal;
+    text-indent: 0px;
+    font-family: 'Helvetica Light','Helvetica';
+    font-size: 36;
+    color: rgb(0,0,0);
+    text-transform: none;
+    margin-bottom: 0;
+    font-style: normal;
+    line-height: 41px;
+}
+
+.it1 {
+    font-weight: bold;
+    font-family: 'LucidaGrande';
+    text-align: left;
+    color: rgb(4,40,0);
+    font-size: 16;
+    line-height: 17px;
+    margin-top: 0;
+}
+
+.it2 {
+    margin-bottom: 0;
+    line-height: 13px;
+    font-family: 'LucidaGrande';
+    font-size: 12;
+    text-align: left;
+    color: rgb(38,38,38);
+}
+
+.it3 {
+    color: rgb(31,120,15);
+    text-decoration: none;
+}
+
+.g1 {
+    opacity: 1.00;
+    border: none;
+    background-color: transparent;
+    background-image: none;
+}
+
+.i1 { background: #ACB2BB;  }
+.i2 { background-color: rgb(255,255,255); background-image: none;  }
+.i3 { -webkit-transform: matrix(1.000000, 0.000000, 0.000000, 1.000000, 0, 0); top: 355; position: absolute; left: 0;  }
+.i4 { height: 52px; position: absolute; width: 1018px; -webkit-transform-origin: 0px 0px; left: 1; top: 356; padding: 2px 2px 2px 2px;  }
+.i5 { display: table-cell; width: 1018px; height: 52px; vertical-align: middle;  }
+.i6 { text-decoration: none;  }
+.i7 { top: 116; position: absolute; left: 405;  }
+.i8 { width: 215; height: 174;  }
diff --git a/LayoutTests/quicklook/resources/keynote-09-expected/index.html b/LayoutTests/quicklook/resources/keynote-09-expected/index.html
new file mode 100644 (file)
index 0000000..6fcbc85
--- /dev/null
@@ -0,0 +1,39 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+    <meta http-equiv="Content-type" content="text/html; charset=UTF-8">
+    <link rel="stylesheet" type="text/css" href="index.css">
+    <meta name="viewport" content="width=1042.000000">
+    <script type="text/javascript" src="index.js"></script>
+</head>
+<body class="i1 ">
+    <div id="BGSlide-1"></div>
+    <div id="slideId_1" class="slideStyle i2 ">
+        <canvas width="1022.2324" height="56" id="ShapeId_0" class="i3 ">
+            <script type="text/javascript">
+                function ShapeId_0() {
+                    var canvas = document.getElementById('ShapeId_0');
+                    var context = canvas.getContext('2d');
+                    context.translate(-0.000000, -0.000000);
+                    bezierPath(context, 'M 0 0 L 1022.2324371337891 0 L 1022.2324371337891 56.000000238418579 L 0 56.000000238418579 Z M 0 0');
+                    context.globalAlpha = 1.000000;
+                }
+                ShapeId_0();
+            </script>
+        </canvas>
+        <div class="i4 l1 l2  ">
+            <div class="i5 ">
+                <p class="p1 p2 it1">
+                    <span class="i6 ">Welcome to the website for the WebKit Open Source Project!</span><br>
+                </p>
+            <p class="p1 p2 it2">
+                <span class="i6 ">WebKit is an open source web browser engine. WebKit is also the name of the OS X system framework version of the engine that's used by </span><a href="http://www.apple.com/safari/" title="http://www.apple.com/safari/"><span class="it3">Safari</span></a><span class="i6 ">, Dashboard, Mail, and many other OS X applications. WebKit's HTML and JavaScript code began as a branch of the </span><a href="http://konqueror.kde.org/features/browser.php" title="http://konqueror.kde.org/features/browser.php"><span class="it3">KHTML</span></a><span class="i6 "> and KJS libraries from </span><a href="http://kde.org/" title="http://kde.org/"><span class="it3">KDE</span></a><span class="i6 ">.</span>
+            </p>
+        </div>
+    </div>
+    <div class="i7 ">
+        <img class="i8 g1  " src="../webkit-icon.tiff">
+    </div></div>
+    <div id="slideId_last"></div>
+</body>
+</html>
diff --git a/LayoutTests/quicklook/resources/keynote-09-expected/index.js b/LayoutTests/quicklook/resources/keynote-09-expected/index.js
new file mode 100644 (file)
index 0000000..c4f06b6
--- /dev/null
@@ -0,0 +1,112 @@
+function bezierPath(ctxt, pathString)
+{
+    var pathTokens = pathString.split(' ');
+    var numTokens = pathTokens.length;
+    for (i = 0; i < numTokens; i++)
+    {
+        var op = pathTokens[i];
+        
+        switch (op)
+        {
+            case 'm':
+            case 'M':
+            {
+                i++;
+                var mx = pathTokens[i++];
+                var my = pathTokens[i];
+                
+                ctxt.moveTo(mx, my);
+                break;
+            }
+                
+            case 'l':
+            case 'L':
+            {
+                i++;
+                var lx = pathTokens[i++];
+                var ly = pathTokens[i];
+                
+                ctxt.lineTo(lx, ly);
+                break;
+            }
+                
+            case 'c':
+            case 'C':
+            {
+                i++;
+                var cp1x = pathTokens[i++];
+                var cp1y = pathTokens[i++];
+                
+                var cp2x = pathTokens[i++];
+                var cp2y = pathTokens[i++];
+                
+                var cx = pathTokens[i++];
+                var cy = pathTokens[i];
+                
+                ctxt.bezierCurveTo(cp1x, cp1y, cp2x, cp2y, cx, cy);
+                break;
+            }
+                
+            case 'e':
+            case 'E':
+                break;
+                
+            case 'z':
+            case 'Z':
+            {
+                ctxt.closePath();
+                break;
+            }
+                
+            default:
+                break;
+        }
+    }
+}
+
+function rgbaColorString(r, g, b, a)
+{
+    var redNum = new Number(r);
+    var greenNum = new Number(g);
+    var blueNum = new Number(b);
+    var alphaNum = new Number(a);
+    
+    var rgbString = 'rgba(' + redNum.toString() + ',' + greenNum.toString() + ',' + blueNum.toString() + ',' + alphaNum.toString() + ')';
+    return rgbString;
+}
+
+function setColorFillStyle(ctxt, r, g, b, a)
+{
+    ctxt.fillStyle = rgbaColorString(r, g, b, a);
+}
+
+function createLinearGradientFillStyle(ctxt, angle, width, height)
+{
+    angle = angle + Math.PI;
+    var c = Math.cos(angle);
+    var s = Math.sin(angle);
+    var f = 1.0 / Math.max(Math.abs(s), Math.abs(c));
+    var x1 = f * c;
+    var y1 = f * s;
+    var x0 = -x1;
+    var y0 = -y1;
+    var halfWidth = width / 2;
+    var halfHeight = height / 2;
+    x1 = (x1 + 1.0) * halfWidth
+    y1 = (y1 + 1.0) * halfHeight;
+    x0 = (x0 + 1.0) * halfWidth;
+    y0 = (y0 + 1.0) * halfHeight;
+    
+    ctxt.fillStyle = ctxt.createLinearGradient(x0, y0, x1, y1);
+}
+
+function setGradientColorStop(gradient, r, g, b, a, stop)
+{
+    gradient.addColorStop(stop, rgbaColorString(r, g, b, a));
+}
+
+function setColorStrokeStyle(ctxt, r, g, b, a, width)
+{
+    ctxt.strokeStyle = rgbaColorString(r, g, b, a);
+    ctxt.lineWidth = width;
+}
diff --git a/LayoutTests/quicklook/resources/keynote-09.key b/LayoutTests/quicklook/resources/keynote-09.key
new file mode 100644 (file)
index 0000000..b6129da
Binary files /dev/null and b/LayoutTests/quicklook/resources/keynote-09.key differ
diff --git a/LayoutTests/quicklook/resources/keynote-expected.pdf b/LayoutTests/quicklook/resources/keynote-expected.pdf
new file mode 100644 (file)
index 0000000..e5ff8ed
Binary files /dev/null and b/LayoutTests/quicklook/resources/keynote-expected.pdf differ
diff --git a/LayoutTests/quicklook/resources/keynote.key b/LayoutTests/quicklook/resources/keynote.key
new file mode 100644 (file)
index 0000000..b4d120b
Binary files /dev/null and b/LayoutTests/quicklook/resources/keynote.key differ
diff --git a/LayoutTests/quicklook/resources/numbers-09-expected/canvas.js b/LayoutTests/quicklook/resources/numbers-09-expected/canvas.js
new file mode 100644 (file)
index 0000000..c4f06b6
--- /dev/null
@@ -0,0 +1,112 @@
+function bezierPath(ctxt, pathString)
+{
+    var pathTokens = pathString.split(' ');
+    var numTokens = pathTokens.length;
+    for (i = 0; i < numTokens; i++)
+    {
+        var op = pathTokens[i];
+        
+        switch (op)
+        {
+            case 'm':
+            case 'M':
+            {
+                i++;
+                var mx = pathTokens[i++];
+                var my = pathTokens[i];
+                
+                ctxt.moveTo(mx, my);
+                break;
+            }
+                
+            case 'l':
+            case 'L':
+            {
+                i++;
+                var lx = pathTokens[i++];
+                var ly = pathTokens[i];
+                
+                ctxt.lineTo(lx, ly);
+                break;
+            }
+                
+            case 'c':
+            case 'C':
+            {
+                i++;
+                var cp1x = pathTokens[i++];
+                var cp1y = pathTokens[i++];
+                
+                var cp2x = pathTokens[i++];
+                var cp2y = pathTokens[i++];
+                
+                var cx = pathTokens[i++];
+                var cy = pathTokens[i];
+                
+                ctxt.bezierCurveTo(cp1x, cp1y, cp2x, cp2y, cx, cy);
+                break;
+            }
+                
+            case 'e':
+            case 'E':
+                break;
+                
+            case 'z':
+            case 'Z':
+            {
+                ctxt.closePath();
+                break;
+            }
+                
+            default:
+                break;
+        }
+    }
+}
+
+function rgbaColorString(r, g, b, a)
+{
+    var redNum = new Number(r);
+    var greenNum = new Number(g);
+    var blueNum = new Number(b);
+    var alphaNum = new Number(a);
+    
+    var rgbString = 'rgba(' + redNum.toString() + ',' + greenNum.toString() + ',' + blueNum.toString() + ',' + alphaNum.toString() + ')';
+    return rgbString;
+}
+
+function setColorFillStyle(ctxt, r, g, b, a)
+{
+    ctxt.fillStyle = rgbaColorString(r, g, b, a);
+}
+
+function createLinearGradientFillStyle(ctxt, angle, width, height)
+{
+    angle = angle + Math.PI;
+    var c = Math.cos(angle);
+    var s = Math.sin(angle);
+    var f = 1.0 / Math.max(Math.abs(s), Math.abs(c));
+    var x1 = f * c;
+    var y1 = f * s;
+    var x0 = -x1;
+    var y0 = -y1;
+    var halfWidth = width / 2;
+    var halfHeight = height / 2;
+    x1 = (x1 + 1.0) * halfWidth
+    y1 = (y1 + 1.0) * halfHeight;
+    x0 = (x0 + 1.0) * halfWidth;
+    y0 = (y0 + 1.0) * halfHeight;
+    
+    ctxt.fillStyle = ctxt.createLinearGradient(x0, y0, x1, y1);
+}
+
+function setGradientColorStop(gradient, r, g, b, a, stop)
+{
+    gradient.addColorStop(stop, rgbaColorString(r, g, b, a));
+}
+
+function setColorStrokeStyle(ctxt, r, g, b, a, width)
+{
+    ctxt.strokeStyle = rgbaColorString(r, g, b, a);
+    ctxt.lineWidth = width;
+}
diff --git a/LayoutTests/quicklook/resources/numbers-09-expected/index.html b/LayoutTests/quicklook/resources/numbers-09-expected/index.html
new file mode 100644 (file)
index 0000000..80fb528
--- /dev/null
@@ -0,0 +1,10 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+    <link rel="stylesheet" type="text/css" href="navigation.css">
+</head>
+<frameset rows="30, *" border="none">
+    <frame src="navigation.html" name="navPane">
+    <frame src="sheet_1.html" name="sheetPane">
+</frameset>
+</html>
diff --git a/LayoutTests/quicklook/resources/numbers-09-expected/navigation.css b/LayoutTests/quicklook/resources/numbers-09-expected/navigation.css
new file mode 100644 (file)
index 0000000..72a36f1
--- /dev/null
@@ -0,0 +1,651 @@
+.fl {float: left; clear: left; padding: 0; width: 0px; height: 10px;}
+
+.fr {float: right; clear: right; padding: 0; width: 0px; height: 10px;}
+
+.p1 {
+    padding: 0px 0px 0px 0px;
+    text-align: left;
+    margin-top: 0;
+    font-weight: normal;
+    text-indent: 0px;
+    font-family: 'Helvetica';
+    font-size: 12;
+    color: rgb(0,0,0);
+    text-transform: none;
+    margin-bottom: 0;
+    font-style: normal;
+    line-height: 13px;
+}
+
+.p2 {
+    padding: 0px 0px 0px 0px;
+    text-align: center;
+    margin-top: 0;
+    font-weight: normal;
+    text-indent: 0px;
+    font-family: 'Helvetica';
+    font-size: 12;
+    color: rgb(0,0,0);
+    text-transform: none;
+    margin-bottom: 6;
+    font-style: normal;
+    line-height: 13px;
+}
+
+.l1 {
+    display: table-cell;
+    vertical-align: top;
+}
+
+.t1 {
+    background-color: rgb(255,255,255);
+    background-image: none;
+}
+
+.ic1 {
+    border-bottom: rgb(0,0,0) 1 solid;
+    border-left: rgb(0,0,0) 1 solid;
+    border-top: rgb(0,0,0) 1 solid;
+    border-right: rgb(0,0,0) 1 solid;
+    background-color: rgb(176,179,178);
+    background-image: none;
+}
+
+.c1 {
+    background-color: rgb(176,179,178);
+    opacity: 1.00;
+    background-image: none;
+}
+
+.l3 {
+    display: table-cell;
+    vertical-align: top;
+}
+
+.p3 {
+    padding: 0px 0px 0px 0px;
+    text-align: left;
+    margin-top: 0;
+    font-weight: bold;
+    text-indent: 0px;
+    font-family: 'Helvetica';
+    font-size: 10;
+    color: rgb(0,0,0);
+    text-transform: none;
+    margin-bottom: 0;
+    font-style: normal;
+    line-height: 11px;
+}
+
+.ic2 {
+    color: rgb(0,0,0);
+    text-align: left;
+    line-height: 11px;
+    padding: 4px 4px 4px 4px;
+    border-right: rgb(0,0,0) 1 solid;
+    vertical-align: top;
+    background-color: rgb(176,179,178);
+    font-size: 10;
+    background-image: none;
+    margin-top: 0;
+    font-family: 'Helvetica';
+    text-indent: 0px;
+    overflow: hidden;
+    border-left: rgb(0,0,0) 1 solid;
+    border-top: rgb(0,0,0) 1 solid;
+    border-bottom: rgb(0,0,0) 1 solid;
+    text-transform: none;
+    margin-bottom: 0;
+    font-style: normal;
+    display: table-cell;
+    font-weight: bold;
+}
+
+.ic3 {
+    color: rgb(0,0,0);
+    text-align: left;
+    line-height: 11px;
+    padding: 4px 4px 4px 4px;
+    border-right: rgb(0,0,0) 1 solid;
+    vertical-align: top;
+    background-color: rgb(176,179,178);
+    font-size: 10;
+    background-image: none;
+    margin-top: 0;
+    font-family: 'Helvetica';
+    text-indent: 0px;
+    overflow: hidden;
+    border-left: rgb(0,0,0) 1 solid;
+    border-top: rgb(0,0,0) 1 solid;
+    border-bottom: rgb(0,0,0) 1 solid;
+    text-transform: none;
+    margin-bottom: 0;
+    font-style: normal;
+    display: table-cell;
+    font-weight: bold;
+}
+
+.c2 {
+    background-color: rgb(212,212,212);
+    opacity: 1.00;
+    background-image: none;
+}
+
+.l4 {
+    display: table-cell;
+    vertical-align: top;
+}
+
+.p4 {
+    padding: 0px 0px 0px 0px;
+    text-align: left;
+    margin-top: 0;
+    font-weight: bold;
+    text-indent: 0px;
+    font-family: 'Helvetica';
+    font-size: 10;
+    color: rgb(0,0,0);
+    text-transform: none;
+    margin-bottom: 0;
+    font-style: normal;
+    line-height: 11px;
+}
+
+.ic4 {
+    color: rgb(0,0,0);
+    text-align: left;
+    line-height: 11px;
+    padding: 4px 4px 4px 4px;
+    border-right: rgb(0,0,0) 1 solid;
+    vertical-align: top;
+    background-color: rgb(212,212,212);
+    font-size: 10;
+    background-image: none;
+    margin-top: 0;
+    font-family: 'Helvetica';
+    text-indent: 0px;
+    overflow: hidden;
+    border-left: rgb(0,0,0) 1 solid;
+    border-top: rgb(0,0,0) 1 solid;
+    border-bottom: rgb(0,0,0) 1 solid;
+    text-transform: none;
+    margin-bottom: 0;
+    font-style: normal;
+    display: table-cell;
+    font-weight: bold;
+}
+
+.c3 {
+    background-color: transparent;
+    opacity: 1.00;
+    background-image: none;
+}
+
+.l5 {
+    display: table-cell;
+    vertical-align: top;
+}
+
+.p5 {
+    padding: 0px 0px 0px 0px;
+    text-align: left;
+    margin-top: 0;
+    font-weight: normal;
+    text-indent: 0px;
+    font-family: 'Helvetica';
+    font-size: 10;
+    color: rgb(0,0,0);
+    text-transform: none;
+    margin-bottom: 0;
+    font-style: normal;
+    line-height: 11px;
+}
+
+.ic5 {
+    -webkit-background-size: 100%;
+    color: rgb(0,0,0);
+    text-align: left;
+    background-size: 100%;
+    padding: 4px 4px 4px 4px;
+    line-height: 11px;
+    border-right: rgb(0,0,0) 1 solid;
+    vertical-align: top;
+    background-image: url("../webkit-icon.png");
+    background-repeat: no-repeat;
+    margin-top: 0;
+    font-family: 'Helvetica';
+    text-indent: 0px;
+    font-size: 10;
+    overflow: hidden;
+    background-position: center;
+    border-top: rgb(0,0,0) 1 solid;
+    border-bottom: rgb(0,0,0) 1 solid;
+    text-transform: none;
+    border-left: rgb(0,0,0) 1 solid;
+    margin-bottom: 0;
+    font-style: normal;
+    display: table-cell;
+    font-weight: normal;
+}
+
+.ic6 {
+    -webkit-background-size: 100%;
+    color: rgb(0,0,0);
+    text-align: left;
+    background-size: 100%;
+    padding: 4px 4px 4px 4px;
+    line-height: 11px;
+    border-right: rgb(0,0,0) 1 solid;
+    vertical-align: top;
+    background-image: url("../webkit-icon.png");
+    background-repeat: no-repeat;
+    margin-top: 0;
+    font-family: 'Helvetica';
+    text-indent: 0px;
+    font-size: 10;
+    overflow: hidden;
+    background-position: center;
+    border-top: rgb(0,0,0) 1 solid;
+    border-bottom: rgb(0,0,0) 1 solid;
+    text-transform: none;
+    border-left: rgb(0,0,0) 1 solid;
+    margin-bottom: 0;
+    font-style: normal;
+    display: table-cell;
+    font-weight: normal;
+}
+
+.ic7 {
+    color: rgb(0,0,0);
+    text-align: left;
+    line-height: 11px;
+    padding: 4px 4px 4px 4px;
+    border-right: rgb(0,0,0) 1 solid;
+    vertical-align: top;
+    background-color: transparent;
+    font-size: 10;
+    background-image: none;
+    margin-top: 0;
+    font-family: 'Helvetica';
+    text-indent: 0px;
+    overflow: hidden;
+    border-left: rgb(0,0,0) 1 solid;
+    border-top: rgb(0,0,0) 1 solid;
+    border-bottom: rgb(0,0,0) 1 solid;
+    text-transform: none;
+    margin-bottom: 0;
+    font-style: normal;
+    display: table-cell;
+    font-weight: normal;
+}
+
+.ic8 {
+    color: rgb(0,0,0);
+    text-align: left;
+    line-height: 11px;
+    padding: 4px 4px 4px 4px;
+    border-right: rgb(0,0,0) 1 solid;
+    vertical-align: top;
+    background-color: transparent;
+    font-size: 10;
+    background-image: none;
+    margin-top: 0;
+    font-family: 'Helvetica';
+    text-indent: 0px;
+    overflow: hidden;
+    border-left: rgb(0,0,0) 1 solid;
+    border-top: rgb(0,0,0) 1 solid;
+    border-bottom: rgb(0,0,0) 1 solid;
+    text-transform: none;
+    margin-bottom: 0;
+    font-style: normal;
+    display: table-cell;
+    font-weight: normal;
+}
+
+.ic9 {
+    color: rgb(0,0,0);
+    text-align: left;
+    line-height: 11px;
+    padding: 4px 4px 4px 4px;
+    border-right: rgb(0,0,0) 1 solid;
+    vertical-align: top;
+    background-color: rgb(212,212,212);
+    font-size: 10;
+    background-image: none;
+    margin-top: 0;
+    font-family: 'Helvetica';
+    text-indent: 0px;
+    overflow: hidden;
+    border-left: rgb(0,0,0) 1 solid;
+    border-top: rgb(0,0,0) 1 solid;
+    border-bottom: rgb(0,0,0) 1 solid;
+    text-transform: none;
+    margin-bottom: 0;
+    font-style: normal;
+    display: table-cell;
+    font-weight: bold;
+}
+
+.ic10 {
+    color: rgb(4,40,0);
+    text-align: left;
+    line-height: 17px;
+    padding: 4px 4px 4px 4px;
+    border-right: rgb(0,0,0) 1 solid;
+    vertical-align: top;
+    background-color: transparent;
+    font-size: 16;
+    background-image: none;
+    margin-top: 0;
+    font-family: 'LucidaGrande';
+    text-indent: 0px;
+    overflow: hidden;
+    border-left: rgb(0,0,0) 1 solid;
+    border-top: rgb(0,0,0) 1 solid;
+    border-bottom: rgb(0,0,0) 1 solid;
+    text-transform: none;
+    margin-bottom: 0;
+    font-style: normal;
+    display: table-cell;
+    font-weight: bold;
+    word-wrap: break-word;
+}
+
+.it1 {
+    padding: 0px 0px 0px 0px;
+    text-align: left;
+    margin-top: 0;
+    font-weight: bold;
+    text-indent: 0px;
+    font-family: 'LucidaGrande';
+    font-size: 16;
+    color: rgb(4,40,0);
+    text-transform: none;
+    margin-bottom: 0;
+    font-style: normal;
+    line-height: 17px;
+}
+
+.ic11 {
+    padding: 4px 4px 4px 4px;
+    text-align: left;
+    margin-top: 0;
+    display: table-cell;
+    text-indent: 0px;
+    font-family: 'LucidaGrande';
+    vertical-align: top;
+    font-weight: bold;
+    font-size: 16;
+    color: rgb(4,40,0);
+    line-height: 17px;
+    background-image: none;
+    margin-bottom: 0;
+    font-style: normal;
+    text-transform: none;
+    overflow: hidden;
+    background-color: transparent;
+    word-wrap: break-word;
+    border: rgb(0,0,0) 1 solid;
+}
+
+.it2 {
+    padding: 0px 0px 0px 0px;
+    text-align: left;
+    margin-top: 0;
+    font-weight: bold;
+    text-indent: 0px;
+    font-family: 'LucidaGrande';
+    font-size: 16;
+    color: rgb(4,40,0);
+    text-transform: none;
+    margin-bottom: 0;
+    font-style: normal;
+    line-height: 17px;
+}
+
+.ic12 {
+    padding: 4px 4px 4px 4px;
+    text-align: left;
+    margin-top: 0;
+    display: table-cell;
+    text-indent: 0px;
+    font-family: 'Helvetica';
+    vertical-align: top;
+    font-weight: normal;
+    font-size: 10;
+    color: rgb(0,0,0);
+    line-height: 11px;
+    background-image: none;
+    margin-bottom: 0;
+    font-style: normal;
+    text-transform: none;
+    overflow: hidden;
+    background-color: transparent;
+    border: rgb(0,0,0) 1 solid;
+}
+
+.ic13 {
+    color: rgb(0,0,0);
+    text-align: left;
+    line-height: 11px;
+    padding: 4px 4px 4px 4px;
+    border-right: rgb(0,0,0) 1 solid;
+    vertical-align: top;
+    background-color: transparent;
+    font-size: 10;
+    background-image: none;
+    margin-top: 0;
+    font-family: 'Helvetica';
+    text-indent: 0px;
+    overflow: hidden;
+    border-left: rgb(0,0,0) 1 solid;
+    border-top: rgb(0,0,0) 1 solid;
+    border-bottom: rgb(0,0,0) 1 solid;
+    text-transform: none;
+    margin-bottom: 0;
+    font-style: normal;
+    display: table-cell;
+    font-weight: normal;
+}
+
+.ic14 {
+    color: rgb(38,38,38);
+    text-align: left;
+    line-height: 13px;
+    padding: 4px 4px 4px 4px;
+    border-right: rgb(0,0,0) 1 solid;
+    vertical-align: top;
+    background-color: transparent;
+    font-size: 12;
+    background-image: none;
+    margin-top: 0;
+    font-family: 'LucidaGrande';
+    text-indent: 0px;
+    overflow: hidden;
+    border-left: rgb(0,0,0) 1 solid;
+    border-top: rgb(0,0,0) 1 solid;
+    border-bottom: rgb(0,0,0) 1 solid;
+    text-transform: none;
+    margin-bottom: 0;
+    font-style: normal;
+    display: table-cell;
+    font-weight: normal;
+    word-wrap: break-word;
+}
+
+.it3 {
+    padding: 0px 0px 0px 0px;
+    text-align: left;
+    margin-top: 0;
+    font-weight: normal;
+    text-indent: 0px;
+    font-family: 'LucidaGrande';
+    font-size: 12;
+    color: rgb(38,38,38);
+    text-transform: none;
+    margin-bottom: 0;
+    font-style: normal;
+    line-height: 13px;
+}
+
+.it4 {
+    color: rgb(31,120,15);
+    text-decoration: none;
+}
+
+.ic15 {
+    padding: 4px 4px 4px 4px;
+    text-align: left;
+    margin-top: 0;
+    display: table-cell;
+    text-indent: 0px;
+    font-family: 'LucidaGrande';
+    vertical-align: top;
+    font-weight: normal;
+    font-size: 12;
+    color: rgb(38,38,38);
+    line-height: 13px;
+    background-image: none;
+    margin-bottom: 0;
+    font-style: normal;
+    text-transform: none;
+    overflow: hidden;
+    background-color: transparent;
+    word-wrap: break-word;
+    border: rgb(0,0,0) 1 solid;
+}
+
+.ic16 {
+    color: rgb(0,0,0);
+    text-align: left;
+    line-height: 11px;
+    padding: 4px 4px 4px 4px;
+    border-right: rgb(0,0,0) 1 solid;
+    vertical-align: top;
+    background-color: transparent;
+    font-size: 10;
+    background-image: none;
+    margin-top: 0;
+    font-family: 'Helvetica';
+    text-indent: 0px;
+    overflow: hidden;
+    border-left: rgb(0,0,0) 1 solid;
+    border-top: rgb(0,0,0) 1 solid;
+    border-bottom: rgb(0,0,0) 1 solid;
+    text-transform: none;
+    margin-bottom: 0;
+    font-style: normal;
+    display: table-cell;
+    font-weight: normal;
+}
+
+.ic17 {
+    color: rgb(0,0,0);
+    text-align: left;
+    line-height: 11px;
+    padding: 4px 4px 4px 4px;
+    border-right: rgb(0,0,0) 1 solid;
+    vertical-align: top;
+    background-color: rgb(212,212,212);
+    font-size: 10;
+    background-image: none;
+    margin-top: 0;
+    font-family: 'Helvetica';
+    text-indent: 0px;
+    overflow: hidden;
+    border-left: rgb(0,0,0) 1 solid;
+    border-top: rgb(0,0,0) 1 solid;
+    border-bottom: rgb(0,0,0) 1 solid;
+    text-transform: none;
+    margin-bottom: 0;
+    font-style: normal;
+    display: table-cell;
+    font-weight: bold;
+}
+
+.ic18 {
+    color: rgb(0,0,0);
+    text-align: left;
+    line-height: 11px;
+    padding: 4px 4px 4px 4px;
+    border-right: rgb(0,0,0) 1 solid;
+    vertical-align: top;
+    background-color: transparent;
+    font-size: 10;
+    background-image: none;
+    margin-top: 0;
+    font-family: 'Helvetica';
+    text-indent: 0px;
+    overflow: hidden;
+    border-left: rgb(0,0,0) 1 solid;
+    border-top: rgb(0,0,0) 1 solid;
+    border-bottom: rgb(0,0,0) 1 solid;
+    text-transform: none;
+    margin-bottom: 0;
+    font-style: normal; 
+    display: table-cell; 
+    font-weight: normal; 
+} 
+
+.ic19 {
+    color: rgb(0,0,0); 
+    text-align: left; 
+    line-height: 11px; 
+    padding: 4px 4px 4px 4px; 
+    border-right: rgb(0,0,0) 1 solid; 
+    vertical-align: top; 
+    background-color: transparent; 
+    font-size: 10; 
+    background-image: none; 
+    margin-top: 0; 
+    font-family: 'Helvetica'; 
+    text-indent: 0px; 
+    overflow: hidden; 
+    border-left: rgb(0,0,0) 1 solid; 
+    border-top: rgb(0,0,0) 1 solid; 
+    border-bottom: rgb(0,0,0) 1 solid; 
+    text-transform: none; 
+    margin-bottom: 0; 
+    font-style: normal; 
+    display: table-cell; 
+    font-weight: normal; 
+} 
+
+.ic20 {
+    color: rgb(0,0,0); 
+    text-align: left; 
+    line-height: 11px; 
+    padding: 4px 4px 4px 4px; 
+    border-right: rgb(0,0,0) 1 solid; 
+    vertical-align: top; 
+    background-color: transparent; 
+    font-size: 10; 
+    background-image: none; 
+    margin-top: 0; 
+    font-family: 'Helvetica'; 
+    text-indent: 0px; 
+    overflow: hidden; 
+    border-left: rgb(0,0,0) 1 solid; 
+    border-top: rgb(0,0,0) 1 solid; 
+    border-bottom: rgb(0,0,0) 1 solid; 
+    text-transform: none; 
+    margin-bottom: 0; 
+    font-style: normal; 
+    display: table-cell; 
+    font-weight: normal; 
+} 
+
+.drawableZOrder_1 {
+    position: relative; z-index: 1;
+}
+.i1 { padding: 10px; position: relative;  }
+.i2 { padding: 0px 0px 0px 0px; left: 0px; text-align: center; text-decoration: none; font-weight: normal; margin-top: 0; font-family: 'Helvetica'; text-indent: 0px; font-size: 12; width: 650px; color: rgb(0,0,0); font-style: normal; margin-bottom: 6; line-height: 13px; text-transform: none; position: absolute; top: 9px;  }
+.i3 { height: 396; position: absolute; display: inline-table; width: 650; table-layout: fixed; left: 0; top: 28; border-collapse: collapse;  }
+.i4 { height: 21px;  }
+.i5 { -webkit-background-size: 25px 21px; background-size: 25px 21px;  }
+.i6 { height: 170px;  }
+.i7 { text-decoration: none;  }
+.i8 { height: 338px;  }
+.i9 { height: 158px;  }
+.i10 { height: 20px;  }
diff --git a/LayoutTests/quicklook/resources/numbers-09-expected/navigation.html b/LayoutTests/quicklook/resources/numbers-09-expected/navigation.html
new file mode 100644 (file)
index 0000000..2355966
--- /dev/null
@@ -0,0 +1,33 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+    <meta http-equiv="Content-type" content="text/html; charset=UTF-8">
+    <link rel="stylesheet" type="text/css" href="navigation.css">
+    <script type="text/javascript">
+        var currentSheetUri = 'sheet_1.html';
+        function gotoSheet(sheet)
+        {
+            if (sheet != currentSheetUri)
+            {
+                parent.frames['sheetPane'].location = sheet;
+                document.getElementById(currentSheetUri).className = '';
+                document.getElementById(sheet).className = 'navpane-activesheet';
+                currentSheetUri = sheet;
+            }
+        }
+    </script>
+    <link rel="stylesheet" type="text/css">
+        <style>
+            body {background-color: RGB(210,216,226); margin: 0;}
+            a {font-size: 11; font-family: "Lucida Grande"; color: black; text-decoration:none; line-height: 1.8; white-space: nowrap;}
+            div.navpane-activesheet {background-color: RGB(156,172,198);}
+            div {padding-left: 10px; overflow:hidden; text-overflow:ellipsis;}
+            a.navpane-table {padding-left:26px;}
+            img {vertical-align: middle;}
+        </style>
+    </link>
+</head>
+<body id="body">
+    <a onclick="javascript:gotoSheet('sheet_1.html'); return false;" href="#" title="Sheet 1" class="navpane-sheet"><div id="sheet_1.html" class="navpane-activesheet"><img src="" width="35">&ensp;Sheet 1</div></a>
+</body>
+</html>
diff --git a/LayoutTests/quicklook/resources/numbers-09-expected/sheet_1.html b/LayoutTests/quicklook/resources/numbers-09-expected/sheet_1.html
new file mode 100644 (file)
index 0000000..0c80a61
--- /dev/null
@@ -0,0 +1,251 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+    <link rel="stylesheet" type="text/css" href="navigation.css">
+    <meta http-equiv="Content-type" content="text/html; charset=UTF-8">
+    <script type="text/javascript" src="canvas.js"></script>
+</head>
+<body>
+    <div id="sheetBody">
+        <div class="i1 ">
+            <div class="drawableZOrder_1">
+                <div class="i2 p1 p2 l1  ">Table 1</div>
+                <table class="i3 t1  ">
+                    <col width="72">
+                    <col width="72">
+                    <col width="72">
+                    <col width="72">
+                    <col width="72">
+                    <col width="72">
+                    <col width="72">
+                    <col width="72">
+                    <col width="72">
+                    <tbody>
+                        <tr class="i4 ">
+                            <td class="ic1"></td>
+                            <td NOWRAP="1" class="c1 l1 l3 p1 p3 ic2"></td>
+                            <td class="c1 l1 l3 p1 p3 ic2"></td>
+                            <td class="c1 l1 l3 p1 p3 ic2"></td>
+                            <td class="c1 l1 l3 p1 p3 ic2"></td>
+                            <td class="c1 l1 l3 p1 p3 ic2"></td>
+                            <td class="c1 l1 l3 p1 p3 ic2"></td>
+                            <td class="c1 l1 l3 p1 p3 ic2"></td>
+                            <td NOWRAP="1" class="c1 l1 l3 p1 p3 ic3"></td></tr>
+                        <tr class="i4 ">
+                            <td NOWRAP="1" class="c2 l1 l4 p1 p4 ic4"></td>
+                            <td NOWRAP="1" class="c3 l1 l5 p1 p5 ic5 i5 "></td>
+                            <td NOWRAP="1" class="c3 l1 l5 p1 p5 ic6 i5 "></td>
+                            <td class="c3 l1 l5 p1 p5 ic6 i5 "></td>
+                            <td NOWRAP="1" class="c3 l1 l5 p1 p5 ic7"></td>
+                            <td class="c3 l1 l5 p1 p5 ic7"></td>
+                            <td class="c3 l1 l5 p1 p5 ic7"></td>
+                            <td class="c3 l1 l5 p1 p5 ic7"></td>
+                            <td NOWRAP="1" class="c3 l1 l5 p1 p5 ic8"></td></tr>
+                        <tr class="i6 ">
+                            <td NOWRAP="1" class="c2 l1 l4 p1 p4 ic9"></td>
+                            <td class="c3 l1 l5 p1 p5 ic10"><p class="p1 p5 it1"><span class="i7 ">Welcome to the website for the WebKit Open Source Project!</span></p></td>
+                            <td class="c3 l1 l5 p1 p5 ic11"><p class="p1 p5 it2"><span class="i7 ">Welcome to the website for the WebKit Open Source Project!</span></p></td>
+                            <td class="c3 l1 l5 p1 p5 ic11"><p class="p1 p5 it2"><span class="i7 ">Welcome to the website for the WebKit Open Source Project!</span></p></td>
+                            <td NOWRAP="1" class="c3 l1 l5 p1 p5 ic12"></td>
+                            <td class="c3 l1 l5 p1 p5 ic12"></td>
+                            <td class="c3 l1 l5 p1 p5 ic12"></td>
+                            <td class="c3 l1 l5 p1 p5 ic12"></td>
+                            <td NOWRAP="1" class="c3 l1 l5 p1 p5 ic13"></td></tr>
+                        <tr class="i8 ">
+                            <td class="c2 l1 l4 p1 p4 ic9"></td>
+                            <td class="c3 l1 l5 p1 p5 ic14"><p class="p1 p5 it3"><span class="i7 ">WebKit is an open source web browser engine. WebKit is also the name of the OS X system framework version of the engine that's used by </span><a href="http://www.apple.com/safari/" title="http://www.apple.com/safari/"><span class="it4">Safari</span></a><span class="i7 ">, Dashboard, Mail, and many other OS X applications.</span></p></td>
+                            <td class="c3 l1 l5 p1 p5 ic15"><p class="p1 p5 it3"><span class="i7 ">WebKit is an open source web browser engine. WebKit is also the name of the OS X system framework version of the engine that's used by </span><a href="http://www.apple.com/safari/" title="http://www.apple.com/safari/"><span class="it4">Safari</span></a><span class="i7 ">, Dashboard, Mail, and many other OS X applications.</span></p></td>
+                            <td class="c3 l1 l5 p1 p5 ic15"><p class="p1 p5 it3"><span class="i7 ">WebKit is an open source web browser engine. WebKit is also the name of the OS X system framework version of the engine that's used by </span><a href="http://www.apple.com/safari/" title="http://www.apple.com/safari/"><span class="it4">Safari</span></a><span class="i7 ">, Dashboard, Mail, and many other OS X applications.</span></p></td>
+                            <td class="c3 l1 l5 p1 p5 ic12"></td>
+                            <td class="c3 l1 l5 p1 p5 ic12"></td>
+                            <td class="c3 l1 l5 p1 p5 ic12"></td>
+                            <td class="c3 l1 l5 p1 p5 ic12"></td>
+                            <td class="c3 l1 l5 p1 p5 ic13"></td></tr>
+                        <tr class="i9 ">
+                            <td class="c2 l1 l4 p1 p4 ic9"></td>
+                            <td class="c3 l1 l5 p1 p5 ic14"><p class="p1 p5 it3"><span class="i7 ">WebKit's HTML and JavaScript code began as a branch of the </span><a href="http://konqueror.kde.org/features/browser.php" title="http://konqueror.kde.org/features/browser.php"><span class="it4">KHTML</span></a><span class="i7 "> and KJS libraries from </span><a href="http://kde.org/" title="http://kde.org/"><span class="it4">KDE</span></a><span class="i7 ">.</span></p></td>
+                            <td class="c3 l1 l5 p1 p5 ic15"><p class="p1 p5 it3"><span class="i7 ">WebKit's HTML and JavaScript code began as a branch of the </span><a href="http://konqueror.kde.org/features/browser.php" title="http://konqueror.kde.org/features/browser.php"><span class="it4">KHTML</span></a><span class="i7 "> and KJS libraries from </span><a href="http://kde.org/" title="http://kde.org/"><span class="it4">KDE</span></a><span class="i7 ">.</span></p></td>
+                            <td class="c3 l1 l5 p1 p5 ic15"><p class="p1 p5 it3"><span class="i7 ">WebKit's HTML and JavaScript code began as a branch of the </span><a href="http://konqueror.kde.org/features/browser.php" title="http://konqueror.kde.org/features/browser.php"><span class="it4">KHTML</span></a><span class="i7 "> and KJS libraries from </span><a href="http://kde.org/" title="http://kde.org/"><span class="it4">KDE</span></a><span class="i7 ">.</span></p></td>
+                            <td class="c3 l1 l5 p1 p5 ic12"></td>
+                            <td class="c3 l1 l5 p1 p5 ic12"></td>
+                            <td class="c3 l1 l5 p1 p5 ic12"></td>
+                            <td class="c3 l1 l5 p1 p5 ic12"></td>
+                            <td class="c3 l1 l5 p1 p5 ic13"></td></tr>
+                        <tr class="i10 ">
+                            <td class="c2 l1 l4 p1 p4 ic9"></td>
+                            <td NOWRAP="1" class="c3 l1 l5 p1 p5 ic16"></td>
+                            <td class="c3 l1 l5 p1 p5 ic12"></td>
+                            <td class="c3 l1 l5 p1 p5 ic12"></td>
+                            <td class="c3 l1 l5 p1 p5 ic12"></td>
+                            <td class="c3 l1 l5 p1 p5 ic12"></td>
+                            <td class="c3 l1 l5 p1 p5 ic12"></td>
+                            <td class="c3 l1 l5 p1 p5 ic12"></td>
+                            <td class="c3 l1 l5 p1 p5 ic13"></td></tr>
+                        <tr class="i10 ">
+                            <td class="c2 l1 l4 p1 p4 ic9"></td>
+                            <td class="c3 l1 l5 p1 p5 ic16"></td>
+                            <td class="c3 l1 l5 p1 p5 ic12"></td>
+                            <td class="c3 l1 l5 p1 p5 ic12"></td>
+                            <td class="c3 l1 l5 p1 p5 ic12"></td>
+                            <td class="c3 l1 l5 p1 p5 ic12"></td>
+                            <td class="c3 l1 l5 p1 p5 ic12"></td>
+                            <td class="c3 l1 l5 p1 p5 ic12"></td>
+                            <td class="c3 l1 l5 p1 p5 ic13"></td></tr>
+                        <tr class="i10 ">
+                            <td class="c2 l1 l4 p1 p4 ic9"></td>
+                            <td class="c3 l1 l5 p1 p5 ic16"></td>
+                            <td class="c3 l1 l5 p1 p5 ic12"></td>
+                            <td class="c3 l1 l5 p1 p5 ic12"></td>
+                            <td class="c3 l1 l5 p1 p5 ic12"></td>
+                            <td class="c3 l1 l5 p1 p5 ic12"></td>
+                            <td class="c3 l1 l5 p1 p5 ic12"></td>
+                            <td class="c3 l1 l5 p1 p5 ic12"></td>
+                            <td class="c3 l1 l5 p1 p5 ic13"></td></tr>
+                        <tr class="i10 ">
+                            <td class="c2 l1 l4 p1 p4 ic9"></td>
+                            <td class="c3 l1 l5 p1 p5 ic16"></td>
+                            <td class="c3 l1 l5 p1 p5 ic12"></td>
+                            <td class="c3 l1 l5 p1 p5 ic12"></td>
+                            <td class="c3 l1 l5 p1 p5 ic12"></td>
+                            <td class="c3 l1 l5 p1 p5 ic12"></td>
+                            <td class="c3 l1 l5 p1 p5 ic12"></td>
+                            <td class="c3 l1 l5 p1 p5 ic12"></td>
+                            <td class="c3 l1 l5 p1 p5 ic13"></td></tr>
+                        <tr class="i10 ">
+                            <td class="c2 l1 l4 p1 p4 ic9"></td>
+                            <td class="c3 l1 l5 p1 p5 ic16"></td>
+                            <td class="c3 l1 l5 p1 p5 ic12"></td>
+                            <td class="c3 l1 l5 p1 p5 ic12"></td>
+                            <td class="c3 l1 l5 p1 p5 ic12"></td>
+                            <td class="c3 l1 l5 p1 p5 ic12"></td>
+                            <td class="c3 l1 l5 p1 p5 ic12"></td>
+                            <td class="c3 l1 l5 p1 p5 ic12"></td>
+                            <td class="c3 l1 l5 p1 p5 ic13"></td></tr>
+                        <tr class="i10 ">
+                            <td class="c2 l1 l4 p1 p4 ic9"></td>
+                            <td class="c3 l1 l5 p1 p5 ic16"></td>
+                            <td class="c3 l1 l5 p1 p5 ic12"></td>
+                            <td class="c3 l1 l5 p1 p5 ic12"></td>
+                            <td class="c3 l1 l5 p1 p5 ic12"></td>
+                            <td class="c3 l1 l5 p1 p5 ic12"></td>
+                            <td class="c3 l1 l5 p1 p5 ic12"></td>
+                            <td class="c3 l1 l5 p1 p5 ic12"></td>
+                            <td class="c3 l1 l5 p1 p5 ic13"></td></tr>
+                        <tr class="i10 ">
+                            <td class="c2 l1 l4 p1 p4 ic9"></td>
+                            <td class="c3 l1 l5 p1 p5 ic16"></td>
+                            <td class="c3 l1 l5 p1 p5 ic12"></td>
+                            <td class="c3 l1 l5 p1 p5 ic12"></td>
+                            <td class="c3 l1 l5 p1 p5 ic12"></td>
+                            <td class="c3 l1 l5 p1 p5 ic12"></td>
+                            <td class="c3 l1 l5 p1 p5 ic12"></td>
+                            <td class="c3 l1 l5 p1 p5 ic12"></td>
+                            <td class="c3 l1 l5 p1 p5 ic13"></td></tr>
+                        <tr class="i10 ">
+                            <td class="c2 l1 l4 p1 p4 ic9"></td>
+                            <td class="c3 l1 l5 p1 p5 ic16"></td>
+                            <td class="c3 l1 l5 p1 p5 ic12"></td>
+                            <td class="c3 l1 l5 p1 p5 ic12"></td>
+                            <td class="c3 l1 l5 p1 p5 ic12"></td>
+                            <td class="c3 l1 l5 p1 p5 ic12"></td>
+                            <td class="c3 l1 l5 p1 p5 ic12"></td>
+                            <td class="c3 l1 l5 p1 p5 ic12"></td>
+                            <td class="c3 l1 l5 p1 p5 ic13"></td></tr>
+                        <tr class="i10 ">
+                            <td class="c2 l1 l4 p1 p4 ic9"></td>
+                            <td class="c3 l1 l5 p1 p5 ic16"></td>
+                            <td class="c3 l1 l5 p1 p5 ic12"></td>
+                            <td class="c3 l1 l5 p1 p5 ic12"></td>
+                            <td class="c3 l1 l5 p1 p5 ic12"></td>
+                            <td class="c3 l1 l5 p1 p5 ic12"></td>
+                            <td class="c3 l1 l5 p1 p5 ic12"></td>
+                            <td class="c3 l1 l5 p1 p5 ic12"></td>
+                            <td class="c3 l1 l5 p1 p5 ic13"></td></tr>
+                        <tr class="i10 ">
+                            <td class="c2 l1 l4 p1 p4 ic9"></td>
+                            <td class="c3 l1 l5 p1 p5 ic16"></td>
+                            <td class="c3 l1 l5 p1 p5 ic12"></td>
+                            <td class="c3 l1 l5 p1 p5 ic12"></td>
+                            <td class="c3 l1 l5 p1 p5 ic12"></td>
+                            <td class="c3 l1 l5 p1 p5 ic12"></td>
+                            <td class="c3 l1 l5 p1 p5 ic12"></td>
+                            <td class="c3 l1 l5 p1 p5 ic12"></td>
+                            <td class="c3 l1 l5 p1 p5 ic13"></td></tr>
+                        <tr class="i10 ">
+                            <td class="c2 l1 l4 p1 p4 ic9"></td>
+                            <td class="c3 l1 l5 p1 p5 ic16"></td>
+                            <td class="c3 l1 l5 p1 p5 ic12"></td>
+                            <td class="c3 l1 l5 p1 p5 ic12"></td>
+                            <td class="c3 l1 l5 p1 p5 ic12"></td>
+                            <td class="c3 l1 l5 p1 p5 ic12"></td>
+                            <td class="c3 l1 l5 p1 p5 ic12"></td>
+                            <td class="c3 l1 l5 p1 p5 ic12"></td>
+                            <td class="c3 l1 l5 p1 p5 ic13"></td></tr>
+                        <tr class="i10 ">
+                            <td class="c2 l1 l4 p1 p4 ic9"></td>
+                            <td class="c3 l1 l5 p1 p5 ic16"></td>
+                            <td class="c3 l1 l5 p1 p5 ic12"></td>
+                            <td class="c3 l1 l5 p1 p5 ic12"></td>
+                            <td class="c3 l1 l5 p1 p5 ic12"></td>
+                            <td class="c3 l1 l5 p1 p5 ic12"></td>
+                            <td class="c3 l1 l5 p1 p5 ic12"></td>
+                            <td class="c3 l1 l5 p1 p5 ic12"></td>
+                            <td class="c3 l1 l5 p1 p5 ic13"></td></tr>
+                        <tr class="i10 ">
+                            <td class="c2 l1 l4 p1 p4 ic9"></td>
+                            <td class="c3 l1 l5 p1 p5 ic16"></td>
+                            <td class="c3 l1 l5 p1 p5 ic12"></td>
+                            <td class="c3 l1 l5 p1 p5 ic12"></td>
+                            <td class="c3 l1 l5 p1 p5 ic12"></td>
+                            <td class="c3 l1 l5 p1 p5 ic12"></td>
+                            <td class="c3 l1 l5 p1 p5 ic12"></td>
+                            <td class="c3 l1 l5 p1 p5 ic12"></td>
+                            <td class="c3 l1 l5 p1 p5 ic13"></td></tr>
+                        <tr class="i10 ">
+                            <td class="c2 l1 l4 p1 p4 ic9"></td>
+                            <td class="c3 l1 l5 p1 p5 ic16"></td>
+                            <td class="c3 l1 l5 p1 p5 ic12"></td>
+                            <td class="c3 l1 l5 p1 p5 ic12"></td>
+                            <td class="c3 l1 l5 p1 p5 ic12"></td>
+                            <td class="c3 l1 l5 p1 p5 ic12"></td>
+                            <td class="c3 l1 l5 p1 p5 ic12"></td>
+                            <td class="c3 l1 l5 p1 p5 ic12"></td>
+                            <td class="c3 l1 l5 p1 p5 ic13"></td></tr>
+                        <tr class="i10 ">
+                            <td class="c2 l1 l4 p1 p4 ic9"></td>
+                            <td class="c3 l1 l5 p1 p5 ic16"></td>
+                            <td class="c3 l1 l5 p1 p5 ic12"></td>
+                            <td class="c3 l1 l5 p1 p5 ic12"></td>
+                            <td class="c3 l1 l5 p1 p5 ic12"></td>
+                            <td class="c3 l1 l5 p1 p5 ic12"></td>
+                            <td class="c3 l1 l5 p1 p5 ic12"></td>
+                            <td class="c3 l1 l5 p1 p5 ic12"></td>
+                            <td class="c3 l1 l5 p1 p5 ic13"></td></tr>
+                        <tr class="i10 ">
+                            <td class="c2 l1 l4 p1 p4 ic9"></td>
+                            <td class="c3 l1 l5 p1 p5 ic16"></td>
+                            <td class="c3 l1 l5 p1 p5 ic12"></td>
+                            <td class="c3 l1 l5 p1 p5 ic12"></td>
+                            <td class="c3 l1 l5 p1 p5 ic12"></td>
+                            <td class="c3 l1 l5 p1 p5 ic12"></td>
+                            <td class="c3 l1 l5 p1 p5 ic12"></td>
+                            <td class="c3 l1 l5 p1 p5 ic12"></td>
+                            <td class="c3 l1 l5 p1 p5 ic13"></td></tr>
+                        <tr class="i10 ">
+                            <td NOWRAP="1" class="c2 l1 l4 p1 p4 ic17"></td>
+                            <td NOWRAP="1" class="c3 l1 l5 p1 p5 ic18"></td>
+                            <td NOWRAP="1" class="c3 l1 l5 p1 p5 ic19"></td>
+                            <td class="c3 l1 l5 p1 p5 ic19"></td>
+                            <td class="c3 l1 l5 p1 p5 ic19"></td>
+                            <td class="c3 l1 l5 p1 p5 ic19"></td>
+                            <td class="c3 l1 l5 p1 p5 ic19"></td>
+                            <td class="c3 l1 l5 p1 p5 ic19"></td>
+                            <td NOWRAP="1" class="c3 l1 l5 p1 p5 ic20"></td>
+                        </tr>
+                    </tbody>
+                </table>
+            </div>
+        </div>
+    </div>
+</body>
+</html>
diff --git a/LayoutTests/quicklook/resources/numbers-09.numbers b/LayoutTests/quicklook/resources/numbers-09.numbers
new file mode 100644 (file)
index 0000000..7dd3ec5
Binary files /dev/null and b/LayoutTests/quicklook/resources/numbers-09.numbers differ
diff --git a/LayoutTests/quicklook/resources/numbers-expected.pdf b/LayoutTests/quicklook/resources/numbers-expected.pdf
new file mode 100644 (file)
index 0000000..41d9e12
Binary files /dev/null and b/LayoutTests/quicklook/resources/numbers-expected.pdf differ
diff --git a/LayoutTests/quicklook/resources/numbers.numbers b/LayoutTests/quicklook/resources/numbers.numbers
new file mode 100644 (file)
index 0000000..4155223
Binary files /dev/null and b/LayoutTests/quicklook/resources/numbers.numbers differ
diff --git a/LayoutTests/quicklook/resources/pages-09-expected/index.css b/LayoutTests/quicklook/resources/pages-09-expected/index.css
new file mode 100644 (file)
index 0000000..a583212
--- /dev/null
@@ -0,0 +1,81 @@
+.fl {float: left; clear: left; padding: 0; width: 0px; height: 10px;}
+
+.fr {float: right; clear: right; padding: 0; width: 0px; height: 10px;}
+
+.p1 {
+    padding: 0px 0px 0px 0px;
+    text-align: left;
+    margin-top: 0;
+    font-weight: normal;
+    text-indent: 0px;
+    font-family: 'Helvetica';
+    font-size: 12;
+    color: rgb(0,0,0);
+    text-transform: none;
+    margin-bottom: 0;
+    font-style: normal;
+    line-height: 13px;
+}
+
+.it1 {
+    margin-top: 0;
+    margin-bottom: 0;
+    text-align: left;
+}
+
+.g1 {
+    opacity: 1.00;
+    border: none;
+    background-color: transparent;
+    background-image: none;
+}
+
+.p2 {
+    padding: 0px 0px 0px 0px;
+    text-align: left;
+    margin-top: 0;
+    font-weight: normal;
+    text-indent: 0px;
+    font-family: 'Helvetica';
+    font-size: 12;
+    color: rgb(0,0,0);
+    text-transform: none;
+    margin-bottom: 0;
+    font-style: normal;
+    line-height: 13px;
+}
+
+.it2 {
+    font-weight: bold;
+    line-height: 17px;
+    font-family: 'LucidaGrande';
+    font-size: 16;
+    margin-top: 0;
+    color: rgb(4,40,0);
+}
+
+.it3 {
+    margin-bottom: 0;
+    line-height: 13px;
+    font-family: 'LucidaGrande';
+    color: rgb(38,38,38);
+}
+
+.it4 {
+    color: rgb(31,120,15);
+    text-decoration: none;
+}
+
+.dzo {
+    z-index: 100;
+}
+
+.i1 { background: #ACB2BB;  }
+.i2 { min-height: 812px; position: relative; -webkit-box-shadow: 0px 5px 5px rgba(0, 0, 0, 0.5); margin-left: 0px; margin-bottom: 5px; width: 612px; background: white; margin-right: 0px; overflow: hidden; margin-top: 0px;  }
+.i3 { padding-top: 36px; top: 0px; overflow: hidden; width: 468px; position: absolute; left: 72px;  }
+.i4 { width: 215; height: 174;  }
+.i5 { bottom: 43px; width: 468px; position: absolute; left: 72px;  }
+.i6 { position: absolute; padding-left: 72px; min-height: 527px; width: 468px; padding-top: 222px;  }
+.i7 { display: inline; background: #FFFFFF;  }
+.i8 { text-decoration: none;  }
+.i9 { visibility: hidden; margin-bottom: 43px; width: 468px; left: 72px;  }
diff --git a/LayoutTests/quicklook/resources/pages-09-expected/index.html b/LayoutTests/quicklook/resources/pages-09-expected/index.html
new file mode 100644 (file)
index 0000000..41abd36
--- /dev/null
@@ -0,0 +1,31 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+    <meta http-equiv="Content-type" content="text/html; charset=UTF-8">
+    <link rel="stylesheet" type="text/css" href="index.css">
+    <meta name="viewport" content="width=630.000000">
+</head>
+<body class="i1 ">
+    <div class="dzo i2 ">
+        <div>
+            <div id="SFWPDefaultOddHeaderIdentifier" class="dzo i3 ">
+                <p class="p1 it1">
+                    <span>        </span><img class="i4 g1  " src="../webkit-icon.tiff">
+                </p>
+            </div>
+            <div id="SFWPDefaultOddFooterIdentifier" class="dzo i5 "></div>
+            <div class="dzo i6 ">
+                <div class="i7 ">
+                    <p class="p2 it2">
+                        <span class="i8 ">Welcome to the website for the WebKit Open Source Project!</span><br>
+                    </p>
+                    <p class="p2 it3">
+                        <span class="i8 ">WebKit is an open source web browser engine. WebKit is also the name of the OS X system framework version of the engine that's used by </span><a href="http://www.apple.com/safari/" title="http://www.apple.com/safari/"><span class="it4">Safari</span></a><span class="i8 ">, Dashboard, Mail, and many other OS X applications. WebKit's HTML and JavaScript code began as a branch of the </span><a href="http://konqueror.kde.org/features/browser.php" title="http://konqueror.kde.org/features/browser.php"><span class="it4">KHTML</span></a><span class="i8 "> and KJS libraries from </span><a href="http://kde.org/" title="http://kde.org/"><span class="it4">KDE</span></a><span class="i8 ">.</span>
+                    </p>
+                </div>
+            </div>
+        </div>
+        <div class="dzo i9 "></div>
+    </div>
+</body>
+</html>
diff --git a/LayoutTests/quicklook/resources/pages-09.pages b/LayoutTests/quicklook/resources/pages-09.pages
new file mode 100644 (file)
index 0000000..6104289
Binary files /dev/null and b/LayoutTests/quicklook/resources/pages-09.pages differ
diff --git a/LayoutTests/quicklook/resources/pages-expected.pdf b/LayoutTests/quicklook/resources/pages-expected.pdf
new file mode 100644 (file)
index 0000000..c5bd611
Binary files /dev/null and b/LayoutTests/quicklook/resources/pages-expected.pdf differ
diff --git a/LayoutTests/quicklook/resources/pages.pages b/LayoutTests/quicklook/resources/pages.pages
new file mode 100644 (file)
index 0000000..4053989
Binary files /dev/null and b/LayoutTests/quicklook/resources/pages.pages differ
diff --git a/LayoutTests/quicklook/resources/powerpoint-expected.html b/LayoutTests/quicklook/resources/powerpoint-expected.html
new file mode 100644 (file)
index 0000000..3c83564
--- /dev/null
@@ -0,0 +1,77 @@
+<html>
+<head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=1024; maximum-scale=4.0">
+    <style type="text/css">
+        body
+        {
+            -webkit-text-size-adjust: none;
+        }
+
+        div
+        {
+            margin-top: 0;
+            margin-bottom: 0;
+            font-family:Arial, sans-serif;
+        }
+
+        p
+        {
+            margin-top: 0;
+            margin-bottom: 0;
+            word-wrap:break-word;
+            line-height: 110%
+        }
+
+        span
+        {
+            line-height: 110%
+        }
+
+        table
+        {
+            border-collapse: collapse;
+            border-color: black;
+            border-style: solid;
+            border-width: thin;
+        }
+
+        td
+        {
+            word-wrap:break-word;
+            font-family:Arial;
+            vertical-align:top;
+            border-style: solid;
+            border-width: thin;
+        }
+
+        .s0
+        {
+            background:#ACB2BB;
+        }
+    </style>
+</head>
+<body class="s0">
+    <style type="text/css">
+        .s1 {background-color:#ffffff; top:0; left:0; width:1024; height:768; position:absolute;}
+        .s2 {display:table-cell; vertical-align:middle;}
+        .s3 {margin-top:4; margin-left:4; margin-bottom:4; margin-right:4; display:table; width:1022; height:56;}
+    </style>
+    <div class="slide" style="position:absolute; overflow:hidden; top:0; left:0; width:1024; height:768;">
+        <div class="s1"></div>
+        <div style="position:absolute; top:355; left:0; width:1022; height:56;">
+            <div class="s3">
+                <div class="s2">
+                    <p style="font-family:'Lucida Grande'; font-size:16;">
+                        <span style="color:#003400; font-weight:bold; font-size:16; font-family:'Lucida Grande';">Welcome to the website for the WebKit Open Source Project!</span>
+                    </p>
+                    <p style="font-family:'(null)'; font-size:18;">
+                        <span style="color:#323333; font-size:12; font-family:'Lucida Grande';">WebKit is an open source web browser engine. WebKit is also the name of the OS X system framework version of the engine that's used by </span><a href="http://www.apple.com/safari/" style="color:#228811; font-size:12; font-family:'Lucida Grande';">Safari</a><span style="color:#323333; font-size:12; font-family:'Lucida Grande';">, Dashboard, Mail, and many other OS X applications. WebKit's HTML and JavaScript code began as a branch of the </span><a href="http://konqueror.kde.org/features/browser.php" style="color:#228811; font-size:12; font-family:'Lucida Grande';">KHTML</a><span style="color:#323333; font-size:12; font-family:'Lucida Grande';"> and KJS libraries from </span><a href="http://kde.org/" style="color:#228811; font-size:12; font-family:'Lucida Grande';">KDE</a><span style="color:#323333; font-size:12; font-family:'Lucida Grande';">.</span>
+                    </p>
+                </div>
+            </div>
+        </div>
+        <img src="webkit-icon.tiff" style="position:absolute; top:116; left:404; width:215; height:174;">
+    </div>
+</body>
+</html>
diff --git a/LayoutTests/quicklook/resources/powerpoint-legacy-expected.html b/LayoutTests/quicklook/resources/powerpoint-legacy-expected.html
new file mode 100644 (file)
index 0000000..82aa071
--- /dev/null
@@ -0,0 +1,77 @@
+<html>
+<head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=1024; maximum-scale=4.0">
+    <style type="text/css">
+        body
+        {
+            -webkit-text-size-adjust: none;
+        }
+
+        div
+        {
+            margin-top: 0;
+            margin-bottom: 0;
+            font-family:Arial, sans-serif;
+        }
+
+        p
+        {
+            margin-top: 0;
+            margin-bottom: 0;
+            word-wrap:break-word;
+            line-height: 110%
+        }
+
+        span
+        {
+            line-height: 110%
+        }
+
+        table
+        {
+            border-collapse: collapse;
+            border-color: black;
+            border-style: solid;
+            border-width: thin;
+        }
+
+        td
+        {
+            word-wrap:break-word;
+            font-family:Arial;
+            vertical-align:top;
+            border-style: solid;
+            border-width: thin;
+        }
+
+        .s0
+        {
+            background:#ACB2BB;
+        }
+    </style>
+</head>
+<body class="s0">
+    <style type="text/css">
+        .s1 {background-color:#ffffff; top:0; left:0; width:1024; height:768; position:absolute;}
+        .s2 {display:table-cell; vertical-align:middle;}
+        .s3 {margin-top:4; margin-left:4; margin-bottom:4; margin-right:4; display:table; width:1022; height:56;}
+    </style>
+    <div class="slide" style="position:absolute; overflow:hidden; top:0; left:0; width:1024; height:768;">
+        <div class="s1"></div>
+        <div style="position:absolute; top:355; left:0; width:1022; height:56;">
+            <div class="s3">
+                <div class="s2">
+                    <p style="padding-bottom:0; font-family:'Lucida Grande'; font-size:16;">
+                        <span style="color:#003400; font-weight:bold; font-size:16; font-family:'Lucida Grande';">Welcome to the website for the WebKit Open Source Project!</span>
+                    </p>
+                    <p style="padding-top:0; padding-bottom:0; font-family:'Helvetica Light'; font-size:18;">
+                        <span style="color:#323333; font-size:12; font-family:'Lucida Grande';">WebKit is an open source web browser engine. WebKit is also the name of the OS X system framework version of the engine that's used by </span><span style="color:#228811; font-size:12; font-family:'Lucida Grande';">Safari</span><span style="color:#323333; font-size:12; font-family:'Lucida Grande';">, Dashboard, Mail, and many other OS X applications. WebKit's HTML and JavaScript code began as a branch of the </span><span style="color:#228811; font-size:12; font-family:'Lucida Grande';">KHTML</span><span style="color:#323333; font-size:12; font-family:'Lucida Grande';"> and KJS libraries from </span><span style="color:#228811; font-size:12; font-family:'Lucida Grande';">KDE</span><span style="color:#323333; font-size:12; font-family:'Lucida Grande';">.</span>
+                    </p>
+                </div>
+            </div>
+        </div>
+        <img src="webkit-icon.png" style="position:absolute; top:116; left:404; width:215; height:174;">
+    </div>
+</body>
+</html>
diff --git a/LayoutTests/quicklook/resources/powerpoint-legacy.ppt b/LayoutTests/quicklook/resources/powerpoint-legacy.ppt
new file mode 100644 (file)
index 0000000..a337c76
Binary files /dev/null and b/LayoutTests/quicklook/resources/powerpoint-legacy.ppt differ
diff --git a/LayoutTests/quicklook/resources/powerpoint.pptx b/LayoutTests/quicklook/resources/powerpoint.pptx
new file mode 100644 (file)
index 0000000..93bc445
Binary files /dev/null and b/LayoutTests/quicklook/resources/powerpoint.pptx differ
diff --git a/LayoutTests/quicklook/resources/webkit-icon.pdf b/LayoutTests/quicklook/resources/webkit-icon.pdf
new file mode 100644 (file)
index 0000000..b1feaab
Binary files /dev/null and b/LayoutTests/quicklook/resources/webkit-icon.pdf differ
diff --git a/LayoutTests/quicklook/resources/webkit-icon.png b/LayoutTests/quicklook/resources/webkit-icon.png
new file mode 100644 (file)
index 0000000..ab709df
Binary files /dev/null and b/LayoutTests/quicklook/resources/webkit-icon.png differ
diff --git a/LayoutTests/quicklook/resources/webkit-icon.tiff b/LayoutTests/quicklook/resources/webkit-icon.tiff
new file mode 100644 (file)
index 0000000..bfd3e03
Binary files /dev/null and b/LayoutTests/quicklook/resources/webkit-icon.tiff differ
diff --git a/LayoutTests/quicklook/resources/word-expected.html b/LayoutTests/quicklook/resources/word-expected.html
new file mode 100644 (file)
index 0000000..ee5e3eb
--- /dev/null
@@ -0,0 +1,107 @@
+<html>
+<head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=612; maximum-scale=4.0">
+    <title>webkit.docx</title>
+    <style type="text/css">
+        body
+        {
+            -webkit-text-size-adjust: none;
+            font-size:18;
+        }
+
+        div
+        {
+            margin-top: 0;
+            margin-bottom: 0;
+        }
+
+        p
+        {
+            margin-top: 0;
+            margin-bottom: 0;
+            line-height: 120%
+        }
+
+        span
+        {
+            line-height: 120%
+        }
+
+        table
+        {
+            border-collapse: collapse;
+            border-color: black;
+            font-size:12;
+        }
+
+        td
+        {
+            word-wrap:break-word
+        }
+    </style>
+    <style type="text/css" media="screen">
+        .bumpedFont15
+        {
+            font-size:1.5em;
+        }
+
+        .bumpedFont17
+        {
+            font-size:1.7em;
+        }
+
+        .bumpedFont20
+        {
+            font-size:2.0em;
+        }
+
+        .s0
+        {
+            margin-left: 0;
+            margin-top: 0;
+        }
+
+        .s1
+        {
+            overflow:hidden;
+            position:relative;
+            word-wrap:break-word;
+            width: 468;
+            padding-left: 72;
+            padding-right: 72;
+            min-height: 844;
+            padding-top: 36;
+            padding-bottom: 72;
+        }
+    </style>
+</head>
+<body class="s0">
+    <div class="s1">
+        <style type="text/css">
+            .s2 {}
+            .s3 {width:215; height:174;}
+            .s4 {margin-bottom:0; text-align:left; margin-left:0; line-height:1.200000; margin-right:0; text-indent:0; margin-top:0;}
+        </style>
+        <div class="s2">
+            <p class="s4">
+                <span style="padding-left:36;">​</span><img src="webkit-icon.pdf" class="s3">
+            </p>
+        </div>
+        <style type="text/css">
+            .s5 {font-weight:bold; font-family:'Lucida Grande'; color:#003300; font-size:16;}
+            .s6 {direction:ltr; margin-bottom:0; text-align:left; margin-left:0; line-height:1.200000; margin-right:0; text-indent:0; margin-top:0;}
+        </style>
+        <p class="s6">
+            <span class="s5"><span class="bumpedFont15">Welcome to the website for the WebKit Open Source Project!</span></span>
+        </p>
+        <style type="text/css">
+            .s7 {font-weight:normal; font-family:'Lucida Grande'; color:#323232; font-size:12;}
+            .s8 {font-weight:normal; font-family:'Lucida Grande'; color:#228711; font-size:12;}
+        </style>
+        <p class="s6">
+            <span class="s7"><span class="bumpedFont15">WebKit is an open source web browser engine. WebKit is also the name of the OS X system framework version of the engine that's used by </span></span><a href="http://www.apple.com/safari/"><span class="s8"><span class="bumpedFont15">Safari</span></span></a><span class="s7"><span class="bumpedFont15">, Dashboard, Mail, and many other OS X applications. WebKit's HTML and JavaScript code began as a branch of the </span></span><a href="http://konqueror.kde.org/features/browser.php"><span class="s8"><span class="bumpedFont15">KHTML</span></span></a><span class="s7"><span class="bumpedFont15"> and KJS libraries from </span></span><a href="http://kde.org/"><span class="s8"><span class="bumpedFont15">KDE</span></span></a><span class="s7"><span class="bumpedFont15">.</span></span>
+        </p>
+    </div>
+</body>
+</html>
diff --git a/LayoutTests/quicklook/resources/word-legacy-expected.html b/LayoutTests/quicklook/resources/word-legacy-expected.html
new file mode 100644 (file)
index 0000000..f4def40
--- /dev/null
@@ -0,0 +1,111 @@
+<html>
+<head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=612; maximum-scale=4.0">
+    <title>webkit.doc</title>
+    <style type="text/css">
+        body
+        {
+            -webkit-text-size-adjust: none;
+            font-size:18;
+        }
+
+        div
+        {
+            margin-top: 0;
+            margin-bottom: 0;
+        }
+
+        p
+        {
+            margin-top: 0;
+            margin-bottom: 0;
+            line-height: 120%
+        }
+
+        span
+        {
+            line-height: 120%
+        }
+
+        table
+        {
+            border-collapse: collapse;
+            border-color: black;
+            font-size:12;
+        }
+
+        td
+        {
+            word-wrap:break-word
+        }
+
+        .bumpedFont15
+        {
+            font-size:1.5em;
+        }
+
+        .bumpedFont17
+        {
+            font-size:1.7em;
+        }
+
+        .bumpedFont20
+        {
+            font-size:2.0em;
+        }
+    
+        .s0
+        {
+            margin-left: 0;
+            margin-top: 0;
+        }
+
+        .s1
+        {
+            overflow:hidden;
+            position:relative;
+            word-wrap:break-word;
+            width: 468;
+            padding-left: 72;
+            padding-right: 72;
+            min-height: 844;
+            padding-top: 36;
+            padding-bottom: 72;
+        }
+    </style>
+</head>
+<body class="s0">
+    <div class="s1">
+        <style type="text/css">
+            .s2 {}
+            .s3 {width:215; height:174;}
+            .s4 {direction:ltr; margin-bottom:0; text-align:left; margin-left:0; line-height:1.200000; margin-right:0; text-indent:0; margin-top:0;}
+        </style>
+        <div class="s2">
+            <p class="s4">
+                <span style="padding-left:36;">​</span><img src="webkit-icon.png" class="s3">
+            </p>
+        </div>
+        <style type="text/css">
+            .s5 {font-weight:bold; font-family:'Lucida Grande'; color:#003300; font-size:16;}
+        </style>
+        <p class="s4">
+            <span class="s5"><span class="bumpedFont15">Welcome to the website for the WebKit Open Source Project!</span></span>
+        </p>
+        <style type="text/css">
+            .s6 {font-weight:normal; font-family:'Lucida Grande'; color:#323232; font-size:12;}
+            .s7 {font-weight:normal; font-family:'Lucida Grande'; color:#228711; font-size:12;}
+        </style>
+        <p class="s4">
+            <span class="s6"><span class="bumpedFont15">WebKit is an open source web browser engine. WebKit is also the name of the OS X system framework version of the engine that's used by </span></span><a href="http://www.apple.com/safari/"><span class="s7"><span class="bumpedFont15">Safari</span></span></a><span class="s6"><span class="bumpedFont15">, Dashboard, Mail, and many other OS X applications. WebKit's HTML and JavaScript code began as a branch of the </span></span><a href="http://konqueror.kde.org/features/browser.php"><span class="s7"><span class="bumpedFont15">KHTML</span></span></a><span class="s6"><span class="bumpedFont15"> and KJS libraries from </span></span><a href="http://kde.org/"><span class="s7"><span class="bumpedFont15">KDE</span></span></a><span class="s6"><span class="bumpedFont15">.</span></span>
+        </p>
+        <style type="text/css">
+            .s8 {direction:ltr;}
+        </style>
+        <p class="s8">
+            <span> </span>
+        </p>
+    </div>
+</body>
+</html>
diff --git a/LayoutTests/quicklook/resources/word-legacy.doc b/LayoutTests/quicklook/resources/word-legacy.doc
new file mode 100644 (file)
index 0000000..9d0ec3d
Binary files /dev/null and b/LayoutTests/quicklook/resources/word-legacy.doc differ
diff --git a/LayoutTests/quicklook/resources/word.docx b/LayoutTests/quicklook/resources/word.docx
new file mode 100644 (file)
index 0000000..b6b107e
Binary files /dev/null and b/LayoutTests/quicklook/resources/word.docx differ
diff --git a/LayoutTests/quicklook/word-expected.html b/LayoutTests/quicklook/word-expected.html
new file mode 100644 (file)
index 0000000..697e183
--- /dev/null
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<style>
+iframe {
+    width: 100vw;
+    height: 100vh;
+}
+</style>
+<iframe src="resources/word-expected.html"></iframe>
diff --git a/LayoutTests/quicklook/word-legacy-expected.html b/LayoutTests/quicklook/word-legacy-expected.html
new file mode 100644 (file)
index 0000000..3381886
--- /dev/null
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<style>
+iframe {
+    width: 100vw;
+    height: 100vh;
+}
+</style>
+<iframe src="resources/word-legacy-expected.html"></iframe>
diff --git a/LayoutTests/quicklook/word-legacy.html b/LayoutTests/quicklook/word-legacy.html
new file mode 100644 (file)
index 0000000..8389934
--- /dev/null
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<style>
+iframe {
+    width: 100vw;
+    height: 100vh;
+}
+</style>
+<iframe src="resources/word-legacy.doc"></iframe>
diff --git a/LayoutTests/quicklook/word.html b/LayoutTests/quicklook/word.html
new file mode 100644 (file)
index 0000000..66cfd4f
--- /dev/null
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<style>
+iframe {
+    width: 100vw;
+    height: 100vh;
+}
+</style>
+<iframe src="resources/word.docx"></iframe>