Question: Microsoft's [application](http://appft1.uspto.gov/netacgi/nph-Parser?Sect1=PTO1&Sect2=HITOFF&d=PG01&p=1&u=/netahtml/PTO/srchnum.html&r=1&f=G&l=50&s1=20120110437.PGNR.) aims to patent:

> 
> Methods and systems for style and/or layout caching of Web content are
> usable to build reusable style caching trees and cacheable layout
> calculations. Such style caching trees may be used to avoid
> recalculating style content of Web pages for document object model
> (DOM) elements that have not changed. Additionally, the cacheable
> layout calculations may be used to avoid recalculating the layout
> content of Web pages that are subsequently accessed.
> 
> 
> 

Claim 1 is:

> 
> A computer-implemented method comprising: performed by one or more processors executing computer-readable instructions:
> 
> 
> * receiving a Web page file;
> * parsing the Web page file to create a document object model (DOM) tree comprising DOM tree nodes;
> * constructing a style caching tree comprising structure information of the DOM tree;
> * storing the style caching tree in a memory;
> * constructing a render tree comprising render objects based at least in part on the structure information of the DOM tree;
> * performing a layout calculation for render objects;
> * and storing the layout calculation results in the memory.
> 
> 
> 

Can prior art be demonstrated from the WebKit and Gecko source trees from several years ago?

Answer: 
One could argue there is prior art from the server-side "widget" cache of phpNuke

The term cache can be ambigous. The browser stores the page in memory (since Netscape 1.0 or earlier ), which is a form of cache.

Additionally, modifying DOM nodes without re-rendering the whole page has been done for a long time. Certainly before 2010 that Microsoft are suggesting in the patent.
There may be prior art inherent in the product of the late, lamented [FineGround](http://www.networkworld.com/reviews/2001/0611revside.html).

The product was a reverse proxy you could put in front of your web site to improve performance for end users. In addition to stuff like caching gzipped copies of images, it could analyze HTML pages, determine which parts changed on subsequent loads and which didn't, and inject JavaScript into the page so that end browsers would cache most of the page and only reload the changes from the server.