CSC/ECE 517 Fall 2016/M1653 Implement HTML form validation: Difference between revisions

From Expertiza_Wiki
Jump to navigation Jump to search
(Created page with "''' Implementation of HTML5 form validation in servo''' ---- Servo is a modern high performance web browser written in the rust programming language. =='''Introduction'''== The ...")
 
(Added Introduction)
Line 2: Line 2:


----
----
Servo is a modern high performance web browser written in the rust programming language.
Servo is a modern high performance web browser developed by Mozilla with Samsung porting it on android and arm processors. The source code is written in the rust programming language. This project implements html form validation on servo browser.
 
=='''Introduction'''==
=='''Introduction'''==
The [https://en.wikipedia.org/wiki/HTML5 HTML5]is a markup language used for displaying content on the World Wide Web
The [https://en.wikipedia.org/wiki/HTML5 HTML5]is a markup language used for structuring and displaying content on the World Wide Web. It defines set of specification which users needs to follow to make web pages HTML5 compliant. HTML 5 defines a mechanism by which contents of forms can be validated before user is allowed to submit them. [https://en.wikipedia.org/wiki/Servo_(layout_engine) Servo] currently implements support for few of the form elements. This project is intended to implement client-side validations for these elements and extend the existing form element subset to include additional form elements that will support client side validation.
 
HTML5 defines set of specification which users needs to follow to make web pages HTML5 compliant. HTML 5 defines a mechanism by which contents of forms can be validated before user is allowed to submit them. [https://en.wikipedia.org/wiki/Servo_(layout_engine) Servo] currently implements support for few of the form elements. This project is intended to implement client-side validations for these elements and extend the existing form element subset to include additional form elements that will support client side validation.


===Servo===
===Servo===
[https://en.wikipedia.org/wiki/Servo_(layout_engine) Servo] is an open source prototype web browser layout engine that is being developed by Mozilla Research. It is written in [https://www.rust-lang.org/ Rust] language. Current browser engines are mostly based on single-threaded model. Although there are some tasks (as decompressing images) which can be done on separate processor cores but most of the work (like interpreting HTML and laying out pages) is single-threaded.
[https://en.wikipedia.org/wiki/Servo_(layout_engine) Servo] is an open source prototype web browser layout engine that is being developed by Mozilla Research. Current browser engines are mostly based on single-threaded model. Motivation behind building servo web browser is to build a highly parallel environment, where different components (such as rendering, layout, HTML parsing, image decoding, etc.) can be handled by fine-grained, isolated tasks.
Motivation behind servo is to create a highly parallel environment, where different components (such as rendering, layout, HTML parsing, image decoding, etc.) can be handled by fine-grained, isolated tasks.


===Rust===
===Rust===
[http://doc.rust-lang.org/book/README.html Rust] is an open source systems programming language developed by Mozilla Research. Rust is designed to provide the same level of performance and power as C++, but without the risk of bugs and security flaws, and also with built-in mechanisms for exploiting multi-core processors.
[http://doc.rust-lang.org/book/README.html Rust] is an open source systems programming language developed by Mozilla. Rust is a language suited for creating a highly concurrent and safe systems. In performance and syntax, rust is similar to C++ but semantically it is very different. Rust aims to achieve ‘zero-cost abstractions’ though some of these abstractions feel like those of a high-level language.
 
=='''Project Description'''==
* The project requirement initially stated that we build and Compile servo. Following are the steps for this:
Servo is built with [https://mail.mozilla.org/pipermail/rust-dev/2014-March/009090.html Cargo], the Rust package manager. Mozilla's Mach tools are used to orchestrate the build and other tasks.
 
    git clone https://github.com/servo/servo
    cd servo
    ./mach build --dev
    ./mach run tests/html/about-mozilla.html
* While building the servo as shown above we were getting GLSL 1.50 is not supported error. We investigated this issue and found that there was an open issue [https://github.com/servo/servo/issues/13515 13515]. We found that the error was because the rendering was done with Nvidia graphics card and so we changed it to the intel graphics card by ./mach run tests/html/about-mozilla.html -c and were able to run the browser. We even updated the open thread so that other people can take advantage of that.

Revision as of 03:37, 27 October 2016

Implementation of HTML5 form validation in servo


Servo is a modern high performance web browser developed by Mozilla with Samsung porting it on android and arm processors. The source code is written in the rust programming language. This project implements html form validation on servo browser.

Introduction

The HTML5is a markup language used for structuring and displaying content on the World Wide Web. It defines set of specification which users needs to follow to make web pages HTML5 compliant. HTML 5 defines a mechanism by which contents of forms can be validated before user is allowed to submit them. Servo currently implements support for few of the form elements. This project is intended to implement client-side validations for these elements and extend the existing form element subset to include additional form elements that will support client side validation.

Servo

Servo is an open source prototype web browser layout engine that is being developed by Mozilla Research. Current browser engines are mostly based on single-threaded model. Motivation behind building servo web browser is to build a highly parallel environment, where different components (such as rendering, layout, HTML parsing, image decoding, etc.) can be handled by fine-grained, isolated tasks.

Rust

Rust is an open source systems programming language developed by Mozilla. Rust is a language suited for creating a highly concurrent and safe systems. In performance and syntax, rust is similar to C++ but semantically it is very different. Rust aims to achieve ‘zero-cost abstractions’ though some of these abstractions feel like those of a high-level language.

Project Description

  • The project requirement initially stated that we build and Compile servo. Following are the steps for this:

Servo is built with Cargo, the Rust package manager. Mozilla's Mach tools are used to orchestrate the build and other tasks.

   git clone https://github.com/servo/servo
   cd servo
   ./mach build --dev
   ./mach run tests/html/about-mozilla.html
  • While building the servo as shown above we were getting GLSL 1.50 is not supported error. We investigated this issue and found that there was an open issue 13515. We found that the error was because the rendering was done with Nvidia graphics card and so we changed it to the intel graphics card by ./mach run tests/html/about-mozilla.html -c and were able to run the browser. We even updated the open thread so that other people can take advantage of that.