**Summary:**
web browser that keeps history in memory (up to X pages, where X depends on memory available on machine). There are a few goals:
1) go to previous page (back button) faster than by re-rendering the page
2) remember state of page when going back (i.e. scroll bar position, if javascript caused page state to change, state will be remembered)
2) be able to view pages recently visited without internet connnection
**Details:**There are no multiple windows in this browser. Actually each page is a separate "window", and is like a maximized window inside MDI interface. Pressing back button simply switches to the previously visible window, if you want to think of it in these terms. If a page specifies a link to be opened in a popup, this browser will still treat it the same. Specifying size of windows will be ignored, for example when calling [login to view URL] url,'name','height=190,width=520,top=200,left=300'); Also, needs to be able to pause/freeze all events on a page when the page is not visible (should not consume CPU). If possible should freeze flash plugins, etc. as well as javascript.
**
Implementation:**Should use a layout engine freely available, like IE/trident or firefox/gecko. Code for implementing most browser functionality should be available for free (please no GPL code). If there's open source browser that can be used and modified, this is an option. NOTE: this is only a proof of concept, so it doesn't need to have all browser features implemented, only back/forward + dropdown for selecting page in history.
**
Language:
**I would prefer it written in C#. If you feel .NET is not the right platform for this, please explain reasons and suggest another language that you would prefer to use.
## Deliverables
1) Complete and fully-functional working program(s) in executable form as well as complete source code of all work done.
2) Deliverables must be in ready-to-run condition, as follows (depending on the nature of the deliverables):
a) For web sites or other server-side deliverables intended to only ever exist in one place in the Buyer's environment--Deliverables must be installed by the Seller in ready-to-run condition in the Buyer's environment.
b) For all others including desktop software or software the buyer intends to distribute: A software installation package that will install the software in ready-to-run condition on the platform(s) specified in this bid request.
3) All deliverables will be considered "work made for hire" under U.S. Copyright law. Buyer will receive exclusive and complete copyrights to all work purchased. (No GPL, GNU, 3rd party components, etc. unless all copyright ramifications are explained AND AGREED TO by the buyer on the site per the coder's Seller Legal Agreement).
## Platform
Should run on Windows.