Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Optimise Element.hasHoverStyle() #89

Open
hrj opened this issue Jan 23, 2015 · 3 comments
Open

Optimise Element.hasHoverStyle() #89

hrj opened this issue Jan 23, 2015 · 3 comments

Comments

@hrj
Copy link
Member

hrj commented Jan 23, 2015

Whenever mouse is hovered over an element, it and its descendants are invalidated.

This is extremely inefficient.

@hrj hrj self-assigned this Jan 23, 2015
@hrj hrj added this to the 0.4 milestone Jan 23, 2015
hrj added a commit that referenced this issue Feb 1, 2015
commit b391951a8588de6a844bc70921b3663b25555621
Author: hrj <harshad.rj@gmail.com>
Date:   Tue Jan 27 00:35:06 2015 +0530

    manual squashed rebase of temp/jsUgly on sprint0.4b

    diff between sprint0.4b and temp/jsUgly applied manually

commit 5655f96
Author: hrj <harshad.rj@gmail.com>
Date:   Mon Jan 26 23:46:38 2015 +0530

    JS: better matching of methods and arguments

commit 27e9398
Author: hrj <harshad.rj@gmail.com>
Date:   Mon Jan 26 22:02:19 2015 +0530

    [minor] JavaFunctionObject: disambiguate method name and class name

commit acf1fc8
Author: hrj <harshad.rj@gmail.com>
Date:   Mon Jan 26 21:39:21 2015 +0530

    minor: return idiomatic value for JavaFunctionObject.getClassName

commit 59b1bfa
Author: hrj <harshad.rj@gmail.com>
Date:   Mon Jan 26 21:19:38 2015 +0530

    JS: Treat a method as a setter only if it has a void return type

commit a9607e4
Author: hrj <harshad.rj@gmail.com>
Date:   Mon Jan 26 21:18:13 2015 +0530

    Ability to hide functions from JS

commit 5948d8a
Author: hrj <harshad.rj@gmail.com>
Date:   Mon Jan 26 00:33:21 2015 +0530

    minor refactor

commit 89aef31
Author: hrj <harshad.rj@gmail.com>
Date:   Sun Jan 25 17:47:25 2015 +0530

    minor: fixed compile errors (missing imports)

commit ee358dd
Author: hrj <harshad.rj@gmail.com>
Date:   Sat Jan 24 00:16:00 2015 +0530

    set empty user agent strings and removed non standard method

commit bec5e04
Author: hrj <harshad.rj@gmail.com>
Date:   Sat Jan 24 00:15:02 2015 +0530

    define the default form encoding

commit eb0a83e
Author: hrj <harshad.rj@gmail.com>
Date:   Sat Jan 24 00:12:50 2015 +0530

    set the property name for HTMLTableElementImpl.getTBodies

commit 683b28f
Author: hrj <harshad.rj@gmail.com>
Date:   Fri Jan 23 23:37:59 2015 +0530

    For #88, Implement the Parent Node API

    This is a temporary workaround. A better approach is to create an interface for ParentNode and add default methods if possible.

commit 1615fa3
Author: hrj <harshad.rj@gmail.com>
Date:   Fri Jan 23 23:32:06 2015 +0530

    support for alt post data

commit fb8e3c9
Author: hrj <harshad.rj@gmail.com>
Date:   Fri Jan 23 19:36:28 2015 +0530

    Fetch cookies before checking in Request Manager

    This avoids incrementing the count of cookies in request manager when
    there are no cookies for that request.

    However, the count of cookies is not perfectly correct yet:
    * Multiple cookies on the request are counted as one.
    * The cookies are not checked for uniqueness

commit 4b50915
Author: hrj <harshad.rj@gmail.com>
Date:   Fri Jan 23 18:02:00 2015 +0530

    Change the time when cookies are added to the request

    This corrects the behavior for POST requests

commit d331199
Author: hrj <harshad.rj@gmail.com>
Date:   Fri Jan 23 15:02:24 2015 +0530

    minor formatting

commit f95f272
Author: hrj <harshad.rj@gmail.com>
Date:   Fri Jan 23 15:00:30 2015 +0530

    return upper case tag names

commit c35ab4e
Author: hrj <harshad.rj@gmail.com>
Date:   Fri Jan 23 14:47:16 2015 +0530

    Pump up the default font size

commit 6ad319a
Author: hrj <harshad.rj@gmail.com>
Date:   Fri Jan 23 14:29:58 2015 +0530

    minor: pretty print background info

commit 29d71e9
Author: hrj <harshad.rj@gmail.com>
Date:   Fri Jan 23 14:29:23 2015 +0530

    templates for hasHoverStyle

    Relevant to #89

commit 32623b7
Author: hrj <harshad.rj@gmail.com>
Date:   Fri Jan 23 14:18:00 2015 +0530

    added a TODO

commit 8b7efb5
Author: hrj <harshad.rj@gmail.com>
Date:   Fri Jan 23 14:17:51 2015 +0530

    for #88: DocumentFragmentImpl implements ParentNode methods

    This is a temporary workaround.

    Better solution would be to extend from NodeImpl and create a ParentNode
    interface with default methods.

commit 04c6e63
Author: hrj <harshad.rj@gmail.com>
Date:   Fri Jan 23 13:53:02 2015 +0530

    implement Element getClassList()

commit 975faf9
Author: hrj <harshad.rj@gmail.com>
Date:   Fri Jan 16 00:31:13 2015 +0530

    readme: grammar correction
@hrj hrj changed the title Optimise Element.hasHoverStye() Optimise Element.hasHoverStyle() Feb 7, 2015
hrj added a commit to hrj/gngr that referenced this issue Feb 8, 2015
@hrj
Copy link
Member Author

hrj commented Feb 28, 2015

Raised an upstream request to help with this.

@hrj
Copy link
Member Author

hrj commented Jul 19, 2015

First round of optimisation is done.

More optimisations are possible:

  1. Cache the result of hasHoverStyle()
  2. Cache the boolean: descendant has hover styles.

@hrj
Copy link
Member Author

hrj commented Jul 19, 2015

See also #121

@hrj hrj modified the milestones: 0.5, 0.4 Aug 5, 2015
@hrj hrj removed their assignment Aug 5, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant