<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.expertiza.ncsu.edu/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Sspatil4</id>
	<title>Expertiza_Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.expertiza.ncsu.edu/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Sspatil4"/>
	<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=Special:Contributions/Sspatil4"/>
	<updated>2026-05-16T09:23:10Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.41.0</generator>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=File:Image_map.png&amp;diff=106819</id>
		<title>File:Image map.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=File:Image_map.png&amp;diff=106819"/>
		<updated>2016-12-12T20:04:58Z</updated>

		<summary type="html">&lt;p&gt;Sspatil4: uploaded a new version of &amp;amp;quot;File:Image map.png&amp;amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Sspatil4</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016/M1652_ImageMap_Support_Servo&amp;diff=106817</id>
		<title>CSC/ECE 517 Fall 2016/M1652 ImageMap Support Servo</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016/M1652_ImageMap_Support_Servo&amp;diff=106817"/>
		<updated>2016-12-12T20:04:25Z</updated>

		<summary type="html">&lt;p&gt;Sspatil4: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[https://html.spec.whatwg.org/multipage/embedded-content.html#image-map Image maps] are an HTML technology that allows treating arbitrary areas in an image as separate hyperlinks. The goal of this project is to implement this missing feature on [https://en.wikipedia.org/wiki/Servo_(layout_engine) Servo].&amp;lt;ref&amp;gt;https://github.com/servo/servo/wiki/Image-maps-project&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=='''Introduction'''==&lt;br /&gt;
&lt;br /&gt;
==='''Servo'''===&lt;br /&gt;
&lt;br /&gt;
Servo &amp;lt;ref&amp;gt; https://github.com/servo/servo &amp;lt;/ref&amp;gt; is a web browser layout engine written in [https://github.com/rust-lang/rust Rust]&amp;lt;ref&amp;gt;https://github.com/rust-lang/rust&amp;lt;/ref&amp;gt; and is currently being developed by [https://en.wikipedia.org/wiki/Mozilla Mozilla Research]. The aim of the project is to create a highly parallel environment which allows several components to be handled by fine-grained, isolated tasks.&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Servo_(layout_engine)&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Servo is built on top of Rust to provide a secure and reliable foundation and is focused on creating a reliable and fast browser engine.&lt;br /&gt;
&lt;br /&gt;
==='''Rust'''===&lt;br /&gt;
&lt;br /&gt;
[https://en.wikipedia.org/wiki/Rust_(programming_language) Rust] is a multi-paradigm, compiled programming language suited to create highly concurrent and highly safe systems. Rust is a modern, fast, memory-safe and multi-threaded programming language focusing on speed and safety to develop reliable and efficient systems. &amp;lt;ref&amp;gt; http://doc.rust-lang.org/nightly/book/README.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==='''Image Maps'''===&lt;br /&gt;
In HTML and XHTML, an [https://en.wikipedia.org/wiki/Image_map image map] is a list of coordinates relating to a specific image, created in order to hyperlink areas of the image to different destinations (as opposed to a normal image link, in which the entire area of the image links to a single destination). Servo currently doesn't support image maps.&lt;br /&gt;
&lt;br /&gt;
=='''Approach and Implementation'''==&lt;br /&gt;
==='''[http://wiki.expertiza.ncsu.edu/index.php/CSC/ECE_517_Fall_2016/M1652_Implement_ImageMap_Support_Servo Initial Steps]'''===&lt;br /&gt;
&lt;br /&gt;
*Compile Servo and ensure that it runs on tests/html/about-mozilla.html&lt;br /&gt;
*An Area enum was defined in htmlareaelement.rs to handle rectangles, circles, and polygons (i.e. coordinate representations)&lt;br /&gt;
*Implement constructors for each variant that accept a string argument, parse them into appropriate coordinates, and return an appropriate Area instance&lt;br /&gt;
*Implement a hit_test method on Area that accepts a Point2D&amp;lt;f32&amp;gt; argument and returns true if the point is within the area's coordinates (return false for all polygonal areas)&lt;br /&gt;
*Write tests for the Area constructors and hit tests (add a new htmlareaelement.rs to tests/unit/script/ and run ./mach test-unit -p script)&lt;br /&gt;
*Add a method to HTMLAreaElement that returns an Area value derived from that element's attributes&lt;br /&gt;
&lt;br /&gt;
'''Subsequent steps:'''&lt;br /&gt;
*Implement an areas method to HTMLImageElement that returns a vector of Root&amp;lt;HTMLAreaElement&amp;gt; values&lt;br /&gt;
*Implement a method to handle activation behavior on HTMLAreaElement&lt;br /&gt;
*Implement a handle_event method on HTMLImageElement to handle click events&lt;br /&gt;
&lt;br /&gt;
=='''UML Diagram'''==&lt;br /&gt;
The following diagram depicts the classes involved to implement this feature:&lt;br /&gt;
[[File:Servoflow.PNG|center]]&lt;br /&gt;
&lt;br /&gt;
=='''Implementation Workflow'''==&lt;br /&gt;
As can be seen in the image, the HTML code snippet defines a usemap attribute which handles a collection of shapes, dealt with by HTMLAreaelement. The corresponding shape's hit test method is called once the image has been clicked.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
[[File:Servo_011.png|center]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
The workflow for implementing the support for image maps is as shown in the flowchart below:&lt;br /&gt;
[[Image:Image_map.png|center]]&lt;br /&gt;
&lt;br /&gt;
=='''Design Pattern'''==&lt;br /&gt;
&lt;br /&gt;
Design patterns are not applicable as our task involved implementing methods in a predefined object, namely HTMLAreaElement.&lt;br /&gt;
&lt;br /&gt;
=='''Testing'''==&lt;br /&gt;
&lt;br /&gt;
Test cases were implemented for testing the Area enum and the hit test functionality. Following are the steps to run all the tests:&lt;br /&gt;
&lt;br /&gt;
# Install the pre-requisites required for servo as mentioned [https://github.com/servo/servo/blob/master/README.md here] &lt;br /&gt;
# Run the following commands to clone the repository and run the tests&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 git clone https://github.com/shravan-achar/servo.git&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 cd servo&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 git checkout master&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To run the test cases&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 ./mach test-unit -p script&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The above command will download and compile the dependencies and the test cases. You will see that all tests pass as expected (Testcases are prefixed by HTMLAreaElement)&lt;br /&gt;
&lt;br /&gt;
==='''Testing From UI'''===&lt;br /&gt;
&lt;br /&gt;
The project is testable from the UI by handling clickable activities on this test [https://samuknet.github.io/test_cases/imageMap/ link]. The link has to be invoked from the compiled exe; the command for which is given below:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
./mach build --debug&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
./mach run https://shravan-achar.github.io/imagemap&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On clicking the image, the user is redirected to the next page ensuring that the functionality works appropriately on Servo.&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sspatil4</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016/M1652_ImageMap_Support_Servo&amp;diff=106811</id>
		<title>CSC/ECE 517 Fall 2016/M1652 ImageMap Support Servo</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016/M1652_ImageMap_Support_Servo&amp;diff=106811"/>
		<updated>2016-12-12T20:00:58Z</updated>

		<summary type="html">&lt;p&gt;Sspatil4: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[https://html.spec.whatwg.org/multipage/embedded-content.html#image-map Image maps] are an HTML technology that allows treating arbitrary areas in an image as separate hyperlinks. The goal of this project is to implement this missing feature on [https://en.wikipedia.org/wiki/Servo_(layout_engine) Servo].&amp;lt;ref&amp;gt;https://github.com/servo/servo/wiki/Image-maps-project&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=='''Introduction'''==&lt;br /&gt;
&lt;br /&gt;
==='''Servo'''===&lt;br /&gt;
&lt;br /&gt;
Servo &amp;lt;ref&amp;gt; https://github.com/servo/servo &amp;lt;/ref&amp;gt; is a web browser layout engine written in [https://github.com/rust-lang/rust Rust]&amp;lt;ref&amp;gt;https://github.com/rust-lang/rust&amp;lt;/ref&amp;gt; and is currently being developed by [https://en.wikipedia.org/wiki/Mozilla Mozilla Research]. The aim of the project is to create a highly parallel environment which allows several components to be handled by fine-grained, isolated tasks.&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Servo_(layout_engine)&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Servo is built on top of Rust to provide a secure and reliable foundation and is focused on creating a reliable and fast browser engine.&lt;br /&gt;
&lt;br /&gt;
==='''Rust'''===&lt;br /&gt;
&lt;br /&gt;
[https://en.wikipedia.org/wiki/Rust_(programming_language) Rust] is a multi-paradigm, compiled programming language suited to create highly concurrent and highly safe systems. Rust is a modern, fast, memory-safe and multi-threaded programming language focusing on speed and safety to develop reliable and efficient systems. &amp;lt;ref&amp;gt; http://doc.rust-lang.org/nightly/book/README.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==='''Image Maps'''===&lt;br /&gt;
In HTML and XHTML, an [https://en.wikipedia.org/wiki/Image_map image map] is a list of coordinates relating to a specific image, created in order to hyperlink areas of the image to different destinations (as opposed to a normal image link, in which the entire area of the image links to a single destination). Servo currently doesn't support image maps.&lt;br /&gt;
&lt;br /&gt;
=='''Approach and Implementation'''==&lt;br /&gt;
==='''[http://wiki.expertiza.ncsu.edu/index.php/CSC/ECE_517_Fall_2016/M1652_Implement_ImageMap_Support_Servo Initial Steps]'''===&lt;br /&gt;
&lt;br /&gt;
*Compile Servo and ensure that it runs on tests/html/about-mozilla.html&lt;br /&gt;
*An Area enum was defined in htmlareaelement.rs to handle rectangles, circles, and polygons (i.e. coordinate representations)&lt;br /&gt;
*Implement constructors for each variant that accept a string argument, parse them into appropriate coordinates, and return an appropriate Area instance&lt;br /&gt;
*Implement a hit_test method on Area that accepts a Point2D&amp;lt;f32&amp;gt; argument and returns true if the point is within the area's coordinates (return false for all polygonal areas)&lt;br /&gt;
*Write tests for the Area constructors and hit tests (add a new htmlareaelement.rs to tests/unit/script/ and run ./mach test-unit -p script)&lt;br /&gt;
*Add a method to HTMLAreaElement that returns an Area value derived from that element's attributes&lt;br /&gt;
&lt;br /&gt;
'''Subsequent steps:'''&lt;br /&gt;
*Implement an areas method to HTMLImageElement that returns a vector of Root&amp;lt;HTMLAreaElement&amp;gt; values&lt;br /&gt;
*Implement a method to handle activation behavior on HTMLAreaElement&lt;br /&gt;
*Implement a handle_event method on HTMLImageElement to handle click events&lt;br /&gt;
&lt;br /&gt;
=='''UML Diagram'''==&lt;br /&gt;
The following diagram depicts the classes involved to implement this feature:&lt;br /&gt;
[[File:Servoflow.PNG|center]]&lt;br /&gt;
&lt;br /&gt;
=='''Implementation Workflow'''==&lt;br /&gt;
As can be seen in the image, the HTML code snippet defines a usemap attribute which handles a collection of shapes, dealt with by HTMLAreaelement. The corresponding shape's hit test method is called once the image has been clicked.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
[[File:Servo_011.png|center]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
The workflow for implementing the support for image maps is as shown in the flowchart below:&lt;br /&gt;
[[Image:Image_map.png|center]]&lt;br /&gt;
&lt;br /&gt;
=='''Design Pattern'''==&lt;br /&gt;
&lt;br /&gt;
Design patterns are not applicable as our task involved implementing methods in a predefined object, namely HTMLAreaElement.&lt;br /&gt;
&lt;br /&gt;
=='''Testing'''==&lt;br /&gt;
&lt;br /&gt;
Test cases were implemented for testing the Area enum and the hit test functionality. Following are the steps to run all the tests:&lt;br /&gt;
&lt;br /&gt;
# Install the pre-requisites required for servo as mentioned [https://github.com/servo/servo/blob/master/README.md here] &lt;br /&gt;
# Run the following commands to clone the repository and run the tests&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 git clone https://github.com/shravan-achar/servo.git&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 cd servo&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 git checkout master&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To run the test cases&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 ./mach test-unit -p script&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The above command will download and compile the dependencies and the test cases. You will see that all tests pass as expected (Testcases are prefixed by HTMLAreaElement)&lt;br /&gt;
&lt;br /&gt;
==='''Testing From UI'''===&lt;br /&gt;
&lt;br /&gt;
The project is testable from the UI by handling clickable activities on this test [https://samuknet.github.io/test_cases/imageMap/ link]. The link has to be invoked from the compiled exe; the command for which is given below:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
./mach build --debug&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
./mach run https://samuknet.github.io/test_cases/imageMap/&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On clicking the image, the user is redirected to the next page ensuring that the functionality works appropriately on Servo.&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sspatil4</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016/M1652_ImageMap_Support_Servo&amp;diff=106810</id>
		<title>CSC/ECE 517 Fall 2016/M1652 ImageMap Support Servo</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016/M1652_ImageMap_Support_Servo&amp;diff=106810"/>
		<updated>2016-12-12T20:00:25Z</updated>

		<summary type="html">&lt;p&gt;Sspatil4: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[https://html.spec.whatwg.org/multipage/embedded-content.html#image-map Image maps] are an HTML technology that allows treating arbitrary areas in an image as separate hyperlinks. The goal of this project is to implement this missing feature on [https://en.wikipedia.org/wiki/Servo_(layout_engine) Servo].&amp;lt;ref&amp;gt;https://github.com/servo/servo/wiki/Image-maps-project&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=='''Introduction'''==&lt;br /&gt;
&lt;br /&gt;
==='''Servo'''===&lt;br /&gt;
&lt;br /&gt;
Servo &amp;lt;ref&amp;gt; https://github.com/servo/servo &amp;lt;/ref&amp;gt; is a web browser layout engine written in [https://github.com/rust-lang/rust Rust]&amp;lt;ref&amp;gt;https://github.com/rust-lang/rust&amp;lt;/ref&amp;gt; and is currently being developed by [https://en.wikipedia.org/wiki/Mozilla Mozilla Research]. The aim of the project is to create a highly parallel environment which allows several components to be handled by fine-grained, isolated tasks.&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Servo_(layout_engine)&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Servo is built on top of Rust to provide a secure and reliable foundation and is focused on creating a reliable and fast browser engine.&lt;br /&gt;
&lt;br /&gt;
==='''Rust'''===&lt;br /&gt;
&lt;br /&gt;
[https://en.wikipedia.org/wiki/Rust_(programming_language) Rust] is a multi-paradigm, compiled programming language suited to create highly concurrent and highly safe systems. Rust is a modern, fast, memory-safe and multi-threaded programming language focusing on speed and safety to develop reliable and efficient systems. &amp;lt;ref&amp;gt; http://doc.rust-lang.org/nightly/book/README.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==='''Image Maps'''===&lt;br /&gt;
In HTML and XHTML, an [https://en.wikipedia.org/wiki/Image_map image map] is a list of coordinates relating to a specific image, created in order to hyperlink areas of the image to different destinations (as opposed to a normal image link, in which the entire area of the image links to a single destination). Servo currently doesn't support image maps.&lt;br /&gt;
&lt;br /&gt;
=='''Approach and Implementation'''==&lt;br /&gt;
==='''[http://wiki.expertiza.ncsu.edu/index.php/CSC/ECE_517_Fall_2016/M1652_Implement_ImageMap_Support_Servo Initial Steps]'''===&lt;br /&gt;
&lt;br /&gt;
*Compile Servo and ensure that it runs on tests/html/about-mozilla.html&lt;br /&gt;
*An Area enum was defined in htmlareaelement.rs to handle rectangles, circles, and polygons (i.e. coordinate representations)&lt;br /&gt;
*Implement constructors for each variant that accept a string argument, parse them into appropriate coordinates, and return an appropriate Area instance&lt;br /&gt;
*Implement a hit_test method on Area that accepts a Point2D&amp;lt;f32&amp;gt; argument and returns true if the point is within the area's coordinates (return false for all polygonal areas)&lt;br /&gt;
*Write tests for the Area constructors and hit tests (add a new htmlareaelement.rs to tests/unit/script/ and run ./mach test-unit -p script)&lt;br /&gt;
*Add a method to HTMLAreaElement that returns an Area value derived from that element's attributes&lt;br /&gt;
&lt;br /&gt;
'''Subsequent steps:'''&lt;br /&gt;
*Implement an areas method to HTMLImageElement that returns a vector of Root&amp;lt;HTMLAreaElement&amp;gt; values&lt;br /&gt;
*Implement a method to handle activation behavior on HTMLAreaElement&lt;br /&gt;
*Implement a handle_event method on HTMLImageElement to handle click events&lt;br /&gt;
&lt;br /&gt;
=='''Implementation Workflow'''==&lt;br /&gt;
As can be seen in the image, the HTML code snippet defines a usemap attribute which handles a collection of shapes, dealt with by HTMLAreaelement. The corresponding shape's hit test method is called once the image has been clicked.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
[[File:Servo_011.png|center]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
The workflow for implementing the support for image maps is as shown in the flowchart below:&lt;br /&gt;
[[Image:Image_map.png|center]]&lt;br /&gt;
&lt;br /&gt;
=='''UML Diagram'''==&lt;br /&gt;
The following diagram depicts the classes involved to implement this feature:&lt;br /&gt;
[[File:Servoflow.PNG|center]]&lt;br /&gt;
&lt;br /&gt;
=='''Design Pattern'''==&lt;br /&gt;
&lt;br /&gt;
Design patterns are not applicable as our task involved implementing methods in a predefined object, namely HTMLAreaElement.&lt;br /&gt;
&lt;br /&gt;
=='''Testing'''==&lt;br /&gt;
&lt;br /&gt;
Test cases were implemented for testing the Area enum and the hit test functionality. Following are the steps to run all the tests:&lt;br /&gt;
&lt;br /&gt;
# Install the pre-requisites required for servo as mentioned [https://github.com/servo/servo/blob/master/README.md here] &lt;br /&gt;
# Run the following commands to clone the repository and run the tests&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 git clone https://github.com/shravan-achar/servo.git&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 cd servo&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 git checkout master&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To run the test cases&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 ./mach test-unit -p script&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The above command will download and compile the dependencies and the test cases. You will see that all tests pass as expected (Testcases are prefixed by HTMLAreaElement)&lt;br /&gt;
&lt;br /&gt;
==='''Testing From UI'''===&lt;br /&gt;
&lt;br /&gt;
The project is testable from the UI by handling clickable activities on this test [https://samuknet.github.io/test_cases/imageMap/ link]. The link has to be invoked from the compiled exe; the command for which is given below:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
./mach build --debug&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
./mach run https://samuknet.github.io/test_cases/imageMap/&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On clicking the image, the user is redirected to the next page ensuring that the functionality works appropriately on Servo.&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sspatil4</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016/M1652_ImageMap_Support_Servo&amp;diff=106765</id>
		<title>CSC/ECE 517 Fall 2016/M1652 ImageMap Support Servo</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016/M1652_ImageMap_Support_Servo&amp;diff=106765"/>
		<updated>2016-12-11T06:58:47Z</updated>

		<summary type="html">&lt;p&gt;Sspatil4: /* UML Diagram */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[https://html.spec.whatwg.org/multipage/embedded-content.html#image-map Image maps] are an HTML technology that allows treating arbitrary areas in an image as separate hyperlinks. The goal of this project is to implement this missing feature on [https://en.wikipedia.org/wiki/Servo_(layout_engine) Servo].&amp;lt;ref&amp;gt;https://github.com/servo/servo/wiki/Image-maps-project&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=='''Introduction'''==&lt;br /&gt;
&lt;br /&gt;
==='''Servo'''===&lt;br /&gt;
&lt;br /&gt;
Servo &amp;lt;ref&amp;gt; https://github.com/servo/servo &amp;lt;/ref&amp;gt; is a web browser layout engine written in [https://github.com/rust-lang/rust Rust]&amp;lt;ref&amp;gt;https://github.com/rust-lang/rust&amp;lt;/ref&amp;gt; and is currently being developed by [https://en.wikipedia.org/wiki/Mozilla Mozilla Research]. The aim of the project is to create a highly parallel environment which allows several components to be handled by fine-grained, isolated tasks.&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Servo_(layout_engine)&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Servo is built on top of Rust to provide a secure and reliable foundation and is focused on creating a reliable and fast browser engine.&lt;br /&gt;
&lt;br /&gt;
==='''Rust'''===&lt;br /&gt;
&lt;br /&gt;
[https://en.wikipedia.org/wiki/Rust_(programming_language) Rust] is a multi-paradigm, compiled programming language suited to create highly concurrent and highly safe systems. Rust is a modern, fast, memory-safe and multi-threaded programming language focusing on speed and safety to develop reliable and efficient systems. &amp;lt;ref&amp;gt; http://doc.rust-lang.org/nightly/book/README.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==='''Image Maps'''===&lt;br /&gt;
In HTML and XHTML, an [https://en.wikipedia.org/wiki/Image_map image map] is a list of coordinates relating to a specific image, created in order to hyperlink areas of the image to different destinations (as opposed to a normal image link, in which the entire area of the image links to a single destination). Servo currently doesn't support image maps.&lt;br /&gt;
&lt;br /&gt;
=='''Approach and Implementation'''==&lt;br /&gt;
==='''[http://wiki.expertiza.ncsu.edu/index.php/CSC/ECE_517_Fall_2016/M1652_Implement_ImageMap_Support_Servo Initial Steps]'''===&lt;br /&gt;
&lt;br /&gt;
*Compile Servo and ensure that it runs on tests/html/about-mozilla.html&lt;br /&gt;
*An Area enum was defined in htmlareaelement.rs to handle rectangles, circles, and polygons (i.e. coordinate representations)&lt;br /&gt;
*Implement constructors for each variant that accept a string argument, parse them into appropriate coordinates, and return an appropriate Area instance&lt;br /&gt;
*Implement a hit_test method on Area that accepts a Point2D&amp;lt;f32&amp;gt; argument and returns true if the point is within the area's coordinates (return false for all polygonal areas)&lt;br /&gt;
*Write tests for the Area constructors and hit tests (add a new htmlareaelement.rs to tests/unit/script/ and run ./mach test-unit -p script)&lt;br /&gt;
*Add a method to HTMLAreaElement that returns an Area value derived from that element's attributes&lt;br /&gt;
&lt;br /&gt;
'''Subsequent steps:'''&lt;br /&gt;
*Implement an areas method to HTMLImageElement that returns a vector of Root&amp;lt;HTMLAreaElement&amp;gt; values&lt;br /&gt;
*Implement a method to handle activation behavior on HTMLAreaElement&lt;br /&gt;
*Implement a handle_event method on HTMLImageElement to handle click events&lt;br /&gt;
&lt;br /&gt;
=='''Implementation Workflow'''==&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
The workflow for implementing the support for image maps is as shown in the flowchart below:&lt;br /&gt;
[[Image:Image_map.png|center]]&lt;br /&gt;
As can be seen in the image, the HTML code snippet defines a usemap attribute which handles a collection of shapes, dealt with by HTMLAreaelement. The corresponding shape's hit test method is called once the image has been clicked.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
[[File:Servo_011.png|center]]&lt;br /&gt;
&lt;br /&gt;
=='''UML Diagram'''==&lt;br /&gt;
The following diagram depicts the classes involved to implement this feature:&lt;br /&gt;
[[File:Servoflow.PNG|center]]&lt;br /&gt;
&lt;br /&gt;
=='''Design Pattern'''==&lt;br /&gt;
&lt;br /&gt;
Design patterns are not applicable as our task involved implementing methods in a predefined object, namely HTMLAreaElement.&lt;br /&gt;
&lt;br /&gt;
=='''Testing'''==&lt;br /&gt;
&lt;br /&gt;
Test cases were implemented for testing the Area enum and the hit test functionality. Following are the steps to run all the tests:&lt;br /&gt;
&lt;br /&gt;
# Install the pre-requisites required for servo as mentioned [https://github.com/servo/servo/blob/master/README.md here] &lt;br /&gt;
# Run the following commands to clone the repository and run the tests&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 git clone https://github.com/shravan-achar/servo.git&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 cd servo&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 git checkout master&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To run the test cases&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 ./mach test-unit -p script&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The above command will download and compile the dependencies and the test cases. You will see that all tests pass as expected (Testcases are prefixed by HTMLAreaElement)&lt;br /&gt;
&lt;br /&gt;
==='''Testing From UI'''===&lt;br /&gt;
&lt;br /&gt;
The project is testable from the UI by handling clickable activities on this test [https://samuknet.github.io/test_cases/imageMap/ link]. The link has to be invoked from the compiled exe; the command for which is given below:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
./mach build --debug&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
./mach run https://samuknet.github.io/test_cases/imageMap/&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On clicking the image, the user is redirected to the next page ensuring that the functionality works appropriately on Servo.&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sspatil4</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016/M1652_ImageMap_Support_Servo&amp;diff=106763</id>
		<title>CSC/ECE 517 Fall 2016/M1652 ImageMap Support Servo</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016/M1652_ImageMap_Support_Servo&amp;diff=106763"/>
		<updated>2016-12-11T06:55:55Z</updated>

		<summary type="html">&lt;p&gt;Sspatil4: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[https://html.spec.whatwg.org/multipage/embedded-content.html#image-map Image maps] are an HTML technology that allows treating arbitrary areas in an image as separate hyperlinks. The goal of this project is to implement this missing feature on [https://en.wikipedia.org/wiki/Servo_(layout_engine) Servo].&amp;lt;ref&amp;gt;https://github.com/servo/servo/wiki/Image-maps-project&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=='''Introduction'''==&lt;br /&gt;
&lt;br /&gt;
==='''Servo'''===&lt;br /&gt;
&lt;br /&gt;
Servo &amp;lt;ref&amp;gt; https://github.com/servo/servo &amp;lt;/ref&amp;gt; is a web browser layout engine written in [https://github.com/rust-lang/rust Rust]&amp;lt;ref&amp;gt;https://github.com/rust-lang/rust&amp;lt;/ref&amp;gt; and is currently being developed by [https://en.wikipedia.org/wiki/Mozilla Mozilla Research]. The aim of the project is to create a highly parallel environment which allows several components to be handled by fine-grained, isolated tasks.&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Servo_(layout_engine)&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Servo is built on top of Rust to provide a secure and reliable foundation and is focused on creating a reliable and fast browser engine.&lt;br /&gt;
&lt;br /&gt;
==='''Rust'''===&lt;br /&gt;
&lt;br /&gt;
[https://en.wikipedia.org/wiki/Rust_(programming_language) Rust] is a multi-paradigm, compiled programming language suited to create highly concurrent and highly safe systems. Rust is a modern, fast, memory-safe and multi-threaded programming language focusing on speed and safety to develop reliable and efficient systems. &amp;lt;ref&amp;gt; http://doc.rust-lang.org/nightly/book/README.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==='''Image Maps'''===&lt;br /&gt;
In HTML and XHTML, an [https://en.wikipedia.org/wiki/Image_map image map] is a list of coordinates relating to a specific image, created in order to hyperlink areas of the image to different destinations (as opposed to a normal image link, in which the entire area of the image links to a single destination). Servo currently doesn't support image maps.&lt;br /&gt;
&lt;br /&gt;
=='''Approach and Implementation'''==&lt;br /&gt;
==='''[http://wiki.expertiza.ncsu.edu/index.php/CSC/ECE_517_Fall_2016/M1652_Implement_ImageMap_Support_Servo Initial Steps]'''===&lt;br /&gt;
&lt;br /&gt;
*Compile Servo and ensure that it runs on tests/html/about-mozilla.html&lt;br /&gt;
*An Area enum was defined in htmlareaelement.rs to handle rectangles, circles, and polygons (i.e. coordinate representations)&lt;br /&gt;
*Implement constructors for each variant that accept a string argument, parse them into appropriate coordinates, and return an appropriate Area instance&lt;br /&gt;
*Implement a hit_test method on Area that accepts a Point2D&amp;lt;f32&amp;gt; argument and returns true if the point is within the area's coordinates (return false for all polygonal areas)&lt;br /&gt;
*Write tests for the Area constructors and hit tests (add a new htmlareaelement.rs to tests/unit/script/ and run ./mach test-unit -p script)&lt;br /&gt;
*Add a method to HTMLAreaElement that returns an Area value derived from that element's attributes&lt;br /&gt;
&lt;br /&gt;
'''Subsequent steps:'''&lt;br /&gt;
*Implement an areas method to HTMLImageElement that returns a vector of Root&amp;lt;HTMLAreaElement&amp;gt; values&lt;br /&gt;
*Implement a method to handle activation behavior on HTMLAreaElement&lt;br /&gt;
*Implement a handle_event method on HTMLImageElement to handle click events&lt;br /&gt;
&lt;br /&gt;
=='''Implementation Workflow'''==&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
The workflow for implementing the support for image maps is as shown in the flowchart below:&lt;br /&gt;
[[Image:Image_map.png|center]]&lt;br /&gt;
As can be seen in the image, the HTML code snippet defines a usemap attribute which handles a collection of shapes, dealt with by HTMLAreaelement. The corresponding shape's hit test method is called once the image has been clicked.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
[[File:Servo_011.png|center]]&lt;br /&gt;
&lt;br /&gt;
=='''UML Diagram'''==&lt;br /&gt;
The following diagram depicts the classes involved to implement this feature:&lt;br /&gt;
[[File:Servoflow.png|center]]&lt;br /&gt;
&lt;br /&gt;
=='''Design Pattern'''==&lt;br /&gt;
&lt;br /&gt;
Design patterns are not applicable as our task involved implementing methods in a predefined object, namely HTMLAreaElement.&lt;br /&gt;
&lt;br /&gt;
=='''Testing'''==&lt;br /&gt;
&lt;br /&gt;
Test cases were implemented for testing the Area enum and the hit test functionality. Following are the steps to run all the tests:&lt;br /&gt;
&lt;br /&gt;
# Install the pre-requisites required for servo as mentioned [https://github.com/servo/servo/blob/master/README.md here] &lt;br /&gt;
# Run the following commands to clone the repository and run the tests&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 git clone https://github.com/shravan-achar/servo.git&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 cd servo&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 git checkout master&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To run the test cases&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 ./mach test-unit -p script&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The above command will download and compile the dependencies and the test cases. You will see that all tests pass as expected (Testcases are prefixed by HTMLAreaElement)&lt;br /&gt;
&lt;br /&gt;
==='''Testing From UI'''===&lt;br /&gt;
&lt;br /&gt;
The project is testable from the UI by handling clickable activities on this test [https://samuknet.github.io/test_cases/imageMap/ link]. The link has to be invoked from the compiled exe; the command for which is given below:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
./mach build --debug&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
./mach run https://samuknet.github.io/test_cases/imageMap/&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On clicking the image, the user is redirected to the next page ensuring that the functionality works appropriately on Servo.&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sspatil4</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016/M1652_ImageMap_Support_Servo&amp;diff=106762</id>
		<title>CSC/ECE 517 Fall 2016/M1652 ImageMap Support Servo</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016/M1652_ImageMap_Support_Servo&amp;diff=106762"/>
		<updated>2016-12-11T06:55:14Z</updated>

		<summary type="html">&lt;p&gt;Sspatil4: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[https://html.spec.whatwg.org/multipage/embedded-content.html#image-map Image maps] are an HTML technology that allows treating arbitrary areas in an image as separate hyperlinks. The goal of this project is to implement this missing feature on [https://en.wikipedia.org/wiki/Servo_(layout_engine) Servo].&amp;lt;ref&amp;gt;https://github.com/servo/servo/wiki/Image-maps-project&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=='''Introduction'''==&lt;br /&gt;
&lt;br /&gt;
==='''Servo'''===&lt;br /&gt;
&lt;br /&gt;
Servo &amp;lt;ref&amp;gt; https://github.com/servo/servo &amp;lt;/ref&amp;gt; is a web browser layout engine written in [https://github.com/rust-lang/rust Rust]&amp;lt;ref&amp;gt;https://github.com/rust-lang/rust&amp;lt;/ref&amp;gt; and is currently being developed by [https://en.wikipedia.org/wiki/Mozilla Mozilla Research]. The aim of the project is to create a highly parallel environment which allows several components to be handled by fine-grained, isolated tasks.&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Servo_(layout_engine)&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Servo is built on top of Rust to provide a secure and reliable foundation and is focused on creating a reliable and fast browser engine.&lt;br /&gt;
&lt;br /&gt;
==='''Rust'''===&lt;br /&gt;
&lt;br /&gt;
[https://en.wikipedia.org/wiki/Rust_(programming_language) Rust] is a multi-paradigm, compiled programming language suited to create highly concurrent and highly safe systems. Rust is a modern, fast, memory-safe and multi-threaded programming language focusing on speed and safety to develop reliable and efficient systems. &amp;lt;ref&amp;gt; http://doc.rust-lang.org/nightly/book/README.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==='''Image Maps'''===&lt;br /&gt;
In HTML and XHTML, an [https://en.wikipedia.org/wiki/Image_map image map] is a list of coordinates relating to a specific image, created in order to hyperlink areas of the image to different destinations (as opposed to a normal image link, in which the entire area of the image links to a single destination). Servo currently doesn't support image maps.&lt;br /&gt;
&lt;br /&gt;
=='''Approach and Implementation'''==&lt;br /&gt;
==='''[http://wiki.expertiza.ncsu.edu/index.php/CSC/ECE_517_Fall_2016/M1652_Implement_ImageMap_Support_Servo Initial Steps]'''===&lt;br /&gt;
&lt;br /&gt;
*Compile Servo and ensure that it runs on tests/html/about-mozilla.html&lt;br /&gt;
*An Area enum was defined in htmlareaelement.rs to handle rectangles, circles, and polygons (i.e. coordinate representations)&lt;br /&gt;
*Implement constructors for each variant that accept a string argument, parse them into appropriate coordinates, and return an appropriate Area instance&lt;br /&gt;
*Implement a hit_test method on Area that accepts a Point2D&amp;lt;f32&amp;gt; argument and returns true if the point is within the area's coordinates (return false for all polygonal areas)&lt;br /&gt;
*Write tests for the Area constructors and hit tests (add a new htmlareaelement.rs to tests/unit/script/ and run ./mach test-unit -p script)&lt;br /&gt;
*Add a method to HTMLAreaElement that returns an Area value derived from that element's attributes&lt;br /&gt;
&lt;br /&gt;
'''Subsequent steps:'''&lt;br /&gt;
*Implement an areas method to HTMLImageElement that returns a vector of Root&amp;lt;HTMLAreaElement&amp;gt; values&lt;br /&gt;
*Implement a method to handle activation behavior on HTMLAreaElement&lt;br /&gt;
*Implement a handle_event method on HTMLImageElement to handle click events&lt;br /&gt;
&lt;br /&gt;
=='''Implementation Workflow'''==&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
The workflow for implementing the support for image maps is as shown in the flowchart below:&lt;br /&gt;
[[Image:Image_map.png|center]]&lt;br /&gt;
As can be seen in the image, the HTML code snippet defines a usemap attribute which handles a collection of shapes, dealt with by HTMLAreaelement. The corresponding shape's hit test method is called once the image has been clicked.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
[[File:Servo_011.png|center]]&lt;br /&gt;
&lt;br /&gt;
=='''UML Diagram'''==&lt;br /&gt;
The following diagram depicts the classes involved to implement this feature:&lt;br /&gt;
[[File:servoflow.png|center]]&lt;br /&gt;
&lt;br /&gt;
=='''Design Pattern'''==&lt;br /&gt;
&lt;br /&gt;
Design patterns are not applicable as our task involved implementing methods in a predefined object, namely HTMLAreaElement.&lt;br /&gt;
&lt;br /&gt;
=='''Testing'''==&lt;br /&gt;
&lt;br /&gt;
Test cases were implemented for testing the Area enum and the hit test functionality. Following are the steps to run all the tests:&lt;br /&gt;
&lt;br /&gt;
# Install the pre-requisites required for servo as mentioned [https://github.com/servo/servo/blob/master/README.md here] &lt;br /&gt;
# Run the following commands to clone the repository and run the tests&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 git clone https://github.com/shravan-achar/servo.git&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 cd servo&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 git checkout master&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To run the test cases&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 ./mach test-unit -p script&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The above command will download and compile the dependencies and the test cases. You will see that all tests pass as expected (Testcases are prefixed by HTMLAreaElement)&lt;br /&gt;
&lt;br /&gt;
==='''Testing From UI'''===&lt;br /&gt;
&lt;br /&gt;
The project is testable from the UI by handling clickable activities on this test [https://samuknet.github.io/test_cases/imageMap/ link]. The link has to be invoked from the compiled exe; the command for which is given below:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
./mach build --debug&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
./mach run https://samuknet.github.io/test_cases/imageMap/&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On clicking the image, the user is redirected to the next page ensuring that the functionality works appropriately on Servo.&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sspatil4</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=File:Servoflow.PNG&amp;diff=106761</id>
		<title>File:Servoflow.PNG</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=File:Servoflow.PNG&amp;diff=106761"/>
		<updated>2016-12-11T06:53:33Z</updated>

		<summary type="html">&lt;p&gt;Sspatil4: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Sspatil4</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=File:Image_map.png&amp;diff=106755</id>
		<title>File:Image map.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=File:Image_map.png&amp;diff=106755"/>
		<updated>2016-12-11T06:04:19Z</updated>

		<summary type="html">&lt;p&gt;Sspatil4: uploaded a new version of &amp;amp;quot;File:Image map.png&amp;amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Sspatil4</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=File:Servo_011.png&amp;diff=106754</id>
		<title>File:Servo 011.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=File:Servo_011.png&amp;diff=106754"/>
		<updated>2016-12-11T05:59:00Z</updated>

		<summary type="html">&lt;p&gt;Sspatil4: uploaded a new version of &amp;amp;quot;File:Servo 011.png&amp;amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Sspatil4</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=File:Servo_011.png&amp;diff=106753</id>
		<title>File:Servo 011.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=File:Servo_011.png&amp;diff=106753"/>
		<updated>2016-12-11T05:57:52Z</updated>

		<summary type="html">&lt;p&gt;Sspatil4: uploaded a new version of &amp;amp;quot;File:Servo 011.png&amp;amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Sspatil4</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016/M1652_ImageMap_Support_Servo&amp;diff=106752</id>
		<title>CSC/ECE 517 Fall 2016/M1652 ImageMap Support Servo</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016/M1652_ImageMap_Support_Servo&amp;diff=106752"/>
		<updated>2016-12-11T05:51:54Z</updated>

		<summary type="html">&lt;p&gt;Sspatil4: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[https://html.spec.whatwg.org/multipage/embedded-content.html#image-map Image maps] are an HTML technology that allows treating arbitrary areas in an image as separate hyperlinks. The goal of this project is to implement this missing feature on [https://en.wikipedia.org/wiki/Servo_(layout_engine) Servo].&amp;lt;ref&amp;gt;https://github.com/servo/servo/wiki/Image-maps-project&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=='''Introduction'''==&lt;br /&gt;
&lt;br /&gt;
==='''Servo'''===&lt;br /&gt;
&lt;br /&gt;
Servo &amp;lt;ref&amp;gt; https://github.com/servo/servo &amp;lt;/ref&amp;gt; is a web browser layout engine written in [https://github.com/rust-lang/rust Rust]&amp;lt;ref&amp;gt;https://github.com/rust-lang/rust&amp;lt;/ref&amp;gt; and is currently being developed by [https://en.wikipedia.org/wiki/Mozilla Mozilla Research]. The aim of the project is to create a highly parallel environment which allows several components to be handled by fine-grained, isolated tasks.&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Servo_(layout_engine)&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Servo is built on top of Rust to provide a secure and reliable foundation and is focused on creating a reliable and fast browser engine.&lt;br /&gt;
&lt;br /&gt;
==='''Rust'''===&lt;br /&gt;
&lt;br /&gt;
[https://en.wikipedia.org/wiki/Rust_(programming_language) Rust] is a multi-paradigm, compiled programming language suited to create highly concurrent and highly safe systems. Rust is a modern, fast, memory-safe and multi-threaded programming language focusing on speed and safety to develop reliable and efficient systems. &amp;lt;ref&amp;gt; http://doc.rust-lang.org/nightly/book/README.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==='''Image Maps'''===&lt;br /&gt;
In HTML and XHTML, an [https://en.wikipedia.org/wiki/Image_map image map] is a list of coordinates relating to a specific image, created in order to hyperlink areas of the image to different destinations (as opposed to a normal image link, in which the entire area of the image links to a single destination). Servo currently doesn't support image maps.&lt;br /&gt;
&lt;br /&gt;
=='''Approach and Implementation'''==&lt;br /&gt;
==='''[http://wiki.expertiza.ncsu.edu/index.php/CSC/ECE_517_Fall_2016/M1652_Implement_ImageMap_Support_Servo Initial Steps]'''===&lt;br /&gt;
&lt;br /&gt;
*Compile Servo and ensure that it runs on tests/html/about-mozilla.html&lt;br /&gt;
*An Area enum was defined in htmlareaelement.rs to handle rectangles, circles, and polygons (i.e. coordinate representations)&lt;br /&gt;
*Implement constructors for each variant that accept a string argument, parse them into appropriate coordinates, and return an appropriate Area instance&lt;br /&gt;
*Implement a hit_test method on Area that accepts a Point2D&amp;lt;f32&amp;gt; argument and returns true if the point is within the area's coordinates (return false for all polygonal areas)&lt;br /&gt;
*Write tests for the Area constructors and hit tests (add a new htmlareaelement.rs to tests/unit/script/ and run ./mach test-unit -p script)&lt;br /&gt;
*Add a method to HTMLAreaElement that returns an Area value derived from that element's attributes&lt;br /&gt;
&lt;br /&gt;
'''Subsequent steps:'''&lt;br /&gt;
*Implement an areas method to HTMLImageElement that returns a vector of Root&amp;lt;HTMLAreaElement&amp;gt; values&lt;br /&gt;
*Implement a method to handle activation behavior on HTMLAreaElement&lt;br /&gt;
*Implement a handle_event method on HTMLImageElement to handle click events&lt;br /&gt;
&lt;br /&gt;
=='''Implementation Workflow'''==&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
The workflow for implementing the support for image maps is as shown in the flowchart below:&lt;br /&gt;
[[Image:Image_map.png|center]]&lt;br /&gt;
As can be seen in the image, the HTML code snippet defines a usemap attribute which handles a collection of shapes, dealt with by HTMLAreaelement. The corresponding shape's hit test method is called once the image has been clicked.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
[[File:Servo_011.png|center]]&lt;br /&gt;
&lt;br /&gt;
=='''Design Pattern'''==&lt;br /&gt;
&lt;br /&gt;
Design patterns are not applicable as our task involved implementing methods in a predefined object, namely HTMLAreaElement.&lt;br /&gt;
&lt;br /&gt;
=='''Testing'''==&lt;br /&gt;
&lt;br /&gt;
Test cases were implemented for testing the Area enum and the hit test functionality. Following are the steps to run all the tests:&lt;br /&gt;
&lt;br /&gt;
# Install the pre-requisites required for servo as mentioned [https://github.com/servo/servo/blob/master/README.md here] &lt;br /&gt;
# Run the following commands to clone the repository and run the tests&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 git clone https://github.com/shravan-achar/servo.git&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 cd servo&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 git checkout master&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To run the test cases&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 ./mach test-unit -p script&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The above command will download and compile the dependencies and the test cases. You will see that all tests pass as expected (Testcases are prefixed by HTMLAreaElement)&lt;br /&gt;
&lt;br /&gt;
==='''Testing From UI'''===&lt;br /&gt;
&lt;br /&gt;
The project is testable from the UI by handling clickable activities on this test [https://samuknet.github.io/test_cases/imageMap/ link]. The link has to be invoked from the compiled exe; the command for which is given below:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
./mach build --debug&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
./mach run https://samuknet.github.io/test_cases/imageMap/&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On clicking the image, the user is redirected to the next page ensuring that the functionality works appropriately on Servo.&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sspatil4</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=File:Image_map.png&amp;diff=106751</id>
		<title>File:Image map.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=File:Image_map.png&amp;diff=106751"/>
		<updated>2016-12-11T05:47:43Z</updated>

		<summary type="html">&lt;p&gt;Sspatil4: uploaded a new version of &amp;amp;quot;File:Image map.png&amp;amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Sspatil4</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=File:Image_map.png&amp;diff=106750</id>
		<title>File:Image map.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=File:Image_map.png&amp;diff=106750"/>
		<updated>2016-12-11T05:44:02Z</updated>

		<summary type="html">&lt;p&gt;Sspatil4: uploaded a new version of &amp;amp;quot;File:Image map.png&amp;amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Sspatil4</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=File:Image_map.png&amp;diff=106749</id>
		<title>File:Image map.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=File:Image_map.png&amp;diff=106749"/>
		<updated>2016-12-11T05:42:43Z</updated>

		<summary type="html">&lt;p&gt;Sspatil4: uploaded a new version of &amp;amp;quot;File:Image map.png&amp;amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Sspatil4</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016/M1652_ImageMap_Support_Servo&amp;diff=106748</id>
		<title>CSC/ECE 517 Fall 2016/M1652 ImageMap Support Servo</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016/M1652_ImageMap_Support_Servo&amp;diff=106748"/>
		<updated>2016-12-11T05:41:34Z</updated>

		<summary type="html">&lt;p&gt;Sspatil4: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[https://html.spec.whatwg.org/multipage/embedded-content.html#image-map] Image maps are an HTML technology that allows treating arbitrary areas in an image as separate hyperlinks. The goal of this project is to implement this missing feature on [https://en.wikipedia.org/wiki/Servo_(layout_engine) Servo].&amp;lt;ref&amp;gt;https://github.com/servo/servo/wiki/Image-maps-project&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=='''Introduction'''==&lt;br /&gt;
&lt;br /&gt;
==='''Servo'''===&lt;br /&gt;
&lt;br /&gt;
Servo &amp;lt;ref&amp;gt; https://github.com/servo/servo &amp;lt;/ref&amp;gt; is a web browser layout engine written in [https://github.com/rust-lang/rust Rust]&amp;lt;ref&amp;gt;https://github.com/rust-lang/rust&amp;lt;/ref&amp;gt; and is currently being developed by [https://en.wikipedia.org/wiki/Mozilla Mozilla Research]. The aim of the project is to create a highly parallel environment which allows several components to be handled by fine-grained, isolated tasks.&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Servo_(layout_engine)&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Servo is built on top of Rust to provide a secure and reliable foundation and is focused on creating a reliable and fast browser engine.&lt;br /&gt;
&lt;br /&gt;
==='''Rust'''===&lt;br /&gt;
&lt;br /&gt;
[https://en.wikipedia.org/wiki/Rust_(programming_language) Rust] is a multi-paradigm, compiled programming language suited to create highly concurrent and highly safe systems. Rust is a modern, fast, memory-safe and multi-threaded programming language focusing on speed and safety to develop reliable and efficient systems. &amp;lt;ref&amp;gt; http://doc.rust-lang.org/nightly/book/README.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==='''Image Maps'''===&lt;br /&gt;
In HTML and XHTML, an [https://en.wikipedia.org/wiki/Image_map image map] is a list of coordinates relating to a specific image, created in order to hyperlink areas of the image to different destinations (as opposed to a normal image link, in which the entire area of the image links to a single destination). Servo currently doesn't support image maps.&lt;br /&gt;
&lt;br /&gt;
=='''Approach and Implementation'''==&lt;br /&gt;
==='''[http://wiki.expertiza.ncsu.edu/index.php/CSC/ECE_517_Fall_2016/M1652_Implement_ImageMap_Support_Servo Initial Steps]'''===&lt;br /&gt;
&lt;br /&gt;
*Compile Servo and ensure that it runs on tests/html/about-mozilla.html&lt;br /&gt;
*An Area enum was defined in htmlareaelement.rs to handle rectangles, circles, and polygons (i.e. coordinate representations)&lt;br /&gt;
*Implement constructors for each variant that accept a string argument, parse them into appropriate coordinates, and return an appropriate Area instance&lt;br /&gt;
*Implement a hit_test method on Area that accepts a Point2D&amp;lt;f32&amp;gt; argument and returns true if the point is within the area's coordinates (return false for all polygonal areas)&lt;br /&gt;
*Write tests for the Area constructors and hit tests (add a new htmlareaelement.rs to tests/unit/script/ and run ./mach test-unit -p script)&lt;br /&gt;
*Add a method to HTMLAreaElement that returns an Area value derived from that element's attributes&lt;br /&gt;
&lt;br /&gt;
Subsequent steps:&lt;br /&gt;
*Implement an areas method to HTMLImageElement that returns a vector of Root&amp;lt;HTMLAreaElement&amp;gt; values&lt;br /&gt;
*Implement a method to handle activation behavior on HTMLAreaElement&lt;br /&gt;
*Implement a handle_event method on HTMLImageElement to handle click events&lt;br /&gt;
&lt;br /&gt;
=='''Implementation Workflow'''==&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
The workflow for implementing the support for image maps is as shown in the flowchart below:&lt;br /&gt;
[[Image:Image_map.png|center]]&lt;br /&gt;
As can be seen in the image, the HTML code snippet defines a usemap attribute which handles a collection of shapes, dealt with by HTMLAreaelement. The corresponding shape's hit test method is called once the image has been clicked.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
[[File:Servo_011.png|center]]&lt;br /&gt;
&lt;br /&gt;
=='''Design Pattern'''==&lt;br /&gt;
&lt;br /&gt;
Design patterns are not applicable as our task involved implementing methods in a predefined object, namely HTMLAreaElement.&lt;br /&gt;
&lt;br /&gt;
=='''Testing'''==&lt;br /&gt;
&lt;br /&gt;
Test cases were implemented for testing the Area enum and the hit test functionality. Following are the steps to run all the tests:&lt;br /&gt;
&lt;br /&gt;
# Install the pre-requisites required for servo as mentioned [https://github.com/servo/servo/blob/master/README.md here] &lt;br /&gt;
# Run the following commands to clone the repository and run the tests&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 git clone https://github.com/shravan-achar/servo.git&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 cd servo&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 git checkout master&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To run the test cases&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 ./mach test-unit -p script&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The above command will download and compile the dependencies and the test cases. You will see that all tests pass as expected (Testcases are prefixed by HTMLAreaElement)&lt;br /&gt;
&lt;br /&gt;
==='''Testing From UI'''===&lt;br /&gt;
&lt;br /&gt;
The project is testable from the UI by handling clickable activities on this test [https://samuknet.github.io/test_cases/imageMap/ link]. The link has to be invoked from the compiled exe; the command for which is given below:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
./mach build --debug&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
./mach run https://samuknet.github.io/test_cases/imageMap/&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On clicking the image, the user is redirected to the next page ensuring that the functionality works appropriately on Servo.&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sspatil4</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016/M1652_ImageMap_Support_Servo&amp;diff=106747</id>
		<title>CSC/ECE 517 Fall 2016/M1652 ImageMap Support Servo</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016/M1652_ImageMap_Support_Servo&amp;diff=106747"/>
		<updated>2016-12-11T05:32:08Z</updated>

		<summary type="html">&lt;p&gt;Sspatil4: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[https://html.spec.whatwg.org/multipage/embedded-content.html#image-map] Image maps are an HTML technology that allows treating arbitrary areas in an image as separate hyperlinks. The goal of this project is to implement this missing feature on [https://en.wikipedia.org/wiki/Servo_(layout_engine) Servo].&amp;lt;ref&amp;gt;https://github.com/servo/servo/wiki/Image-maps-project&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=='''Introduction'''==&lt;br /&gt;
&lt;br /&gt;
==='''Servo'''===&lt;br /&gt;
&lt;br /&gt;
Servo &amp;lt;ref&amp;gt; https://github.com/servo/servo &amp;lt;/ref&amp;gt; is a web browser layout engine written in [https://github.com/rust-lang/rust Rust]&amp;lt;ref&amp;gt;https://github.com/rust-lang/rust&amp;lt;/ref&amp;gt; and is currently being developed by [https://en.wikipedia.org/wiki/Mozilla Mozilla Research]. The aim of the project is to create a highly parallel environment which allows several components to be handled by fine-grained, isolated tasks.&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Servo_(layout_engine)&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Servo is built on top of Rust to provide a secure and reliable foundation and is focused on creating a reliable and fast browser engine.&lt;br /&gt;
&lt;br /&gt;
==='''Rust'''===&lt;br /&gt;
&lt;br /&gt;
[https://en.wikipedia.org/wiki/Rust_(programming_language) Rust] is a multi-paradigm, compiled programming language suited to create highly concurrent and highly safe systems. Rust is a modern, fast, memory-safe and multi-threaded programming language focusing on speed and safety to develop reliable and efficient systems. &amp;lt;ref&amp;gt; http://doc.rust-lang.org/nightly/book/README.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==='''Image Maps'''===&lt;br /&gt;
In HTML and XHTML, an [https://en.wikipedia.org/wiki/Image_map image map] is a list of coordinates relating to a specific image, created in order to hyperlink areas of the image to different destinations (as opposed to a normal image link, in which the entire area of the image links to a single destination). Servo currently doesn't support image maps.&lt;br /&gt;
&lt;br /&gt;
=='''Approach and Implementation'''==&lt;br /&gt;
==='''[http://wiki.expertiza.ncsu.edu/index.php/CSC/ECE_517_Fall_2016/M1652_Implement_ImageMap_Support_Servo Initial Steps]'''===&lt;br /&gt;
&lt;br /&gt;
*Compile Servo and ensure that it runs on tests/html/about-mozilla.html&lt;br /&gt;
*An Area enum was defined in htmlareaelement.rs to handle rectangles, circles, and polygons (i.e. coordinate representations)&lt;br /&gt;
*Implement constructors for each variant that accept a string argument, parse them into appropriate coordinates, and return an appropriate Area instance&lt;br /&gt;
*Implement a hit_test method on Area that accepts a Point2D&amp;lt;f32&amp;gt; argument and returns true if the point is within the area's coordinates (return false for all polygonal areas)&lt;br /&gt;
*Write tests for the Area constructors and hit tests (add a new htmlareaelement.rs to tests/unit/script/ and run ./mach test-unit -p script)&lt;br /&gt;
*Add a method to HTMLAreaElement that returns an Area value derived from that element's attributes&lt;br /&gt;
&lt;br /&gt;
Subsequent steps:&lt;br /&gt;
*Implement an areas method to HTMLImageElement that returns a vector of Root&amp;lt;HTMLAreaElement&amp;gt; values&lt;br /&gt;
*Implement a method to handle activation behavior on HTMLAreaElement&lt;br /&gt;
*Implement a handle_event method on HTMLImageElement to handle click events&lt;br /&gt;
&lt;br /&gt;
=='''Implementation Workflow'''==&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
The workflow for implementing the support for image maps is as shown in the flowchart below:&lt;br /&gt;
[[File:Image_map.png|center]]&lt;br /&gt;
As can be seen in the image, the HTML code snippet defines a usemap attribute which handles a collection of shapes, dealt with by HTMLAreaelement. The corresponding shape's hit test method is called once the image has been clicked.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
[[File:Servo_011.png|300px|center]]&lt;br /&gt;
&lt;br /&gt;
=='''Design Pattern'''==&lt;br /&gt;
&lt;br /&gt;
Design patterns are not applicable as our task involved implementing methods in a predefined object, namely HTMLAreaElement.&lt;br /&gt;
&lt;br /&gt;
=='''Testing'''==&lt;br /&gt;
&lt;br /&gt;
Test cases were implemented for testing the Area enum and the hit test functionality. Following are the steps to run all the tests:&lt;br /&gt;
&lt;br /&gt;
# Install the pre-requisites required for servo as mentioned [https://github.com/servo/servo/blob/master/README.md here] &lt;br /&gt;
# Run the following commands to clone the repository and run the tests&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 git clone https://github.com/shravan-achar/servo.git&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 cd servo&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 git checkout master&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To run the test cases&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 ./mach test-unit -p script&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The above command will download and compile the dependencies and the test cases. You will see that all tests pass as expected (Testcases are prefixed by HTMLAreaElement)&lt;br /&gt;
&lt;br /&gt;
==='''Testing From UI'''===&lt;br /&gt;
&lt;br /&gt;
The project is testable from the UI by handling clickable activities on this test [https://samuknet.github.io/test_cases/imageMap/ link]. The link has to be invoked from the compiled exe; the command for which is given below:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
./mach build --debug&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
./mach run https://samuknet.github.io/test_cases/imageMap/&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On clicking the image, the user is redirected to the next page ensuring that the functionality works appropriately on Servo.&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sspatil4</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016/M1652_ImageMap_Support_Servo&amp;diff=106746</id>
		<title>CSC/ECE 517 Fall 2016/M1652 ImageMap Support Servo</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016/M1652_ImageMap_Support_Servo&amp;diff=106746"/>
		<updated>2016-12-11T05:31:36Z</updated>

		<summary type="html">&lt;p&gt;Sspatil4: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[https://html.spec.whatwg.org/multipage/embedded-content.html#image-map] Image maps are an HTML technology that allows treating arbitrary areas in an image as separate hyperlinks. The goal of this project is to implement this missing feature on [https://en.wikipedia.org/wiki/Servo_(layout_engine) Servo].&amp;lt;ref&amp;gt;https://github.com/servo/servo/wiki/Image-maps-project&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=='''Introduction'''==&lt;br /&gt;
&lt;br /&gt;
==='''Servo'''===&lt;br /&gt;
&lt;br /&gt;
Servo &amp;lt;ref&amp;gt; https://github.com/servo/servo &amp;lt;/ref&amp;gt; is a web browser layout engine written in [https://github.com/rust-lang/rust Rust]&amp;lt;ref&amp;gt;https://github.com/rust-lang/rust&amp;lt;/ref&amp;gt; and is currently being developed by [https://en.wikipedia.org/wiki/Mozilla Mozilla Research]. The aim of the project is to create a highly parallel environment which allows several components to be handled by fine-grained, isolated tasks.&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Servo_(layout_engine)&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Servo is built on top of Rust to provide a secure and reliable foundation and is focused on creating a reliable and fast browser engine.&lt;br /&gt;
&lt;br /&gt;
==='''Rust'''===&lt;br /&gt;
&lt;br /&gt;
[https://en.wikipedia.org/wiki/Rust_(programming_language) Rust] is a multi-paradigm, compiled programming language suited to create highly concurrent and highly safe systems. Rust is a modern, fast, memory-safe and multi-threaded programming language focusing on speed and safety to develop reliable and efficient systems. &amp;lt;ref&amp;gt; http://doc.rust-lang.org/nightly/book/README.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==='''Image Maps'''===&lt;br /&gt;
In HTML and XHTML, an [https://en.wikipedia.org/wiki/Image_map image map] is a list of coordinates relating to a specific image, created in order to hyperlink areas of the image to different destinations (as opposed to a normal image link, in which the entire area of the image links to a single destination). Servo currently doesn't support image maps.&lt;br /&gt;
&lt;br /&gt;
=='''Approach and Implementation'''==&lt;br /&gt;
==='''[http://wiki.expertiza.ncsu.edu/index.php/CSC/ECE_517_Fall_2016/M1652_Implement_ImageMap_Support_Servo Initial Steps]'''===&lt;br /&gt;
&lt;br /&gt;
*Compile Servo and ensure that it runs on tests/html/about-mozilla.html&lt;br /&gt;
*An Area enum was defined in htmlareaelement.rs to handle rectangles, circles, and polygons (i.e. coordinate representations)&lt;br /&gt;
*Implement constructors for each variant that accept a string argument, parse them into appropriate coordinates, and return an appropriate Area instance&lt;br /&gt;
*Implement a hit_test method on Area that accepts a Point2D&amp;lt;f32&amp;gt; argument and returns true if the point is within the area's coordinates (return false for all polygonal areas)&lt;br /&gt;
*Write tests for the Area constructors and hit tests (add a new htmlareaelement.rs to tests/unit/script/ and run ./mach test-unit -p script)&lt;br /&gt;
*Add a method to HTMLAreaElement that returns an Area value derived from that element's attributes&lt;br /&gt;
&lt;br /&gt;
Subsequent steps:&lt;br /&gt;
*Implement an areas method to HTMLImageElement that returns a vector of Root&amp;lt;HTMLAreaElement&amp;gt; values&lt;br /&gt;
*Implement a method to handle activation behavior on HTMLAreaElement&lt;br /&gt;
*Implement a handle_event method on HTMLImageElement to handle click events&lt;br /&gt;
&lt;br /&gt;
=='''Implementation Workflow'''==&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
The workflow for implementing the support for image maps is as shown in the flowchart below:&lt;br /&gt;
[[File:Image_map.png|300px|center]]&lt;br /&gt;
As can be seen in the image, the HTML code snippet defines a usemap attribute which handles a collection of shapes, dealt with by HTMLAreaelement. The corresponding shape's hit test method is called once the image has been clicked.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
[[File:Servo_011.png|300px|center]]&lt;br /&gt;
&lt;br /&gt;
=='''Design Pattern'''==&lt;br /&gt;
&lt;br /&gt;
Design patterns are not applicable as our task involved implementing methods in a predefined object, namely HTMLAreaElement.&lt;br /&gt;
&lt;br /&gt;
=='''Testing'''==&lt;br /&gt;
&lt;br /&gt;
Test cases were implemented for testing the Area enum and the hit test functionality. Following are the steps to run all the tests:&lt;br /&gt;
&lt;br /&gt;
# Install the pre-requisites required for servo as mentioned [https://github.com/servo/servo/blob/master/README.md here] &lt;br /&gt;
# Run the following commands to clone the repository and run the tests&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 git clone https://github.com/shravan-achar/servo.git&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 cd servo&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 git checkout master&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To run the test cases&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 ./mach test-unit -p script&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The above command will download and compile the dependencies and the test cases. You will see that all tests pass as expected (Testcases are prefixed by HTMLAreaElement)&lt;br /&gt;
&lt;br /&gt;
==='''Testing From UI'''===&lt;br /&gt;
&lt;br /&gt;
The project is testable from the UI by handling clickable activities on this test [https://samuknet.github.io/test_cases/imageMap/ link]. The link has to be invoked from the compiled exe; the command for which is given below:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
./mach build --debug&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
./mach run https://samuknet.github.io/test_cases/imageMap/&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On clicking the image, the user is redirected to the next page ensuring that the functionality works appropriately on Servo.&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sspatil4</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016/M1652_ImageMap_Support_Servo&amp;diff=106745</id>
		<title>CSC/ECE 517 Fall 2016/M1652 ImageMap Support Servo</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016/M1652_ImageMap_Support_Servo&amp;diff=106745"/>
		<updated>2016-12-11T05:30:30Z</updated>

		<summary type="html">&lt;p&gt;Sspatil4: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[https://html.spec.whatwg.org/multipage/embedded-content.html#image-map] Image maps are an HTML technology that allows treating arbitrary areas in an image as separate hyperlinks. The goal of this project is to implement this missing feature on [https://en.wikipedia.org/wiki/Servo_(layout_engine) Servo].&amp;lt;ref&amp;gt;https://github.com/servo/servo/wiki/Image-maps-project&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=='''Introduction'''==&lt;br /&gt;
&lt;br /&gt;
==='''Servo'''===&lt;br /&gt;
&lt;br /&gt;
Servo &amp;lt;ref&amp;gt; https://github.com/servo/servo &amp;lt;/ref&amp;gt; is a web browser layout engine written in [https://github.com/rust-lang/rust Rust]&amp;lt;ref&amp;gt;https://github.com/rust-lang/rust&amp;lt;/ref&amp;gt; and is currently being developed by [https://en.wikipedia.org/wiki/Mozilla Mozilla Research]. The aim of the project is to create a highly parallel environment which allows several components to be handled by fine-grained, isolated tasks.&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Servo_(layout_engine)&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Servo is built on top of Rust to provide a secure and reliable foundation and is focused on creating a reliable and fast browser engine.&lt;br /&gt;
&lt;br /&gt;
==='''Rust'''===&lt;br /&gt;
&lt;br /&gt;
[https://en.wikipedia.org/wiki/Rust_(programming_language) Rust] is a multi-paradigm, compiled programming language suited to create highly concurrent and highly safe systems. Rust is a modern, fast, memory-safe and multi-threaded programming language focusing on speed and safety to develop reliable and efficient systems. &amp;lt;ref&amp;gt; http://doc.rust-lang.org/nightly/book/README.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==='''Image Maps'''===&lt;br /&gt;
In HTML and XHTML, an [https://en.wikipedia.org/wiki/Image_map image map] is a list of coordinates relating to a specific image, created in order to hyperlink areas of the image to different destinations (as opposed to a normal image link, in which the entire area of the image links to a single destination). Servo currently doesn't support image maps.&lt;br /&gt;
&lt;br /&gt;
=='''Approach and Implementation'''==&lt;br /&gt;
==='''[http://wiki.expertiza.ncsu.edu/index.php/CSC/ECE_517_Fall_2016/M1652_Implement_ImageMap_Support_Servo Initial Steps]'''===&lt;br /&gt;
&lt;br /&gt;
*Compile Servo and ensure that it runs on tests/html/about-mozilla.html&lt;br /&gt;
*An Area enum was defined in htmlareaelement.rs to handle rectangles, circles, and polygons (i.e. coordinate representations)&lt;br /&gt;
*Implement constructors for each variant that accept a string argument, parse them into appropriate coordinates, and return an appropriate Area instance&lt;br /&gt;
*Implement a hit_test method on Area that accepts a Point2D&amp;lt;f32&amp;gt; argument and returns true if the point is within the area's coordinates (return false for all polygonal areas)&lt;br /&gt;
*Write tests for the Area constructors and hit tests (add a new htmlareaelement.rs to tests/unit/script/ and run ./mach test-unit -p script)&lt;br /&gt;
*Add a method to HTMLAreaElement that returns an Area value derived from that element's attributes&lt;br /&gt;
&lt;br /&gt;
Subsequent steps:&lt;br /&gt;
*Implement an areas method to HTMLImageElement that returns a vector of Root&amp;lt;HTMLAreaElement&amp;gt; values&lt;br /&gt;
*Implement a method to handle activation behavior on HTMLAreaElement&lt;br /&gt;
*Implement a handle_event method on HTMLImageElement to handle click events&lt;br /&gt;
&lt;br /&gt;
=='''Implementation Workflow'''==&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
The workflow for implementing the support for image maps is as shown in the flowchart below:&lt;br /&gt;
[[File:Image_map.png|center]]&lt;br /&gt;
As can be seen in the image, the HTML code snippet defines a usemap attribute which handles a collection of shapes, dealt with by HTMLAreaelement. The corresponding shape's hit test method is called once the image has been clicked.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
[[File:Servo_011.png|center]]&lt;br /&gt;
&lt;br /&gt;
=='''Design Pattern'''==&lt;br /&gt;
&lt;br /&gt;
Design patterns are not applicable as our task involved implementing methods in a predefined object, namely HTMLAreaElement.&lt;br /&gt;
&lt;br /&gt;
=='''Testing'''==&lt;br /&gt;
&lt;br /&gt;
Test cases were implemented for testing the Area enum and the hit test functionality. Following are the steps to run all the tests:&lt;br /&gt;
&lt;br /&gt;
# Install the pre-requisites required for servo as mentioned [https://github.com/servo/servo/blob/master/README.md here] &lt;br /&gt;
# Run the following commands to clone the repository and run the tests&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 git clone https://github.com/shravan-achar/servo.git&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 cd servo&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 git checkout master&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To run the test cases&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 ./mach test-unit -p script&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The above command will download and compile the dependencies and the test cases. You will see that all tests pass as expected (Testcases are prefixed by HTMLAreaElement)&lt;br /&gt;
&lt;br /&gt;
==='''Testing From UI'''===&lt;br /&gt;
&lt;br /&gt;
The project is testable from the UI by handling clickable activities on this test [https://samuknet.github.io/test_cases/imageMap/ link]. The link has to be invoked from the compiled exe; the command for which is given below:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
./mach build --debug&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
./mach run https://samuknet.github.io/test_cases/imageMap/&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On clicking the image, the user is redirected to the next page ensuring that the functionality works appropriately on Servo.&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sspatil4</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016/M1652_ImageMap_Support_Servo&amp;diff=106744</id>
		<title>CSC/ECE 517 Fall 2016/M1652 ImageMap Support Servo</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016/M1652_ImageMap_Support_Servo&amp;diff=106744"/>
		<updated>2016-12-11T05:27:12Z</updated>

		<summary type="html">&lt;p&gt;Sspatil4: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[https://html.spec.whatwg.org/multipage/embedded-content.html#image-map] Image maps are an HTML technology that allows treating arbitrary areas in an image as separate hyperlinks. The goal of this project is to implement this missing feature on [https://en.wikipedia.org/wiki/Servo_(layout_engine) Servo].&amp;lt;ref&amp;gt;https://github.com/servo/servo/wiki/Image-maps-project&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=='''Introduction'''==&lt;br /&gt;
&lt;br /&gt;
==='''Servo'''===&lt;br /&gt;
&lt;br /&gt;
Servo &amp;lt;ref&amp;gt; https://github.com/servo/servo &amp;lt;/ref&amp;gt; is a web browser layout engine written in [https://github.com/rust-lang/rust Rust]&amp;lt;ref&amp;gt;https://github.com/rust-lang/rust&amp;lt;/ref&amp;gt; and is currently being developed by [https://en.wikipedia.org/wiki/Mozilla Mozilla Research]. The aim of the project is to create a highly parallel environment which allows several components to be handled by fine-grained, isolated tasks.&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Servo_(layout_engine)&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Servo is built on top of Rust to provide a secure and reliable foundation and is focused on creating a reliable and fast browser engine.&lt;br /&gt;
&lt;br /&gt;
==='''Rust'''===&lt;br /&gt;
&lt;br /&gt;
[https://en.wikipedia.org/wiki/Rust_(programming_language) Rust] is a multi-paradigm, compiled programming language suited to create highly concurrent and highly safe systems. Rust is a modern, fast, memory-safe and multi-threaded programming language focusing on speed and safety to develop reliable and efficient systems. &amp;lt;ref&amp;gt; http://doc.rust-lang.org/nightly/book/README.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==='''Image Maps'''===&lt;br /&gt;
In HTML and XHTML, an [https://en.wikipedia.org/wiki/Image_map image map] is a list of coordinates relating to a specific image, created in order to hyperlink areas of the image to different destinations (as opposed to a normal image link, in which the entire area of the image links to a single destination). Servo currently doesn't support image maps.&lt;br /&gt;
&lt;br /&gt;
=='''Approach and Implementation'''==&lt;br /&gt;
==='''[http://wiki.expertiza.ncsu.edu/index.php/CSC/ECE_517_Fall_2016/M1652_Implement_ImageMap_Support_Servo Initial Steps]'''===&lt;br /&gt;
&lt;br /&gt;
*Compile Servo and ensure that it runs on tests/html/about-mozilla.html&lt;br /&gt;
*An Area enum was defined in htmlareaelement.rs to handle rectangles, circles, and polygons (i.e. coordinate representations)&lt;br /&gt;
*Implement constructors for each variant that accept a string argument, parse them into appropriate coordinates, and return an appropriate Area instance&lt;br /&gt;
*Implement a hit_test method on Area that accepts a Point2D&amp;lt;f32&amp;gt; argument and returns true if the point is within the area's coordinates (return false for all polygonal areas)&lt;br /&gt;
*Write tests for the Area constructors and hit tests (add a new htmlareaelement.rs to tests/unit/script/ and run ./mach test-unit -p script)&lt;br /&gt;
*Add a method to HTMLAreaElement that returns an Area value derived from that element's attributes&lt;br /&gt;
&lt;br /&gt;
Subsequent steps:&lt;br /&gt;
*Implement an areas method to HTMLImageElement that returns a vector of Root&amp;lt;HTMLAreaElement&amp;gt; values&lt;br /&gt;
*Implement a method to handle activation behavior on HTMLAreaElement&lt;br /&gt;
*Implement a handle_event method on HTMLImageElement to handle click events&lt;br /&gt;
&lt;br /&gt;
=='''Implementation Workflow'''==&lt;br /&gt;
[[File:Image_map.png|center|300px]]&lt;br /&gt;
As can be seen in the image, the HTML code snippet defines a usemap attribute which handles a collection of shapes, dealt with by HTMLAreaelement. The corresponding shape's hit test method is called once the image has been clicked.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
[[File:Servo_011.png|center|300px]]&lt;br /&gt;
&lt;br /&gt;
=='''Design Pattern'''==&lt;br /&gt;
&lt;br /&gt;
Design patterns are not applicable as our task involved implementing methods in a predefined object, namely HTMLAreaElement.&lt;br /&gt;
&lt;br /&gt;
=='''Testing'''==&lt;br /&gt;
&lt;br /&gt;
Test cases were implemented for testing the Area enum and the hit test functionality. Following are the steps to run all the tests:&lt;br /&gt;
&lt;br /&gt;
# Install the pre-requisites required for servo as mentioned [https://github.com/servo/servo/blob/master/README.md here] &lt;br /&gt;
# Run the following commands to clone the repository and run the tests&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 git clone https://github.com/shravan-achar/servo.git&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 cd servo&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 git checkout master&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To run the test cases&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 ./mach test-unit -p script&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The above command will download and compile the dependencies and the test cases. You will see that all tests pass as expected (Testcases are prefixed by HTMLAreaElement)&lt;br /&gt;
&lt;br /&gt;
==='''Testing From UI'''===&lt;br /&gt;
&lt;br /&gt;
The project is testable from the UI by handling clickable activities on this test [https://samuknet.github.io/test_cases/imageMap/ link]. The link has to be invoked from the compiled exe; the command for which is given below:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
./mach build --debug&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
./mach run https://samuknet.github.io/test_cases/imageMap/&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On clicking the image, the user is redirected to the next page ensuring that the functionality works appropriately on Servo.&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sspatil4</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=File:Image_map.png&amp;diff=106743</id>
		<title>File:Image map.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=File:Image_map.png&amp;diff=106743"/>
		<updated>2016-12-11T05:25:40Z</updated>

		<summary type="html">&lt;p&gt;Sspatil4: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Sspatil4</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016/M1652_ImageMap_Support_Servo&amp;diff=106742</id>
		<title>CSC/ECE 517 Fall 2016/M1652 ImageMap Support Servo</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016/M1652_ImageMap_Support_Servo&amp;diff=106742"/>
		<updated>2016-12-11T05:22:09Z</updated>

		<summary type="html">&lt;p&gt;Sspatil4: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[https://html.spec.whatwg.org/multipage/embedded-content.html#image-map] Image maps are an HTML technology that allows treating arbitrary areas in an image as separate hyperlinks. The goal of this project is to implement this missing feature on [https://en.wikipedia.org/wiki/Servo_(layout_engine) Servo].&amp;lt;ref&amp;gt;https://github.com/servo/servo/wiki/Image-maps-project&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=='''Introduction'''==&lt;br /&gt;
&lt;br /&gt;
==='''Servo'''===&lt;br /&gt;
&lt;br /&gt;
Servo &amp;lt;ref&amp;gt; https://github.com/servo/servo &amp;lt;/ref&amp;gt; is a web browser layout engine written in [https://github.com/rust-lang/rust Rust]&amp;lt;ref&amp;gt;https://github.com/rust-lang/rust&amp;lt;/ref&amp;gt; and is currently being developed by [https://en.wikipedia.org/wiki/Mozilla Mozilla Research]. The aim of the project is to create a highly parallel environment which allows several components to be handled by fine-grained, isolated tasks.&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Servo_(layout_engine)&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Servo is built on top of Rust to provide a secure and reliable foundation and is focused on creating a reliable and fast browser engine.&lt;br /&gt;
&lt;br /&gt;
==='''Rust'''===&lt;br /&gt;
&lt;br /&gt;
[https://en.wikipedia.org/wiki/Rust_(programming_language) Rust] is a multi-paradigm, compiled programming language suited to create highly concurrent and highly safe systems. Rust is a modern, fast, memory-safe and multi-threaded programming language focusing on speed and safety to develop reliable and efficient systems. &amp;lt;ref&amp;gt; http://doc.rust-lang.org/nightly/book/README.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==='''Image Maps'''===&lt;br /&gt;
In HTML and XHTML, an [https://en.wikipedia.org/wiki/Image_map image map] is a list of coordinates relating to a specific image, created in order to hyperlink areas of the image to different destinations (as opposed to a normal image link, in which the entire area of the image links to a single destination). Servo currently doesn't support image maps.&lt;br /&gt;
&lt;br /&gt;
=='''Approach and Implementation'''==&lt;br /&gt;
==='''[http://wiki.expertiza.ncsu.edu/index.php/CSC/ECE_517_Fall_2016/M1652_Implement_ImageMap_Support_Servo Initial Steps]'''===&lt;br /&gt;
&lt;br /&gt;
*Compile Servo and ensure that it runs on tests/html/about-mozilla.html&lt;br /&gt;
*An Area enum was defined in htmlareaelement.rs to handle rectangles, circles, and polygons (i.e. coordinate representations)&lt;br /&gt;
*Implement constructors for each variant that accept a string argument, parse them into appropriate coordinates, and return an appropriate Area instance&lt;br /&gt;
*Implement a hit_test method on Area that accepts a Point2D&amp;lt;f32&amp;gt; argument and returns true if the point is within the area's coordinates (return false for all polygonal areas)&lt;br /&gt;
*Write tests for the Area constructors and hit tests (add a new htmlareaelement.rs to tests/unit/script/ and run ./mach test-unit -p script)&lt;br /&gt;
*Add a method to HTMLAreaElement that returns an Area value derived from that element's attributes&lt;br /&gt;
&lt;br /&gt;
Subsequent steps:&lt;br /&gt;
*Implement an areas method to HTMLImageElement that returns a vector of Root&amp;lt;HTMLAreaElement&amp;gt; values&lt;br /&gt;
*Implement a method to handle activation behavior on HTMLAreaElement&lt;br /&gt;
*Implement a handle_event method on HTMLImageElement to handle click events&lt;br /&gt;
&lt;br /&gt;
=='''Implementation Flowchart'''==&lt;br /&gt;
As can be seen in the image, the HTML code snippet defines a usemap attribute which handles a collection of shapes, dealt with by HTMLAreaelement. The corresponding shape's hit test method is called once the image has been clicked.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
[[File:Servo_011.png|center]]&lt;br /&gt;
&lt;br /&gt;
=='''Design Pattern'''==&lt;br /&gt;
&lt;br /&gt;
Design patterns are not applicable as our task involved implementing methods in a predefined object, namely HTMLAreaElement.&lt;br /&gt;
&lt;br /&gt;
=='''Testing'''==&lt;br /&gt;
&lt;br /&gt;
Test cases were implemented for testing the Area enum and the hit test functionality. Following are the steps to run all the tests:&lt;br /&gt;
&lt;br /&gt;
# Install the pre-requisites required for servo as mentioned [https://github.com/servo/servo/blob/master/README.md here] &lt;br /&gt;
# Run the following commands to clone the repository and run the tests&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 git clone https://github.com/shravan-achar/servo.git&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 cd servo&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 git checkout master&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To run the test cases&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 ./mach test-unit -p script&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The above command will download and compile the dependencies and the test cases. You will see that all tests pass as expected (Testcases are prefixed by HTMLAreaElement)&lt;br /&gt;
&lt;br /&gt;
==='''Testing From UI'''===&lt;br /&gt;
&lt;br /&gt;
The project is testable from the UI by handling clickable activities on this test [https://samuknet.github.io/test_cases/imageMap/ link]. The link has to be invoked from the compiled exe; the command for which is given below:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
./mach build --debug&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
./mach run https://samuknet.github.io/test_cases/imageMap/&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On clicking the image, the user is redirected to the next page ensuring that the functionality works appropriately on Servo.&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sspatil4</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016/M1652_ImageMap_Support_Servo&amp;diff=106741</id>
		<title>CSC/ECE 517 Fall 2016/M1652 ImageMap Support Servo</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016/M1652_ImageMap_Support_Servo&amp;diff=106741"/>
		<updated>2016-12-11T05:09:19Z</updated>

		<summary type="html">&lt;p&gt;Sspatil4: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[https://html.spec.whatwg.org/multipage/embedded-content.html#image-map] Image maps are an HTML technology that allows treating arbitrary areas in an image as separate hyperlinks. The goal of this project is to implement this missing feature on [https://en.wikipedia.org/wiki/Servo_(layout_engine) Servo].&amp;lt;ref&amp;gt;https://github.com/servo/servo/wiki/Image-maps-project&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=='''Introduction'''==&lt;br /&gt;
&lt;br /&gt;
==='''Servo'''===&lt;br /&gt;
&lt;br /&gt;
Servo &amp;lt;ref&amp;gt; https://github.com/servo/servo &amp;lt;/ref&amp;gt; is a web browser layout engine written in [https://github.com/rust-lang/rust Rust]&amp;lt;ref&amp;gt;https://github.com/rust-lang/rust&amp;lt;/ref&amp;gt; and is currently being developed by [https://en.wikipedia.org/wiki/Mozilla Mozilla Research]. The aim of the project is to create a highly parallel environment which allows several components to be handled by fine-grained, isolated tasks.&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Servo_(layout_engine)&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Servo is built on top of Rust to provide a secure and reliable foundation and is focused on creating a reliable and fast browser engine.&lt;br /&gt;
&lt;br /&gt;
==='''Rust'''===&lt;br /&gt;
&lt;br /&gt;
[https://en.wikipedia.org/wiki/Rust_(programming_language) Rust] is a multi-paradigm, compiled programming language suited to create highly concurrent and highly safe systems. Rust is a modern, fast, memory-safe and multi-threaded programming language focusing on speed and safety to develop reliable and efficient systems. &amp;lt;ref&amp;gt; http://doc.rust-lang.org/nightly/book/README.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==='''Image Maps'''===&lt;br /&gt;
In HTML and XHTML, an [https://en.wikipedia.org/wiki/Image_map Image map] is a list of coordinates relating to a specific image, created in order to hyperlink areas of the image to different destinations (as opposed to a normal image link, in which the entire area of the image links to a single destination). Servo currently doesn't support image maps.&lt;br /&gt;
&lt;br /&gt;
=='''Approach and Implementation'''==&lt;br /&gt;
==='''[http://wiki.expertiza.ncsu.edu/index.php/CSC/ECE_517_Fall_2016/M1652_Implement_ImageMap_Support_Servo Initial Steps]'''===&lt;br /&gt;
&lt;br /&gt;
*Compile Servo and ensure that it runs on tests/html/about-mozilla.html&lt;br /&gt;
*An Area enum was defined in htmlareaelement.rs to handle rectangles, circles, and polygons (ie. coordinate representations)&lt;br /&gt;
*Implement constructors for each variant that accept a string argument, parse them into appropriate coordinates, and return an appropriate Area instance&lt;br /&gt;
*Implement a hit_test method on Area that accepts a Point2D&amp;lt;f32&amp;gt; argument and returns true if the point is within the area's coordinates (return false for all polygonal areas)&lt;br /&gt;
*Write tests for the Area constructors and hit tests (add a new htmlareaelement.rs to tests/unit/script/ and run ./mach test-unit -p script)&lt;br /&gt;
*Add a method to HTMLAreaElement that returns an Area value derived from that element's attributes&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
[[File:Servo_011.png|center]]&lt;br /&gt;
&lt;br /&gt;
Subsequent steps:&lt;br /&gt;
*Implement an areas method to HTMLImageElement that returns a vector of Root&amp;lt;HTMLAreaElement&amp;gt; values&lt;br /&gt;
*Implement a method to handle activation behavior on HTMLAreaElement&lt;br /&gt;
*Implement a handle_event method for HTMLImageElement to handle click events&lt;br /&gt;
&lt;br /&gt;
=='''Implementation Flowchart'''==&lt;br /&gt;
&lt;br /&gt;
=='''Design Pattern'''==&lt;br /&gt;
&lt;br /&gt;
Design patterns are not applicable as our task involved implementing methods in a predefined object, namely HTMLAreaElement.&lt;br /&gt;
&lt;br /&gt;
=='''Testing'''==&lt;br /&gt;
&lt;br /&gt;
Test cases were implemented for testing the Area enum and the hit test functionality. Following are the steps to run all the tests:&lt;br /&gt;
&lt;br /&gt;
# Install the pre-requisites required for servo as mentioned [https://github.com/servo/servo/blob/master/README.md here] &lt;br /&gt;
# Run the following commands to clone the repository and run the tests&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 git clone https://github.com/shravan-achar/servo.git&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 cd servo&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 git checkout master&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To run the test cases&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 ./mach test-unit -p script&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The above command will download and compile the dependencies and the test cases. You will see that all tests pass as expected (Testcases are prefixed by HTMLAreaElement)&lt;br /&gt;
&lt;br /&gt;
==='''Testing From UI'''===&lt;br /&gt;
&lt;br /&gt;
The project after completion should be testable from the UI by handling clickable activities on this test [https://samuknet.github.io/test_cases/imageMap/ link]. The link has to be invoked from the compiled exe; the command for which is given below:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
./mach build --debug&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
./mach run https://samuknet.github.io/test_cases/imageMap/&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sspatil4</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016/M1652_ImageMap_Support_Servo&amp;diff=106740</id>
		<title>CSC/ECE 517 Fall 2016/M1652 ImageMap Support Servo</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016/M1652_ImageMap_Support_Servo&amp;diff=106740"/>
		<updated>2016-12-11T05:08:37Z</updated>

		<summary type="html">&lt;p&gt;Sspatil4: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[https://html.spec.whatwg.org/multipage/embedded-content.html#image-map] Image maps are an HTML technology that allows treating arbitrary areas in an image as separate hyperlinks. The goal of this project is to implement this missing feature on [https://en.wikipedia.org/wiki/Servo_(layout_engine) Servo].&amp;lt;ref&amp;gt;https://github.com/servo/servo/wiki/Image-maps-project&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
===Servo===&lt;br /&gt;
&lt;br /&gt;
Servo &amp;lt;ref&amp;gt; https://github.com/servo/servo &amp;lt;/ref&amp;gt; is a web browser layout engine written in [https://github.com/rust-lang/rust Rust]&amp;lt;ref&amp;gt;https://github.com/rust-lang/rust&amp;lt;/ref&amp;gt; and is currently being developed by [https://en.wikipedia.org/wiki/Mozilla Mozilla Research]. The aim of the project is to create a highly parallel environment which allows several components to be handled by fine-grained, isolated tasks.&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Servo_(layout_engine)&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Servo is built on top of Rust to provide a secure and reliable foundation and is focused on creating a reliable and fast browser engine.&lt;br /&gt;
&lt;br /&gt;
===Rust===&lt;br /&gt;
&lt;br /&gt;
[https://en.wikipedia.org/wiki/Rust_(programming_language) Rust] is a multi-paradigm, compiled programming language suited to create highly concurrent and highly safe systems. Rust is a modern, fast, memory-safe and multi-threaded programming language focusing on speed and safety to develop reliable and efficient systems. &amp;lt;ref&amp;gt; http://doc.rust-lang.org/nightly/book/README.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Image Maps===&lt;br /&gt;
In HTML and XHTML, an [https://en.wikipedia.org/wiki/Image_map Image map] is a list of coordinates relating to a specific image, created in order to hyperlink areas of the image to different destinations (as opposed to a normal image link, in which the entire area of the image links to a single destination). Servo currently doesn't support image maps.&lt;br /&gt;
&lt;br /&gt;
=='''Approach and Implementation'''==&lt;br /&gt;
==='''[http://wiki.expertiza.ncsu.edu/index.php/CSC/ECE_517_Fall_2016/M1652_Implement_ImageMap_Support_Servo Initial Steps]'''===&lt;br /&gt;
&lt;br /&gt;
*Compile Servo and ensure that it runs on tests/html/about-mozilla.html&lt;br /&gt;
*An Area enum was defined in htmlareaelement.rs to handle rectangles, circles, and polygons (ie. coordinate representations)&lt;br /&gt;
*Implement constructors for each variant that accept a string argument, parse them into appropriate coordinates, and return an appropriate Area instance&lt;br /&gt;
*Implement a hit_test method on Area that accepts a Point2D&amp;lt;f32&amp;gt; argument and returns true if the point is within the area's coordinates (return false for all polygonal areas)&lt;br /&gt;
*Write tests for the Area constructors and hit tests (add a new htmlareaelement.rs to tests/unit/script/ and run ./mach test-unit -p script)&lt;br /&gt;
*Add a method to HTMLAreaElement that returns an Area value derived from that element's attributes&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
[[File:Servo_011.png|center]]&lt;br /&gt;
&lt;br /&gt;
Subsequent steps:&lt;br /&gt;
*Implement an areas method to HTMLImageElement that returns a vector of Root&amp;lt;HTMLAreaElement&amp;gt; values&lt;br /&gt;
*Implement a method to handle activation behavior on HTMLAreaElement&lt;br /&gt;
*Implement a handle_event method for HTMLImageElement to handle click events&lt;br /&gt;
&lt;br /&gt;
=='''Implementation Flowchart'''==&lt;br /&gt;
&lt;br /&gt;
=='''Design Pattern'''==&lt;br /&gt;
&lt;br /&gt;
Design patterns are not applicable as our task involved implementing methods in a predefined object, namely HTMLAreaElement.&lt;br /&gt;
&lt;br /&gt;
=='''Testing'''==&lt;br /&gt;
&lt;br /&gt;
Test cases were implemented for testing the Area enum and the hit test functionality. Following are the steps to run all the tests:&lt;br /&gt;
&lt;br /&gt;
# Install the pre-requisites required for servo as mentioned [https://github.com/servo/servo/blob/master/README.md here] &lt;br /&gt;
# Run the following commands to clone the repository and run the tests&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 git clone https://github.com/shravan-achar/servo.git&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 cd servo&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 git checkout master&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To run the test cases&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 ./mach test-unit -p script&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The above command will download and compile the dependencies and the test cases. You will see that all tests pass as expected (Testcases are prefixed by HTMLAreaElement)&lt;br /&gt;
&lt;br /&gt;
==='''Testing From UI'''===&lt;br /&gt;
&lt;br /&gt;
The project after completion should be testable from the UI by handling clickable activities on this test [https://samuknet.github.io/test_cases/imageMap/ link]. The link has to be invoked from the compiled exe; the command for which is given below:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
./mach build --debug&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
./mach run https://samuknet.github.io/test_cases/imageMap/&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sspatil4</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016/M1652_ImageMap_Support_Servo&amp;diff=106739</id>
		<title>CSC/ECE 517 Fall 2016/M1652 ImageMap Support Servo</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016/M1652_ImageMap_Support_Servo&amp;diff=106739"/>
		<updated>2016-12-11T05:02:43Z</updated>

		<summary type="html">&lt;p&gt;Sspatil4: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[https://html.spec.whatwg.org/multipage/embedded-content.html#image-map] Image maps are an HTML technology that allows treating arbitrary areas in an image as separate hyperlinks. The goal of this project is to implement this missing feature on [https://en.wikipedia.org/wiki/Servo_(layout_engine) Servo].&amp;lt;ref&amp;gt;https://github.com/servo/servo/wiki/Image-maps-project&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
===Servo===&lt;br /&gt;
&lt;br /&gt;
Servo &amp;lt;ref&amp;gt; https://github.com/servo/servo &amp;lt;/ref&amp;gt; is a web browser layout engine written in [https://github.com/rust-lang/rust Rust]&amp;lt;ref&amp;gt;https://github.com/rust-lang/rust&amp;lt;/ref&amp;gt; and is currently being developed by [https://en.wikipedia.org/wiki/Mozilla Mozilla Research]. The aim of the project is to create a highly parallel environment which allows several components to be handled by fine-grained, isolated tasks.&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Servo_(layout_engine)&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Servo is built on top of Rust to provide a secure and reliable foundation and is focused on creating a reliable and fast browser engine.&lt;br /&gt;
&lt;br /&gt;
===Rust===&lt;br /&gt;
&lt;br /&gt;
[https://en.wikipedia.org/wiki/Rust_(programming_language) Rust] is a multi-paradigm, compiled programming language suited to create highly concurrent and highly safe systems. Rust is a modern, fast, memory-safe and multi-threaded programming language focusing on speed and safety to develop reliable and efficient systems. &amp;lt;ref&amp;gt; http://doc.rust-lang.org/nightly/book/README.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Image Maps===&lt;br /&gt;
&amp;quot;In HTML and XHTML, an [https://en.wikipedia.org/wiki/Image_map Image map] is a list of coordinates relating to a specific image, created in order to hyperlink areas of the image to different destinations (as opposed to a normal image link, in which the entire area of the image links to a single destination). Servo currently doesn't support image maps.&lt;br /&gt;
&lt;br /&gt;
==Project Scope==&lt;br /&gt;
&lt;br /&gt;
[http://wiki.expertiza.ncsu.edu/index.php/CSC/ECE_517_Fall_2016/M1652_Implement_ImageMap_Support_Servo Initial Steps]&lt;br /&gt;
*Compile Servo and ensure that it runs on tests/html/about-mozilla.html&lt;br /&gt;
*An Area enum was defined in htmlareaelement.rs to handle rectangles, circles, and polygons (ie. coordinate representations)&lt;br /&gt;
*Implement constructors for each variant that accept a string argument, parse them into appropriate coordinates, and return an appropriate Area instance&lt;br /&gt;
*Implement a hit_test method on Area that accepts a Point2D&amp;lt;f32&amp;gt; argument and returns true if the point is within the area's coordinates (return false for all polygonal areas)&lt;br /&gt;
*Write tests for the Area constructors and hit tests (add a new htmlareaelement.rs to tests/unit/script/ and run ./mach test-unit -p script)&lt;br /&gt;
*Add a method to HTMLAreaElement that returns an Area value derived from that element's attributes&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
[[File:Servo_011.png]]&lt;br /&gt;
&lt;br /&gt;
Subsequent steps:&lt;br /&gt;
*Implement an areas method to HTMLImageElement that returns a vector of Root&amp;lt;HTMLAreaElement&amp;gt; values&lt;br /&gt;
*Implement a method to handle activation behavior on HTMLAreaElement&lt;br /&gt;
*Implement a handle_event method for HTMLImageElement to handle click events&lt;br /&gt;
&lt;br /&gt;
==Implementation Flowchart==&lt;br /&gt;
&lt;br /&gt;
==Design Pattern==&lt;br /&gt;
&lt;br /&gt;
Design patterns are not applicable as our task involved implementing methods in a predefined object, namely HTMLAreaElement.&lt;br /&gt;
&lt;br /&gt;
== Testing ==&lt;br /&gt;
&lt;br /&gt;
Test cases were implemented for testing the Area enum and the hit test functionality. Following are the steps to run all the tests:&lt;br /&gt;
&lt;br /&gt;
# Install the pre-requisites required for servo as mentioned [https://github.com/servo/servo/blob/master/README.md here] &lt;br /&gt;
# Run the following commands to clone the repository and run the tests&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 git clone https://github.com/shravan-achar/servo.git&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 cd servo&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 git checkout master&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To run the test cases&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 ./mach test-unit -p script&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The above command will download and compile the dependencies and the test cases. You will see that all tests pass as expected (Testcases are prefixed by HTMLAreaElement)&lt;br /&gt;
&lt;br /&gt;
=== Testing From UI ===&lt;br /&gt;
&lt;br /&gt;
The project after completion should be testable from the UI by handling clickable activities on this test [https://samuknet.github.io/test_cases/imageMap/ link]. The link has to be invoked from the compiled exe; the command for which is given below:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
./mach build --debug&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
./mach run https://samuknet.github.io/test_cases/imageMap/&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sspatil4</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016/M1652_ImageMap_Support_Servo&amp;diff=106738</id>
		<title>CSC/ECE 517 Fall 2016/M1652 ImageMap Support Servo</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016/M1652_ImageMap_Support_Servo&amp;diff=106738"/>
		<updated>2016-12-11T04:59:42Z</updated>

		<summary type="html">&lt;p&gt;Sspatil4: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;font size=&amp;quot;5&amp;quot;&amp;gt;M1652: Image Map support for Servo&amp;lt;/font&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://html.spec.whatwg.org/multipage/embedded-content.html#image-map] Image maps are an HTML technology that allows treating arbitrary areas in an image as separate hyperlinks. The goal of this project is to implement this missing feature on [https://en.wikipedia.org/wiki/Servo_(layout_engine) Servo].&amp;lt;ref&amp;gt;https://github.com/servo/servo/wiki/Image-maps-project&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
===Servo===&lt;br /&gt;
&lt;br /&gt;
Servo &amp;lt;ref&amp;gt; https://github.com/servo/servo &amp;lt;/ref&amp;gt; is a web browser layout engine written in [https://github.com/rust-lang/rust Rust]&amp;lt;ref&amp;gt;https://github.com/rust-lang/rust&amp;lt;/ref&amp;gt; and is currently being developed by [https://en.wikipedia.org/wiki/Mozilla Mozilla Research]. The aim of the project is to create a highly parallel environment which allows several components to be handled by fine-grained, isolated tasks.&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Servo_(layout_engine)&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Servo is built on top of Rust to provide a secure and reliable foundation and is focused on creating a reliable and fast browser engine.&lt;br /&gt;
&lt;br /&gt;
===Rust===&lt;br /&gt;
&lt;br /&gt;
[https://en.wikipedia.org/wiki/Rust_(programming_language) Rust] is a multi-paradigm, compiled programming language suited to create highly concurrent and highly safe systems. Rust is a modern, fast, memory-safe and multi-threaded programming language focusing on speed and safety to develop reliable and efficient systems. &amp;lt;ref&amp;gt; http://doc.rust-lang.org/nightly/book/README.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Image Maps===&lt;br /&gt;
&amp;quot;In HTML and XHTML, an [https://en.wikipedia.org/wiki/Image_map Image map] is a list of coordinates relating to a specific image, created in order to hyperlink areas of the image to different destinations (as opposed to a normal image link, in which the entire area of the image links to a single destination). Servo currently doesn't support image maps.&lt;br /&gt;
&lt;br /&gt;
==Project Scope==&lt;br /&gt;
&lt;br /&gt;
[http://wiki.expertiza.ncsu.edu/index.php/CSC/ECE_517_Fall_2016/M1652_Implement_ImageMap_Support_Servo Initial Steps]&lt;br /&gt;
*Compile Servo and ensure that it runs on tests/html/about-mozilla.html&lt;br /&gt;
*An Area enum was defined in htmlareaelement.rs to handle rectangles, circles, and polygons (ie. coordinate representations)&lt;br /&gt;
*Implement constructors for each variant that accept a string argument, parse them into appropriate coordinates, and return an appropriate Area instance&lt;br /&gt;
*Implement a hit_test method on Area that accepts a Point2D&amp;lt;f32&amp;gt; argument and returns true if the point is within the area's coordinates (return false for all polygonal areas)&lt;br /&gt;
*Write tests for the Area constructors and hit tests (add a new htmlareaelement.rs to tests/unit/script/ and run ./mach test-unit -p script)&lt;br /&gt;
*Add a method to HTMLAreaElement that returns an Area value derived from that element's attributes&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
[[File:Servo_011.png]]&lt;br /&gt;
&lt;br /&gt;
Subsequent steps:&lt;br /&gt;
*Implement an areas method to HTMLImageElement that returns a vector of Root&amp;lt;HTMLAreaElement&amp;gt; values&lt;br /&gt;
*Implement a method to handle activation behavior on HTMLAreaElement&lt;br /&gt;
*Implement a handle_event method for HTMLImageElement to handle click events&lt;br /&gt;
&lt;br /&gt;
==Implementation Flowchart==&lt;br /&gt;
&lt;br /&gt;
==Design Pattern==&lt;br /&gt;
&lt;br /&gt;
Design patterns are not applicable as our task involved implementing methods in a predefined object, namely HTMLAreaElement.&lt;br /&gt;
&lt;br /&gt;
== Testing ==&lt;br /&gt;
&lt;br /&gt;
Test cases were implemented for testing the Area enum and the hit test functionality. Following are the steps to run all the tests:&lt;br /&gt;
&lt;br /&gt;
# Install the pre-requisites required for servo as mentioned [https://github.com/servo/servo/blob/master/README.md here] &lt;br /&gt;
# Run the following commands to clone the repository and run the tests&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 git clone https://github.com/shravan-achar/servo.git&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 cd servo&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 git checkout master&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To run the test cases&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 ./mach test-unit -p script&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The above command will download and compile the dependencies and the test cases. You will see that all tests pass as expected (Testcases are prefixed by HTMLAreaElement)&lt;br /&gt;
&lt;br /&gt;
=== Testing From UI ===&lt;br /&gt;
&lt;br /&gt;
The project after completion should be testable from the UI by handling clickable activities on this test [https://samuknet.github.io/test_cases/imageMap/ link]. The link has to be invoked from the compiled exe; the command for which is given below:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
./mach build --debug&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
./mach run https://samuknet.github.io/test_cases/imageMap/&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sspatil4</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016&amp;diff=106732</id>
		<title>CSC/ECE 517 Fall 2016</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016&amp;diff=106732"/>
		<updated>2016-12-11T01:39:11Z</updated>

		<summary type="html">&lt;p&gt;Sspatil4: /* Writing Assignments 2 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[http://www.example.com link title]==Calibration Assignment Submissions==&lt;br /&gt;
*[[Calibration Assignment Submission (Firebrick JS)]]&lt;br /&gt;
*[[Calibration Assignment Submission (Active Job)]]&lt;br /&gt;
==Writing Assignments 2==&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1666. Test team functionality]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1643. Refactor Suggestion controller]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1631. Refactoring Bidding Interface]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1674.Refactor leaderboard.rb and write unit tests]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1671. Unit Tests for participants.rb Hierarchy]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1668.Test e-mailing functionality]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1658. Refractor lottery_controller.rb and write integration tests]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1660. Review requirements and thresholds]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1650. Sort instructor views alphabetically by default]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1644. Refactor and test Teams Controller]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1645. Refactoring Tree Display Controller]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1659. Refactor on_the_fly_calc.rb]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1657. Introduce a Student View for instructors]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1653. Fix and improve rubric criteria]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1642. Refactor review_response_map.rb]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1633. Refactor different question types from quiz feature]]&lt;br /&gt;
*[[CSC/ECE_517_Fall_2016/E1664:_Feature_Test_Assignment_Creation]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1666. Test team functionality]]&lt;br /&gt;
*[[CSC/ECE_517_Fall_2016/E1654. Improve_date-picker_and_deadlines]]&lt;br /&gt;
*[[CSC/ECE_517_Fall_2016/E1652 Fix teammate advertisements and requests to join a team ]]&lt;br /&gt;
*[[CSC/ECE_517_Fall_2016/E1662. UI issues/fixes]]&lt;br /&gt;
*[[CSC/ECE_517_Fall_2016/E1673. Refactor question_type.rb]]&lt;br /&gt;
*[[CSC/ECE_517_Fall_2016/E1675. Timestamp for student file &amp;amp; hyperlink submissions]]&lt;br /&gt;
*[[CSC/ECE_517_Fall_2016/E1640. Refactor response.rb and response_helper.rb]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1634. Refactor and write unit test of due_date.rb and deadline_helper.rb]]&lt;br /&gt;
*[[CSC/ECE_517_Fall_2016/M1654._Improve_network_security_features]]&lt;br /&gt;
*[[CSC/ECE_517_Fall_2016/E1670._Unit_tests_for_answers.rb]]&lt;br /&gt;
*[[CSC/ECE_517_Fall_2016/E1641. Refactor review_mapping_controller.rb]]&lt;br /&gt;
*[[CSC/ECE_517_Fall_2016/M1652_Implement_ImageMap_Support_Servo | CSC/ECE 517 Fall 2016/M1652 Implement image maps support Servo ]]&lt;br /&gt;
*[[CSC/ECE_517_Fall_2016/E1648/Add_past_due_assignment]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1656. Improve imports]]&lt;br /&gt;
*[[CSC/ECE_517_Fall_2016/M1653_Implement_HTML_form_validation]]&lt;br /&gt;
*[[CSC/ECE_517_Fall_2016/E1635._Refactor_join_team_requests_controller.rb_and_invitation_controller.rb]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1665. Test staggered-deadline functionality]]&lt;br /&gt;
&lt;br /&gt;
==Final Project Design Document==&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016 E1696  Improve Self-Review]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016 E1702  Lightweight badging system based on Credly]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016 E1676  Role-based reviewing]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1680. Improve survey functionality]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1693. Drag-and-drop interface for creating rubrics]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1701. Accelerate RSpec testing]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016 E1679 Let experts as well as students do reviews]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1705. Tracking the time students look at the others' submissions]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1688. Send feedback to support + tree display improvement]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016 E1707: Top trading cycles to exclude previous teammates]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016 E1678: Review configuration options]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016 E1682: Improve score calculation]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016 E1684: Feature Test for Assignment Submission]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016 E1689: Anonymous Chat Between Author and Reviewer]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016 E1703: Logging for Expertiza]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016 E1708: Improvements to staggered-deadline assignments]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016 E1685: UI changes for review and score reports]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/ M1653 Implement HTML form validation]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/ E1700 Integrate Google doc editor/viewer]]&lt;br /&gt;
*[[CSC/ECE_517_Fall_2016/M1652_ImageMap_Support_Servo | CSC/ECE 517 Fall 2016/M1652 Implement image maps support]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016 E1687 Instructor account creation over the web]]&lt;br /&gt;
*[[CSC/ECE_517_Fall_2016/E1690_Improvements_to_password_recovery_and_repeated_login_failures | CSC/ECE 517 Fall 2016/E1690 Improvements to password recovery and repeated login failures]]&lt;/div&gt;</summary>
		<author><name>Sspatil4</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016&amp;diff=106731</id>
		<title>CSC/ECE 517 Fall 2016</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016&amp;diff=106731"/>
		<updated>2016-12-11T01:38:07Z</updated>

		<summary type="html">&lt;p&gt;Sspatil4: /* Final Project Design Document */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[http://www.example.com link title]==Calibration Assignment Submissions==&lt;br /&gt;
*[[Calibration Assignment Submission (Firebrick JS)]]&lt;br /&gt;
*[[Calibration Assignment Submission (Active Job)]]&lt;br /&gt;
==Writing Assignments 2==&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1666. Test team functionality]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1643. Refactor Suggestion controller]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1631. Refactoring Bidding Interface]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1674.Refactor leaderboard.rb and write unit tests]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1671. Unit Tests for participants.rb Hierarchy]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1668.Test e-mailing functionality]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1658. Refractor lottery_controller.rb and write integration tests]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1660. Review requirements and thresholds]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1650. Sort instructor views alphabetically by default]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1644. Refactor and test Teams Controller]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1645. Refactoring Tree Display Controller]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1659. Refactor on_the_fly_calc.rb]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1657. Introduce a Student View for instructors]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1653. Fix and improve rubric criteria]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1642. Refactor review_response_map.rb]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1633. Refactor different question types from quiz feature]]&lt;br /&gt;
*[[CSC/ECE_517_Fall_2016/E1664:_Feature_Test_Assignment_Creation]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1666. Test team functionality]]&lt;br /&gt;
*[[CSC/ECE_517_Fall_2016/E1654. Improve_date-picker_and_deadlines]]&lt;br /&gt;
*[[CSC/ECE_517_Fall_2016/E1652 Fix teammate advertisements and requests to join a team ]]&lt;br /&gt;
*[[CSC/ECE_517_Fall_2016/E1662. UI issues/fixes]]&lt;br /&gt;
*[[CSC/ECE_517_Fall_2016/E1673. Refactor question_type.rb]]&lt;br /&gt;
*[[CSC/ECE_517_Fall_2016/E1675. Timestamp for student file &amp;amp; hyperlink submissions]]&lt;br /&gt;
*[[CSC/ECE_517_Fall_2016/E1640. Refactor response.rb and response_helper.rb]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1634. Refactor and write unit test of due_date.rb and deadline_helper.rb]]&lt;br /&gt;
*[[CSC/ECE_517_Fall_2016/M1654._Improve_network_security_features]]&lt;br /&gt;
*[[CSC/ECE_517_Fall_2016/E1670._Unit_tests_for_answers.rb]]&lt;br /&gt;
*[[CSC/ECE_517_Fall_2016/E1641. Refactor review_mapping_controller.rb]]&lt;br /&gt;
*[[CSC/ECE_517_Fall_2016/M1652_Implement_ImageMap_Support_Servo]]&lt;br /&gt;
*[[CSC/ECE_517_Fall_2016/E1648/Add_past_due_assignment]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1656. Improve imports]]&lt;br /&gt;
*[[CSC/ECE_517_Fall_2016/M1653_Implement_HTML_form_validation]]&lt;br /&gt;
*[[CSC/ECE_517_Fall_2016/E1635._Refactor_join_team_requests_controller.rb_and_invitation_controller.rb]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1665. Test staggered-deadline functionality]]&lt;br /&gt;
&lt;br /&gt;
==Final Project Design Document==&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016 E1696  Improve Self-Review]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016 E1702  Lightweight badging system based on Credly]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016 E1676  Role-based reviewing]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1680. Improve survey functionality]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1693. Drag-and-drop interface for creating rubrics]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1701. Accelerate RSpec testing]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016 E1679 Let experts as well as students do reviews]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1705. Tracking the time students look at the others' submissions]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1688. Send feedback to support + tree display improvement]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016 E1707: Top trading cycles to exclude previous teammates]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016 E1678: Review configuration options]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016 E1682: Improve score calculation]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016 E1684: Feature Test for Assignment Submission]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016 E1689: Anonymous Chat Between Author and Reviewer]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016 E1703: Logging for Expertiza]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016 E1708: Improvements to staggered-deadline assignments]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016 E1685: UI changes for review and score reports]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/ M1653 Implement HTML form validation]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/ E1700 Integrate Google doc editor/viewer]]&lt;br /&gt;
*[[CSC/ECE_517_Fall_2016/M1652_ImageMap_Support_Servo | CSC/ECE 517 Fall 2016/M1652 Implement image maps support]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016 E1687 Instructor account creation over the web]]&lt;br /&gt;
*[[CSC/ECE_517_Fall_2016/E1690_Improvements_to_password_recovery_and_repeated_login_failures | CSC/ECE 517 Fall 2016/E1690 Improvements to password recovery and repeated login failures]]&lt;/div&gt;</summary>
		<author><name>Sspatil4</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016&amp;diff=106730</id>
		<title>CSC/ECE 517 Fall 2016</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016&amp;diff=106730"/>
		<updated>2016-12-11T01:37:42Z</updated>

		<summary type="html">&lt;p&gt;Sspatil4: /* Final Project Design Document */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[http://www.example.com link title]==Calibration Assignment Submissions==&lt;br /&gt;
*[[Calibration Assignment Submission (Firebrick JS)]]&lt;br /&gt;
*[[Calibration Assignment Submission (Active Job)]]&lt;br /&gt;
==Writing Assignments 2==&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1666. Test team functionality]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1643. Refactor Suggestion controller]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1631. Refactoring Bidding Interface]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1674.Refactor leaderboard.rb and write unit tests]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1671. Unit Tests for participants.rb Hierarchy]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1668.Test e-mailing functionality]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1658. Refractor lottery_controller.rb and write integration tests]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1660. Review requirements and thresholds]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1650. Sort instructor views alphabetically by default]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1644. Refactor and test Teams Controller]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1645. Refactoring Tree Display Controller]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1659. Refactor on_the_fly_calc.rb]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1657. Introduce a Student View for instructors]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1653. Fix and improve rubric criteria]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1642. Refactor review_response_map.rb]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1633. Refactor different question types from quiz feature]]&lt;br /&gt;
*[[CSC/ECE_517_Fall_2016/E1664:_Feature_Test_Assignment_Creation]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1666. Test team functionality]]&lt;br /&gt;
*[[CSC/ECE_517_Fall_2016/E1654. Improve_date-picker_and_deadlines]]&lt;br /&gt;
*[[CSC/ECE_517_Fall_2016/E1652 Fix teammate advertisements and requests to join a team ]]&lt;br /&gt;
*[[CSC/ECE_517_Fall_2016/E1662. UI issues/fixes]]&lt;br /&gt;
*[[CSC/ECE_517_Fall_2016/E1673. Refactor question_type.rb]]&lt;br /&gt;
*[[CSC/ECE_517_Fall_2016/E1675. Timestamp for student file &amp;amp; hyperlink submissions]]&lt;br /&gt;
*[[CSC/ECE_517_Fall_2016/E1640. Refactor response.rb and response_helper.rb]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1634. Refactor and write unit test of due_date.rb and deadline_helper.rb]]&lt;br /&gt;
*[[CSC/ECE_517_Fall_2016/M1654._Improve_network_security_features]]&lt;br /&gt;
*[[CSC/ECE_517_Fall_2016/E1670._Unit_tests_for_answers.rb]]&lt;br /&gt;
*[[CSC/ECE_517_Fall_2016/E1641. Refactor review_mapping_controller.rb]]&lt;br /&gt;
*[[CSC/ECE_517_Fall_2016/M1652_Implement_ImageMap_Support_Servo]]&lt;br /&gt;
*[[CSC/ECE_517_Fall_2016/E1648/Add_past_due_assignment]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1656. Improve imports]]&lt;br /&gt;
*[[CSC/ECE_517_Fall_2016/M1653_Implement_HTML_form_validation]]&lt;br /&gt;
*[[CSC/ECE_517_Fall_2016/E1635._Refactor_join_team_requests_controller.rb_and_invitation_controller.rb]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1665. Test staggered-deadline functionality]]&lt;br /&gt;
&lt;br /&gt;
==Final Project Design Document==&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016 E1696  Improve Self-Review]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016 E1702  Lightweight badging system based on Credly]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016 E1676  Role-based reviewing]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1680. Improve survey functionality]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1693. Drag-and-drop interface for creating rubrics]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1701. Accelerate RSpec testing]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016 E1679 Let experts as well as students do reviews]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1705. Tracking the time students look at the others' submissions]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1688. Send feedback to support + tree display improvement]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016 E1707: Top trading cycles to exclude previous teammates]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016 E1678: Review configuration options]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016 E1682: Improve score calculation]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016 E1684: Feature Test for Assignment Submission]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016 E1689: Anonymous Chat Between Author and Reviewer]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016 E1703: Logging for Expertiza]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016 E1708: Improvements to staggered-deadline assignments]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016 E1685: UI changes for review and score reports]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/ M1653 Implement HTML form validation]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/ E1700 Integrate Google doc editor/viewer]]&lt;br /&gt;
*[[CSC/ECE_517_Fall_2016/M1652_ImageMap_Support_Servo | CSC/ECE 517 Fall 2016/M1652 Implement Image maps support]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016 E1687 Instructor account creation over the web]]&lt;br /&gt;
*[[CSC/ECE_517_Fall_2016/E1690_Improvements_to_password_recovery_and_repeated_login_failures | CSC/ECE 517 Fall 2016/E1690 Improvements to password recovery and repeated login failures]]&lt;/div&gt;</summary>
		<author><name>Sspatil4</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016&amp;diff=106729</id>
		<title>CSC/ECE 517 Fall 2016</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016&amp;diff=106729"/>
		<updated>2016-12-11T01:36:24Z</updated>

		<summary type="html">&lt;p&gt;Sspatil4: /* Final Project Design Document */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[http://www.example.com link title]==Calibration Assignment Submissions==&lt;br /&gt;
*[[Calibration Assignment Submission (Firebrick JS)]]&lt;br /&gt;
*[[Calibration Assignment Submission (Active Job)]]&lt;br /&gt;
==Writing Assignments 2==&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1666. Test team functionality]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1643. Refactor Suggestion controller]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1631. Refactoring Bidding Interface]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1674.Refactor leaderboard.rb and write unit tests]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1671. Unit Tests for participants.rb Hierarchy]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1668.Test e-mailing functionality]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1658. Refractor lottery_controller.rb and write integration tests]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1660. Review requirements and thresholds]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1650. Sort instructor views alphabetically by default]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1644. Refactor and test Teams Controller]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1645. Refactoring Tree Display Controller]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1659. Refactor on_the_fly_calc.rb]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1657. Introduce a Student View for instructors]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1653. Fix and improve rubric criteria]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1642. Refactor review_response_map.rb]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1633. Refactor different question types from quiz feature]]&lt;br /&gt;
*[[CSC/ECE_517_Fall_2016/E1664:_Feature_Test_Assignment_Creation]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1666. Test team functionality]]&lt;br /&gt;
*[[CSC/ECE_517_Fall_2016/E1654. Improve_date-picker_and_deadlines]]&lt;br /&gt;
*[[CSC/ECE_517_Fall_2016/E1652 Fix teammate advertisements and requests to join a team ]]&lt;br /&gt;
*[[CSC/ECE_517_Fall_2016/E1662. UI issues/fixes]]&lt;br /&gt;
*[[CSC/ECE_517_Fall_2016/E1673. Refactor question_type.rb]]&lt;br /&gt;
*[[CSC/ECE_517_Fall_2016/E1675. Timestamp for student file &amp;amp; hyperlink submissions]]&lt;br /&gt;
*[[CSC/ECE_517_Fall_2016/E1640. Refactor response.rb and response_helper.rb]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1634. Refactor and write unit test of due_date.rb and deadline_helper.rb]]&lt;br /&gt;
*[[CSC/ECE_517_Fall_2016/M1654._Improve_network_security_features]]&lt;br /&gt;
*[[CSC/ECE_517_Fall_2016/E1670._Unit_tests_for_answers.rb]]&lt;br /&gt;
*[[CSC/ECE_517_Fall_2016/E1641. Refactor review_mapping_controller.rb]]&lt;br /&gt;
*[[CSC/ECE_517_Fall_2016/M1652_Implement_ImageMap_Support_Servo]]&lt;br /&gt;
*[[CSC/ECE_517_Fall_2016/E1648/Add_past_due_assignment]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1656. Improve imports]]&lt;br /&gt;
*[[CSC/ECE_517_Fall_2016/M1653_Implement_HTML_form_validation]]&lt;br /&gt;
*[[CSC/ECE_517_Fall_2016/E1635._Refactor_join_team_requests_controller.rb_and_invitation_controller.rb]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1665. Test staggered-deadline functionality]]&lt;br /&gt;
&lt;br /&gt;
==Final Project Design Document==&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016 E1696  Improve Self-Review]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016 E1702  Lightweight badging system based on Credly]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016 E1676  Role-based reviewing]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1680. Improve survey functionality]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1693. Drag-and-drop interface for creating rubrics]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1701. Accelerate RSpec testing]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016 E1679 Let experts as well as students do reviews]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1705. Tracking the time students look at the others' submissions]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1688. Send feedback to support + tree display improvement]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016 E1707: Top trading cycles to exclude previous teammates]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016 E1678: Review configuration options]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016 E1682: Improve score calculation]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016 E1684: Feature Test for Assignment Submission]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016 E1689: Anonymous Chat Between Author and Reviewer]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016 E1703: Logging for Expertiza]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016 E1708: Improvements to staggered-deadline assignments]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016 E1685: UI changes for review and score reports]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/ M1653 Implement HTML form validation]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/ E1700 Integrate Google doc editor/viewer]]&lt;br /&gt;
*[[CSC/ECE_517_Fall_2016/M1652_ImageMap_Support_Servo | CSC/ECE 517 Fall 2016/M1652 ImageMap Support Servo]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016 E1687 Instructor account creation over the web]]&lt;br /&gt;
*[[CSC/ECE_517_Fall_2016/E1690_Improvements_to_password_recovery_and_repeated_login_failures | CSC/ECE 517 Fall 2016/E1690 Improvements to password recovery and repeated login failures]]&lt;/div&gt;</summary>
		<author><name>Sspatil4</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016/M1652_Implement_ImageMap_Support_Servo&amp;diff=106216</id>
		<title>CSC/ECE 517 Fall 2016/M1652 Implement ImageMap Support Servo</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016/M1652_Implement_ImageMap_Support_Servo&amp;diff=106216"/>
		<updated>2016-12-03T00:40:11Z</updated>

		<summary type="html">&lt;p&gt;Sspatil4: /* Image Maps */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;font size=&amp;quot;5&amp;quot;&amp;gt;M1652: Implement HTML Image Map support for Servo&amp;lt;/font&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://html.spec.whatwg.org/multipage/embedded-content.html#image-map] Image maps are an HTML technology that allows treating arbitrary areas in an image as separate hyperlinks. The goal of this project is to implement this missing feature on [https://en.wikipedia.org/wiki/Servo_(layout_engine) Servo].&amp;lt;ref&amp;gt;https://github.com/servo/servo/wiki/Image-maps-project&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
===Servo===&lt;br /&gt;
&lt;br /&gt;
Servo &amp;lt;ref&amp;gt; https://github.com/servo/servo &amp;lt;/ref&amp;gt; is a web browser layout engine written in [https://github.com/rust-lang/rust Rust]&amp;lt;ref&amp;gt;https://github.com/rust-lang/rust&amp;lt;/ref&amp;gt; and is currently being developed by [https://en.wikipedia.org/wiki/Mozilla Mozilla Research]. The aim of the project is to create a highly parallel environment which allows several components to be handled by fine-grained, isolated tasks.&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Servo_(layout_engine)&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Servo is built on top of Rust to provide a secure and reliable foundation and is focused on creating a reliable and fast browser engine.&lt;br /&gt;
&lt;br /&gt;
===Rust===&lt;br /&gt;
&lt;br /&gt;
[https://en.wikipedia.org/wiki/Rust_(programming_language) Rust] is a multi-paradigm, compiled programming language suited to create highly concurrent and highly safe systems. Rust has been developed with an emphasis on safety, control of memory layout, and concurrency. It is a modern, fast, memory-safe and multi-threaded programming language focusing on speed and safety to develop reliable and efficient systems. It eliminates all data races by having numerous compile-time safety checks that adds no runtime overhead.&amp;lt;ref&amp;gt; http://doc.rust-lang.org/nightly/book/README.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Image Maps===&lt;br /&gt;
In HTML and XHTML, an [https://en.wikipedia.org/wiki/Image_map Image map] is a list of coordinates relating to a specific image, created in order to hyperlink areas of the image to different destinations (as opposed to a normal image link, in which the entire area of the image links to a single destination). Servo currently doesn't support Image maps at the moment.&lt;br /&gt;
&lt;br /&gt;
==Scope==&lt;br /&gt;
The scope of the project was to complete the initial steps mentioned [https://github.com/servo/servo/wiki/Image-maps-project here].&lt;br /&gt;
&lt;br /&gt;
The steps are as follows:&lt;br /&gt;
*Compile Servo and ensure that it runs on tests/html/about-mozilla.html&lt;br /&gt;
*Define an Area enum in htmlareaelement.rs that supports rectangles, circles, and polygons (ie. coordinate representations)&lt;br /&gt;
*Implement constructors for each variant that accept a string argument, parse them into appropriate coordinates, and return an appropriate Area instance&lt;br /&gt;
*Implement a hit_test method on Area that accepts a Point2D&amp;lt;f32&amp;gt; argument and returns true if the point is within the area's coordinates (return false for all polygonal areas)&lt;br /&gt;
*Write tests for the Area constructors and hit tests (add a new htmlareaelement.rs to tests/unit/script/ and run ./mach test-unit -p script)&lt;br /&gt;
*Add a method to HTMLAreaElement that returns an Area value derived from that element's attributes&lt;br /&gt;
&lt;br /&gt;
The subsequent steps mentioned [https://github.com/servo/servo/wiki/Image-maps-project here] are the agenda for the final project.&lt;br /&gt;
&lt;br /&gt;
==Design Pattern==&lt;br /&gt;
&lt;br /&gt;
Design patterns are not applicable as our task involved implementing methods in a predefined object, namely HTMLAreaElement.&lt;br /&gt;
&lt;br /&gt;
==Implementation==&lt;br /&gt;
&lt;br /&gt;
The following steps were followed to meet the project requirements: [https://github.com/servo/servo/wiki/Image-maps-project].&lt;br /&gt;
&lt;br /&gt;
===Step 1===&lt;br /&gt;
&lt;br /&gt;
In order to enable image maps support, an Area enum needed to be defined in &amp;quot;htmlareaelement.rs&amp;quot; to support shapes such as rectangles, circles, and polygons by mapping its coordinate representations.&lt;br /&gt;
&lt;br /&gt;
[[File:Servo_1.png]]&lt;br /&gt;
&lt;br /&gt;
===Step 2===&lt;br /&gt;
&lt;br /&gt;
Constructors were implemented for each variant that accept a string argument, [https://html.spec.whatwg.org/multipage/infrastructure.html#rules-for-parsing-a-list-of-floating-point-numbers parse them into appropriate coordinates], and return an appropriate Area instance. Different combinations of coordinates were analysed to specifically assess objects based on the input string.&lt;br /&gt;
&lt;br /&gt;
[[File:Servo_002.png]]&amp;lt;br /&amp;gt;&lt;br /&gt;
[[File:Servo_004.png]]&amp;lt;br /&amp;gt;&lt;br /&gt;
[[File:Servo_005.png]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Step 3===&lt;br /&gt;
&lt;br /&gt;
A hit_test method was implemented for the Area enum that would accept a Point2D&amp;lt;f32&amp;gt; argument and return true if the point is within the area's coordinates specifically for circle and rectangle and else return false for all polygonal areas.&lt;br /&gt;
[[File:Servo_006.png]]&lt;br /&gt;
&lt;br /&gt;
===Step 4===&lt;br /&gt;
&lt;br /&gt;
A method, getshapefromcoords, was added to HTMLAreaElement that returns an Area value derived from that element's attributes.&lt;br /&gt;
[[File:Servo_007.png]]&lt;br /&gt;
&lt;br /&gt;
== Testing ==&lt;br /&gt;
&lt;br /&gt;
Test cases were implemented for testing the Area enum and the hit test functionality. Following are the steps to run all the tests:&lt;br /&gt;
&lt;br /&gt;
# Install the pre-requisites required for servo as mentioned [https://github.com/servo/servo/blob/master/README.md here] &lt;br /&gt;
# Run the following commands to clone the repository and run the tests&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 git clone https://github.com/shravan-achar/servo.git&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 cd servo&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 git checkout master&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To run the test cases&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 ./mach test-unit -p script&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The above command will download and compile the dependencies and the test cases. You will see that all tests pass as expected (Testcases are prefixed by HTMLAreaElement)&lt;br /&gt;
&lt;br /&gt;
The unit tests and test-tidy results can be seen in this [https://github.com/servo/servo/pull/13972 pull request].&lt;br /&gt;
&lt;br /&gt;
=== Testing From UI ===&lt;br /&gt;
&lt;br /&gt;
At this stage, the project cannot be tested from the UI since the complete code has not been developed for image map support. However a check can be done as a test page is run successfully on servo after performing the build as mentioned above.&lt;br /&gt;
&lt;br /&gt;
Run the following command after the project is built: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 ./mach run tests/html/about-mozilla.html&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Pull Request==&lt;br /&gt;
Here is our [https://github.com/servo/servo/pull/13972 pull request]. The link shows the code snippets that have been modified along with integration test progression.&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sspatil4</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016/M1652_Implement_ImageMap_Support_Servo&amp;diff=105249</id>
		<title>CSC/ECE 517 Fall 2016/M1652 Implement ImageMap Support Servo</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016/M1652_Implement_ImageMap_Support_Servo&amp;diff=105249"/>
		<updated>2016-11-10T03:10:54Z</updated>

		<summary type="html">&lt;p&gt;Sspatil4: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;font size=&amp;quot;5&amp;quot;&amp;gt;M1652: Implement HTML Image Map support for Servo&amp;lt;/font&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://html.spec.whatwg.org/multipage/embedded-content.html#image-map] Image maps are an HTML technology that allows treating arbitrary areas in an image as separate hyperlinks. The goal of this project is to implement this missing feature on [https://en.wikipedia.org/wiki/Servo_(layout_engine) Servo].&amp;lt;ref&amp;gt;https://github.com/servo/servo/wiki/Image-maps-project&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
===Servo===&lt;br /&gt;
&lt;br /&gt;
Servo &amp;lt;ref&amp;gt; https://github.com/servo/servo &amp;lt;/ref&amp;gt; is a web browser layout engine written in [https://github.com/rust-lang/rust Rust]&amp;lt;ref&amp;gt;https://github.com/rust-lang/rust&amp;lt;/ref&amp;gt; and is currently being developed by [https://en.wikipedia.org/wiki/Mozilla Mozilla Research]. The aim of the project is to create a highly parallel environment which allows several components to be handled by fine-grained, isolated tasks.&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Servo_(layout_engine)&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Servo is built on top of Rust to provide a secure and reliable foundation and is focused on creating a reliable and fast browser engine.&lt;br /&gt;
&lt;br /&gt;
===Rust===&lt;br /&gt;
&lt;br /&gt;
[https://en.wikipedia.org/wiki/Rust_(programming_language) Rust] is a multi-paradigm, compiled programming language suited to create highly concurrent and highly safe systems. Rust has been developed with an emphasis on safety, control of memory layout, and concurrency. It is a modern, fast, memory-safe and multi-threaded programming language focusing on speed and safety to develop reliable and efficient systems. It eliminates all data races by having numerous compile-time safety checks that adds no runtime overhead.&amp;lt;ref&amp;gt; http://doc.rust-lang.org/nightly/book/README.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Image Maps===&lt;br /&gt;
&amp;quot;In HTML and XHTML, an [https://en.wikipedia.org/wiki/Image_map Image map] is a list of coordinates relating to a specific image, created in order to hyperlink areas of the image to different destinations (as opposed to a normal image link, in which the entire area of the image links to a single destination). Servo currently doesn't support Image maps at the moment.&lt;br /&gt;
&lt;br /&gt;
==Scope==&lt;br /&gt;
The scope of the project was to complete the initial steps mentioned [https://github.com/servo/servo/wiki/Image-maps-project here].&lt;br /&gt;
&lt;br /&gt;
The steps are as follows:&lt;br /&gt;
*Compile Servo and ensure that it runs on tests/html/about-mozilla.html&lt;br /&gt;
*Define an Area enum in htmlareaelement.rs that supports rectangles, circles, and polygons (ie. coordinate representations)&lt;br /&gt;
*Implement constructors for each variant that accept a string argument, parse them into appropriate coordinates, and return an appropriate Area instance&lt;br /&gt;
*Implement a hit_test method on Area that accepts a Point2D&amp;lt;f32&amp;gt; argument and returns true if the point is within the area's coordinates (return false for all polygonal areas)&lt;br /&gt;
*Write tests for the Area constructors and hit tests (add a new htmlareaelement.rs to tests/unit/script/ and run ./mach test-unit -p script)&lt;br /&gt;
*Add a method to HTMLAreaElement that returns an Area value derived from that element's attributes&lt;br /&gt;
&lt;br /&gt;
The subsequent steps mentioned [https://github.com/servo/servo/wiki/Image-maps-project here] are the agenda for the final project.&lt;br /&gt;
&lt;br /&gt;
==Design Pattern==&lt;br /&gt;
&lt;br /&gt;
Design patterns are not applicable as our task involved implementing methods in a predefined object, namely HTMLAreaElement.&lt;br /&gt;
&lt;br /&gt;
==Implementation==&lt;br /&gt;
&lt;br /&gt;
The following steps were followed to meet the project requirements: [https://github.com/servo/servo/wiki/Image-maps-project].&lt;br /&gt;
&lt;br /&gt;
===Step 1===&lt;br /&gt;
&lt;br /&gt;
In order to enable image maps support, an Area enum needed to be defined in &amp;quot;htmlareaelement.rs&amp;quot; to support shapes such as rectangles, circles, and polygons by mapping its coordinate representations.&lt;br /&gt;
&lt;br /&gt;
[[File:Servo_1.png]]&lt;br /&gt;
&lt;br /&gt;
===Step 2===&lt;br /&gt;
&lt;br /&gt;
Constructors were implemented for each variant that accept a string argument, [https://html.spec.whatwg.org/multipage/infrastructure.html#rules-for-parsing-a-list-of-floating-point-numbers parse them into appropriate coordinates], and return an appropriate Area instance. Different combinations of coordinates were analysed to specifically assess objects based on the input string.&lt;br /&gt;
&lt;br /&gt;
[[File:Servo_002.png]]&amp;lt;br /&amp;gt;&lt;br /&gt;
[[File:Servo_004.png]]&amp;lt;br /&amp;gt;&lt;br /&gt;
[[File:Servo_005.png]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Step 3===&lt;br /&gt;
&lt;br /&gt;
A hit_test method was implemented for the Area enum that would accept a Point2D&amp;lt;f32&amp;gt; argument and return true if the point is within the area's coordinates specifically for circle and rectangle and else return false for all polygonal areas.&lt;br /&gt;
[[File:Servo_006.png]]&lt;br /&gt;
&lt;br /&gt;
===Step 4===&lt;br /&gt;
&lt;br /&gt;
A method, getshapefromcoords, was added to HTMLAreaElement that returns an Area value derived from that element's attributes.&lt;br /&gt;
[[File:Servo_007.png]]&lt;br /&gt;
&lt;br /&gt;
== Testing ==&lt;br /&gt;
&lt;br /&gt;
Test cases were implemented for testing the Area enum and the hit test functionality. Following are the steps to run all the tests:&lt;br /&gt;
&lt;br /&gt;
# Install the pre-requisites required for servo as mentioned [https://github.com/servo/servo/blob/master/README.md here] &lt;br /&gt;
# Run the following commands to clone the repository and run the tests&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 git clone https://github.com/shravan-achar/servo.git&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 cd servo&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 git checkout master&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To run the test cases&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 ./mach test-unit -p script&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The above command will download and compile the dependencies and the test cases. You will see that all tests pass as expected (Testcases are prefixed by HTMLAreaElement)&lt;br /&gt;
&lt;br /&gt;
The unit tests and test-tidy results can be seen in this [https://github.com/servo/servo/pull/13972 pull request].&lt;br /&gt;
&lt;br /&gt;
=== Testing From UI ===&lt;br /&gt;
&lt;br /&gt;
At this stage, the project cannot be tested from the UI since the complete code has not been developed for image map support. However a check can be done as a test page is run successfully on servo after performing the build as mentioned above.&lt;br /&gt;
&lt;br /&gt;
Run the following command after the project is built: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 ./mach run tests/html/about-mozilla.html&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Pull Request==&lt;br /&gt;
Here is our [https://github.com/servo/servo/pull/13972 pull request]. The link shows the code snippets that have been modified along with integration test progression.&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sspatil4</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016/M1652_ImageMap_Support_Servo&amp;diff=105227</id>
		<title>CSC/ECE 517 Fall 2016/M1652 ImageMap Support Servo</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016/M1652_ImageMap_Support_Servo&amp;diff=105227"/>
		<updated>2016-11-10T02:52:29Z</updated>

		<summary type="html">&lt;p&gt;Sspatil4: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;font size=&amp;quot;5&amp;quot;&amp;gt;M1652: Image Map support for Servo&amp;lt;/font&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://html.spec.whatwg.org/multipage/embedded-content.html#image-map] Image maps are an HTML technology that allows treating arbitrary areas in an image as separate hyperlinks. The goal of this project is to implement this missing feature on [https://en.wikipedia.org/wiki/Servo_(layout_engine) Servo].&amp;lt;ref&amp;gt;https://github.com/servo/servo/wiki/Image-maps-project&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
===Servo===&lt;br /&gt;
&lt;br /&gt;
Servo &amp;lt;ref&amp;gt; https://github.com/servo/servo &amp;lt;/ref&amp;gt; is a web browser layout engine written in [https://github.com/rust-lang/rust Rust]&amp;lt;ref&amp;gt;https://github.com/rust-lang/rust&amp;lt;/ref&amp;gt; and is currently being developed by [https://en.wikipedia.org/wiki/Mozilla Mozilla Research]. The aim of the project is to create a highly parallel environment which allows several components to be handled by fine-grained, isolated tasks.&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Servo_(layout_engine)&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Servo is built on top of Rust to provide a secure and reliable foundation and is focused on creating a reliable and fast browser engine.&lt;br /&gt;
&lt;br /&gt;
===Rust===&lt;br /&gt;
&lt;br /&gt;
[https://en.wikipedia.org/wiki/Rust_(programming_language) Rust] is a multi-paradigm, compiled programming language suited to create highly concurrent and highly safe systems. Rust has been developed with an emphasis on safety, control of memory layout, and concurrency. It is a modern, fast, memory-safe and multi-threaded programming language focusing on speed and safety to develop reliable and efficient systems. It eliminates all data races by having numerous compile-time safety checks that adds no runtime overhead.&amp;lt;ref&amp;gt; http://doc.rust-lang.org/nightly/book/README.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Image Maps===&lt;br /&gt;
&amp;quot;In HTML and XHTML, an [https://en.wikipedia.org/wiki/Image_map Image map] is a list of coordinates relating to a specific image, created in order to hyperlink areas of the image to different destinations (as opposed to a normal image link, in which the entire area of the image links to a single destination). Servo currently doesn't support Image maps at the moment.&lt;br /&gt;
&lt;br /&gt;
==Scope==&lt;br /&gt;
The initial steps completed till now are mentioned [https://github.com/servo/servo/wiki/Image-maps-project here].&lt;br /&gt;
&lt;br /&gt;
*Compile Servo and ensure that it runs on tests/html/about-mozilla.html&lt;br /&gt;
*Define an Area enum in htmlareaelement.rs that supports rectangles, circles, and polygons (ie. coordinate representations)&lt;br /&gt;
*Implement constructors for each variant that accept a string argument, parse them into appropriate coordinates, and return an appropriate Area instance&lt;br /&gt;
*Implement a hit_test method on Area that accepts a Point2D&amp;lt;f32&amp;gt; argument and returns true if the point is within the area's coordinates (return false for all polygonal areas)&lt;br /&gt;
*Write tests for the Area constructors and hit tests (add a new htmlareaelement.rs to tests/unit/script/ and run ./mach test-unit -p script)&lt;br /&gt;
*Add a method to HTMLAreaElement that returns an Area value derived from that element's attributes&lt;br /&gt;
&lt;br /&gt;
[http://wiki.expertiza.ncsu.edu/index.php/CSC/ECE_517_Fall_2016/M1652_Implement_ImageMap_Support_Servo Link to OSS]&lt;br /&gt;
&lt;br /&gt;
The subsequent steps are the agenda for the final project:&lt;br /&gt;
*We plan to add a method areas to HTMLImageElement to handle processing of a usemap attribute. The map object is to be obtained consisting all the HTML elements pertaining to the image as defined in the specification. Given the usemap attribute, we aim to retrieve the HTMLMapElement by which we will retrieve HTMLAreaelements (Children elements)&lt;br /&gt;
&lt;br /&gt;
[[File:Servo 011.png]]&lt;br /&gt;
&lt;br /&gt;
We will implement a method for HTMLAreaElement to handle activation behavior as defined in the [https://dom.spec.whatwg.org/#eventtarget-activation-behavior specification]&lt;br /&gt;
&lt;br /&gt;
We will implement a method for HTMLImageElement to handle clickable events on the element. This method will use the list of HTMLAreaelements as obtained in the previous steps and the hit test method implemented in the initial steps.&lt;br /&gt;
&lt;br /&gt;
To implement a hit test method for Polygons (Extra Credit) we plan to implement the below algorithm:&lt;br /&gt;
&lt;br /&gt;
1) Draw a horizontal line to the right of each point and extend it to infinity&lt;br /&gt;
&lt;br /&gt;
2) Count the number of times the line intersects with polygon edges&lt;br /&gt;
&lt;br /&gt;
3) A point is inside the polygon if either count of intersections is odd or point lies on an edge of polygon. If none of the conditions is true, then point lies outside&lt;br /&gt;
&lt;br /&gt;
==Design Pattern==&lt;br /&gt;
&lt;br /&gt;
Design patterns are not applicable as our task involved implementing methods in a predefined object, namely HTMLAreaElement.&lt;br /&gt;
&lt;br /&gt;
== Testing ==&lt;br /&gt;
&lt;br /&gt;
Test cases were implemented for testing the Area enum and the hit test functionality. Following are the steps to run all the tests:&lt;br /&gt;
&lt;br /&gt;
# Install the pre-requisites required for servo as mentioned [https://github.com/servo/servo/blob/master/README.md here] &lt;br /&gt;
# Run the following commands to clone the repository and run the tests&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 git clone https://github.com/shravan-achar/servo.git&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 cd servo&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 git checkout master&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To run the test cases&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 ./mach test-unit -p script&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The above command will download and compile the dependencies and the test cases. You will see that all tests pass as expected (Testcases are prefixed by HTMLAreaElement)&lt;br /&gt;
&lt;br /&gt;
=== Testing From UI ===&lt;br /&gt;
&lt;br /&gt;
The project after completion should be testable from the UI by handling clickable activities on this test [https://samuknet.github.io/test_cases/imageMap/ link]. The link has to be invoked from the compiled exe; the command for which is given below:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
./mach build --debug&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
./mach run https://samuknet.github.io/test_cases/imageMap/&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sspatil4</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016/M1652_ImageMap_Support_Servo&amp;diff=105226</id>
		<title>CSC/ECE 517 Fall 2016/M1652 ImageMap Support Servo</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016/M1652_ImageMap_Support_Servo&amp;diff=105226"/>
		<updated>2016-11-10T02:51:17Z</updated>

		<summary type="html">&lt;p&gt;Sspatil4: /* Scope */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;font size=&amp;quot;5&amp;quot;&amp;gt;M1652: Image Map support for Servo&amp;lt;/font&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://html.spec.whatwg.org/multipage/embedded-content.html#image-map] Image maps are an HTML technology that allows treating arbitrary areas in an image as separate hyperlinks. The goal of this project is to implement this missing feature on [https://en.wikipedia.org/wiki/Servo_(layout_engine) Servo].&amp;lt;ref&amp;gt;https://github.com/servo/servo/wiki/Image-maps-project&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
===Servo===&lt;br /&gt;
&lt;br /&gt;
Servo &amp;lt;ref&amp;gt; https://github.com/servo/servo &amp;lt;/ref&amp;gt; is a web browser layout engine written in [https://github.com/rust-lang/rust Rust]&amp;lt;ref&amp;gt;https://github.com/rust-lang/rust&amp;lt;/ref&amp;gt; and is currently being developed by [https://en.wikipedia.org/wiki/Mozilla Mozilla Research]. The aim of the project is to create a highly parallel environment which allows several components to be handled by fine-grained, isolated tasks.&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Servo_(layout_engine)&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Servo is built on top of Rust to provide a secure and reliable foundation and is focused on creating a reliable and fast browser engine.&lt;br /&gt;
&lt;br /&gt;
===Rust===&lt;br /&gt;
&lt;br /&gt;
[https://en.wikipedia.org/wiki/Rust_(programming_language) Rust] is a multi-paradigm, compiled programming language suited to create highly concurrent and highly safe systems. Rust has been developed with an emphasis on safety, control of memory layout, and concurrency. It is a modern, fast, memory-safe and multi-threaded programming language focusing on speed and safety to develop reliable and efficient systems. It eliminates all data races by having numerous compile-time safety checks that adds no runtime overhead.&amp;lt;ref&amp;gt; http://doc.rust-lang.org/nightly/book/README.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Image Maps===&lt;br /&gt;
&amp;quot;In HTML and XHTML, an [https://en.wikipedia.org/wiki/Image_map Image map] is a list of coordinates relating to a specific image, created in order to hyperlink areas of the image to different destinations (as opposed to a normal image link, in which the entire area of the image links to a single destination). Servo currently doesn't support Image maps at the moment.&lt;br /&gt;
&lt;br /&gt;
==Scope==&lt;br /&gt;
The initial steps completed till now are mentioned [https://github.com/servo/servo/wiki/Image-maps-project here].&lt;br /&gt;
&lt;br /&gt;
*Compile Servo and ensure that it runs on tests/html/about-mozilla.html&lt;br /&gt;
*Define an Area enum in htmlareaelement.rs that supports rectangles, circles, and polygons (ie. coordinate representations)&lt;br /&gt;
*Implement constructors for each variant that accept a string argument, parse them into appropriate coordinates, and return an appropriate Area instance&lt;br /&gt;
*Implement a hit_test method on Area that accepts a Point2D&amp;lt;f32&amp;gt; argument and returns true if the point is within the area's coordinates (return false for all polygonal areas)&lt;br /&gt;
*Write tests for the Area constructors and hit tests (add a new htmlareaelement.rs to tests/unit/script/ and run ./mach test-unit -p script)&lt;br /&gt;
*Add a method to HTMLAreaElement that returns an Area value derived from that element's attributes&lt;br /&gt;
&lt;br /&gt;
[http://wiki.expertiza.ncsu.edu/index.php/CSC/ECE_517_Fall_2016/M1652_Implement_ImageMap_Support_Servo Link to OSS]&lt;br /&gt;
&lt;br /&gt;
The subsequent steps are the agenda for the final project:&lt;br /&gt;
*We plan to add a method areas to HTMLImageElement to handle processing of a usemap attribute. The map object is to be obtained consisting all the HTML elements pertaining to the image as defined in the specification. Given the usemap attribute, we aim to retrieve the HTMLMapElement by which we will retrieve HTMLAreaelements (Children elements)&lt;br /&gt;
&lt;br /&gt;
[[File:Servo 011.png]]&lt;br /&gt;
&lt;br /&gt;
We will implement a method for HTMLAreaElement to handle activation behavior as defined in the [https://dom.spec.whatwg.org/#eventtarget-activation-behavior specification]&lt;br /&gt;
&lt;br /&gt;
We will implement a method for HTMLImageElement to handle clickable events on the element. This method will use the list of HTMLAreaelements as obtained in the previous steps and the hit test method implemented in the initial steps.&lt;br /&gt;
&lt;br /&gt;
To implement a hit test method for Polygons (Extra Credit) we plan to implement the below algorithm:&lt;br /&gt;
&lt;br /&gt;
1) Draw a horizontal line to the right of each point and extend it to infinity&lt;br /&gt;
&lt;br /&gt;
2) Count the number of times the line intersects with polygon edges&lt;br /&gt;
&lt;br /&gt;
3) A point is inside the polygon if either count of intersections is odd or point lies on an edge of polygon. If none of the conditions is true, then point lies outside&lt;br /&gt;
&lt;br /&gt;
==Design Pattern==&lt;br /&gt;
&lt;br /&gt;
Design patterns are not applicable as our task involved implementing methods in a predefined object, namely HTMLAreaElement.&lt;br /&gt;
&lt;br /&gt;
== Testing ==&lt;br /&gt;
&lt;br /&gt;
Test cases were implemented for testing the Area enum and the hit test functionality. Following are the steps to run all the tests:&lt;br /&gt;
&lt;br /&gt;
# Install the pre-requisites required for servo as mentioned [https://github.com/servo/servo/blob/master/README.md here] &lt;br /&gt;
# Run the following commands to clone the repository and run the tests&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 git clone https://github.com/shravan-achar/servo.git&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 cd servo&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 git checkout master&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To run the test cases&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 ./mach test-unit -p script&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The above command will download and compile the dependencies and the test cases. You will see that all tests pass as expected (Testcases are prefixed by HTMLAreaElement)&lt;br /&gt;
&lt;br /&gt;
=== Testing From UI ===&lt;br /&gt;
&lt;br /&gt;
The project after completion should be testable from the UI by handling clickable activities on this test [https://samuknet.github.io/test_cases/imageMap/ link]. The link has to be invoked from the compiled exe; the command for which is given below:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
./mach run https://samuknet.github.io/test_cases/imageMap/&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sspatil4</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016/M1652_ImageMap_Support_Servo&amp;diff=105225</id>
		<title>CSC/ECE 517 Fall 2016/M1652 ImageMap Support Servo</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016/M1652_ImageMap_Support_Servo&amp;diff=105225"/>
		<updated>2016-11-10T02:50:57Z</updated>

		<summary type="html">&lt;p&gt;Sspatil4: /* Scope */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;font size=&amp;quot;5&amp;quot;&amp;gt;M1652: Image Map support for Servo&amp;lt;/font&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://html.spec.whatwg.org/multipage/embedded-content.html#image-map] Image maps are an HTML technology that allows treating arbitrary areas in an image as separate hyperlinks. The goal of this project is to implement this missing feature on [https://en.wikipedia.org/wiki/Servo_(layout_engine) Servo].&amp;lt;ref&amp;gt;https://github.com/servo/servo/wiki/Image-maps-project&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
===Servo===&lt;br /&gt;
&lt;br /&gt;
Servo &amp;lt;ref&amp;gt; https://github.com/servo/servo &amp;lt;/ref&amp;gt; is a web browser layout engine written in [https://github.com/rust-lang/rust Rust]&amp;lt;ref&amp;gt;https://github.com/rust-lang/rust&amp;lt;/ref&amp;gt; and is currently being developed by [https://en.wikipedia.org/wiki/Mozilla Mozilla Research]. The aim of the project is to create a highly parallel environment which allows several components to be handled by fine-grained, isolated tasks.&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Servo_(layout_engine)&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Servo is built on top of Rust to provide a secure and reliable foundation and is focused on creating a reliable and fast browser engine.&lt;br /&gt;
&lt;br /&gt;
===Rust===&lt;br /&gt;
&lt;br /&gt;
[https://en.wikipedia.org/wiki/Rust_(programming_language) Rust] is a multi-paradigm, compiled programming language suited to create highly concurrent and highly safe systems. Rust has been developed with an emphasis on safety, control of memory layout, and concurrency. It is a modern, fast, memory-safe and multi-threaded programming language focusing on speed and safety to develop reliable and efficient systems. It eliminates all data races by having numerous compile-time safety checks that adds no runtime overhead.&amp;lt;ref&amp;gt; http://doc.rust-lang.org/nightly/book/README.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Image Maps===&lt;br /&gt;
&amp;quot;In HTML and XHTML, an [https://en.wikipedia.org/wiki/Image_map Image map] is a list of coordinates relating to a specific image, created in order to hyperlink areas of the image to different destinations (as opposed to a normal image link, in which the entire area of the image links to a single destination). Servo currently doesn't support Image maps at the moment.&lt;br /&gt;
&lt;br /&gt;
==Scope==&lt;br /&gt;
The initial steps completed till now are mentioned [https://github.com/servo/servo/wiki/Image-maps-project here].&lt;br /&gt;
&lt;br /&gt;
*Compile Servo and ensure that it runs on tests/html/about-mozilla.html&lt;br /&gt;
*Define an Area enum in htmlareaelement.rs that supports rectangles, circles, and polygons (ie. coordinate representations)&lt;br /&gt;
*Implement constructors for each variant that accept a string argument, parse them into appropriate coordinates, and return an appropriate Area instance&lt;br /&gt;
*Implement a hit_test method on Area that accepts a Point2D&amp;lt;f32&amp;gt; argument and returns true if the point is within the area's coordinates (return false for all polygonal areas)&lt;br /&gt;
*Write tests for the Area constructors and hit tests (add a new htmlareaelement.rs to tests/unit/script/ and run ./mach test-unit -p script)&lt;br /&gt;
*Add a method to HTMLAreaElement that returns an Area value derived from that element's attributes&lt;br /&gt;
&lt;br /&gt;
[http://wiki.expertiza.ncsu.edu/index.php/CSC/ECE_517_Fall_2016/M1652_Implement_ImageMap_Support_Servo Link to OSS]&lt;br /&gt;
&lt;br /&gt;
The subsequent steps are the agenda for the final project:&lt;br /&gt;
*We plan to add a method areas to HTMLImageElement to handle processing of a usemap attribute. The map object is to be obtained consisting all the HTML elements pertaining to the image as defined in the specification. Given the usemap attribute, we aim to retrieve the HTMLMapElement by which we will retrieve HTMLAreaelements (Children elements)&lt;br /&gt;
&lt;br /&gt;
[[File:Servo 011.png]]&lt;br /&gt;
We will implement a method for HTMLAreaElement to handle activation behavior as defined in the [https://dom.spec.whatwg.org/#eventtarget-activation-behavior specification]&lt;br /&gt;
We will implement a method for HTMLImageElement to handle clickable events on the element. This method will use the list of HTMLAreaelements as obtained in the previous steps and the hit test method implemented in the initial steps.&lt;br /&gt;
To implement a hit test method for Polygons (Extra Credit) we plan to implement the below algorithm:&lt;br /&gt;
&lt;br /&gt;
1) Draw a horizontal line to the right of each point and extend it to infinity&lt;br /&gt;
&lt;br /&gt;
2) Count the number of times the line intersects with polygon edges&lt;br /&gt;
&lt;br /&gt;
3) A point is inside the polygon if either count of intersections is odd or point lies on an edge of polygon. If none of the conditions is true, then point lies outside&lt;br /&gt;
&lt;br /&gt;
==Design Pattern==&lt;br /&gt;
&lt;br /&gt;
Design patterns are not applicable as our task involved implementing methods in a predefined object, namely HTMLAreaElement.&lt;br /&gt;
&lt;br /&gt;
== Testing ==&lt;br /&gt;
&lt;br /&gt;
Test cases were implemented for testing the Area enum and the hit test functionality. Following are the steps to run all the tests:&lt;br /&gt;
&lt;br /&gt;
# Install the pre-requisites required for servo as mentioned [https://github.com/servo/servo/blob/master/README.md here] &lt;br /&gt;
# Run the following commands to clone the repository and run the tests&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 git clone https://github.com/shravan-achar/servo.git&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 cd servo&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 git checkout master&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To run the test cases&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 ./mach test-unit -p script&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The above command will download and compile the dependencies and the test cases. You will see that all tests pass as expected (Testcases are prefixed by HTMLAreaElement)&lt;br /&gt;
&lt;br /&gt;
=== Testing From UI ===&lt;br /&gt;
&lt;br /&gt;
The project after completion should be testable from the UI by handling clickable activities on this test [https://samuknet.github.io/test_cases/imageMap/ link]. The link has to be invoked from the compiled exe; the command for which is given below:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
./mach run https://samuknet.github.io/test_cases/imageMap/&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sspatil4</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016/M1652_ImageMap_Support_Servo&amp;diff=105224</id>
		<title>CSC/ECE 517 Fall 2016/M1652 ImageMap Support Servo</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016/M1652_ImageMap_Support_Servo&amp;diff=105224"/>
		<updated>2016-11-10T02:49:18Z</updated>

		<summary type="html">&lt;p&gt;Sspatil4: /* Scope */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;font size=&amp;quot;5&amp;quot;&amp;gt;M1652: Image Map support for Servo&amp;lt;/font&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://html.spec.whatwg.org/multipage/embedded-content.html#image-map] Image maps are an HTML technology that allows treating arbitrary areas in an image as separate hyperlinks. The goal of this project is to implement this missing feature on [https://en.wikipedia.org/wiki/Servo_(layout_engine) Servo].&amp;lt;ref&amp;gt;https://github.com/servo/servo/wiki/Image-maps-project&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
===Servo===&lt;br /&gt;
&lt;br /&gt;
Servo &amp;lt;ref&amp;gt; https://github.com/servo/servo &amp;lt;/ref&amp;gt; is a web browser layout engine written in [https://github.com/rust-lang/rust Rust]&amp;lt;ref&amp;gt;https://github.com/rust-lang/rust&amp;lt;/ref&amp;gt; and is currently being developed by [https://en.wikipedia.org/wiki/Mozilla Mozilla Research]. The aim of the project is to create a highly parallel environment which allows several components to be handled by fine-grained, isolated tasks.&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Servo_(layout_engine)&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Servo is built on top of Rust to provide a secure and reliable foundation and is focused on creating a reliable and fast browser engine.&lt;br /&gt;
&lt;br /&gt;
===Rust===&lt;br /&gt;
&lt;br /&gt;
[https://en.wikipedia.org/wiki/Rust_(programming_language) Rust] is a multi-paradigm, compiled programming language suited to create highly concurrent and highly safe systems. Rust has been developed with an emphasis on safety, control of memory layout, and concurrency. It is a modern, fast, memory-safe and multi-threaded programming language focusing on speed and safety to develop reliable and efficient systems. It eliminates all data races by having numerous compile-time safety checks that adds no runtime overhead.&amp;lt;ref&amp;gt; http://doc.rust-lang.org/nightly/book/README.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Image Maps===&lt;br /&gt;
&amp;quot;In HTML and XHTML, an [https://en.wikipedia.org/wiki/Image_map Image map] is a list of coordinates relating to a specific image, created in order to hyperlink areas of the image to different destinations (as opposed to a normal image link, in which the entire area of the image links to a single destination). Servo currently doesn't support Image maps at the moment.&lt;br /&gt;
&lt;br /&gt;
==Scope==&lt;br /&gt;
The initial steps completed till now are mentioned [https://github.com/servo/servo/wiki/Image-maps-project here].&lt;br /&gt;
&lt;br /&gt;
*Compile Servo and ensure that it runs on tests/html/about-mozilla.html&lt;br /&gt;
*Define an Area enum in htmlareaelement.rs that supports rectangles, circles, and polygons (ie. coordinate representations)&lt;br /&gt;
*Implement constructors for each variant that accept a string argument, parse them into appropriate coordinates, and return an appropriate Area instance&lt;br /&gt;
*Implement a hit_test method on Area that accepts a Point2D&amp;lt;f32&amp;gt; argument and returns true if the point is within the area's coordinates (return false for all polygonal areas)&lt;br /&gt;
*Write tests for the Area constructors and hit tests (add a new htmlareaelement.rs to tests/unit/script/ and run ./mach test-unit -p script)&lt;br /&gt;
*Add a method to HTMLAreaElement that returns an Area value derived from that element's attributes&lt;br /&gt;
&lt;br /&gt;
[http://wiki.expertiza.ncsu.edu/index.php/CSC/ECE_517_Fall_2016/M1652_Implement_ImageMap_Support_Servo Link to OSS]&lt;br /&gt;
&lt;br /&gt;
The subsequent steps are the agenda for the final project:&lt;br /&gt;
*We plan to add a method areas to HTMLImageElement to handle processing of a usemap attribute. The map object is to be obtained consisting all the HTML elements pertaining to the image as defined in the specification. Given the usemap attribute, we aim to retrieve the HTMLMapElement by which we will retrieve HTMLAreaelements (Children elements)&lt;br /&gt;
&lt;br /&gt;
[[File:Servo 011.png]]&lt;br /&gt;
*We will implement a method for HTMLAreaElement to handle activation behavior as defined in the [https://dom.spec.whatwg.org/#eventtarget-activation-behavior specification]&lt;br /&gt;
*We will implement a method for HTMLImageElement to handle clickable events on the element. This method will use the list of HTMLAreaelements as obtained in the previous steps and the hit test method implemented in the initial steps.&lt;br /&gt;
*To implement a hit test method for Polygons (Extra Credit) we plan to implement the below algorithm:&lt;br /&gt;
&lt;br /&gt;
1) Draw a horizontal line to the right of each point and extend it to infinity&lt;br /&gt;
&lt;br /&gt;
2) Count the number of times the line intersects with polygon edges&lt;br /&gt;
&lt;br /&gt;
3) A point is inside the polygon if either count of intersections is odd or point lies on an edge of polygon. If none of the conditions is true, then point lies outside&lt;br /&gt;
&lt;br /&gt;
==Design Pattern==&lt;br /&gt;
&lt;br /&gt;
Design patterns are not applicable as our task involved implementing methods in a predefined object, namely HTMLAreaElement.&lt;br /&gt;
&lt;br /&gt;
== Testing ==&lt;br /&gt;
&lt;br /&gt;
Test cases were implemented for testing the Area enum and the hit test functionality. Following are the steps to run all the tests:&lt;br /&gt;
&lt;br /&gt;
# Install the pre-requisites required for servo as mentioned [https://github.com/servo/servo/blob/master/README.md here] &lt;br /&gt;
# Run the following commands to clone the repository and run the tests&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 git clone https://github.com/shravan-achar/servo.git&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 cd servo&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 git checkout master&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To run the test cases&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 ./mach test-unit -p script&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The above command will download and compile the dependencies and the test cases. You will see that all tests pass as expected (Testcases are prefixed by HTMLAreaElement)&lt;br /&gt;
&lt;br /&gt;
=== Testing From UI ===&lt;br /&gt;
&lt;br /&gt;
The project after completion should be testable from the UI by handling clickable activities on this test [https://samuknet.github.io/test_cases/imageMap/ link]. The link has to be invoked from the compiled exe; the command for which is given below:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
./mach run https://samuknet.github.io/test_cases/imageMap/&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sspatil4</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016/M1652_ImageMap_Support_Servo&amp;diff=105223</id>
		<title>CSC/ECE 517 Fall 2016/M1652 ImageMap Support Servo</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016/M1652_ImageMap_Support_Servo&amp;diff=105223"/>
		<updated>2016-11-10T02:47:49Z</updated>

		<summary type="html">&lt;p&gt;Sspatil4: /* Scope */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;font size=&amp;quot;5&amp;quot;&amp;gt;M1652: Image Map support for Servo&amp;lt;/font&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://html.spec.whatwg.org/multipage/embedded-content.html#image-map] Image maps are an HTML technology that allows treating arbitrary areas in an image as separate hyperlinks. The goal of this project is to implement this missing feature on [https://en.wikipedia.org/wiki/Servo_(layout_engine) Servo].&amp;lt;ref&amp;gt;https://github.com/servo/servo/wiki/Image-maps-project&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
===Servo===&lt;br /&gt;
&lt;br /&gt;
Servo &amp;lt;ref&amp;gt; https://github.com/servo/servo &amp;lt;/ref&amp;gt; is a web browser layout engine written in [https://github.com/rust-lang/rust Rust]&amp;lt;ref&amp;gt;https://github.com/rust-lang/rust&amp;lt;/ref&amp;gt; and is currently being developed by [https://en.wikipedia.org/wiki/Mozilla Mozilla Research]. The aim of the project is to create a highly parallel environment which allows several components to be handled by fine-grained, isolated tasks.&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Servo_(layout_engine)&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Servo is built on top of Rust to provide a secure and reliable foundation and is focused on creating a reliable and fast browser engine.&lt;br /&gt;
&lt;br /&gt;
===Rust===&lt;br /&gt;
&lt;br /&gt;
[https://en.wikipedia.org/wiki/Rust_(programming_language) Rust] is a multi-paradigm, compiled programming language suited to create highly concurrent and highly safe systems. Rust has been developed with an emphasis on safety, control of memory layout, and concurrency. It is a modern, fast, memory-safe and multi-threaded programming language focusing on speed and safety to develop reliable and efficient systems. It eliminates all data races by having numerous compile-time safety checks that adds no runtime overhead.&amp;lt;ref&amp;gt; http://doc.rust-lang.org/nightly/book/README.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Image Maps===&lt;br /&gt;
&amp;quot;In HTML and XHTML, an [https://en.wikipedia.org/wiki/Image_map Image map] is a list of coordinates relating to a specific image, created in order to hyperlink areas of the image to different destinations (as opposed to a normal image link, in which the entire area of the image links to a single destination). Servo currently doesn't support Image maps at the moment.&lt;br /&gt;
&lt;br /&gt;
==Scope==&lt;br /&gt;
The initial steps completed till now are mentioned [https://github.com/servo/servo/wiki/Image-maps-project here].&lt;br /&gt;
&lt;br /&gt;
*Compile Servo and ensure that it runs on tests/html/about-mozilla.html&lt;br /&gt;
*Define an Area enum in htmlareaelement.rs that supports rectangles, circles, and polygons (ie. coordinate representations)&lt;br /&gt;
*Implement constructors for each variant that accept a string argument, parse them into appropriate coordinates, and return an appropriate Area instance&lt;br /&gt;
*Implement a hit_test method on Area that accepts a Point2D&amp;lt;f32&amp;gt; argument and returns true if the point is within the area's coordinates (return false for all polygonal areas)&lt;br /&gt;
*Write tests for the Area constructors and hit tests (add a new htmlareaelement.rs to tests/unit/script/ and run ./mach test-unit -p script)&lt;br /&gt;
*Add a method to HTMLAreaElement that returns an Area value derived from that element's attributes&lt;br /&gt;
&lt;br /&gt;
[http://wiki.expertiza.ncsu.edu/index.php/CSC/ECE_517_Fall_2016/M1652_Implement_ImageMap_Support_Servo Link to OSS]&lt;br /&gt;
&lt;br /&gt;
The subsequent steps are the agenda for the final project:&lt;br /&gt;
*We plan to add a method areas to HTMLImageElement to handle processing of a usemap attribute. The map object is to be obtained consisting all the HTML elements pertaining to the image as defined in the specification. Given the usemap attribute, we aim to retrieve the HTMLMapElement by which we will retrieve HTMLAreaelements (Children elements)&lt;br /&gt;
&lt;br /&gt;
[[File:Servo 011.png]]&lt;br /&gt;
*We will implement a method for HTMLAreaElement to handle activation behavior as defined in the [https://dom.spec.whatwg.org/#eventtarget-activation-behavior specification]&lt;br /&gt;
*We will implement a method for HTMLImageElement to handle clickable events on the element. This method will use the list of HTMLAreaelements as obtained in the previous steps and the hit test method implemented in the initial steps.&lt;br /&gt;
*To implement a hit test method for Polygons(Extra Credit) we plan to implement the below algorithm:&lt;br /&gt;
&lt;br /&gt;
\n 1) Draw a horizontal line to the right of each point and extend it to infinity &lt;br /&gt;
\n 2) Count the number of times the line intersects with polygon edges. &lt;br /&gt;
\n 3) A point is inside the polygon if either count of intersections is odd or point lies on an edge of polygon. If none of the conditions is true, then point lies outside.&lt;br /&gt;
&lt;br /&gt;
==Design Pattern==&lt;br /&gt;
&lt;br /&gt;
Design patterns are not applicable as our task involved implementing methods in a predefined object, namely HTMLAreaElement.&lt;br /&gt;
&lt;br /&gt;
== Testing ==&lt;br /&gt;
&lt;br /&gt;
Test cases were implemented for testing the Area enum and the hit test functionality. Following are the steps to run all the tests:&lt;br /&gt;
&lt;br /&gt;
# Install the pre-requisites required for servo as mentioned [https://github.com/servo/servo/blob/master/README.md here] &lt;br /&gt;
# Run the following commands to clone the repository and run the tests&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 git clone https://github.com/shravan-achar/servo.git&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 cd servo&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 git checkout master&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To run the test cases&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 ./mach test-unit -p script&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The above command will download and compile the dependencies and the test cases. You will see that all tests pass as expected (Testcases are prefixed by HTMLAreaElement)&lt;br /&gt;
&lt;br /&gt;
=== Testing From UI ===&lt;br /&gt;
&lt;br /&gt;
The project after completion should be testable from the UI by handling clickable activities on this test [https://samuknet.github.io/test_cases/imageMap/ link]. The link has to be invoked from the compiled exe; the command for which is given below:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
./mach run https://samuknet.github.io/test_cases/imageMap/&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sspatil4</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016/M1652_ImageMap_Support_Servo&amp;diff=105222</id>
		<title>CSC/ECE 517 Fall 2016/M1652 ImageMap Support Servo</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016/M1652_ImageMap_Support_Servo&amp;diff=105222"/>
		<updated>2016-11-10T02:47:15Z</updated>

		<summary type="html">&lt;p&gt;Sspatil4: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;font size=&amp;quot;5&amp;quot;&amp;gt;M1652: Image Map support for Servo&amp;lt;/font&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://html.spec.whatwg.org/multipage/embedded-content.html#image-map] Image maps are an HTML technology that allows treating arbitrary areas in an image as separate hyperlinks. The goal of this project is to implement this missing feature on [https://en.wikipedia.org/wiki/Servo_(layout_engine) Servo].&amp;lt;ref&amp;gt;https://github.com/servo/servo/wiki/Image-maps-project&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
===Servo===&lt;br /&gt;
&lt;br /&gt;
Servo &amp;lt;ref&amp;gt; https://github.com/servo/servo &amp;lt;/ref&amp;gt; is a web browser layout engine written in [https://github.com/rust-lang/rust Rust]&amp;lt;ref&amp;gt;https://github.com/rust-lang/rust&amp;lt;/ref&amp;gt; and is currently being developed by [https://en.wikipedia.org/wiki/Mozilla Mozilla Research]. The aim of the project is to create a highly parallel environment which allows several components to be handled by fine-grained, isolated tasks.&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Servo_(layout_engine)&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Servo is built on top of Rust to provide a secure and reliable foundation and is focused on creating a reliable and fast browser engine.&lt;br /&gt;
&lt;br /&gt;
===Rust===&lt;br /&gt;
&lt;br /&gt;
[https://en.wikipedia.org/wiki/Rust_(programming_language) Rust] is a multi-paradigm, compiled programming language suited to create highly concurrent and highly safe systems. Rust has been developed with an emphasis on safety, control of memory layout, and concurrency. It is a modern, fast, memory-safe and multi-threaded programming language focusing on speed and safety to develop reliable and efficient systems. It eliminates all data races by having numerous compile-time safety checks that adds no runtime overhead.&amp;lt;ref&amp;gt; http://doc.rust-lang.org/nightly/book/README.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Image Maps===&lt;br /&gt;
&amp;quot;In HTML and XHTML, an [https://en.wikipedia.org/wiki/Image_map Image map] is a list of coordinates relating to a specific image, created in order to hyperlink areas of the image to different destinations (as opposed to a normal image link, in which the entire area of the image links to a single destination). Servo currently doesn't support Image maps at the moment.&lt;br /&gt;
&lt;br /&gt;
==Scope==&lt;br /&gt;
The initial steps completed till now are mentioned [https://github.com/servo/servo/wiki/Image-maps-project here].&lt;br /&gt;
&lt;br /&gt;
*Compile Servo and ensure that it runs on tests/html/about-mozilla.html&lt;br /&gt;
*Define an Area enum in htmlareaelement.rs that supports rectangles, circles, and polygons (ie. coordinate representations)&lt;br /&gt;
*Implement constructors for each variant that accept a string argument, parse them into appropriate coordinates, and return an appropriate Area instance&lt;br /&gt;
*Implement a hit_test method on Area that accepts a Point2D&amp;lt;f32&amp;gt; argument and returns true if the point is within the area's coordinates (return false for all polygonal areas)&lt;br /&gt;
*Write tests for the Area constructors and hit tests (add a new htmlareaelement.rs to tests/unit/script/ and run ./mach test-unit -p script)&lt;br /&gt;
*Add a method to HTMLAreaElement that returns an Area value derived from that element's attributes&lt;br /&gt;
&lt;br /&gt;
[http://wiki.expertiza.ncsu.edu/index.php/CSC/ECE_517_Fall_2016/M1652_Implement_ImageMap_Support_Servo Link to OSS]&lt;br /&gt;
&lt;br /&gt;
The subsequent steps are the agenda for the final project:&lt;br /&gt;
*We plan to add a method areas to HTMLImageElement to handle processing of a usemap attribute. The map object is to be obtained consisting all the HTML elements pertaining to the image as defined in the specification. Given the usemap attribute, we aim to retrieve the HTMLMapElement by which we will retrieve HTMLAreaelements (Children elements)&lt;br /&gt;
&lt;br /&gt;
[[File:Servo 011.png]]&lt;br /&gt;
*We will implement a method for HTMLAreaElement to handle activation behavior as defined in the [https://dom.spec.whatwg.org/#eventtarget-activation-behavior specification]&lt;br /&gt;
*We will implement a method for HTMLImageElement to handle clickable events on the element. This method will use the list of HTMLAreaelements as obtained in the previous steps and the hit test method implemented in the initial steps.&lt;br /&gt;
*To implement a hit test method for Polygons(Extra Credit) we plan to implement the below algorithm:&lt;br /&gt;
&lt;br /&gt;
1) Draw a horizontal line to the right of each point and extend it to infinity &lt;br /&gt;
2) Count the number of times the line intersects with polygon edges. &lt;br /&gt;
3) A point is inside the polygon if either count of intersections is odd or point lies on an edge of polygon. If none of the conditions is true, then point lies outside.&lt;br /&gt;
&lt;br /&gt;
==Design Pattern==&lt;br /&gt;
&lt;br /&gt;
Design patterns are not applicable as our task involved implementing methods in a predefined object, namely HTMLAreaElement.&lt;br /&gt;
&lt;br /&gt;
== Testing ==&lt;br /&gt;
&lt;br /&gt;
Test cases were implemented for testing the Area enum and the hit test functionality. Following are the steps to run all the tests:&lt;br /&gt;
&lt;br /&gt;
# Install the pre-requisites required for servo as mentioned [https://github.com/servo/servo/blob/master/README.md here] &lt;br /&gt;
# Run the following commands to clone the repository and run the tests&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 git clone https://github.com/shravan-achar/servo.git&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 cd servo&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 git checkout master&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To run the test cases&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 ./mach test-unit -p script&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The above command will download and compile the dependencies and the test cases. You will see that all tests pass as expected (Testcases are prefixed by HTMLAreaElement)&lt;br /&gt;
&lt;br /&gt;
=== Testing From UI ===&lt;br /&gt;
&lt;br /&gt;
The project after completion should be testable from the UI by handling clickable activities on this test [https://samuknet.github.io/test_cases/imageMap/ link]. The link has to be invoked from the compiled exe; the command for which is given below:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
./mach run https://samuknet.github.io/test_cases/imageMap/&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sspatil4</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=File:Servo_011.png&amp;diff=105214</id>
		<title>File:Servo 011.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=File:Servo_011.png&amp;diff=105214"/>
		<updated>2016-11-10T02:38:36Z</updated>

		<summary type="html">&lt;p&gt;Sspatil4: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Sspatil4</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016/M1652_ImageMap_Support_Servo&amp;diff=105213</id>
		<title>CSC/ECE 517 Fall 2016/M1652 ImageMap Support Servo</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016/M1652_ImageMap_Support_Servo&amp;diff=105213"/>
		<updated>2016-11-10T02:38:17Z</updated>

		<summary type="html">&lt;p&gt;Sspatil4: /* Scope */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;font size=&amp;quot;5&amp;quot;&amp;gt;M1652: Image Map support for Servo&amp;lt;/font&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://html.spec.whatwg.org/multipage/embedded-content.html#image-map] Image maps are an HTML technology that allows treating arbitrary areas in an image as separate hyperlinks. The goal of this project is to implement this missing feature on [https://en.wikipedia.org/wiki/Servo_(layout_engine) Servo].&amp;lt;ref&amp;gt;https://github.com/servo/servo/wiki/Image-maps-project&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
===Servo===&lt;br /&gt;
&lt;br /&gt;
Servo &amp;lt;ref&amp;gt; https://github.com/servo/servo &amp;lt;/ref&amp;gt; is a web browser layout engine written in [https://github.com/rust-lang/rust Rust]&amp;lt;ref&amp;gt;https://github.com/rust-lang/rust&amp;lt;/ref&amp;gt; and is currently being developed by [https://en.wikipedia.org/wiki/Mozilla Mozilla Research]. The aim of the project is to create a highly parallel environment which allows several components to be handled by fine-grained, isolated tasks.&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Servo_(layout_engine)&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Servo is built on top of Rust to provide a secure and reliable foundation and is focused on creating a reliable and fast browser engine.&lt;br /&gt;
&lt;br /&gt;
===Rust===&lt;br /&gt;
&lt;br /&gt;
[https://en.wikipedia.org/wiki/Rust_(programming_language) Rust] is a multi-paradigm, compiled programming language suited to create highly concurrent and highly safe systems. Rust has been developed with an emphasis on safety, control of memory layout, and concurrency. It is a modern, fast, memory-safe and multi-threaded programming language focusing on speed and safety to develop reliable and efficient systems. It eliminates all data races by having numerous compile-time safety checks that adds no runtime overhead.&amp;lt;ref&amp;gt; http://doc.rust-lang.org/nightly/book/README.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Image Maps===&lt;br /&gt;
&amp;quot;In HTML and XHTML, an [https://en.wikipedia.org/wiki/Image_map Image map] is a list of coordinates relating to a specific image, created in order to hyperlink areas of the image to different destinations (as opposed to a normal image link, in which the entire area of the image links to a single destination). Servo currently doesn't support Image maps at the moment.&lt;br /&gt;
&lt;br /&gt;
==Scope==&lt;br /&gt;
The initial steps completed till now are mentioned [https://github.com/servo/servo/wiki/Image-maps-project here].&lt;br /&gt;
&lt;br /&gt;
*Compile Servo and ensure that it runs on tests/html/about-mozilla.html&lt;br /&gt;
*Define an Area enum in htmlareaelement.rs that supports rectangles, circles, and polygons (ie. coordinate representations)&lt;br /&gt;
*Implement constructors for each variant that accept a string argument, parse them into appropriate coordinates, and return an appropriate Area instance&lt;br /&gt;
*Implement a hit_test method on Area that accepts a Point2D&amp;lt;f32&amp;gt; argument and returns true if the point is within the area's coordinates (return false for all polygonal areas)&lt;br /&gt;
*Write tests for the Area constructors and hit tests (add a new htmlareaelement.rs to tests/unit/script/ and run ./mach test-unit -p script)&lt;br /&gt;
*Add a method to HTMLAreaElement that returns an Area value derived from that element's attributes&lt;br /&gt;
&lt;br /&gt;
[http://wiki.expertiza.ncsu.edu/index.php/CSC/ECE_517_Fall_2016/M1652_Implement_ImageMap_Support_Servo Link to OSS]&lt;br /&gt;
&lt;br /&gt;
The subsequent steps are the agenda for the final project:&lt;br /&gt;
*We plan to add a method areas to HTMLImageElement to handle processing of a usemap attribute. The map object is to be obtained consisting all the HTML elements pertaining to the image as defined in the specification. Given the usemap attribute, we aim to retrieve the HTMLMapElement by which we will retrieve HTMLAreaelements (Children elements)&lt;br /&gt;
&lt;br /&gt;
[[File:Servo 011.png]]&lt;br /&gt;
*We will implement a method for HTMLAreaElement to handle activation behavior as defined in the [https://dom.spec.whatwg.org/#eventtarget-activation-behavior specification]&lt;br /&gt;
*We will implement a method for HTMLImageElement to handle clickable events on the element. This method will use the list of HTMLAreaelements as obtained in the previous steps and the hit test method implemented in the initial steps.&lt;br /&gt;
*To implement a hit test method for Polygons(Extra Credit) we plan to implement the below algorithm:&lt;br /&gt;
&lt;br /&gt;
1) Draw a horizontal line to the right of each point and extend it to infinity &lt;br /&gt;
2) Count the number of times the line intersects with polygon edges. &lt;br /&gt;
3) A point is inside the polygon if either count of intersections is odd or point lies on an edge of polygon. If none of the conditions is true, then point lies outside.&lt;br /&gt;
&lt;br /&gt;
==Design Pattern==&lt;br /&gt;
&lt;br /&gt;
Design patterns are not applicable as our task involved implementing methods in a predefined object, namely HTMLAreaElement.&lt;br /&gt;
&lt;br /&gt;
=== Testing From UI ===&lt;br /&gt;
&lt;br /&gt;
The project after completion should be testable from the UI by handling clickable activities on this test [https://samuknet.github.io/test_cases/imageMap/ link]&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sspatil4</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016/M1652_ImageMap_Support_Servo&amp;diff=105212</id>
		<title>CSC/ECE 517 Fall 2016/M1652 ImageMap Support Servo</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016/M1652_ImageMap_Support_Servo&amp;diff=105212"/>
		<updated>2016-11-10T02:35:24Z</updated>

		<summary type="html">&lt;p&gt;Sspatil4: /* Scope */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;font size=&amp;quot;5&amp;quot;&amp;gt;M1652: Image Map support for Servo&amp;lt;/font&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://html.spec.whatwg.org/multipage/embedded-content.html#image-map] Image maps are an HTML technology that allows treating arbitrary areas in an image as separate hyperlinks. The goal of this project is to implement this missing feature on [https://en.wikipedia.org/wiki/Servo_(layout_engine) Servo].&amp;lt;ref&amp;gt;https://github.com/servo/servo/wiki/Image-maps-project&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
===Servo===&lt;br /&gt;
&lt;br /&gt;
Servo &amp;lt;ref&amp;gt; https://github.com/servo/servo &amp;lt;/ref&amp;gt; is a web browser layout engine written in [https://github.com/rust-lang/rust Rust]&amp;lt;ref&amp;gt;https://github.com/rust-lang/rust&amp;lt;/ref&amp;gt; and is currently being developed by [https://en.wikipedia.org/wiki/Mozilla Mozilla Research]. The aim of the project is to create a highly parallel environment which allows several components to be handled by fine-grained, isolated tasks.&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Servo_(layout_engine)&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Servo is built on top of Rust to provide a secure and reliable foundation and is focused on creating a reliable and fast browser engine.&lt;br /&gt;
&lt;br /&gt;
===Rust===&lt;br /&gt;
&lt;br /&gt;
[https://en.wikipedia.org/wiki/Rust_(programming_language) Rust] is a multi-paradigm, compiled programming language suited to create highly concurrent and highly safe systems. Rust has been developed with an emphasis on safety, control of memory layout, and concurrency. It is a modern, fast, memory-safe and multi-threaded programming language focusing on speed and safety to develop reliable and efficient systems. It eliminates all data races by having numerous compile-time safety checks that adds no runtime overhead.&amp;lt;ref&amp;gt; http://doc.rust-lang.org/nightly/book/README.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Image Maps===&lt;br /&gt;
&amp;quot;In HTML and XHTML, an [https://en.wikipedia.org/wiki/Image_map Image map] is a list of coordinates relating to a specific image, created in order to hyperlink areas of the image to different destinations (as opposed to a normal image link, in which the entire area of the image links to a single destination). Servo currently doesn't support Image maps at the moment.&lt;br /&gt;
&lt;br /&gt;
==Scope==&lt;br /&gt;
The initial steps completed till now are mentioned [https://github.com/servo/servo/wiki/Image-maps-project here].&lt;br /&gt;
&lt;br /&gt;
*Compile Servo and ensure that it runs on tests/html/about-mozilla.html&lt;br /&gt;
*Define an Area enum in htmlareaelement.rs that supports rectangles, circles, and polygons (ie. coordinate representations)&lt;br /&gt;
*Implement constructors for each variant that accept a string argument, parse them into appropriate coordinates, and return an appropriate Area instance&lt;br /&gt;
*Implement a hit_test method on Area that accepts a Point2D&amp;lt;f32&amp;gt; argument and returns true if the point is within the area's coordinates (return false for all polygonal areas)&lt;br /&gt;
*Write tests for the Area constructors and hit tests (add a new htmlareaelement.rs to tests/unit/script/ and run ./mach test-unit -p script)&lt;br /&gt;
*Add a method to HTMLAreaElement that returns an Area value derived from that element's attributes&lt;br /&gt;
&lt;br /&gt;
[http://wiki.expertiza.ncsu.edu/index.php/CSC/ECE_517_Fall_2016/M1652_Implement_ImageMap_Support_Servo Link to OSS]&lt;br /&gt;
&lt;br /&gt;
The subsequent steps are the agenda for the final project:&lt;br /&gt;
*We plan to add a method areas to HTMLImageElement to handle processing of a usemap attribute. The map object is to be obtained consisting all the HTML elements pertaining to the image as defined in the specification. Given the usemap attribute, we aim to retrieve the HTMLMapElement by which we will retrieve HTMLAreaelements (Children elements)&lt;br /&gt;
[[File:Servo 010.png]]&lt;br /&gt;
*We will implement a method for HTMLAreaElement to handle activation behavior as defined in the [https://dom.spec.whatwg.org/#eventtarget-activation-behavior specification]&lt;br /&gt;
*We will implement a method for HTMLImageElement to handle clickable events on the element. This method will use the list of HTMLAreaelements as obtained in the previous steps and the hit test method implemented in the initial steps.&lt;br /&gt;
*To implement a hit test method for Polygons(Extra Credit) we plan to implement the below algorithm:&lt;br /&gt;
&lt;br /&gt;
1) Draw a horizontal line to the right of each point and extend it to infinity &lt;br /&gt;
2) Count the number of times the line intersects with polygon edges. &lt;br /&gt;
3) A point is inside the polygon if either count of intersections is odd or point lies on an edge of polygon. If none of the conditions is true, then point lies outside.&lt;br /&gt;
&lt;br /&gt;
==Design Pattern==&lt;br /&gt;
&lt;br /&gt;
Design patterns are not applicable as our task involved implementing methods in a predefined object, namely HTMLAreaElement.&lt;br /&gt;
&lt;br /&gt;
=== Testing From UI ===&lt;br /&gt;
&lt;br /&gt;
The project after completion should be testable from the UI by handling clickable activities on this test [https://samuknet.github.io/test_cases/imageMap/ link]&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sspatil4</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016/M1652_ImageMap_Support_Servo&amp;diff=105211</id>
		<title>CSC/ECE 517 Fall 2016/M1652 ImageMap Support Servo</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016/M1652_ImageMap_Support_Servo&amp;diff=105211"/>
		<updated>2016-11-10T02:34:03Z</updated>

		<summary type="html">&lt;p&gt;Sspatil4: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;font size=&amp;quot;5&amp;quot;&amp;gt;M1652: Image Map support for Servo&amp;lt;/font&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://html.spec.whatwg.org/multipage/embedded-content.html#image-map] Image maps are an HTML technology that allows treating arbitrary areas in an image as separate hyperlinks. The goal of this project is to implement this missing feature on [https://en.wikipedia.org/wiki/Servo_(layout_engine) Servo].&amp;lt;ref&amp;gt;https://github.com/servo/servo/wiki/Image-maps-project&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
===Servo===&lt;br /&gt;
&lt;br /&gt;
Servo &amp;lt;ref&amp;gt; https://github.com/servo/servo &amp;lt;/ref&amp;gt; is a web browser layout engine written in [https://github.com/rust-lang/rust Rust]&amp;lt;ref&amp;gt;https://github.com/rust-lang/rust&amp;lt;/ref&amp;gt; and is currently being developed by [https://en.wikipedia.org/wiki/Mozilla Mozilla Research]. The aim of the project is to create a highly parallel environment which allows several components to be handled by fine-grained, isolated tasks.&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Servo_(layout_engine)&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Servo is built on top of Rust to provide a secure and reliable foundation and is focused on creating a reliable and fast browser engine.&lt;br /&gt;
&lt;br /&gt;
===Rust===&lt;br /&gt;
&lt;br /&gt;
[https://en.wikipedia.org/wiki/Rust_(programming_language) Rust] is a multi-paradigm, compiled programming language suited to create highly concurrent and highly safe systems. Rust has been developed with an emphasis on safety, control of memory layout, and concurrency. It is a modern, fast, memory-safe and multi-threaded programming language focusing on speed and safety to develop reliable and efficient systems. It eliminates all data races by having numerous compile-time safety checks that adds no runtime overhead.&amp;lt;ref&amp;gt; http://doc.rust-lang.org/nightly/book/README.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Image Maps===&lt;br /&gt;
&amp;quot;In HTML and XHTML, an [https://en.wikipedia.org/wiki/Image_map Image map] is a list of coordinates relating to a specific image, created in order to hyperlink areas of the image to different destinations (as opposed to a normal image link, in which the entire area of the image links to a single destination). Servo currently doesn't support Image maps at the moment.&lt;br /&gt;
&lt;br /&gt;
==Scope==&lt;br /&gt;
The initial steps completed till now are mentioned [https://github.com/servo/servo/wiki/Image-maps-project here].&lt;br /&gt;
&lt;br /&gt;
*Compile Servo and ensure that it runs on tests/html/about-mozilla.html&lt;br /&gt;
*Define an Area enum in htmlareaelement.rs that supports rectangles, circles, and polygons (ie. coordinate representations)&lt;br /&gt;
*Implement constructors for each variant that accept a string argument, parse them into appropriate coordinates, and return an appropriate Area instance&lt;br /&gt;
*Implement a hit_test method on Area that accepts a Point2D&amp;lt;f32&amp;gt; argument and returns true if the point is within the area's coordinates (return false for all polygonal areas)&lt;br /&gt;
*Write tests for the Area constructors and hit tests (add a new htmlareaelement.rs to tests/unit/script/ and run ./mach test-unit -p script)&lt;br /&gt;
*Add a method to HTMLAreaElement that returns an Area value derived from that element's attributes&lt;br /&gt;
&lt;br /&gt;
The subsequent steps are the agenda for the final project:&lt;br /&gt;
*We plan to add a method areas to HTMLImageElement to handle processing of a usemap attribute. The map object is to be obtained consisting all the HTML elements pertaining to the image as defined in the specification. Given the usemap attribute, we aim to retrieve the HTMLMapElement by which we will retrieve HTMLAreaelements (Children elements)&lt;br /&gt;
[[File:Servo 010.png]]&lt;br /&gt;
*We will implement a method for HTMLAreaElement to handle activation behavior as defined in the [https://dom.spec.whatwg.org/#eventtarget-activation-behavior specification]&lt;br /&gt;
*We will implement a method for HTMLImageElement to handle clickable events on the element. This method will use the list of HTMLAreaelements as obtained in the previous steps and the hit test method implemented in the initial steps.&lt;br /&gt;
*To implement a hit test method for Polygons(Extra Credit) we plan to implement the below algorithm:&lt;br /&gt;
&lt;br /&gt;
1) Draw a horizontal line to the right of each point and extend it to infinity &lt;br /&gt;
2) Count the number of times the line intersects with polygon edges. &lt;br /&gt;
3) A point is inside the polygon if either count of intersections is odd or point lies on an edge of polygon. If none of the conditions is true, then point lies outside.&lt;br /&gt;
&lt;br /&gt;
==Design Pattern==&lt;br /&gt;
&lt;br /&gt;
Design patterns are not applicable as our task involved implementing methods in a predefined object, namely HTMLAreaElement.&lt;br /&gt;
&lt;br /&gt;
=== Testing From UI ===&lt;br /&gt;
&lt;br /&gt;
The project after completion should be testable from the UI by handling clickable activities on this test [https://samuknet.github.io/test_cases/imageMap/ link]&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sspatil4</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016/M1652_ImageMap_Support_Servo&amp;diff=105175</id>
		<title>CSC/ECE 517 Fall 2016/M1652 ImageMap Support Servo</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016/M1652_ImageMap_Support_Servo&amp;diff=105175"/>
		<updated>2016-11-10T02:05:50Z</updated>

		<summary type="html">&lt;p&gt;Sspatil4: /* Scope */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;font size=&amp;quot;5&amp;quot;&amp;gt;M1652: Image Map support for Servo&amp;lt;/font&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://html.spec.whatwg.org/multipage/embedded-content.html#image-map] Image maps are an HTML technology that allows treating arbitrary areas in an image as separate hyperlinks. The goal of this project is to implement this missing feature on [https://en.wikipedia.org/wiki/Servo_(layout_engine) Servo].&amp;lt;ref&amp;gt;https://github.com/servo/servo/wiki/Image-maps-project&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
===Servo===&lt;br /&gt;
&lt;br /&gt;
Servo &amp;lt;ref&amp;gt; https://github.com/servo/servo &amp;lt;/ref&amp;gt; is a web browser layout engine written in [https://github.com/rust-lang/rust Rust]&amp;lt;ref&amp;gt;https://github.com/rust-lang/rust&amp;lt;/ref&amp;gt; and is currently being developed by [https://en.wikipedia.org/wiki/Mozilla Mozilla Research]. The aim of the project is to create a highly parallel environment which allows several components to be handled by fine-grained, isolated tasks.&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Servo_(layout_engine)&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Servo is built on top of Rust to provide a secure and reliable foundation and is focused on creating a reliable and fast browser engine.&lt;br /&gt;
&lt;br /&gt;
===Rust===&lt;br /&gt;
&lt;br /&gt;
[https://en.wikipedia.org/wiki/Rust_(programming_language) Rust] is a multi-paradigm, compiled programming language suited to create highly concurrent and highly safe systems. Rust has been developed with an emphasis on safety, control of memory layout, and concurrency. It is a modern, fast, memory-safe and multi-threaded programming language focusing on speed and safety to develop reliable and efficient systems. It eliminates all data races by having numerous compile-time safety checks that adds no runtime overhead.&amp;lt;ref&amp;gt; http://doc.rust-lang.org/nightly/book/README.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Image Maps===&lt;br /&gt;
&amp;quot;In HTML and XHTML, an [https://en.wikipedia.org/wiki/Image_map Image map] is a list of coordinates relating to a specific image, created in order to hyperlink areas of the image to different destinations (as opposed to a normal image link, in which the entire area of the image links to a single destination). Servo currently doesn't support Image maps at the moment.&lt;br /&gt;
&lt;br /&gt;
==Scope==&lt;br /&gt;
The initial steps completed till now are mentioned [https://github.com/servo/servo/wiki/Image-maps-project here].&lt;br /&gt;
&lt;br /&gt;
*Compile Servo and ensure that it runs on tests/html/about-mozilla.html&lt;br /&gt;
*Define an Area enum in htmlareaelement.rs that supports rectangles, circles, and polygons (ie. coordinate representations)&lt;br /&gt;
*Implement constructors for each variant that accept a string argument, parse them into appropriate coordinates, and return an appropriate Area instance&lt;br /&gt;
*Implement a hit_test method on Area that accepts a Point2D&amp;lt;f32&amp;gt; argument and returns true if the point is within the area's coordinates (return false for all polygonal areas)&lt;br /&gt;
*Write tests for the Area constructors and hit tests (add a new htmlareaelement.rs to tests/unit/script/ and run ./mach test-unit -p script)&lt;br /&gt;
*Add a method to HTMLAreaElement that returns an Area value derived from that element's attributes&lt;br /&gt;
&lt;br /&gt;
The subsequent steps are the agenda for the final project:&lt;br /&gt;
*To add a method areas to HTMLImageElement to handle processing of a usemap attribute. The map object is to be obtained consisting all the HTML elements pertaining to the image as defined in the specification.&lt;br /&gt;
[[File:Servo 010.png]]&lt;br /&gt;
*Implement a method for HTMLAreaElement to handle activation behavior as defined in the [https://dom.spec.whatwg.org/#eventtarget-activation-behavior specification]&lt;br /&gt;
*Implement a handle_event method for HTMLImageElement to handle clickable events on the image element&lt;br /&gt;
&lt;br /&gt;
==Design Pattern==&lt;br /&gt;
&lt;br /&gt;
Design patterns are not applicable as our task involved implementing methods in a predefined object, namely HTMLAreaElement.&lt;br /&gt;
&lt;br /&gt;
=== Testing From UI ===&lt;br /&gt;
&lt;br /&gt;
The project after completion should be testable from the UI by handling clickable activities on this test [https://samuknet.github.io/test_cases/imageMap/ link]&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sspatil4</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016&amp;diff=105167</id>
		<title>CSC/ECE 517 Fall 2016</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016&amp;diff=105167"/>
		<updated>2016-11-10T01:58:13Z</updated>

		<summary type="html">&lt;p&gt;Sspatil4: /* Final Project Design Document */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[http://www.example.com link title]==Calibration Assignment Submissions==&lt;br /&gt;
*[[Calibration Assignment Submission (Firebrick JS)]]&lt;br /&gt;
*[[Calibration Assignment Submission (Active Job)]]&lt;br /&gt;
==Writing Assignments 2==&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1666. Test team functionality]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1643. Refactor Suggestion controller]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1631. Refactoring Bidding Interface]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1674.Refactor leaderboard.rb and write unit tests]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1671. Unit Tests for participants.rb Hierarchy]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1668.Test e-mailing functionality]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1658. Refractor lottery_controller.rb and write integration tests]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1660. Review requirements and thresholds]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1650. Sort instructor views alphabetically by default]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1644. Refactor and test Teams Controller]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1645. Refactoring Tree Display Controller]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1659. Refactor on_the_fly_calc.rb]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1657. Introduce a Student View for instructors]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1653. Fix and improve rubric criteria]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1642. Refactor review_response_map.rb]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1633. Refactor different question types from quiz feature]]&lt;br /&gt;
*[[CSC/ECE_517_Fall_2016/E1664:_Feature_Test_Assignment_Creation]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1666. Test team functionality]]&lt;br /&gt;
*[[CSC/ECE_517_Fall_2016/E1654. Improve_date-picker_and_deadlines]]&lt;br /&gt;
*[[CSC/ECE_517_Fall_2016/E1652 Fix teammate advertisements and requests to join a team ]]&lt;br /&gt;
*[[CSC/ECE_517_Fall_2016/E1662. UI issues/fixes]]&lt;br /&gt;
*[[CSC/ECE_517_Fall_2016/E1673. Refactor question_type.rb]]&lt;br /&gt;
*[[CSC/ECE_517_Fall_2016/E1675. Timestamp for student file &amp;amp; hyperlink submissions]]&lt;br /&gt;
*[[CSC/ECE_517_Fall_2016/E1640. Refactor response.rb and response_helper.rb]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1634. Refactor and write unit test of due_date.rb and deadline_helper.rb]]&lt;br /&gt;
*[[CSC/ECE_517_Fall_2016/M1654._Improve_network_security_features]]&lt;br /&gt;
*[[CSC/ECE_517_Fall_2016/E1670._Unit_tests_for_answers.rb]]&lt;br /&gt;
*[[CSC/ECE_517_Fall_2016/E1641. Refactor review_mapping_controller.rb]]&lt;br /&gt;
*[[CSC/ECE_517_Fall_2016/M1652_Implement_ImageMap_Support_Servo]]&lt;br /&gt;
*[[CSC/ECE_517_Fall_2016/E1648/Add_past_due_assignment]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1656. Improve imports]]&lt;br /&gt;
*[[CSC/ECE_517_Fall_2016/M1653_Implement_HTML_form_validation]]&lt;br /&gt;
==Final Project Design Document==&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016 E1696  Improve Self-Review]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016 E1676  Role-based reviewing]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1680. Improve survey functionality]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1693. Drag-and-drop interface for creating rubrics]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1701. Accelerate RSpec testing]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1705. Tracking the time students look at the others' submissions]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1688. Send feedback to support + tree display improvement]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016 E1707: Top trading cycles to exclude previous teammates]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016 E1678: Review configuration options]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016 E1682: Improve score calculation]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016 E1684: Feature Test for Assignment Submission]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016 E1689: Anonymous Chat Between Author and Reviewer]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016 E1703: Logging for Expertiza]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016 E1708: Improvements to staggered-deadline assignments]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016 E1685: UI changes for review and score reports]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/ M1653 Implement HTML form validation]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/ E1700 Integrate Google doc editor/viewer]]&lt;br /&gt;
*[[CSC/ECE_517_Fall_2016/M1652_ImageMap_Support_Servo]]&lt;/div&gt;</summary>
		<author><name>Sspatil4</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016&amp;diff=105166</id>
		<title>CSC/ECE 517 Fall 2016</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016&amp;diff=105166"/>
		<updated>2016-11-10T01:57:46Z</updated>

		<summary type="html">&lt;p&gt;Sspatil4: /* Final Project Design Document */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[http://www.example.com link title]==Calibration Assignment Submissions==&lt;br /&gt;
*[[Calibration Assignment Submission (Firebrick JS)]]&lt;br /&gt;
*[[Calibration Assignment Submission (Active Job)]]&lt;br /&gt;
==Writing Assignments 2==&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1666. Test team functionality]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1643. Refactor Suggestion controller]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1631. Refactoring Bidding Interface]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1674.Refactor leaderboard.rb and write unit tests]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1671. Unit Tests for participants.rb Hierarchy]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1668.Test e-mailing functionality]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1658. Refractor lottery_controller.rb and write integration tests]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1660. Review requirements and thresholds]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1650. Sort instructor views alphabetically by default]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1644. Refactor and test Teams Controller]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1645. Refactoring Tree Display Controller]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1659. Refactor on_the_fly_calc.rb]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1657. Introduce a Student View for instructors]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1653. Fix and improve rubric criteria]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1642. Refactor review_response_map.rb]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1633. Refactor different question types from quiz feature]]&lt;br /&gt;
*[[CSC/ECE_517_Fall_2016/E1664:_Feature_Test_Assignment_Creation]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1666. Test team functionality]]&lt;br /&gt;
*[[CSC/ECE_517_Fall_2016/E1654. Improve_date-picker_and_deadlines]]&lt;br /&gt;
*[[CSC/ECE_517_Fall_2016/E1652 Fix teammate advertisements and requests to join a team ]]&lt;br /&gt;
*[[CSC/ECE_517_Fall_2016/E1662. UI issues/fixes]]&lt;br /&gt;
*[[CSC/ECE_517_Fall_2016/E1673. Refactor question_type.rb]]&lt;br /&gt;
*[[CSC/ECE_517_Fall_2016/E1675. Timestamp for student file &amp;amp; hyperlink submissions]]&lt;br /&gt;
*[[CSC/ECE_517_Fall_2016/E1640. Refactor response.rb and response_helper.rb]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1634. Refactor and write unit test of due_date.rb and deadline_helper.rb]]&lt;br /&gt;
*[[CSC/ECE_517_Fall_2016/M1654._Improve_network_security_features]]&lt;br /&gt;
*[[CSC/ECE_517_Fall_2016/E1670._Unit_tests_for_answers.rb]]&lt;br /&gt;
*[[CSC/ECE_517_Fall_2016/E1641. Refactor review_mapping_controller.rb]]&lt;br /&gt;
*[[CSC/ECE_517_Fall_2016/M1652_Implement_ImageMap_Support_Servo]]&lt;br /&gt;
*[[CSC/ECE_517_Fall_2016/E1648/Add_past_due_assignment]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1656. Improve imports]]&lt;br /&gt;
*[[CSC/ECE_517_Fall_2016/M1653_Implement_HTML_form_validation]]&lt;br /&gt;
==Final Project Design Document==&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016 E1696  Improve Self-Review]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016 E1676  Role-based reviewing]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1680. Improve survey functionality]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1693. Drag-and-drop interface for creating rubrics]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1701. Accelerate RSpec testing]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1705. Tracking the time students look at the others' submissions]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1688. Send feedback to support + tree display improvement]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016 E1707: Top trading cycles to exclude previous teammates]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016 E1678: Review configuration options]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016 E1682: Improve score calculation]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016 E1684: Feature Test for Assignment Submission]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016 E1689: Anonymous Chat Between Author and Reviewer]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016 E1703: Logging for Expertiza]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016 E1708: Improvements to staggered-deadline assignments]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016 E1685: UI changes for review and score reports]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/ M1653 Implement HTML form validation]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/ E1700 Integrate Google doc editor/viewer]]&lt;br /&gt;
*[[CSC/ECE_517_Fall_2016/M1652  Image Map Support]]&lt;/div&gt;</summary>
		<author><name>Sspatil4</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016/M1652_ImageMap_Support_Servo&amp;diff=105163</id>
		<title>CSC/ECE 517 Fall 2016/M1652 ImageMap Support Servo</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016/M1652_ImageMap_Support_Servo&amp;diff=105163"/>
		<updated>2016-11-10T01:55:54Z</updated>

		<summary type="html">&lt;p&gt;Sspatil4: /* Scope */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;font size=&amp;quot;5&amp;quot;&amp;gt;M1652: Image Map support for Servo&amp;lt;/font&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://html.spec.whatwg.org/multipage/embedded-content.html#image-map] Image maps are an HTML technology that allows treating arbitrary areas in an image as separate hyperlinks. The goal of this project is to implement this missing feature on [https://en.wikipedia.org/wiki/Servo_(layout_engine) Servo].&amp;lt;ref&amp;gt;https://github.com/servo/servo/wiki/Image-maps-project&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
===Servo===&lt;br /&gt;
&lt;br /&gt;
Servo &amp;lt;ref&amp;gt; https://github.com/servo/servo &amp;lt;/ref&amp;gt; is a web browser layout engine written in [https://github.com/rust-lang/rust Rust]&amp;lt;ref&amp;gt;https://github.com/rust-lang/rust&amp;lt;/ref&amp;gt; and is currently being developed by [https://en.wikipedia.org/wiki/Mozilla Mozilla Research]. The aim of the project is to create a highly parallel environment which allows several components to be handled by fine-grained, isolated tasks.&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Servo_(layout_engine)&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Servo is built on top of Rust to provide a secure and reliable foundation and is focused on creating a reliable and fast browser engine.&lt;br /&gt;
&lt;br /&gt;
===Rust===&lt;br /&gt;
&lt;br /&gt;
[https://en.wikipedia.org/wiki/Rust_(programming_language) Rust] is a multi-paradigm, compiled programming language suited to create highly concurrent and highly safe systems. Rust has been developed with an emphasis on safety, control of memory layout, and concurrency. It is a modern, fast, memory-safe and multi-threaded programming language focusing on speed and safety to develop reliable and efficient systems. It eliminates all data races by having numerous compile-time safety checks that adds no runtime overhead.&amp;lt;ref&amp;gt; http://doc.rust-lang.org/nightly/book/README.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Image Maps===&lt;br /&gt;
&amp;quot;In HTML and XHTML, an [https://en.wikipedia.org/wiki/Image_map Image map] is a list of coordinates relating to a specific image, created in order to hyperlink areas of the image to different destinations (as opposed to a normal image link, in which the entire area of the image links to a single destination). Servo currently doesn't support Image maps at the moment.&lt;br /&gt;
&lt;br /&gt;
==Scope==&lt;br /&gt;
The initial steps completed till now are mentioned [https://github.com/servo/servo/wiki/Image-maps-project here].&lt;br /&gt;
&lt;br /&gt;
*Compile Servo and ensure that it runs on tests/html/about-mozilla.html&lt;br /&gt;
*Define an Area enum in htmlareaelement.rs that supports rectangles, circles, and polygons (ie. coordinate representations)&lt;br /&gt;
*Implement constructors for each variant that accept a string argument, parse them into appropriate coordinates, and return an appropriate Area instance&lt;br /&gt;
*Implement a hit_test method on Area that accepts a Point2D&amp;lt;f32&amp;gt; argument and returns true if the point is within the area's coordinates (return false for all polygonal areas)&lt;br /&gt;
*Write tests for the Area constructors and hit tests (add a new htmlareaelement.rs to tests/unit/script/ and run ./mach test-unit -p script)&lt;br /&gt;
*Add a method to HTMLAreaElement that returns an Area value derived from that element's attributes&lt;br /&gt;
&lt;br /&gt;
The subsequent steps are the agenda for the final project:&lt;br /&gt;
*To add a method areas to HTMLImageElement to handle processing of a usemap attribute&lt;br /&gt;
[[File:Servo 010.png]]&lt;br /&gt;
*Implement a method for HTMLAreaElement to handle activation behavior as defined in the [https://dom.spec.whatwg.org/#eventtarget-activation-behavior specification]&lt;br /&gt;
*Implement a handle_event method for HTMLImageElement to handle clickable events on the image element&lt;br /&gt;
&lt;br /&gt;
==Design Pattern==&lt;br /&gt;
&lt;br /&gt;
Design patterns are not applicable as our task involved implementing methods in a predefined object, namely HTMLAreaElement.&lt;br /&gt;
&lt;br /&gt;
=== Testing From UI ===&lt;br /&gt;
&lt;br /&gt;
The project after completion should be testable from the UI by handling clickable activities on this test [https://samuknet.github.io/test_cases/imageMap/ link]&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sspatil4</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016/M1652_ImageMap_Support_Servo&amp;diff=105162</id>
		<title>CSC/ECE 517 Fall 2016/M1652 ImageMap Support Servo</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016/M1652_ImageMap_Support_Servo&amp;diff=105162"/>
		<updated>2016-11-10T01:55:28Z</updated>

		<summary type="html">&lt;p&gt;Sspatil4: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;font size=&amp;quot;5&amp;quot;&amp;gt;M1652: Image Map support for Servo&amp;lt;/font&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://html.spec.whatwg.org/multipage/embedded-content.html#image-map] Image maps are an HTML technology that allows treating arbitrary areas in an image as separate hyperlinks. The goal of this project is to implement this missing feature on [https://en.wikipedia.org/wiki/Servo_(layout_engine) Servo].&amp;lt;ref&amp;gt;https://github.com/servo/servo/wiki/Image-maps-project&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
===Servo===&lt;br /&gt;
&lt;br /&gt;
Servo &amp;lt;ref&amp;gt; https://github.com/servo/servo &amp;lt;/ref&amp;gt; is a web browser layout engine written in [https://github.com/rust-lang/rust Rust]&amp;lt;ref&amp;gt;https://github.com/rust-lang/rust&amp;lt;/ref&amp;gt; and is currently being developed by [https://en.wikipedia.org/wiki/Mozilla Mozilla Research]. The aim of the project is to create a highly parallel environment which allows several components to be handled by fine-grained, isolated tasks.&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Servo_(layout_engine)&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Servo is built on top of Rust to provide a secure and reliable foundation and is focused on creating a reliable and fast browser engine.&lt;br /&gt;
&lt;br /&gt;
===Rust===&lt;br /&gt;
&lt;br /&gt;
[https://en.wikipedia.org/wiki/Rust_(programming_language) Rust] is a multi-paradigm, compiled programming language suited to create highly concurrent and highly safe systems. Rust has been developed with an emphasis on safety, control of memory layout, and concurrency. It is a modern, fast, memory-safe and multi-threaded programming language focusing on speed and safety to develop reliable and efficient systems. It eliminates all data races by having numerous compile-time safety checks that adds no runtime overhead.&amp;lt;ref&amp;gt; http://doc.rust-lang.org/nightly/book/README.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Image Maps===&lt;br /&gt;
&amp;quot;In HTML and XHTML, an [https://en.wikipedia.org/wiki/Image_map Image map] is a list of coordinates relating to a specific image, created in order to hyperlink areas of the image to different destinations (as opposed to a normal image link, in which the entire area of the image links to a single destination). Servo currently doesn't support Image maps at the moment.&lt;br /&gt;
&lt;br /&gt;
==Scope==&lt;br /&gt;
The initial steps completed till now are mentioned [https://github.com/servo/servo/wiki/Image-maps-project here].&lt;br /&gt;
&lt;br /&gt;
*Compile Servo and ensure that it runs on tests/html/about-mozilla.html&lt;br /&gt;
*Define an Area enum in htmlareaelement.rs that supports rectangles, circles, and polygons (ie. coordinate representations)&lt;br /&gt;
*Implement constructors for each variant that accept a string argument, parse them into appropriate coordinates, and return an appropriate Area instance&lt;br /&gt;
*Implement a hit_test method on Area that accepts a Point2D&amp;lt;f32&amp;gt; argument and returns true if the point is within the area's coordinates (return false for all polygonal areas)&lt;br /&gt;
*Write tests for the Area constructors and hit tests (add a new htmlareaelement.rs to tests/unit/script/ and run ./mach test-unit -p script)&lt;br /&gt;
*Add a method to HTMLAreaElement that returns an Area value derived from that element's attributes&lt;br /&gt;
&lt;br /&gt;
The subsequent steps are the agenda for the final project:&lt;br /&gt;
*To add a method areas to HTMLImageElement to handle processing of a usemap attribute&lt;br /&gt;
[[File:Servo_10.png]]&lt;br /&gt;
*Implement a method for HTMLAreaElement to handle activation behavior as defined in the [https://dom.spec.whatwg.org/#eventtarget-activation-behavior specification]&lt;br /&gt;
*Implement a handle_event method for HTMLImageElement to handle clickable events on the image element&lt;br /&gt;
&lt;br /&gt;
==Design Pattern==&lt;br /&gt;
&lt;br /&gt;
Design patterns are not applicable as our task involved implementing methods in a predefined object, namely HTMLAreaElement.&lt;br /&gt;
&lt;br /&gt;
=== Testing From UI ===&lt;br /&gt;
&lt;br /&gt;
The project after completion should be testable from the UI by handling clickable activities on this test [https://samuknet.github.io/test_cases/imageMap/ link]&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sspatil4</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=File:Servo_010.png&amp;diff=105157</id>
		<title>File:Servo 010.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=File:Servo_010.png&amp;diff=105157"/>
		<updated>2016-11-10T01:52:46Z</updated>

		<summary type="html">&lt;p&gt;Sspatil4: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Sspatil4</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016/M1652_ImageMap_Support_Servo&amp;diff=105138</id>
		<title>CSC/ECE 517 Fall 2016/M1652 ImageMap Support Servo</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016/M1652_ImageMap_Support_Servo&amp;diff=105138"/>
		<updated>2016-11-10T01:33:36Z</updated>

		<summary type="html">&lt;p&gt;Sspatil4: Initial Draft&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;font size=&amp;quot;5&amp;quot;&amp;gt;M1652: Image Map support for Servo&amp;lt;/font&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://html.spec.whatwg.org/multipage/embedded-content.html#image-map] Image maps are an HTML technology that allows treating arbitrary areas in an image as separate hyperlinks. The goal of this project is to implement this missing feature on [https://en.wikipedia.org/wiki/Servo_(layout_engine) Servo].&amp;lt;ref&amp;gt;https://github.com/servo/servo/wiki/Image-maps-project&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
===Servo===&lt;br /&gt;
&lt;br /&gt;
Servo &amp;lt;ref&amp;gt; https://github.com/servo/servo &amp;lt;/ref&amp;gt; is a web browser layout engine written in [https://github.com/rust-lang/rust Rust]&amp;lt;ref&amp;gt;https://github.com/rust-lang/rust&amp;lt;/ref&amp;gt; and is currently being developed by [https://en.wikipedia.org/wiki/Mozilla Mozilla Research]. The aim of the project is to create a highly parallel environment which allows several components to be handled by fine-grained, isolated tasks.&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Servo_(layout_engine)&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Servo is built on top of Rust to provide a secure and reliable foundation and is focused on creating a reliable and fast browser engine.&lt;br /&gt;
&lt;br /&gt;
===Rust===&lt;br /&gt;
&lt;br /&gt;
[https://en.wikipedia.org/wiki/Rust_(programming_language) Rust] is a multi-paradigm, compiled programming language suited to create highly concurrent and highly safe systems. Rust has been developed with an emphasis on safety, control of memory layout, and concurrency. It is a modern, fast, memory-safe and multi-threaded programming language focusing on speed and safety to develop reliable and efficient systems. It eliminates all data races by having numerous compile-time safety checks that adds no runtime overhead.&amp;lt;ref&amp;gt; http://doc.rust-lang.org/nightly/book/README.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Image Maps===&lt;br /&gt;
&amp;quot;In HTML and XHTML, an [https://en.wikipedia.org/wiki/Image_map Image map] is a list of coordinates relating to a specific image, created in order to hyperlink areas of the image to different destinations (as opposed to a normal image link, in which the entire area of the image links to a single destination). Servo currently doesn't support Image maps at the moment.&lt;br /&gt;
&lt;br /&gt;
==Scope==&lt;br /&gt;
The initial steps completed till now are mentioned [https://github.com/servo/servo/wiki/Image-maps-project here].&lt;br /&gt;
&lt;br /&gt;
*Compile Servo and ensure that it runs on tests/html/about-mozilla.html&lt;br /&gt;
*Define an Area enum in htmlareaelement.rs that supports rectangles, circles, and polygons (ie. coordinate representations)&lt;br /&gt;
*Implement constructors for each variant that accept a string argument, parse them into appropriate coordinates, and return an appropriate Area instance&lt;br /&gt;
*Implement a hit_test method on Area that accepts a Point2D&amp;lt;f32&amp;gt; argument and returns true if the point is within the area's coordinates (return false for all polygonal areas)&lt;br /&gt;
*Write tests for the Area constructors and hit tests (add a new htmlareaelement.rs to tests/unit/script/ and run ./mach test-unit -p script)&lt;br /&gt;
*Add a method to HTMLAreaElement that returns an Area value derived from that element's attributes&lt;br /&gt;
&lt;br /&gt;
The subsequent steps are the agenda for the final project:&lt;br /&gt;
*To add a method areas to HTMLImageElement to handle processing of a usemap attribute&lt;br /&gt;
*Implement a method for HTMLAreaElement to handle activation behavior as defined in the [https://dom.spec.whatwg.org/#eventtarget-activation-behavior specification]&lt;br /&gt;
*Implement a handle_event method for HTMLImageElement to handle clickable events on the image element&lt;br /&gt;
&lt;br /&gt;
==Design Pattern==&lt;br /&gt;
&lt;br /&gt;
Design patterns are not applicable as our task involved implementing methods in a predefined object, namely HTMLAreaElement.&lt;br /&gt;
&lt;br /&gt;
=== Testing From UI ===&lt;br /&gt;
&lt;br /&gt;
The project after completion should be testable from the UI by handling clickable activities on this test [https://samuknet.github.io/test_cases/imageMap/ link]&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sspatil4</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016/M1652_Implement_ImageMap_Support_Servo&amp;diff=103927</id>
		<title>CSC/ECE 517 Fall 2016/M1652 Implement ImageMap Support Servo</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016/M1652_Implement_ImageMap_Support_Servo&amp;diff=103927"/>
		<updated>2016-10-29T05:32:29Z</updated>

		<summary type="html">&lt;p&gt;Sspatil4: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;font size=&amp;quot;5&amp;quot;&amp;gt;M1652: Implement HTML Image Map support for Servo&amp;lt;/font&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://html.spec.whatwg.org/multipage/embedded-content.html#image-map] Image maps are an HTML technology that allows treating arbitrary areas in an image as separate hyperlinks. The goal of this project is to implement this missing feature on [https://en.wikipedia.org/wiki/Servo_(layout_engine) Servo].&amp;lt;ref&amp;gt;https://github.com/servo/servo/wiki/Image-maps-project&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
===Servo===&lt;br /&gt;
&lt;br /&gt;
Servo &amp;lt;ref&amp;gt; https://github.com/servo/servo &amp;lt;/ref&amp;gt; is a web browser layout engine written in [https://github.com/rust-lang/rust Rust]&amp;lt;ref&amp;gt;https://github.com/rust-lang/rust&amp;lt;/ref&amp;gt; and is currently being developed by [https://en.wikipedia.org/wiki/Mozilla Mozilla Research]. The aim of the project is to create a highly parallel environment which allows several components to be handled by fine-grained, isolated tasks.&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Servo_(layout_engine)&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Servo is built on top of Rust to provide a secure and reliable foundation and is focused on creating a reliable and fast browser engine.&lt;br /&gt;
&lt;br /&gt;
===Rust===&lt;br /&gt;
&lt;br /&gt;
[https://en.wikipedia.org/wiki/Rust_(programming_language) Rust] is a multi-paradigm, compiled programming language suited to create highly concurrent and highly safe systems. Rust has been developed with an emphasis on safety, control of memory layout, and concurrency. It is a modern, fast, memory-safe and multi-threaded programming language focusing on speed and safety to develop reliable and efficient systems. It eliminates all data races by having numerous compile-time safety checks that adds no runtime overhead.&amp;lt;ref&amp;gt; http://doc.rust-lang.org/nightly/book/README.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Image Maps===&lt;br /&gt;
&amp;quot;In HTML and XHTML, an [https://en.wikipedia.org/wiki/Image_map Image map] is a list of coordinates relating to a specific image, created in order to hyperlink areas of the image to different destinations (as opposed to a normal image link, in which the entire area of the image links to a single destination). Servo currently doesn't support Image maps at the moment.&lt;br /&gt;
&lt;br /&gt;
==Scope==&lt;br /&gt;
The scope of the project was to complete the initial steps mentioned [https://github.com/servo/servo/wiki/Image-maps-project here].&lt;br /&gt;
&lt;br /&gt;
The steps are as follows:&lt;br /&gt;
*Compile Servo and ensure that it runs on tests/html/about-mozilla.html&lt;br /&gt;
*Define an Area enum in htmlareaelement.rs that supports rectangles, circles, and polygons (ie. coordinate representations)&lt;br /&gt;
*Implement constructors for each variant that accept a string argument, parse them into appropriate coordinates, and return an appropriate Area instance&lt;br /&gt;
*Implement a hit_test method on Area that accepts a Point2D&amp;lt;f32&amp;gt; argument and returns true if the point is within the area's coordinates (return false for all polygonal areas)&lt;br /&gt;
*Write tests for the Area constructors and hit tests (add a new htmlareaelement.rs to tests/unit/script/ and run ./mach test-unit -p script)&lt;br /&gt;
*Add a method to HTMLAreaElement that returns an Area value derived from that element's attributes&lt;br /&gt;
&lt;br /&gt;
The subsequent steps mentioned [https://github.com/servo/servo/wiki/Image-maps-project here] are the agenda for the final project.&lt;br /&gt;
&lt;br /&gt;
==Design Pattern==&lt;br /&gt;
&lt;br /&gt;
Design patterns are not applicable as our task involved implementing methods in a predefined object, namely HTMLAreaElement.&lt;br /&gt;
&lt;br /&gt;
==Implementation==&lt;br /&gt;
&lt;br /&gt;
The following steps were followed to meet the project requirements: [https://github.com/servo/servo/wiki/Image-maps-project].&lt;br /&gt;
&lt;br /&gt;
===Step 1===&lt;br /&gt;
&lt;br /&gt;
In order to enable image maps support, an Area enum needed to be defined in &amp;quot;htmlareaelement.rs&amp;quot; to support shapes such as rectangles, circles, and polygons by mapping its coordinate representations.&lt;br /&gt;
&lt;br /&gt;
[[File:Servo_1.png]]&lt;br /&gt;
&lt;br /&gt;
===Step 2===&lt;br /&gt;
&lt;br /&gt;
Constructors were implemented for each variant that accept a string argument, [https://html.spec.whatwg.org/multipage/infrastructure.html#rules-for-parsing-a-list-of-floating-point-numbers parse them into appropriate coordinates], and return an appropriate Area instance. Different combinations of coordinates were analysed to specifically assess objects based on the input string.&lt;br /&gt;
&lt;br /&gt;
[[File:Servo_002.png]]&amp;lt;br /&amp;gt;&lt;br /&gt;
[[File:Servo_004.png]]&amp;lt;br /&amp;gt;&lt;br /&gt;
[[File:Servo_005.png]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Step 3===&lt;br /&gt;
&lt;br /&gt;
A hit_test method was implemented for the Area enum that would accept a Point2D&amp;lt;f32&amp;gt; argument and return true if the point is within the area's coordinates specifically for circle and rectangle and else return false for all polygonal areas.&lt;br /&gt;
[[File:Servo_006.png]]&lt;br /&gt;
&lt;br /&gt;
===Step 4===&lt;br /&gt;
&lt;br /&gt;
A method, getshapefromcoords, was added to HTMLAreaElement that returns an Area value derived from that element's attributes.&lt;br /&gt;
[[File:Servo_007.png]]&lt;br /&gt;
&lt;br /&gt;
== Testing ==&lt;br /&gt;
&lt;br /&gt;
Test cases were implemented for testing the Area enum and the hit test functionality. Following are the steps to run all the tests:&lt;br /&gt;
&lt;br /&gt;
# Install the pre-requisites required for servo as mentioned [https://github.com/servo/servo/blob/master/README.md here] &lt;br /&gt;
# Run the following commands to clone the repository and run the tests&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 git clone https://github.com/shravan-achar/servo.git&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 cd servo&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 git checkout master&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To run the test cases&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 ./mach test-unit -p script&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The above command will download and compile the dependencies and the test cases. You will see that all tests pass as expected (Testcases are prefixed by HTMLAreaElement)&lt;br /&gt;
&lt;br /&gt;
=== Testing From UI ===&lt;br /&gt;
&lt;br /&gt;
At this stage, the project cannot be tested from the UI since the complete code has not been developed for image map support. However a check can be done as a test page is run successfully on servo after performing the build as mentioned above.&lt;br /&gt;
&lt;br /&gt;
Run the following command after the project is build: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 ./mach run tests/html/about-mozilla.html&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Pull Request==&lt;br /&gt;
Here is our [https://github.com/servo/servo/pull/13972 pull request]. In the link you can see all code snippets changed due to implementing the above steps, as well as integration test progression information.&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sspatil4</name></author>
	</entry>
</feed>