[NUI] Update webview sample and load local files instead.
authorhuayong.xu <huayong.xu@samsung.com>
Fri, 29 Jul 2022 09:49:27 +0000 (17:49 +0800)
committerJaehyun Cho <jaehyun0cho@gmail.com>
Tue, 2 Aug 2022 06:47:49 +0000 (15:47 +0900)
test/Tizen.NUI.WebViewTest/SimpleWebViewApp.cs
test/Tizen.NUI.WebViewTest/Tizen.NUI.WebViewTest.csproj
test/Tizen.NUI.WebViewTest/res/test.png [new file with mode: 0755]
test/Tizen.NUI.WebViewTest/res/test1.html [new file with mode: 0755]
test/Tizen.NUI.WebViewTest/res/test2.html [new file with mode: 0755]
test/Tizen.NUI.WebViewTest/tizen-manifest.xml

index e052fae..37a03b5 100755 (executable)
@@ -42,7 +42,7 @@ namespace Tizen.NUI.WebViewTest
             Layout = new LinearLayout()
             {
                 LinearOrientation = LinearLayout.Orientation.Vertical,
-                LinearAlignment = LinearLayout.Alignment.Center
+                HorizontalAlignment = HorizontalAlignment.Center
             };
 
             buttons = new Button[menu.ItemCount];
@@ -108,11 +108,11 @@ namespace Tizen.NUI.WebViewTest
 
         private int index = 0;
         private const int WEBSITES_COUNT = 2;
-        private string[] websites =
-        {
-            "https://terms.account.samsung.com/contents/legal/kor/kor/customizedservicecontent.html",
-            "https://www.youtube.com"
-        };
+        private string[] websites = new string[2];
+        //{
+        //    "https://terms.account.samsung.com/contents/legal/kor/kor/customizedservicecontent.html",
+        //    "https://www.youtube.com"
+        //};
 
         private string invalidUrl = "https://test/";
 
@@ -135,6 +135,7 @@ namespace Tizen.NUI.WebViewTest
         private int blueKeyPressedCount = 0;
         private int yellowKeyPressedCount = 0;
         private int redKeyPressedCount = 0;
+        private int greenKeyPressedCount = 0;
 
         private static long startTime = 0;
 
@@ -238,6 +239,11 @@ namespace Tizen.NUI.WebViewTest
             GetDefaultWindow().Add(simpleWebView);
 
             GetDefaultWindow().KeyEvent += Instance_KeyEvent;
+
+            // load local files.
+            websites[0] = $"file://{Tizen.Applications.Application.Current.DirectoryInfo.Resource}test1.html";
+            websites[1] = $"file://{Tizen.Applications.Application.Current.DirectoryInfo.Resource}test2.html";
+
             simpleWebView.LoadUrl(websites[index]);
             //simpleWebView.LoadHtmlString("<Html><Head><title>Example</title></Head><Body><b>[This text is Bold......]</b></Body></Html>");
             FocusManager.Instance.SetCurrentFocusView(simpleWebView);
@@ -818,8 +824,7 @@ namespace Tizen.NUI.WebViewTest
                 {
                     Log.Info("WebView", $"key XF86Green is pressed.");
 
-                    //greenKeyPressedCount++;
-                    if (simpleWebView.Url.Contains("account.samsung"))
+                    if (greenKeyPressedCount == 0 && simpleWebView.Url.Contains("test1.html"))
                     {
                         // webview apis
                         Log.Info("WebView", $"web page title is {simpleWebView.Title}");
@@ -1059,6 +1064,7 @@ namespace Tizen.NUI.WebViewTest
 
                         //
                         result = true;
+                        greenKeyPressedCount++;
                     }
                 }
             }
index 1e9b066..0d55617 100755 (executable)
@@ -19,7 +19,7 @@
   </PropertyGroup>
 
   <ItemGroup>
-       <PackageReference Include="Tizen.NET" Version="9.0.0.16181" />
+       <PackageReference Include="Tizen.NET" Version="10.0.0.17317" />
        <PackageReference Include="Tizen.NET.Sdk" Version="1.0.9" />
   </ItemGroup>
 
diff --git a/test/Tizen.NUI.WebViewTest/res/test.png b/test/Tizen.NUI.WebViewTest/res/test.png
new file mode 100755 (executable)
index 0000000..dfc281e
Binary files /dev/null and b/test/Tizen.NUI.WebViewTest/res/test.png differ
diff --git a/test/Tizen.NUI.WebViewTest/res/test1.html b/test/Tizen.NUI.WebViewTest/res/test1.html
new file mode 100755 (executable)
index 0000000..22fbc5f
--- /dev/null
@@ -0,0 +1,104 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<title>CSS Template</title>
+<meta charset="utf-8">
+<meta name="viewport" content="width=device-width, initial-scale=1">
+<style>
+* {
+  box-sizing: border-box;
+}
+
+body {
+  font-family: Arial, Helvetica, sans-serif;
+}
+
+/* Style the header */
+header {
+  background-color: #666;
+  padding: 30px;
+  text-align: center;
+  font-size: 35px;
+  color: white;
+}
+
+/* Create two columns/boxes that floats next to each other */
+nav {
+  float: left;
+  width: 30%;
+  height: 300px; /* only for demonstration, should be removed */
+  background: #ccc;
+  padding: 20px;
+}
+
+/* Style the list inside the menu */
+nav ul {
+  list-style-type: none;
+  padding: 0;
+}
+
+article {
+  float: left;
+  padding: 20px;
+  width: 70%;
+  background-color: #f1f1f1;
+  height: 300px; /* only for demonstration, should be removed */
+}
+
+/* Clear floats after the columns */
+section::after {
+  content: "";
+  display: table;
+  clear: both;
+}
+
+/* Style the footer */
+footer {
+  background-color: #777;
+  padding: 10px;
+  text-align: center;
+  color: white;
+}
+
+/* Responsive layout - makes the two columns/boxes stack on top of each other instead of next to each other, on small screens */
+@media (max-width: 600px) {
+  nav, article {
+    width: 100%;
+    height: auto;
+  }
+}
+</style>
+</head>
+<body>
+
+<h2>CSS Layout Float</h2>
+<p>In this example, we have created a header, two columns/boxes and a footer. On smaller screens, the columns will stack on top of each other.</p>
+<p>Resize the browser window to see the responsive effect (you will learn more about this in our next chapter - HTML Responsive.)</p>
+
+<header>
+  <h2>Cities</h2>
+</header>
+
+<section>
+  <nav>
+    <ul>
+      <li><a href="#">London</a></li>
+      <li><a href="#">Paris</a></li>
+      <li><a href="#">Tokyo</a></li>
+    </ul>
+  </nav>
+  
+  <article>
+    <h1>London</h1>
+    <p>London is the capital city of England. It is the most populous city in the  United Kingdom, with a metropolitan area of over 13 million inhabitants.</p>
+    <p>Standing on the River Thames, London has been a major settlement for two millennia, its history going back to its founding by the Romans, who named it Londinium.</p>
+  </article>
+</section>
+
+<footer>
+  <p>Footer</p>
+</footer>
+
+</body>
+</html>
+
diff --git a/test/Tizen.NUI.WebViewTest/res/test2.html b/test/Tizen.NUI.WebViewTest/res/test2.html
new file mode 100755 (executable)
index 0000000..97dc5b7
--- /dev/null
@@ -0,0 +1,9 @@
+<!DOCTYPE html>
+<html>
+<head>
+<title>Welcome to nginx!</title>
+</head>
+<body>
+<img src="test.png"/>
+</body>
+</html>
index 64894e1..7f2ca0c 100755 (executable)
@@ -1,9 +1,13 @@
 <?xml version="1.0" encoding="utf-8"?>
 <manifest package="Tizen.NUI.WebViewTest" version="1.0.0" api-version="4" xmlns="http://tizen.org/ns/packages">
-  <profile name="tv" />
-  <ui-application appid="Tizen.NUI.WebViewTest" exec="Tizen.NUI.WebViewTest.dll" multiple="false" nodisplay="false" taskmanage="true"
+  <profile name="common" />
+  <ui-application appid="Tizen.NUI.WebViewTest"
+                  exec="Tizen.NUI.WebViewTest.dll"
+                  multiple="false"
+                  nodisplay="false"
+                  taskmanage="true"
                   splash-screen-display="true"
-                  type="dotnet-inhouse-apitest"
+                  type="dotnet-nui"
                   launch_mode="single">
     <label>WebViewTest</label>
     <icon>Tizen.NUI.WebViewTest.png</icon>
@@ -13,6 +17,8 @@
   <shortcut-list />
   <privileges>
     <privilege>http://tizen.org/privilege/internet</privilege>
+    <privilege>http://tizen.org/privilege/filesystem.read</privilege>
+    <privilege>http://tizen.org/privilege/filesystem.write</privilege>
   </privileges>
   <feature> http://tizen.org/feature/opengles.surfaceless_context </feature>
 </manifest>