GithubHelp home page GithubHelp logo

webkit's People

Contributors

aproskuryakov avatar aroben avatar bdash avatar beidson avatar darinadler avatar ddkilzer avatar dethbakin avatar dglazkov avatar dpranke avatar eseidel avatar geoffreygaren avatar idealisms avatar jamesr avatar kov avatar mrobinson avatar nikolaszimmermann avatar ojanvafai avatar ojhunt avatar ossy-szeged avatar othermaciej avatar pavelfeldman avatar philn avatar rniwa avatar smfr avatar tkent-google avatar tronical avatar webkit-commit-queue avatar xeenon avatar xharaken avatar yury-s avatar

Stargazers

 avatar

Watchers

 avatar  avatar

Forkers

arv

webkit's Issues

non-string model values cause crashes in v8::Value::toString

example test case that crashes (due to not having the proper v8::Context available):

<!DOCTYPE html>
<body>
<script>
if (window.testRunner) {
    testRunner.waitUntilDone();
    testRunner.dumpAsText();
    setTimeout(function() { testRunner.notifyDone() }, 1000);
}
document.body.model = [{key: 1}, {key: 2}, {key: 3}];
</script>
<div>Below, there should be a list of three items.</div>
<ol>
  <template iterate>
    <li>{{key}}
  </template>
</ol>
</body>

Fix is likely to pass a ScriptState to ScriptValue::toString and actually make use of it.

Wrong check for text binding

HTMLTemplateElement.cpp, addTextBinding, line 94

if (index != notFound && text->data().find("}}"))

this should be find("}}", index + 2) or we would match strings like this " abc }} def {{ ghi"

I should really just create my own clone and do pull requests.

Add synchronous API to HTMLTemplateElement for template instantiation

Something like go() and stop(). go() would cause the template to synchronously begin processing (instantiating or iterating). stop() would cause the template to synchronously tear itself down (useful if the template is to be moved elsewhere in the tree, to avoid double-stamping).

re-hookup innerHTML for HTMLTemplateElement

Removing it was a mistake. If template parses special, it needs to serialize special a well (they should be symmetric).

It's fine that appendChild, etc... have different behavior. The goal here is that template contents serialize but aren't in the parent/child hierarchy.

design how model values propagate into shadow dom

Right now, model value is blinding forwarded across to the ShadowRoot. This was just something simple to get working initially, but in retrospect has some elegance to it. Specifically, it leaves the implementation of the component in full control of what happens. E.g. If the component actually wants to blindly accept the model it can do that. If it wants to "alias" path values to internal path values, it can initially set it's root model as null, require some kind of attribute API which declares explicit bindings and then synthesize an internal model based on the bindings.

In any case, it's worth either making a test that asserts this pattern is workable or coming up with a different design.

Error in Source/WebCore/mdv/ScriptValueBinding.cpp

Source/WebCore/mdv/ScriptValueBinding.cpp line 147

if (pathValues.hasNoValue() || !result.isObject())
    return false;

should be

if (pathValues.hasNoValue() || !pathValues.isObject())
    return false;

I guess if I return a delegate with a non object this is observable

ref needs to look in template owner document too

In HTMLTemplateElement.cpp near line 214:

Element* element = m_template->treeScope()->getElementById(m_template->fastGetAttribute(refAttr));

This does not work correctly since we might need to check both the ownerDocument of the template element as well as the template contents owner

Maybe an example will show what I mean.

<template id=a>...</template>
<template>
<template id=b>...</template>
<template ref=a>...</template>
<template ref=b>...</template>
</template>

Also see https://code.google.com/p/mdv/source/browse/template_element.js#510

Implement DOM stability for iteration

This requires synthesizing "splice" operations and transforming the existing array expansion from the old state to the new state with the fewest removals, additions. also, this should be willing to re-order existing instances. e..g

an iteration based on an array which is sorted should neither create nor destroy instances.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.