Ignore:
Timestamp:
Jul 21, 2006, 11:50:24 AM (19 years ago)
Author:
ggaren
Message:

JavaScriptCore:

Reviewed by Darin.

  • Added support for strings that masquerade as undefined. Currently used by WebCore to implement undetectable style.filter.


The name is a little long, but it's only used in one line of code, so I
thought clarity should win over brevity.

  • JavaScriptCore.exp:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • kjs/object.h:
  • kjs/string_object.h: (KJS::StringInstanceThatMasqueradesAsUndefined::StringInstanceThatMasqueradesAsUndefined): (KJS::StringInstanceThatMasqueradesAsUndefined::masqueradeAsUndefined): (KJS::StringInstanceThatMasqueradesAsUndefined::toBoolean):

LayoutTests:

Test for undetectable style.filter property.

  • fast/dom/undetectable-style-filter-expected.txt: Added.
  • fast/dom/undetectable-style-filter.html: Added.

WebCore:

Reviewed by Darin.


  • Fixed <rdar://problem/4507265> REGRESSION: overlays don't work on HousingMaps.com (Google Maps-based site)


  • Made style.filter undetectable, like document.all.


Unfortunately, the SVG spec-makers invented a CSS attribute named 'filter',
which conflicts with IE's custom CSS attribute by the same name. Web programs
like the Google maps API test for style.filter, and assume it's the IE
style.filter if they find it, so we need to make style.filter undetectable
to avoid breaking them.


An alternative solution would be to hotwire a delorean, go back in time,
and beg the web standards makers to make standards that work on the web.

  • bindings/js/kjs_css.cpp: (KJS::DOMCSSStyleDeclaration::cssPropertyGetter):
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/JavaScriptCore/JavaScriptCore.exp

    r15497 r15557  
     1
    12_JSCheckScriptSyntax
    23_JSClassCreate
     
    144145__ZN3KJS13SavedBuiltinsC1Ev
    145146__ZN3KJS13SavedBuiltinsD1Ev
     147__ZN3KJS14StringInstance14deletePropertyEPNS_9ExecStateERKNS_10IdentifierE
     148__ZN3KJS14StringInstance16getPropertyNamesEPNS_9ExecStateERNS_17PropertyNameArrayE
     149__ZN3KJS14StringInstance18getOwnPropertySlotEPNS_9ExecStateERKNS_10IdentifierERNS_12PropertySlotE
     150__ZN3KJS14StringInstance3putEPNS_9ExecStateERKNS_10IdentifierEPNS_7JSValueEi
     151__ZN3KJS14StringInstance4infoE
     152__ZN3KJS14StringInstanceC1EPNS_8JSObjectERKNS_7UStringE
     153__ZN3KJS14StringInstanceC2EPNS_8JSObjectERKNS_7UStringE
    146154__ZN3KJS15SavedPropertiesC1Ev
    147155__ZN3KJS15SavedPropertiesD1Ev
     
    223231__ZNK3KJS11Interpreter15builtinFunctionEv
    224232__ZNK3KJS11Interpreter22builtinObjectPrototypeEv
     233__ZNK3KJS11Interpreter22builtinStringPrototypeEv
    225234__ZNK3KJS11Interpreter24builtinFunctionPrototypeEv
    226235__ZNK3KJS11PropertyMap3getERKNS_10IdentifierE
     
    260269__ZNK3KJS8JSObject9toBooleanEPNS_9ExecStateE
    261270__ZNK3KJS9ExecState18lexicalInterpreterEv
     271__ZTVN3KJS14StringInstanceE
    262272__ZTVN3KJS19InternalFunctionImpE
    263273__ZTVN3KJS8JSObjectE
Note: See TracChangeset for help on using the changeset viewer.