High performant and high fidelity previews for CSS preprocessing frameworks

US9632991B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9632991-B2
Application numberUS-201414486773-A
CountryUS
Kind codeB2
Filing dateSep 15, 2014
Priority dateSep 15, 2014
Publication dateApr 25, 2017
Grant dateApr 25, 2017

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

In various embodiments, methods, systems, and non-transitory computer-readable media are disclosed that allow allows developers of user interfaces to see quick and accurate previews after changing content that needs to be processed via a cascading style sheet (CSS) framework such as LESS, SASS, or Trinidad. These frameworks typically take a significant period of time to transform their framework code into CSS.

First claim

Opening claim text (preview).

What is claimed is: 1. A method comprising: receiving, at one or more computer systems, a first change to a portion of source code written in a cascading style sheet (CSS) preprocessor language; identifying, with one or more processors associated with the one or more computer systems, a partition associated with the first change, the identified partition selected from a plurality of partitions generated from the source code; determining, with the one or more processors associated with the one or more computer systems, whether the identified partition requires processing using a CSS preprocessor; generating, with the one or more processors associated with the one or more computer systems, a first result in response to applying the CSS preprocessor to the identified partition with the first change when the identified partition requires processing using the CSS preprocessor; generating, with the one or more processors associated with the one or more computer systems, a second result in response to applying one or more operations that do not require the CSS preprocessor to the identified partition with the first change when the identified partition does not require processing using the CSS preprocessor; generating, with the one or more processors associated with the one or more computer systems, an instruction to a client device indicating how to apply the one or more operations to obtain the second result when the identified partition does not require processing using the CSS preprocessor; sending, with the one or more processors associated with the one or more computer systems, the first result to the client device when the identified partition requires processing using the CSS preprocessor; and sending, with the one or more processors associated with the one or more computer systems, the second result and the instruction to the client device when the identified partition does not require processing using the CSS preprocessor such that a similar future change within the identified partition can be computed by the client device using the instruction without having to use the CSS preprocessor. 2. The method of claim 1 , wherein identifying, with the one or more processors associated with the one or more computer systems, the partition associated with the first change comprises receiving information identifying the partition from a client device. 3. The method of claim 1 , wherein determining, with the one or more processors associated with the one or more computer systems, whether the identified partition requires processing using the CSS preprocessor comprises determining whether the identified partition is sufficiently normalized to exclude elements written in the CSS preprocessor language. 4. The method of claim 1 , wherein generating, with the one or more processors associated with the one or more computer systems, the first result comprises: sending the identified partition to the CSS preprocessor; and receiving base CSS code from the CSS preprocessor. 5. A computer program product embodied on a non-transitory computer-readable medium which when executed by the one or more processors associated with the one or more computer systems cause the one or more processors to implement the method of claim 1 . 6. A system comprising a non-transitory memory storing a set of instructions which when executed by the one or more processors associated with the one or more computer systems cause the one or more processors to implement the method of claim 1 . 7. The method of claim 1 , further comprising: receiving, at the one or more computer systems, the source code written in CSS preprocessor language; generating, with the one or more processors associated with the one or more computer systems, CSS data based on processing the source code with the CSS preprocessor; and storing the CSS data in a storage device associated with the one or more computer systems. 8. The method of claim 1 , further comprising: receiving, at the one or more computer systems, the source code written in CSS preprocessor language; and segmenting, with the one or more processors associated with the one or more computer systems, the source code into the plurality of partitions. 9. The method of claim 8 , wherein segmenting, with the one or more processors associated with the one or more computer systems, the source code into the plurality of partitions comprises: determining, with the one or more processors associated with the one or more computer systems, an order for each partition in the plurality of partitions; wherein the first result or the second result is applied according to the order of the identified partition in the plurality of partitions. 10. The method of claim 8 , wherein segmenting, with the one or more processors associated with the one or more computer systems, the source code into the plurality of partitions comprises: determining, with the one or more processors associated with the one or more computer systems, a set of dependencies for one or more tokens in the source code; and creating a partition using the one or more token and the set of dependencies. 11. The method of claim 8 , wherein segmenting, with the one or more processors associated with the one or more computer systems, the source code into the plurality of partitions comprises: determining, with the one or more processors associated with the one or more computer systems, usage of one or more tokens in the source code; and creating a partition using the one or more token and usage of the one or more tokens. 12. The method of claim 8 wherein segmenting, with the one or more processors associated with the one or more computer systems, the source code into the plurality of partitions comprises: determining, with the one or more processors associated with the one or more computer systems, a location of each of one or more tokens in the source code; recording the location of each of the one or more tokens; wherein identifying, with the one or more processors associated with the one or more computer systems, the partition associated with the first change comprises determining the recorded location of a token changed in the portion of the source code. 13. A non-transitory computer-readable medium storing a computer program product having a set of instructions which when executed by one or more processors associated with one or more computer systems cause the one or more processors to: receive first cascading style sheet (CSS) data generated from source code using a CSS preprocessor; style one or more user interface elements using the CSS data; receive a change to style information associated with at least one of the one or more user interface elements; determine a partition of the source code affected by the change to style information; inject second CSS data generated using the CSS preprocessor into the first CSS data in response to requesting the second CSS data from a service that hosts the CSS preprocessor when an instruction is absent indicating how to apply one or more operations to a portion of the source code affected by the change; and inject third CSS data generated by applying one or more operations that do not require the CSS preprocessor to the portion of the source code affected by the change into the first CSS data when the instruction is not absent or in response to receiving the instruction from the service, wherein the instruction is received from the service when the identified partition is sufficiently normalized to exclude elements written in a language of the CSS preprocessor such that the third CSS data can be generated by the client device using the instruction

Assignees

Inventors

Classifications

  • G06F40/106Primary

    Display of layout of documents; Previewing · CPC title

  • Preprocessors · CPC title

  • Pagination · CPC title

  • G06F40/154Primary

    Tree transformation for tree-structured or markup documents, e.g. XSLT, XSL-FO or stylesheets · CPC title

  • based on web technology, e.g. hypertext transfer protocol [HTTP] · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9632991B2 cover?
In various embodiments, methods, systems, and non-transitory computer-readable media are disclosed that allow allows developers of user interfaces to see quick and accurate previews after changing content that needs to be processed via a cascading style sheet (CSS) framework such as LESS, SASS, or Trinidad. These frameworks typically take a significant period of time to transform their framewor…
Who is the assignee on this patent?
Oracle Int Corp
What technology area does this patent fall under?
Primary CPC classification G06F40/106. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Apr 25 2017 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 4 related publications on this page (citations in our corpus or others sharing the same primary CPC).