2013-01-01から1年間の記事一覧

プロトタイプを使った多重継承とオーバライド - JavaScriptの個人的なメモ

今回は、多重継承を、JavaScriptのプロトタイプの機能を使いながら実現していきたいと思います。 二つの擬似クラスとして、SuperClass1とSuperClass2を作っておいて、それを、Childクラスに継承させるというやり方です。 Function.prototype.create = functi…

SIE 10を公開

SIE 10 を正式に公開しました 本日、正式版として、SIE 10 を公開しました。ベータ版の10 betaで発生した不具合を、二つ、修正しておきました。 無償ダウンロード 以下のSourceForege.JPで配布しています。 http://sourceforge.jp/projects/sie/downloads/58…

SIE 10 betaを公開

新しい要素を実装したベータ版のSIE 10 beta 本日、ベータ版のSIE 10 betaを公開しました。foreignObject要素を実装していますので、HTMLを埋め込むことができます。 また、テキスト処理の高速化もしています。 以下のサイトで配布しています。 無償ダウンロ…

foreignObject要素を実装しました

HTMLを埋め込めるように、foreignObject要素を実装 以前から、実装しようとしていたforeignObject要素のサポートに成功しました。この要素を使うと、HTMLを埋め込むことができるようになります。 forignObject要素の例 たとえば、フォームを埋め込みたいとき…

getElementsByTagNameNSメソッドの高速化

コアモジュールの改善 コアモジュールを改善することで、getElementsByTagName (NS)メソッドを、7%ほど高速化することができました。 この変更は、次回のリリースで反映させます。 今後の予定 foreignObject要素の実装に取り掛かります。

レガシーブラウザでSVGを表示できるSIE 9 を公開しました

SIE 9 の公開 昨日、SIE 9を正式に公開しました。主な変更点は軽量化とバグの修正です。IE8など古いブラウザでもSVGを表示できます。 無償ダウンロード http://sourceforge.jp/projects/sie/downloads/58673/sie-9.zip/ リリースの詳細について リリースの詳…

SIE 9 betaの公開について

ベータ版のSIE 9 beta 今日、SIE 9 betaを公開しました。約10%ほど処理を高速化できました。ベータ版ですので、不安定かもしれません。ご注意ください。 ダウンロード (無償) http://sourceforge.jp/projects/sie/downloads/58619/sie-9beta.zip/ これからの…

JavaScriptの0.1 - 0.102の計算が奇妙

Google ChromeとFirefoxでも確認 前回の記事では、Opera12.14とIE8 (Win XP SP3)で確認しましたが、今回はGoogle Chrome 24とFirefox 20で確認しました。 結果としては、0.1- 0.102の算出される値は、必ず、-0.001999999999999988となります。 このことから…

IE8での数値処理について

IEの数値処理を調べてみました Specの修正をしていると、IE8 (Win XP SP3)で不思議な挙動をしているのを発見しました。 たとえば、JavaScriptで以下のような処理をします。 var a = 0.1 - 0.102; a; /* aは0.002ではない */ そうすると、上の変数aは0.002に…

getElementByIdメソッドの修正について

引数を自動で文字列化するように 前回の記事で、getElementByIdメソッドの引数を、どのように扱うかという話でしたが、結局、修正しました。 今までは、引数に文字列型以外が指定された場合は、例外を投げるようにしていました。しかし、setAttributeNSメソ…

チケットを復活

閉鎖しておいたチケットの復活 以下のチケット「"オートメーション サーバーはオブジェクトを作成できません。"というエラーが出る」は修正したので、閉鎖しておいたのですが、反応があったので再び、公開させておくことにしました。 http://sourceforge.jp/…

テストスイートのanimate-dom-01-f.svgについて

現在配布しているテストスイートで奇妙なコード 現在配布しているテストスイート (2012-09-27版)について、奇妙なコードを見つけました。 animate-dom-01-f.svgという題名のテストで、以下のスクリプトのコードが書かれていました。 var i, ids = 'a1 a2 a3 …

text要素でのテキストノードの空白文字処理

SIEではテキストの空白文字を一つに統一 テキストの中で、複数の空白文字が連続しているときには、一つに統一させるようにしました。 いままでは、していなかったことですが、空白文字を一つにまとめるのが一般的な処理なので、今回の処理を導入しました。 x…

今日やったことなど

Specの修正 importNodeメソッドについて、Specを修正しておきました。新たに有効同値クラスのチェックを追加しています。 テキストに関する不具合に関して テストケースを見る限り、a要素を含んだテキストで問題が起きることが多いです。 たとえば、 <a xlink:href="http://"> hoge </a> …

JavaScriptをRubyっぽくしてみるテスト (その2)

追記 (3月1日) バグを修正しました。 バグを見つけたので 現在、バグを見つけたので修正しています。 以下のコードのように、HogeクラスにHogeModuleモジュールをミックスインしようとした場合、うまくクラスを呼び出すことができなくなるバグです。 module(…

JavaScriptをRubyっぽくしてみるテスト

RubyのようなJavaScriptをブラウザ上で実行したい Rubyを勉強していますと、文法がC系のJavaScriptとは一味違って面白いです。 とはいえ、Rubyの機能をJavaScriptでも使えたらいいなと考えていました。 そんな折、開発中のSIEの記述を軽量化するためには、新…

バグの修正をしました

今日やったこと 以下のチケットに書かれていたバグを修正しました。 チケット #30745 「shapes-grammar-01-f.svgのシェイプの不具合」 http://sourceforge.jp/ticket/browse.php?group_id=3313&tid=30745#preview

お詫びと訂正 - Licenseの表記ミスに関して

SIE 8のソースコードにおいて表記ミス SIE 8のソースコードの1行目で、「Lisence」という言葉がありますが、正しいつづりは「License」でした。 訂正してお詫びします。申し訳ないです。 表記ミスの修正は次回のリリースで反映 修正したものは次回のリリース…

新しいチケットの登録

新たにチケットを登録 バグを見つけておいたので、新しくチケットを登録しておきました。以下の4つです。 チケット #30745「shapes-grammar-01-f.svgのシェイプの不具合」 http://sourceforge.jp/ticket/browse.php?group_id=3313&tid=30745 その他、 linkin…

JavaScriptのthisについてメモ

仕様を解説した記事を読んで 以下のJavaScriptの仕様に関する記事を読んでみますと、結構、勉強になることがあります。 「JavaScript の this キーワードに結びつけられる値はどのように決定されるのか (言語仕様の説明)」 http://vividcode.hatenablog.com/…

SIE 8の公開

新しいバージョンのSIE 8 1月29日に、SIE 8を公開しました。script要素のバグの修正と軽量化をしています。 無償ダウンロード http://sourceforge.jp/projects/sie/downloads/57978/sie-8.zip/ 変更履歴 2013-1-29 version 8 (Commit: 1da31b897bfc1642f4456…

script要素のバグの修正

スクリプトコードを書き換えることで修正 SIEでは、script要素のコード内の関数は、書き換えることで、問題を解決しました。 正式版のバージョン8に、この修正を反映します。

script要素のバグを修正

script要素の処理でバグ version 8 betaのテストを繰り返していましたが、script要素でバグがありました。 with構文で囲ったスクリプトについて たとえば、以下のようなコードがあったとします。 function a() { document; }; ベータ版では、これをwith構文…

SIE 8 betaの公開

ベータ版のSIE 8 beta SIE 8 betaを公開しました。2013年1月18日付です。ベータ版ですので、不安定かもしれません。ご注意ください。 また、IE6-8でSVG画像を、ご覧になりたい方は、セキュリティのレベルを「中高」以下にしてください。 無償ダウンロード ht…

script要素のグローバル変数の扱いについて

script要素で指定した変数 今まで、SVG文書のscript要素内で指定された変数をグローバル変数とするために、SIEでは、ソースコードそのものを書き換えていました。 しかし、with構文とscript要素を使うことによって、変数をグローバル領域に属させて、NAIBU.e…

開発環境のEclipseについて

Eclipseのバージョンアップをしました SDKのEclipseをバージョンアップして、Junoに移行しました。 EclippseのプラグインEgit ついでに、gitの連携ツールとして、プラグインのEgitを導入しました。かなり、gitのコミットが楽になりましたので、これからはEgi…

use要素に関するバグの修正

use要素に関するバグ 下記の問題を解決しておきました。 リンク先のXLinkは作動させない方が安全性が高くなりますので、そのように修正してあります。 チケット #30362 「use要素で循環参照が発生する」 http://sourceforge.jp/ticket/browse.php?group_id=3…